zoukankan      html  css  js  c++  java
  • 机器视觉

    机器视觉(MV)是用于为诸如自动检查,过程控制和机器人引导等应用提供基于成像的自动检查和分析的技术和方法 ,通常在工业中。机器视觉是一个涵盖大量技术,软件和硬件产品,集成系统,行动,方法和专业知识的术语。机器视觉作为一个系统工程学科可以考虑从不同的计算机视觉,形式计算机科学它试图以新的方式整合现有技术,并将其应用于解决现实世界的问题。该术语是工业自动化环境中这些功能的流行术语,但也用于其他环境中的这些功能,例如安全性和车辆引导。

    整个机器视觉流程包括规划需求和项目的详细信息,然后创建解决方案。在运行期间,该过程从成像开始,然后自动分析图像并提取所需信息。

    定义编辑]

    术语“机器视觉”的定义各不相同,但都包括用于从图像中自动提取信息的技术和方法,而不是图像处理,其中输出是另一图像。提取的信息可以是简单的好的部分/坏部分信号,或者更复杂的数据集合,例如图像中每个对象的身份,位置和方向。该信息可用于诸如工业中的自动检查和机器人和过程指导,用于安全监控和车辆引导的应用。[1] [2] [3]该领域包括大量技术,软件和硬件产品,集成系统,行动,方法和专业知识。[3] [4] 机器视觉实际上是工业自动化应用中用于这些功能的唯一术语程序代写程序代写接单群733065427; 对于安全和车辆引导等其他环境中的这些功能,该术语不太通用。作为系统工程学科的机器视觉可以被认为不同于计算机视觉,这是一种基本的计算机科学 ; 机器视觉试图以新的方式整合现有技术,并以满足工业自动化和类似应用领域要求的方式应用它们来解决现实世界的问题。[3][5] 该术语还广泛用于贸易展览和贸易集团,如自动成像协会和欧洲机器视觉协会。这个更广泛的定义还包括最常与图像处理相关的产品和应用。[4] 机器视觉的主要用途是自动检测和工业机器人 /过程指导。[6] [7]6-10 [8]机器视觉词汇表

    基于成像的自动检查和分类编辑]

    机器视觉的主要用途是基于成像的自动检查和分类以及机器人引导。[6] [7]本节中的6-10,前者缩写为“自动检查”。整个过程包括规划需求和项目的详细信息,然后创建解决方案。[9] [10]本节描述了解决方案运行期间发生的技术过程。

    方法和操作顺序编辑]

    自动检查操作顺序的第一步是获取图像,通常使用照相机,镜头和照明,其设计用于提供后续处理所需的区别。[11] [12] MV 软件包和在他们开发的,那么使用的各种程序的数字图像处理技术,基于所提取的信息以提取所需的信息,并经常做出决定(例如通过/失败)。[13]

    设备编辑]

    自动检查系统的组件通常包括照明,相机或其他成像器,处理器,软件和输出设备。[7]11-13

    成像编辑]

    成像设备(例如,相机)可以与主图像处理单元分离或者与其组合,在这种情况下,该组合通常被称为智能相机或智能传感器。[14] [15] 当分离时,可以使用模拟或标准化数字接口(Camera LinkCoaXPress连接到计算机内的专用中间硬件,定制处理设备或帧抓取器[16] [17] [18] [19] MV实现还使用能够通过FireWireUSB直接连接(没有帧抓取器)到计算机的数码相机千兆以太网接口。[19] [20]

    虽然常规(2D可见光)成像最常用于MV,但替代方案包括多光谱成像高光谱成像,成像各种红外波段,[21] 线扫描成像,表面3D成像和X射线成像。[6] MV 2D可见光成像中的关键差异是单色与彩色,帧速率,分辨率以及成像过程是否在整个图像上同时进行,使其适合于移动过程。[22]

    尽管绝大多数机器视觉应用都是使用二维成像解决的,但利用3D成像的机器视觉应用在行业内正在成为一个不断增长的领域。[23] [24]用于3D成像的最常用的方法是扫描基于三角测量的,其在成像过程中利用产品或图像的运动。将激光投射到物体的表面上并从不同的角度观察。在机器视觉中,这是通过移动工件或移动相机和激光成像系统进行扫描运动来完成的。摄像机从不同的角度观看该线; 线的偏差表示形状变化。来自多次扫描的线被组装成深度图或点云。[25] 立体视觉用于特殊情况,涉及一对摄像机的两个视图中存在的独特特征。[25]用于机器视觉的其他3D方法是飞行时间和基于网格。[25] [23]一种方法是使用伪随机结构光系统的基于网格阵列的系统,大约在2012年由Microsoft Kinect系统使用。[26] [27]

    图像处理编辑]

    获取图像后,将对其进行处理。[18]处理的多个阶段在作为期望的结果是最终的序列通常使用的。典型的序列可能从诸如过滤器之类的工具开始,这些过滤器修改图像,然后提取对象,然后从这些对象中提取(例如测量,读取代码)数据,然后传送该数据,或者将其与目标值进行比较。创建并传达“通过/失败”结果。机器视觉图像处理方法包括:

    • 拼接/配准:组合相邻的2D或3D图像。引证需要 ]
    • 过滤(例如形态过滤[28]
    • 阈值处理:阈值处理从设置或确定对以下步骤有用的灰度值开始。然后该值用于分离图像的各部分,并且有时基于其是否低于或高于该灰度值将图像的每个部分变换为简单的黑色和白色。[29]
    • 像素计数:计算亮像素数或暗像素数需要引文 ]
    • 分段:将数字图像划分为多个片段,以简化和/或将图像的表示更改为更有意义且更易于分析的内容。[30] [31]
    • 边缘检测:找到物体边缘[32]
    • 颜色分析:使用颜色识别零件,产品和物品,根据颜色评估质量,并使用颜色隔离特征[6]
    • 斑点检测和提取:检查图像以查找连接像素的离散斑点(例如,灰色物体中的黑洞)作为图像标记。[33]
    • 神经网络 / 深度学习 / 机器学习处理:加权和自我训练多变量决策[34] Circa 2018有一个很大的扩展,使用深度学习和机器学习来显着扩展机器视觉能力。
    • 模式识别包括模板匹配。查找,匹配和/或计算特定模式。这可以包括可以旋转,部分地被另一个对象隐藏或者尺寸变化的对象的位置。[35]
    • 条形码数据矩阵和“ 二维条码 ”阅读 [36]
    • 光学字符识别:自动读取序列号等文本 [37]
    • 测量/计量:物体尺寸的测量(例如以像素, 英寸毫米为单位) [38]
    • 与目标值进行比较以确定“通过或失败”或“通过/不通过”结果。例如,通过代码或条形码验证,将读取值与存储的目标值进行比较。对于测量,将测量值与适当的值和公差进行比较。为了验证字母数字代码,将OCR'd值与适当值或目标值进行比较。对于瑕疵的检查,可以将瑕疵的测量尺寸与质量标准允许的最大值进行比较。[36]

    输出编辑]

    自动检测系统的常见输出是通过/未通过决策。[13]这些决定可能反过来触发拒绝失败项目或发出警报的机制。其他常见输出包括机器人引导系统的物体位置和方向信息。[6] 此外,输出类型包括数字测量数据,从代码和字符读取的数据,对象的计数和分类,过程或结果的显示,存储的图像,来自自动空间监视MV系统的警报以及过程控制信号。[9] [12]这还包括用户界面,用于集成多组件系统和自动数据交换的接口。[39]

    基于成像的机器人引导编辑]

    机器视觉通常向机器人提供位置和方向信息,以允许机器人正确地抓住产品。此功能还用于指导比机器人更简单的运动,例如1轴或2轴运动控制器。[6] 整个过程包括规划需求和项目的细节,然后创建解决方案。本节介绍解决方案运行期间发生的技术过程。许多处理步骤与自动检查相同,只是侧重于提供位置和方向信息作为最终结果。[6]

    市场编辑]

    预计到2022年底,全球机器视觉市场将达到154.6亿美元,2017 - 2022年预测期间复合年增长率为8.18%。机器视觉市场正在增长,所有地区都有正增长。逐年增加应用领域以及技术和集成的进步正在全球范围内推动市场。由于汽车和医疗保健行业的大量需求,亚太地区占据了全球市场的主导地位,占据了超过30%的市场份额,其次是欧洲作为第二大市场北美是第三大市场。 [40]

     
  • 相关阅读:
    js如何实现上拉加载更多...
    基于epoll的TP传输层实现
    ActiveMQ简介与安装
    序列化和反序列化实现
    NoSQL之Redis数据库初探
    分布式缓存之memcached--命令测试
    Java正则表达式测试用例
    Java之正则表达式
    Java反射机制练习(增强可扩展性)
    Java反射机制(获取Class对象的三种方式+获取Class中的构造函数进行对象的初始化+获取反射类的字段+获取反射类的一般方法)
  • 原文地址:https://www.cnblogs.com/chenbocheng/p/10887258.html
Copyright © 2011-2022 走看看