2020年6月27日 机器视觉与计算机视觉技术

深度学习在机器视觉系统中的应用详解

虽然深度学习,人工智能和认知系统的概念并不新鲜,但也是近些年它们才真正应用于机器视觉系统。

随着机器视觉技术的不断发展,系统在不需要计算机编程的情况下也可以具有分析和分类对象的能力。而人工智能(AI)和深度学习是推动机器视觉发展的重要技术手段。

然而,描述这些概念背后的潜在科学更为简单。例如,在传统的机器视觉系统中,可能需要读取零件上的条形码、判断其尺寸或检查其是否有缺陷。为此,系统集成商通常使用现成的软件,这些软件提供了标准工具。例如,可以部署这些工具来确定数据矩阵代码,或者使用图形用户界面来测量零件尺寸的工具集。

因此,部件的测量可以分为好或坏,这取决于它们是否符合某些预定标准。与这种测量技术不同,所谓的“深度学习”工具更好地归类为图像分类器。与专门读取条形码数据的软件不同,它们被设计用于确定图像中的对象是存在还是好或坏。因此,这些工具是互补的。

神经网络等深度学习工具将拓展其他机器视觉技术。例如,这样的神经网络可以判断数据矩阵代码存在于图像中的概率,但要解码它,将使用传统的条形码算法。

神经网络

基于神经网络的工具通常用于确定零件的存在或图像中的物体是好是坏。这些工具属于一组称为图像分类器的算法,从基于实例的分类器(如k-nearest neighbor (k-NN))到决策树分类器。在Jason Brownlee 2013年11月的《机器学习算法之旅》(A Tour of Machine Learning Algorithms)中可以找到不同类型分类器的图表。

其中许多可以用于机器视觉应用程序。MVTec Software已经在其HALCON软件包中提供了预先训练的神经网络、支持向量机(SVM)、高斯混合模型(GMM)和k-NN分类器。需要注意的是,深度学习网络训练从无到有,每一个错误类别都需要几十万张样本图像才能获得有效的识别结果。然而,HALCON集成了广泛的深度学习网络。因此,训练只需要相对较少的样本图像,节省了大量的时间和金钱。

Stemmer Imaging公司也在其Common Vision Blox(CVB)Manto软件中使用SVM。

当不同组的特征值显着重叠时,SVM可用于生成多维特征空间以隔离不同的缺陷组。PR Sys Design在其perClass软件中提供许多这样的分类器。它具有一系列分类器,如k-NN、神经网络、随机森林和SVM。图像分析软件是一个基于MATLAB的工具箱,允许开发人员以交互方式处理数据,选择数据中的最佳特征进行图像分类、训练多种类型的分类器并优化其性能。

模仿大脑

就像许多不同的分类器可以用来识别图像中的对象一样,也有许多类型的神经网络可以用来执行图像分类功能。这种神经网络试图模仿人类视觉系统和大脑中使用的生物神经网络。其中最简单的是Frank Rosenblatt于1957年发明的感知器(图1)。

图1:由Frank Rosenblatt于1957年发明的感知器,它通过一组二进制输入对大脑中的神经元进行建模,每个输入乘以一个连续的值权重,并对这些加权输入的和进行阈值化,模拟生物神经元

Perceptron通过采用一组二进制输入(附近的神经元)对每个输入进行建模,将每个输入乘以连续值权重(每个附近神经元的突触强度),然后阈值化这些加权输入的总和,如果总和足够大,则输出“1”,否则输出“0”,类似于生物神经元发射或不发射(参见”神经网络与深度学习的历史“,作者:Andrey Kurenkov)。

如今,更复杂的网络使用两层或更多这样的“神经元”来执行图像分类任务。这些“隐藏层”可以在呈现给神经网络的图像数据中找到特征。从简单的感知器到深度前馈(DFF)和卷积神经网络(CNN),许多神经网络架构都可以用于笔迹分析和语音识别等应用(参见Andrew Tch的《神经网络的基本完整图表》)。

CNN可能是机器视觉系统中应用最广泛的神经网络。这有几个原因。首先,CNN的架构旨在更紧密地模仿人类视觉皮层和模式识别机制,CNN被分成几个执行不同功能的神经元阶段(图2)。

图2:在CNN中,卷积层用于执行特征提取,就像使用卷积运算符来查找边缘等特征一样。在传统的图像处理中,诸如高斯模糊和中值滤波的图像滤波器执行该任务。另一方面,CNN架构模拟人类视觉系统(HVS),其中视网膜输出执行诸如边缘检测的特征提取。

在该简化图中,为了说明的目的,分别示出了卷积层和池化层。在实践中,它们构成了完整的CNN的一部分。在CNN中,卷积层用于执行特征提取,就像使用卷积运算符来查找边缘等特征一样。

在传统的图像处理中,可以将诸如高斯模糊和中值滤波的图像滤波器分解成现场可编程门阵列(FPGA)来执行该任务。

另一方面,CNN架构模拟人类视觉系统(HVS),其中视网膜输出执行诸如边缘检测的特征提取。在CNN中,该卷积用于执行特征提取,因此表示输入图像的特征。这些卷积层排列成特征图,每个神经元都有一个接收域,通过一组可训练的权重连接到前一层的神经元,这些权重用于确定可能应用的滤波器类型。

在提取这些特征之后,使用所谓的“合并层”来减小图像数据表示的空间大小,以提高计算速度。然后将该图像数据馈送到最终网络层以进行进一步的数据处理。

无需编程

神经网络不像其他方法那样需要传统的或FPGA编程技术。相反,CNNs可以被训练以三种不同的方式识别物体。在第一个监督学习中,图像被手工标记,并使用这些数据生成一个输出模型来分类未知的图像。监督学习需要对图像数据进行标记,而非监督学习方法可以在图像数据中发现模式,并从多个未知图像中构建模型。然后,通过对这些结果的解释,可以开发出更精确的监督分类器。

这种无监督学习系统通常是不准确的,可以受益于半监督学习技术,其结合标记数据以减少需要训练的图像的数量。

表1:许多机器视觉公司现在推出的产品经常使用开源工具包开发专门针对机器视觉应用的软件。

“关于这些不同的方法,我们的大多数工具都是基于监督培训,”Adaptive Vision总经理MichałCzardybon说道。 “这是最有效的,因为没有必要手动设计算法。但是,需要提供标记的训练数据。我们的一个工具Anomaly Detection使用半监督方法,开发人员提供了大量“良好”的对象图像,并且训练网络只是为了识别与这些对象的任何偏差。

Czardybon说:“对于那些希望此类软件在无监督模式下运行的人来说,我们的技术还没有准备好。然而,我们正在进一步研究半监督学习,即少量带标记的样本与数百个未带标记的样本同时存在,以提高准确性。”

在构建这样的网络时,开发人员可以同时使用商用和开源开发工具。而商业上可用的工具,如Wolfram的Version 11,MathWorks的深度学习工具箱Artelnics,可以用来开发基于神经网络的应用程序,其他公司提供开源代码来执行这项任务。

开源解决方案

英特尔、IBM、NVIDIA、微软等大公司和Google都提供开源代码来开发机器学习算法。

有趣的是,Keras是一个用python编写的高级神经网络应用程序编程接口(api)的开发人员,在一张图表中显示了一个比较基于11个数据源的深度学习框架的图表,谷歌的TensorFlow机器学习库是最广泛使用的机器学习软件(图3)。

图3:Keras已经证明,基于11个数据源,Google的TensorFlow机器学习库是最广泛采用的机器学习软件。

Keras的创始人FrançoisChollet表示,虽然Keras提供了一个高级别的界面,但它并不能处理低级操作。相反,这些可以由Google的TensorFlow或Theano的开源代码执行的,这是一个在蒙特利尔大学蒙特利尔学习算法研究所(MILA)开发的开源项目。

使用这些工具,开发人员正在部署基于视觉的应用程序。例如,英特尔已经展示了其与飞利浦合作使用其OpenVINO工具包的系统,该系统可以在不使用GPU的情况下对X射线和计算机断层扫描(CT)进行深度学习推断。而使用通用CPU可能需要数小时或数天才能进行此类分析。

为了扩展现有CPU架构的性能,飞利浦部署了OpenVINO工具包和深度学习方法,提供了比标准CPU方法快200倍的速度来进行深度学习,从而避免了使用gpu的需要。然而,这类工具在医学成像领域得到了应用。

机器视觉目标

有了所有这些开发工具,毫无疑问,众多机器视觉公司正在推出经常使用这些工具包开发专门针对机器视觉应用的软件的产品(表1)。虽然不愿意讨论可以使用哪些工具或者是否也在其产品中使用其他分类工具,但这些公司为开发人员提供了一种评估机器视觉中神经网络潜力的方法。

现在已经有许多部署这样软件包的案例,例如:在渝美压铸公司在基于英特尔计算机视觉和深度学习软件的系统中部署了英特尔的联合边缘计算平台,以检测零件铸造时的缺陷。

Cognex意识到这些方法的强大功能,于2017年购买了ViDi Systems及其ViDi软件套件。最近,该软件由AIS Technologies部署用于气缸孔检测系统。

图4:Cyth Systems展示了其神经视觉软件如何应用于以下应用:(a)半导体引线框架检查(b)医疗器械检查(c)机器人拾取和放置系统

另一家公司d-fine为Seidenader Maschinenbau开发了一套系统,测试CNNs在医疗产品检测系统中的性能。现在,研究人员正在分析这些方法与传统机器视觉方法的有效性。

Cyth Systems公司拥有自己的基于AI软件,名为Neural Vision。该软件已用于各种应用,包括半导体引线框检测,医疗器械检查和机器人拾取与定位系统(见图4) 。

智能相机系统

尽管许多系统都在基于pc的系统上部署了这样的软件,但是相机供应商已经意识到提供智能相机来完成这项任务的机会。比如:IDS成像开发系统和FLIR Systems。

利用一种专门开发的人工智能视觉应用,IDS的NXT摄像机可以加载预先训练好的人工神经网络,而基于fpga的人工智能加速则增加了推理时间。在VISION 2018上,该相机被展示为一个基于人工智能的目标识别系统。此外,FLIR公司的FireFly集成了英特尔公司的Movidius Myriad 2视觉处理单元(VPU),训练好的神经网络可以直接加载到该单元上。

智能相机将运行传统的机器视觉算法和基于神经网络的分类器,从而使开发人员在使用算法时具有灵活性。推动这一趋势的可能是来自谷歌、英特尔和微软等公司的开源代码,商业成像软件开发商将利用这些代码更快地将此类产品推向市场。

Banner
Related Posts

工业相机调研凸显嵌入式趋势

2019年3月27日

2019年3月27日

据一项专业调查显示,机器视觉行业正凸显出向嵌入式视觉和模块化发展的趋势。制造商们看到了嵌入式视觉解决方案在汽车和基础设施应用方面的巨大潜能。

自动化金属表面缺陷检测系统

2019年6月25日

2019年6月25日

近年来,生产制造企业对于金属的需求快速增长,对于产品质量的要求也是日益严格。如何对金属产品质量进行有效控制,我们的方法很简单:提供针对每种金属产品应用优化的表面缺陷检测解决方案,以高效一致方法的进行在线检查。事实证明,实时信息在为客户解决问题方面具有无可估量的价值,通过消除对生产后物理带材检验的依赖,制造商能够克服重大障碍。

工业机器视觉应用有必要使用边缘计算吗?

2019年12月17日

2019年12月17日

伴随着机器视觉技术的快速发展,在提高制造商产品质量水平的同时加快生产效率,可以说拥有巨大的潜力。这项技术的影响范围也在不断地扩大,各种新的应用注定会在我们的日常生活中发挥更大的作用。

机器视觉模式匹配的基础:光源、相机、算法

2019年10月11日

2019年10月11日

机器视觉系统还需要能够发现和识别模式。任何机器视觉任务的第一步都是模式匹配,即根据形状属性(如边缘)的预期排列,在视场中定位目标。这个过程是如何工作的?

自主机器视觉系统Inspekto S70

2019年12月18日

2019年12月18日

自主机器视觉(AMV)是通过机器学习的技术,让视觉系统拥有自动识别对象的能力,它为质量保证提供了革命性的方法,同时将使巨额投资和长时间停机成为过去。

机器视觉如何改变金融服务

2019年9月9日

2019年9月9日

事实证明,在金融领域应用机器视觉不仅对企业有利,而且对一般消费者也有利。尽管这在5年前似乎遥不可及,但金融机构一直在使用先进技术开展业务。这些技术能够改进客户体验并减轻员工的工作负担。

基于计算机视觉和深度学习的智能缺陷检测

2019年9月4日

2019年9月4日

自亨利·福特首次引入装配线系统以来,质量控制一直是制造中的一个关键因素。其理念是,质量可以通过大规模生产流水线来实现,只要每个人在生产过程中各尽其责。从那时起,我们显然已经走了很长一段路。传统的装配线仍然以许多形式存在,尽管机器已经取代了许多手工过程。

智能高光谱成像与食品安全的未来

2020年3月9日

2020年3月9日

智能高光谱成像技术有望快速准确地检测病原体、异物以及产品的新鲜度和损伤。

基于机器视觉的监测系统​

2019年11月3日

2019年11月3日

本研究基于机器视觉技术,结合Python语言,openCV库等,编写出了一套高精度,高稳定性的位移监测算法,以Nvidia Jetson开发板为载体,结合单片机,红外传感器等,设计制造了一套具有形变监测与预警功能的系统。

机器视觉技术发展的五大趋势

2019年6月21日

2019年6月21日

在过去的一年里,人工智能(AI)、大数据、3D成像和机器人过程自动化等领域在取得了空前的发展。在即将到来的2019年,机器视觉技术应用还将蓬勃发展,新机器视觉认为五大发展趋势将引领行业应用。

表面缺陷检测系统方案实施的七个步骤

2019年5月24日

2019年5月24日

表面缺陷检测系统主要以相机成像和图像处理技术为主,配置合适的相机和光源可以使被检测物体凸显表面缺陷或特征,使其检测系统能够实时、准确的对物体表面缺陷进行检测。

研究人员开发了一种非侵入性果实成熟度检测方法

2019年6月25日

2019年6月25日

昆士兰的研究人员开发了一种新工具,可以在收获前评估芒果作物的成熟度,这可能会提高收获时间和果实质量。

机器视觉应用的柔性开发

2019年9月12日

2019年9月12日

本文使用IBV软件MERLIC的例子,概述了图像处理的当前要求,并展示了如何在不编程的情况下创建应用程序。

细数机器视觉的9大应用场景

2019年7月23日

2019年7月23日

本文主要介绍了机器视觉的主要应用场景,目前绝大部分数字信息都是以图片或视频的形式存在的,若要对这些信息进行有效分析利用,则要依赖于机器视觉技术的发展,虽然目前已有的技术已经能够解决很多问题,但离解决所有问题还很遥远,因此机器视觉的应用前景还是非常广阔的。

新型智能玻璃为机器视觉研究提供新的模拟途径

2019年7月18日

2019年7月18日

[据光电子网站2019年7月10日报道] 美国威斯康星大学麦迪逊分校电气和计算机工程系Zongfu Yu教授带领的团队开发出了一种新型智能玻璃。不需传感器、不用接通线路或外部电源、亦不需连接互联网,这种智能玻璃就可以利用光学反射的原理识别图像。

Comments
发表评论

电子邮件地址不会被公开。 必填项已用*标注