计算机视觉的方方面面
计算机视觉、机器学习和人工智能 (AI) 等术语如今已变得耳熟能详,人们很容易会把它们看作是单独的应用。事实是,它们每一个都代表了能够满足各种使用案例需求的整个应用类别。
因此,计算机视觉系统采用各种硬件架构。在某些应用中,单单使用标准 CPU 就可以完成任务。在另一些应用中,可能需要使用 GPU、FPGA 甚至专业的视觉处理器 (VPU)。
当然,这些计算架构可以按各种配置组合起来。如图 1 所示,视觉处理管道由数个步骤组成,不同的处理器适用的步骤各不相同。例如,GPU 通常用于处理原始视频数据和提取特征,而 VPU 和 FPGA 则非常适合用于分析。
了解计算机视觉的复杂性
但是,一个使用案例可能需要用到多种计算机视觉,每种类型都有不同的计算要求。在制造业中尤其如此,生产线上的每个阶段都可能涉及不同的算法、相机和计算机硬件,以执行各自专门的缺陷检测任务。
以金刚石涂层锯片的制造流程为例。该流程涉及许多步骤,包括:
- 将原始坯料切割成圆盘状
- 将金刚石涂层烧结到切削刃上
- 钻安装孔
- 抛光圆盘
- 削尖刀片
- 对圆盘进行喷漆
- 打印标签
- 将刀片规格刻印到圆盘上
如图 2 所示,每一个步骤都会出现各种各样的缺陷。每种缺陷都有其独特的特征,因此需要不同的视觉检测。
因此,拥有一个支持各种配置方式、可以灵活部署的可扩展平台非常重要。这种方法的一个例子是 APQ Science & Technology 的智能视觉处理系统 (IVPS)。基准系统可以搭载一系列英特尔® 酷睿™ 处理器,开发人员不但可以选择 CPU 性能,而且能够选择内置 GPU 性能,以满足不同的需求。此外,IVPS 还支持基于英特尔® Movidius™ 处理器的直插式加速器,在需要时提供神经网络加速。
该公司的 CTO Dequan Wang 解释了为什么专用性和灵活性对于解决广泛的技术问题必不可少。对于检测形状切割误差等任务,算法只需要中等计算能力。但其他任务提出了更高的要求。
“考虑到钻石涂层的纹理,我们很难检测到划痕,” Wang 说道,因为涂层表面是不规则的。因此,该公司需要一个多层神经网络来识别划痕和其他缺陷。
此外,标签和其他印刷品评估起来也异常困难。因为细节可能非常精细,所以这个阶段需要非常高的精度和图像分辨率,这又增加了计算负载。
裂纹检测也有独特的要求。在这个例子中,图像预处理是消除噪声的关键,因为噪声会干扰刀片表面裂纹的识别。
但是,可扩展性如此重要还有另一个原因:制造流程往往会随着时间而改变。在本例子中包括原料、刀片尺寸和其他规格的变化,以及制造设备的更新。因此,我们需要将计算性能理解为一个移动靶,需要随机应变。
智能软件大显身手
虽然灵活的硬件平台可以帮助满足所有这些变化的需求,但这只是开始。开发人员需要一个能够灵活扩展的软件平台。
在这里,英特尔® OpenVINO™ 工具套件发挥重要作用。该平台可以轻松地调整 CPU、GPU 和 VPU 的性能,使开发人员能够根据需要在不同的硬件配置之间无缝切换。
“OpenVINO 帮助我们的系统成功提速” Wang 说道,“它提供了一个基本的多媒体处理库和一个神经网络计算框架。这减少了我们的开发工作量,充分提高了性能,并加快了开发速度。”
IVPS 通过在同一硬件上集成计算机视觉和运动控制,将这种可扩展的方法又向前推进了一步。这不仅改进了计算机视觉和运动控制的协作程度,还降低了成本,同时提高了精度和性能。
“使用我们的集成 PLC SDK,客户可以在 IPC 上完成各种运动控制应用,” Wang 说道,“同时在任何需要的地方执行计算:CPU、GPU、加速卡。这有助于他们充分利用计算机视觉的优势。”
锦上添花的服务
即使拥有所有这些复杂的工具,制造商也会发现开发复杂的机器视觉算法是一项艰巨的任务。这激励了 APQ 推出与其硬件相辅相成的开发服务。
“我们将开发专门针对这些应用场景的定制算法,” Wang 解释道。“我们的目标是减少检测系统的误报,当然,也要提高检测的准确性。”
这不仅仅是为流程中的每个步骤创建算法。APQ 关注的是整条生产线。Wang 说道,“我们在软件中充分模拟他们的流程,使他们能够快速上手。”
对于制造商而言,他们的目标是以低成本生产出没有缺陷的产品。计算机视觉和推断训练可以解决这个挑战。在流程的每个步骤使用合适的硬件来执行机器学习,可以减少甚至消除可能导致生产中断的误报。