解读 - 如何在检测系统中有效的结合传统算法和深度学习?

几十年来,机器视觉技术一直在工业环境中执行自动化检测任务,包括缺陷检测、缺陷分析、装配验证、分类和计数。

最近的计算机视觉软件进步和处理技术进一步增强了这些成像系统在新的和不断扩大的用途中的能力。成像系统本身仍然是一个至关重要的视觉组件,但它的作用和执行可能会被低估或误解。

图 1:左边的图像显示了一个完美的齿轮,右边的图像清楚地显示了一个缺陷。

如果没有精心设计和正确安装的成像系统,软件将难以可靠地检测缺陷。

例如,尽管图 1(左)中的成像设置显示了一个吸引人的齿轮图像,但只有右侧的图像清楚地显示了凹痕。当遵循最佳实践时,机器视觉和基于深度学习的成像系统能够进行有效的视觉检查,并将提高效率、增加吞吐量并增加收入。

您的成像系统是否足够好?

照明、光学元件和相机组成一个成像系统,必须仔细指定和实施这些组件,以确保获得高质量的零件图像。

在这种情况下,“高质量”是指图像与具有正常或预期外观的图像相比,具有足够的对比度以突出显示不可接受的特征(例如凹痕)图像还必须具有足够的分辨率以显示特征之间的差异。

如果检查系统生成的图像的人工检查员不能自信地识别缺陷,则软件也不太可能能够识别。相反,在人工检查员可以识别图像中的缺陷的情况下,无法保证成像技术将在操作期间对类似的目标缺陷进行可靠且可重复的检测。

表明成像系统(而非软件)需要工作的情况包括:

查看物理部件的检查员可以可靠地判断某物是否有缺陷,但仅查看捕获的图像时是无法确定的。

两个查看物理部件的检查员通常会在他们的评估中达成一致,但查看物理部件的检查员通常不同意只查看图像的不同检查员。

一个常见的误解是,如果人类检查员可以用肉眼看到一个特征,则可以设计成像系统来生成成功捕获相同特征的图像。但是,人类检查员可以从多个方向和不同的照明条件下查看零件以进行质量判断,而静态成像系统不一定能捕捉到类似的大范围方向和照明变化。因此,它可能无法突出显示持有相同对象的人类检查员会突出显示的特征。而且,在检测透明部件中的划痕等情况下,成像系统面临的挑战可能会变得更加复杂。

几千年来,人类视觉系统在处理图像数据方面已经变得非常高效和准确。构建一个能够在处理图像方面击败人的软件系统是一项极其艰巨的任务,就像构建一个可以检测检查员无法检测到的缺陷的软件系统一样。即使是最先进的视觉系统也不是魔法。如果给出的是模糊的图像,则没有任何视觉系统能够可靠地做出缺陷判断。

传统成像系统设计

系统集成商和原始设备制造商在设计有效的成像系统时必须考虑几个因素。

这些因素包括:

对比度:创新性的使用专门为应用程序选择的专用照明和光学器件以及产生需要对比度是机器视觉中的一个重要元素。

空间分辨率:成像系统中的空间分辨率是指跨越特征(例如缺陷)的像素数。如果像素太少,就不可能可靠地检测相对于零件表面的特征。假设图像聚焦良好,我们建议系统预期检测到的最小缺陷的宽度至少为 5 像素。

图像光照一致性:在自动化过程中,许多因素会导致图像发生变化,包括零件位置变化和零件本身的变化。在某些情况下,这些变化可能会导致照明源的眩光或失落,从而掩盖了特征。在其他情况下,零件变化可能会导致反射,这些反射可能会被误认为是缺陷或缺陷。

例如,如果机器视觉系统检查透明汽车前灯是否存在缺陷,则不同的照明条件会产生不同程度的眩光。系统越能从相同的角度、相同的照明和相同的背景捕获图像,就越容易构建软件来检测缺陷。

曝光:曝光过度或曝光不足的图像会丢失很多细节。适当的曝光水平应允许系统捕获清晰的缺陷图像。

设计成像系统的迭代过程

为机器视觉系统指定成像架构只是整个集成过程中的一个关键步骤。

成功的自动化视觉系统集成需要在组件设计和规范之前进行全面而有效的分析和规划,然后是高效的安装、配置和系统启动。

图 2:与中间的图像相比,左侧的图像说明了一个具有挑战性的检测问题,而右侧的图像则更清楚地显示了缺陷。

在成像系统设计期间也必须考虑软件。

在某些情况下,用于传统基于规则的机器视觉算法的图像可能与适用于使用深度学习算法的系统的图像不同。

图 2 (左)显示了比图 2 (中)中更好的照明和照明图像更具挑战性的检测问题。图 2 (右)中较暗的背景更能说明缺陷。在这种情况下,更好的图像设计将使任一检测系统的实施更加可靠。

设计成像系统是一个高度迭代的过程,最好的机器视觉解决方案会随着时间的推移不断发展并变得更加可靠和强大。围绕“完美”的照明和相机设计一个系统,然后提前构建它可能是不可能的。但是通过对应用程序需求的彻底分析——以及一些成像组件和技术的知识——开发人员可以产生一个好的初始设计。

在开发软件系统时,集成商或 OEM 应该收集样本图像——即使在最初几天使用智能手机摄像头——以获得初始数据以验证软件的可行性。无论这种概念验证产生正面还是负面的结果,请记住,必须设计一个单独的、可用于生产的成像系统。智能手机相机的功能,例如快速移动到多个角度,在生产系统中可能不可行。使用静态成像设置处理具有代表性缺陷的样品部件可能可行,但仍必须考虑最终成像系统配置。

具有“完美”图像的测试软件可能无法真正代表生产环境中的实际能力。在设计可用于生产的成像系统时,周到的设计将产生更长期的成功。

在一个典型的过程中,人们应该:

1.考虑到零件的自动化和处理限制,为要成像的特征/对象/缺陷类型制定规范。考虑因素可能涉及快速移动的部件、根据查看方向改变外观的部件以及显示眩光的部件。

2. 收集有缺陷和可接受的零件样品。

3.设计一个初始成像系统,以满足被检测零件的需求以及生产环境的物理约束和规范。

4.通过系统运行零件样本并检查所有缺陷是否以适合目标软件解决方案的方式清晰成像。

5. 迭代第 3 步和第 4 步,直到性能令人满意。

深度学习开发

深度学习是机器学习技术的一个方面,由人工神经网络提供支持。

深度学习技术的工作原理是教机器通过实例学习,通过为神经网络提供特定类型数据的标记示例,可以提取这些示例之间的共同模式,然后将其转换为数学方程,这有助于对未来的信息进行分类。

基于深度学习的视觉检测系统擅长检测性质复杂的缺陷,那么,如何集成AI视觉检测系统

1. 明确需求

视觉检测开发通常从业务和技术分析开始。这里的目标是确定系统应该检测什么样的缺陷。

2. 收集和准备数据

在深度学习模型开发开始之前,数据科学工程师必须收集和准备训练未来模型所需的数据,数据收集有多种选择,但最常见的是:现有视频记录、根据深度学习模型要求从头开始收集数据。

3. 开发深度学习模型

深度学习模型开发方法的选择取决于任务的复杂性、所需的交付时间和预算限制。有几种方法:

使用深度学习模型开发

当缺陷检测功能的要求与给定服务提供的模板一致时,这种类型的方法是有意义的。这些服务可以节省时间和预算,因为无需从头开始开发模型。只需要根据相关任务上传数据并设置模型选项。

使用预训练模型

预训练模型是一种已经创建的深度学习模型,它可以完成与我们想要执行的任务类似的任务。我们不必从头开始构建模型,因为它使用基于用户自己的数据训练模型。

预训练模型可能不会 100% 符合我们的所有任务,但它可以节省大量时间和成本。使用之前在大型数据集上训练过的模型,用户可以根据自己的问题定制这些解决方案。

从零开始深度学习模型开发

这种方法非常适用于复杂且安全的视觉检测系统。这种方法可能需要大量时间和精力,但结果是值得的。

4. 训练和评估

开发视觉检测模型后的下一步是对其进行训练。在这个阶段,数据科学家验证和评估模型的性能和结果准确性。测试数据集在这里很有用。对于视觉检测系统,它可能是一组过已有的或类似于要在部署后处理的视频资料。

5. 部署和改进

在部署到生产线之前,最好的 AI 模型应该与专家人工检查员进行评估,以证明其价值,尤其是当该生产线用作全球部署的测试时。

传统机器学习算法,在一开始,性能(识别率)会随着数据的增加而增加,但一段时间后,它的性能会进入平台期,这些模型无法处理海量数据。

最近20年来,人类建立了数字王国,使得我们在电脑、网站、手机上的活动,都制造大量数据。便宜的相机、传感器,也产生大量数据。

不同规模的网络,取得的性能也会有不同(具体如下)。


深度学习和传统算法相比的优势

一、数据依赖性

深度学习与传统的机器学习最主要的区别在于随着数据规模的增加其性能也不断增长。当数据很少时,深度学习算法的性能并不好。这是因为深度学习算法需要大量的数据来完美地理解它。

三、硬件依赖

深度学习算法需要进行大量的矩阵运算,GPU 主要用来高效优化矩阵运算,所以 GPU 是深度学习正常工作的必须硬件。与传统机器学习算法相比,深度学习更依赖安装 GPU 的高端机器。

二、特征处理

特征处理是将领域知识放入特征提取器里面来减少数据的复杂度并生成使学习算法工作的更好的模式的过程。特征处理过程很耗时而且需要专业知识。

深度学习尝试从数据中直接获取高等级的特征,这是深度学习与传统机器学习算法的主要的不同。基于此,深度学习削减了对每一个问题设计特征提取器的工作。

例如,卷积神经网络尝试在前边的层学习低等级的特征,然后学习部分人脸,然后是高级的人脸的描述。更多信息可以阅读神经网络机器在深度学习里面的有趣应用。

当应用传统机器学习算法解决问题的时候,传统机器学习通常会将问题分解为多个子问题并逐个子问题解决最后结合所有子问题的结果获得最终结果。相反,深度学习提倡直接的端到端的解决问题。

常见的陷阱和挑战

成像带来了许多挑战,因此系统集成商和 OEM 应该考虑一些最基本和最基本的陷阱,并在系统设计中预先解决这些问题。这些包括:

环境光:来自为成像系统设计的专用照明组件以外的光源的照明被视为环境光,可能会导致系统出现不一致和故障。在可能的情况下,必须通过屏蔽或光学过滤来控制阳光甚至头顶照明。

在一个示例中,靠近检查系统的制造人员制服颜色的变化会引起额外的反射光,从而影响检查结果。在大多数情况下,在成像系统设计中减轻环境光的影响是相对简单的。

机械稳定性:工厂振动会使成像系统中的光学元件松动,相机位置、照明组件甚至镜头设置的变化都会导致成像不可靠。

不同的外观:被检查部件的材料、设计和整体外观可能会发生变化,而视觉系统所有者却没有意识到这些变化。

例如,制造工程团队决定更换螺钉上的金属合金,因为它更便宜。在功能上,该部件的工作原理相同,但外观可能会有所不同。这种外部影响可能会导致系统性能下降,有时会悄无声息地下降。检查这种漂移的软件可以通知运营团队何时及时进行视觉系统维护。


矩视智能机器视觉低代码平台是一个面向机器视觉应用的云端协同开发平台,始终秉承0成本、0代码、0门槛、0硬件的产品理念。

平台以人工智能技术为核心,在机器视觉应用开发环节,为开发者提供图像采集、图像标注、算法开发、算法封装和应用集成的一站式完整工具链。覆盖字符识别、缺陷检测、目标定位、尺寸测量、3D测量、视频开发等上百项通用功能,致力于成为全球用户量最多,落地场景最广泛的机器视觉低代码平台。

更多功能正在开发中,最新信息会第一时间在官方公众号【矩视智能】进行公布,大家持续关注哦!

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章