2020年9月21日 机器视觉与计算机视觉技术

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

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

随着机器视觉技术的不断发展,系统在不需要计算机编程的情况下也可以具有分析和分类对象的能力。而人工智能(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

3D视觉系统技术方案详解

2019年4月21日

2019年4月21日

近年来,随着芯片技术的发展以及相关软硬件系统的深入,视觉传感器得到了极为广泛的应用。社会越来越智能,可以使用人工智能和大数据技术将人们记录下来的图像智能地利用起来,而不是用一个个柜子将图像、视频束之高阁。

3D视觉检测的未来:光度立体技术

2019年6月12日

2019年6月12日

利用3D表面定向,特别是它对反射光的影响,工业应用的光度立体产生对比度图像,突出了局部3D表面变化。

机器视觉从发展到成熟,最新技术又有些什么?

2018年8月9日

2018年8月9日

这是机器视觉行业的一个演变时期。嵌入式视觉与深度学习和人工智能相结合, 将在生命科学、自驾游、安全和农业等传统制造业以外的市场继续蓬勃发展。

机器视觉这条河,未来也会浑浊吗?

2019年3月21日

2019年3月21日

机器视觉的实质是一种计算机图像处理在工业领域的应用,其在机器人行业的应用方向有两种。AGV和机械臂,AGV上的应用已经很明了,主要存在于导航上面,但是在机械臂上的应用可谓是越来越广。

科创板|天准科技:中国机器视觉第一梯队企业

2019年6月2日

2019年6月2日

2019年5月27日,上交所决定将于6月5日召开第1次审议会议,审议深圳微芯生物、安集微电子科技、苏州天准科技3家企业的发行上市申请。

为双目立体视觉插上FPGA翅膀

2019年10月10日

2019年10月10日

FPGA具有灵活高效、可重复编程特性,可实现定制性能、高吞吐量和低延迟,是十分灵活且强大的计算加速器。所以,很多研究机构将算法进行简化后,使用FPGA进行处理。

MicrochipPolarFire FPGA成像和视频开发套件加快机器视觉应用的开发与部署

2019年8月29日

2019年8月29日

制造业和工业界正在经历巨大的变化,工业物联网(IIoT)等新兴技术有望大幅提升工厂运营效率。因此,各种传感器正以前所未有的速度进行部署,让IIoT应用能够感知和洞察生产过程、工业自动化和质量控制等现实场景所发生的一切。

基于3D技术的机器视觉解决方案

2018年8月9日

2018年8月9日

随着机器视觉领域测量技术的多元化发展,3D视觉技术必将成为一种重要的检测手段。3D视觉技术行业中越来越受到欢迎和重视。近年来,3D视觉领域的市场容量也在快速增加,相信3D市场必将成为机器视觉的一个主流的重要检测手段。

自主机器视觉系统Inspekto S70

2019年12月18日

2019年12月18日

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

红外相机热成像在缺陷检查中的应用

2019年6月1日

2019年6月1日

制造商正在使用红外摄像机来辅助预防性维护,并发现与热相关的装配过程中的缺陷。

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

2019年11月3日

2019年11月3日

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

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

2019年5月24日

2019年5月24日

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

每个机器制造者都应该了解基于组件的3D视觉系统

2019年9月1日

2019年9月1日

在构建成本效益高的三维视觉系统时,是最好使用基于组件的方法(如照相机、激光、透镜、支架、校准目标)还是采用一体化(即智能)方法?乍一看,以较低的成本购买单个组件和构建定制的视觉解决方案似乎是更经济的途径。

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

2019年9月9日

2019年9月9日

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

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

2020年3月9日

2020年3月9日

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

Comments
发表评论

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