机器视觉基础知识 Fundamentals of Machine Vision(图像处理) - 知乎

版权声明: 本翻译文章为原文《Fundamentals of Machine Vision》原始来源:https://www.autovis.com/images/pdf/resources/fundamentals-of-machine-vision.pdf(作者:Peppy West - AUTOMATED VISION SYSTEMS, INC. San Jose, California 95124 U.S.A.)。作者和贡献者对原文内容享有版权。请阅读原文以了解详细信息和权限限制。翻译权归本翻译者所有,非商业用途,仅用于学术研究和交流目的。未经授权,不得用于商业目的或其他侵权行为。本翻译保留所有权利。如有引用或使用,请注明原文出处和作者。本翻译文章中的内容仅供参考,可能存在错误或不准确之处,请读者自行核实原文内容。

    • *

图像处理

图像处理中的一个重要问题是选择使用算法、工具还是深度学习。首先,让我们来看一下图像处理的过程,实际上它是算法执行图像处理的分类学。

图像处理过程

基本上,图像处理包括四个步骤,从开始的图像获取过程到最后的结果输出过程。这个过程如图30所示,包括以下四个步骤:预处理、分割、特征提取和解释。这个图表有些简化,因为并不是所有应用都需要这四个步骤。有些应用不需要预处理,而有些应用则不需要分割。其中的任何一个步骤可能需要一个或多个算法。通常情况下,会有反馈回路,初步分析根据检测到的图像特征和内容选择特定的步骤序列。

传统算法

预处理

预处理算法以图像作为输入,并生成修改后的图像作为输出。例如,该算法可以滤除噪声(图31),或者提取边缘(图32)。存在大量的预处理操作。非常有经验的图像处理程序员会知道哪些操作符是适用于任何应用的好选择。然而,需要大量的实验来选择正确的操作符,并进行微调,以使其在所有条件下可靠地工作。并非所有机器视觉应用都需要预处理。

分割

通常需要对图像进行分割:即识别图像中的不同区域。同样,程序员可以选择各种技术。请参见图34和图33的示例。通常,应用的要求会使熟练的图像处理程序员很容易选择合适的技术,但为了在应用的图像上获得最佳结果,仍需要时间和实验来调整分割过程。

与预处理类似,分割并非所有应用都需要。

特征提取

机器视觉的定义表明,从图像中获取数据是必不可少的。从图像中提取的特征就是这些数据。每个机器视觉过程都必须从图像中提取特征。请参见图35和图36的示例。

从图像中可以提取出数百种特征。通常只需要其中的几个特征。通常,从视觉系统的要求中很容易确定所需的特征。

机器视觉的定义表明,从图像中获取数据是必不可少的。从图像中提取的特征就是这些数据。

解释

拥有特征还不足以完成任务。需要进行解释。零件是好还是坏?将机器人发送到哪里来取零件?应将零件放入哪个容器?

经典的解释方法是决策树(见图37)。它由“如果-那么-否则”语句组成,这对于任何有过编程经验的人来说都是熟悉的。

其他机器学习技术也有用武之地,比如线性鉴别器(见图38)。

图像分析工具

大多数机器视觉软件包都提供工具来执行任务,从而消除了机器视觉程序员需要整理和尝试数百种算法的需求。这些工具涵盖特定功能,如:

  • 对象识别、定位和方向
  • 测量(例如距离、宽度、直径)
  • 缺陷检测
  • 焊缝跟踪
  • 光学字符识别(OCR)
  • 光学字符验证(OCV)
  • 代码阅读(条形码和二维码)

深度学习

机器视觉图像分析领域的最新主要趋势是深度学习。深度学习使用一个具有多个内部层的神经网络,并将图像作为其输入。内部层对用户或者通常连机器视觉工程师都不可见。一套训练图像用于训练这个网络。在每次训练过程中,根据输出的误差,每个层的系数会被调整一小部分。

最常见的网络方法是卷积神经网络(CNN)。这种方法被描述为使用数据而不是计算机代码进行编程。

尽管深度学习正在解决一些非常困难的机器视觉问题,但它并非万能的。专家们一致认为,如果一个应用可以通过工具和算法来解决而不费太多努力,那么这条路线将比使用深度学习更容易。

虽然深度学习是“用数据编程”,但它需要大量正确标记的数据集来训练网络以可靠地执行任务。数据采集和标记的成本绝非微不足道,并且比训练网络本身需要更多的时间。


原网址: 访问
创建于: 2024-03-01 10:49:14
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论