热门问题
时间线
聊天
视角
机器视觉
来自维基百科,自由的百科全书
Remove ads
机器视觉(英语:Machine vision,简称“MV”) 是指用于自动检测、分析的一种基于成像技术的方法,在工业自动化检测、过程控制和机器人引导等领域得到了广泛应用。机器视觉涵盖了多种技术、软件和硬件产品、集成系统、动作、方法和专业知识。机器视觉作为系统工程学科的一种,被认为不同于属于计算机科学的计算机视觉。它尝试以新的方法集成现有技术,并应用于实际问题解决。机器视觉的整个过程包括规划需求和项目细节,然后创建解决方案。在系统运行时,首先是成像,随后是对图像的自动图像分析和所需信息的提取。

定义
“机器视觉”一词存在多种定义,但但这些定义都包含用于自动从图像中提取信息的技术和方法,这与图像处理不同,后者的输出是另一张图像。提取的信息可以是简单的好件/坏件信号,也可以是复杂的数据集,例如图像中每个物体的身份、位置和方向。所提取的信息可以用于工业中的自动检测、机器人和过程引导、安全监控和车辆引导等应用[1][2][3]。这一领域包括大量的技术、软件和硬件产品,还有集成式系统、操作、方法和专业知识[3][4]。机器视觉在实际应用上是唯一能够描述在工业自动化应用这些功能的术语;但这一术语在安全监控和车辆引导上则使用较少。作为一种系统工程学科,机器视觉被认为与计算机科学的计算机视觉不同;机器视觉尝试将已有的技术用新的方法集成到系统中,并将其用于解决工业自动化和其它应用领域的实际问题[3]:5[5]。这一术语也被自动成像协会(Automated Imaging Association)和欧洲机器视觉协会(European Machine Vision Association)等展销团体更为宽泛地使用,将其囊括了许多与图像处理相关的产品和应用[4]。但该术语最主要还是用来表示自动化检测和工业机器人/过程引导的[6][7]:6–10[8]。而在近些年,计算机视觉和机器视觉两大领域进行了更大程度的融合[9]:13。
Remove ads
基于成像的自动化检测与分拣
机器视觉系统最主要的应用是基于成像的自动化检测与分拣,以及机器人引导[6][7]:6–10。在本章节,前者将简称为“自动化检测”。整个过程包括规划需求和项目细节,然后提供解决方案[10][11]。
自动化检测的第一步是图像获取。这一步通常使用经过设计的相机、镜头和光源,以提供后续处理所需的差异化[12][13]。接着,系统将使用包含数字图像处理技术的软件包和开发程序去提取所需信息,然后据此做出相关的决策(如通过测试/不通过测试等)[14]。
自动化检测系统的组件通常包括光源、相机或其他成像设备、处理器、软件和输出设备[7]:11–13。
成像设备[15](如相机)可以与图像处理的主单元合并(使用智能相机或智能传感器)或分离[16][17]。将完整的处理功能包含在与相机相同的外壳中通常称为嵌入式处理[18]。当二者分离时,当分开时,连接可以通过专用中间硬件、自定义处理设备或计算机内的帧采集卡进行,使用模拟或标准化的数字接口(如Camera Link、CoaXPress)[19][20][21][22]。机器视觉实现还使用能够通过FireWire、USB或千兆以太网接口直接连接(无需帧捕捉卡)到计算机的数字相机[22][23]。
虽然传统的(二维可见光)成像在机器视觉中最为常用,但其他替代方法包括多光谱成像、高光谱成像以及各种红外波段成像[24]、线扫成像、表面三维成像和X射线成像[6]。机器视觉二维可见光成像的关键区别包括单色与彩色、帧率、分辨率,以及成像过程是否对整个图像同时进行,这决定了它是否适用于移动过程[25]。
尽管主流的机器视觉使用二维成像去解决问题,但三位成像目前正在行业中正成为一个不断增长的小众市场[26][27]。最常用的三维成像方法是基于扫描的三角测量法,这种方法利用产品或图像在成像过程中的运动。激光被投射到物体的表面。在机器视觉中,这通过扫描运动来实现,可能是移动工件,或是移动相机和激光成像系统。相机从不同的角度查看这条扫描线;线条的偏差表示形状的变化。来自多个扫描的线条被汇总成深度图或点云[28]。 立体视觉用于涉及一对摄像机视图中都存在的独特特征的特殊情况[28]。机器视觉中使用的其他三维方法包括基于飞行时间和基于网格的方法[26][28]。其中一种方法是基于网格阵列的系统,它使用如2012年左右微软Kinect系统所采用的伪随机结构光系统[29][30]。
Remove ads
在图像获取完成后即进行图像处理[21]。核心的处理过程通常由一个CPU、一个GPU、一个FPGA或这些组件组合起来完成[18]。深度学习训练和推理对处理性能提出了更高的要求[31]。通常在多个处理阶段中按顺序进行,最终得到所需的结果。一个典型的顺序可能从调整图像的工具(如滤波器)开始,然后提取目标,再从这些目标中提取数据(例如测量、读取代码),接着传输这些数据,或者将其与目标值进行比较,以创建和传输“通过/不通过”的结果。机器视觉图像处理方法包括:
- 拼接/配准:包含许多二维与三维的图像[来源请求]。
- 滤波:如形态学滤波[32]。
- 阈值处理:阈值处理从设置或确定一个对后续步骤有用的灰度值开始。然后使用该值将图像的部分分离,有时根据该灰度值的高低,将图像的每个部分简单地转换为黑白[33]。
- 像素计算:计算亮像素或暗像素的数量[来源请求]。
- 图像分割:将数字图像划分为多个部分,以简化和/或将图像表示更改为更有意义且更易于分析的形式[34][35]。
- 边缘检测:寻找物体边缘[36]。
- 色彩分析:使用颜色识别零件、产品和物品,评估颜色质量,并使用颜色分离特征[6]
- 连通分量标记:检查图像中离散的连通像素块(例如灰色物体中的黑色孔)作为图像标记[37]。
- 人工神经网络 / 深度学习 / 机器学习过程:加权和自训练的多变量决策[38]自2019年以来,深度学习和机器学习的广泛应用显著扩展了机器视觉的能力。这种处理最常见的结果是分类。分类的例子包括物体识别、已识别物体的“通过/不通过”分类以及光学字符识别(OCR)[38]。
- 模式识别:包括模板匹配,查找、匹配和/或计数特定模式。这可能包括定位可能被旋转、部分遮挡或大小变化的物体[39]。
- 条形码、Data Matrix与“2D barcode”读取 [40]
- 光学字符识别:自动化读取文本(如数字符串)[41]。
- 计量学: 测量物体的尺寸(例如,像素、英寸或毫米)[42]。
- 与目标值进行比较,以确定“通过或不通过”或“允许/不允许”的结果。例如,在代码或条形码验证中,读取的值与存储的目标值进行比较。在测量中,将测量值与适当的值和公差进行比较。在字母数字代码的验证中,将OCR识别的值与正确的目标值进行比较。在瑕疵检查中,可能将瑕疵的测量尺寸与质量标准允许的最大值进行比较[40]。
Remove ads
自动检测系统的一种通常输出是通过/不通过的决定[14]。这些决定可能会引发回退次品或警报响起的机制。另一个通常的输出则包括机器人引导系统的物体位置和方向信息[6]。此外,输出类型包括数值测量数据、从代码和字符读取的数据、物体的计数和分类、过程或结果的显示、存储的图像、来自自动空间监控机器视觉系统的报警以及过程控制信号[10][13]。系统还包括用户界面、多组件系统集成接口和自动数据交换接口[43]。
参考来源
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads