结合实际落地的项目经验,目前AI工业视觉 落地的关键技术包括如下几个方面:
与传统方法相比,为了在应用中充分发挥纯深度学习方法的优势,往往需要对使用的 硬件进行额外投资,并需要大量的示例图像来训练神经网络。
1.1 额外的硬件
深度学习架构复杂精巧、功能强大,其突出特点在于它是由大量的神经网络层构成。 因此,运行深度学习的应用程序需要用到大量的内存和计算能力。通常只有将计算任 务转移到额外的处理器(如GPU显卡)上同时执行计算,才能在可接受的短时间内完 成处理工作。在目前的市场条件下,增加GPU显卡对于很多用户来说是一项不小的成 本开支。
1.2 发热量和功耗
大型神经网络对计算能力的要求较高,因此增加了应用的功耗,并相应地增加了发热 量。这尤其会对嵌入式系统造成问题,因为通常需要对嵌入式系统的低功耗和热管理 方面进行优化。
1.3 大量的训练数据
要想可靠地识别物体,首先需要大量的训练图像,这些图像会描述和标记所有物体和 属性,以便让系统能在尽可能多的不同变量和环境中完成识别。用于训练的不同图像 数据量越多,深度学习网络就越容易学会如何识别物体。在开发机器视觉应用时,要 获取成百上千幅所需的图像往往是一项艰巨的任务。更多的时候,工厂可能根本就不 具备条件产生足够多的训练样本,尤其是负样本。
1.4 大量的人工标注工作
获取到的大量数据是不能立即使用的,需要人给这些数据进行标注,对于图像分割, 需要精准的标准图像中要分割的区域,这样才能在推理图片的时候得到精准的区域。 这些标注工作都只能是人工手动完成,所以在数据大的时候,还需要检测是否有标注 错误的问题。 上述几个应用的条件正是深度学习工业视觉项目落地的阻碍,也是用户的痛点,相对 的,在技术上能够解决这些痛点的算法,将能够得到更好的推广和应用。
2.1 基于CPU进行训练及推理
深度学习算法对计算资源的需求是确定的,如何提高深度学习应用部署效率,降低运 行成本,帮助算法及业务团队快速落地应用和服务,让 AI 发挥真正的生产力,是深度 学习算法平台努力的目标 。由于工业领域深度学习应用的特殊性,可以把训练与推理 分开实施,模型训练完毕后的运行机往往装在设备上交付给终端用户,不再需要大规 模的持续训练和升级,这就使得深度学习在CPU上运行具备了基础条件。由于大量的 算法训练及推理服务需求,使用 CPU 进行的推理服务常常由于性能问题,无法满足服 务指标。然而通过提升推理服务在CPU上的性能,可以帮助实现GPU迁移到CPU上的 目的。目前在Intel的处理器上使用OpenVINO,在Arm的处理器上使用NCNN/MNN等, 在Nvidia GPU上使用TensorRT均可以大幅提升深度学习推理的效率,使用CPU进行推 理的设想得以实现,并且变成了各大厂家角逐的关键技术点之一。
2.2 缺陷检测深度学习过滤及图像自动采集标注技术
针对一些代表性的场景如特征明显但存在异物干扰的情况,使用传统算法唯一的问题 是会造成一定程度的过杀,但是其实施效率高、消耗的算力和功耗少,是深度学习无 法比拟的优势。在这种场景下,使用传统算法进行过杀,然后对NG的图片进行深度学 习标注和训练,将传统算法与深度学习有机的结合在一起,可以实现事半功倍的效果 称之为缺陷检测深度学习过滤技术。此外,传统软件和深度学习的结合还可以用于图像的自动采集、自动标注等方向,为深度学习的实施提供了更好的落地条件。

2.3 小样本训练及神经网络模型再训练技术
案例:键盘表面缺陷,会有毛发、指纹、灰尘等异物干扰 目前大部分的深度学习模型,都是监督学习的方式进行的,需要海量的数据支持。而 现实生产环境中,数据集通常较小,只有几万甚至几百个样本。此时,通常我们采用 以下两种技术进行解决。 第一:利用预训练模型进行迁移微调(fine-tuning),预训练模型通常在特征上拥有 很好的语义表达。此时,只需将模型在小数据集上进行微调就能取得不错的效果。这 也是目前大部分小数据集常用的训练方式。视觉领域内,通常会ImageNet上训练完成 的模型。
第二:单样本或者小样本学习(one-shot,few-shot learning),这种方式适用于样 本类别远远大于样本数量的情况等极端数据集。例如有1000个类别,每个类别只提供 1-5个样本。少样本学习同样也需要借助预训练模型,但有别于微调的点在于,微调通 常仍然在学习不同类别的语义,而少样本学习通常需要学习样本之间的距离度量。例如孪生网络(Siamese Neural Networks)就是通过训练两个同种结构的网络来判别输 入的两张图片是否属于同一类。 以上两种是常用训练小样本数据集的方式。此外,也 有些常用的方式:数据集增强、正则或者半监督学习等方式来解决小样本数据集的训 练问题。 此外,也有深度学习厂家研发了一些帮助用户进行样本图片生成的工具,可以将收集 到的少量NG图片进行算法加工,生成近似真实的样本图片用于深度学习训练。