近几年来,深度学习正日益发展为市场中颇为流行的一种技术。深度学习是机器学习技术的一个分支,其中更多的是关于神经网络中的很多分层。随着深度学习应用的增长,市场上有越来越多的公司提供深度学习工具,从有助于一般研发工作的原始算法,到为机器视觉应用执行深度学习功能的完整的软件产品。

开源架构

与OpenCV如何为计算机视觉应用提供具有可编程功能的开源计算机视觉库类似似,市场上也存在大量用于构建和训练深度神经网络的开源架构,例如TensorFlow、Caffe、PyTorch、SciKit、Keras和OpenNN等。

Integro Technologies公司首席视觉系统建构师David L. Dechow表示,这些开源软件库为那些寻求实施神经网络、卷积神经网络或其他过程,来执行人工智能或深度学习任务的开发人员,提供了复杂的数学工具。

他说:“尽管这些软件库是通用型的,但它们依然能用于在机器视觉应用中执行更有针对性的深度学习任务。”

在本刊上期的内容中,,刊登过一个自动化系统检测放射性医疗成像产品标签的案例。在该案例中,接触式图像传感器(CIS)线扫相机提供放射性示踪剂标签的清晰图像,用于光学特征识别和验证任务。作为系统的一部分,运行在TensorFlow开源软件上的神经网络,用于检测标签上的污迹、破损和褶皱。

专业库

很多公司也会提供具有预开发神经网络的专业函数库。开发人员可以使用这些库提供的算法,实现完整的深度学习机器视觉应用,无需预先进行神经网络和AI研发。此外,尽管使用这些库仍然需要大量的编码工作来执行深度学习应用,但是它们还是可以在开发系统的过程中节省集成商的时间。

例如,Euresys公司提供EasySegment(如图1)和EasyClassify深度学习库,这些库会在该公司的Deep Learning Bundle(深度学习工具包)中一起提供。Euresys公司称,EasySegment工作在无监督模式下。用合格的样本图像训练后,EasySegment可以探测和分割出图像中的异常和缺陷,即使在没有现成可用的缺陷样本的情况下也能胜任。此外,库中还包含了用于数据集创建、训练和评估的免费Deep Learning Studio应用平台。

图1:用不到100幅没有碎片的好咖啡豆的样本图像,对Euresys公司的EasySegment库进行训练后,它就能将不是咖啡豆的目标物分辨出来。

EasyClassify库包含分类训练和图像分类功能,能够检测不良产品或将产品分为各种类别。开发者对训练的图像进行标记,即告知哪些是优良图像,哪些是不良图像,或哪些图像属于哪个类。在经过训练之后,EasyClassify将对图像进行分类。对于给定的图像,EasyClassify将返回一个概率列表,显示图像属于所示教类别的可能性。EasyClassify库可以在每个类别只有100个训练图像的情况下,对图像进行分类。如同EasySegment库一样,EasyClassify兼容CPU和GPU处理,并提供Deep Learning Studio应用平台。

“通过集成和改编来自最高水平研究成果的构想,我们已经对面向工业应用的神经网络架构进行了优化。这让我们能够获得兼具快速和高性能特点的神经网络架构。”Euresys公司EasyDeepLearning高级软件工程师Antoine Lejeune说,“此外,我们还与鲁汶大学密切合作,开发出一种创新的训练算法,专门为工业图像无监督模式下的缺陷分割[EasySegment]量身定做。”

MATLAB是美国MathWorks公司推出的商业数学软件,在它的深度学习工具箱(Deep Learning Toolbox)里,提供了一个使用算法、预训练模型和应用程序来设计和实施深度神经网络的架构。MATLAB公司表示,软件能力将使开发人员能够用自定义的训练环、自动微分、共享权重,以及自定义损失函数,来训练高级网络架构。通过开放神经网络交换(ONNX),MATLAB软件既可以把预训练的网络从TensorFlow和PyTorch导入,又能用ONNX把在MATLAB中训练的网络导出到其他网络架构。MATLAB公司称,使用MathWorks的其他工具,可以为训练和测试深度学习模型准备图像、视频和信号,以及将参考模型部署到CPU、 FPGA和GPU中去。

MathWorks深度学习产品市场经理JohannaPingel介绍说:“随着深度学习在许多领域变得越来越流行,因此要求深度学习更为广泛地被不同专业的工程师、科研人员访问和使用。”有了Deep Learning Toolbox,视觉系统工程师可以很快地应用深度学习,不管他们在深度学习方面是新手还是老手。有了MATLAB,视觉系统工程师可以使用一个从研发到原型、再到生产的集成深度学习工作流程。

使用最新版本的Matrox Imaging Library (MIL),加拿大Matrox Imaging公司使用深度学习增强了其检测分类模块的能力,并为用户提供了“针对一种特定应用,训练提供的一个神经网络”的能力。Matrox Imaging公司介绍说,与仅有分类分值的情况截然不同,检测生成的分类图通常情况下会是整体分类。训练通过编程方式完成,或者,在MIL CoPilot软件交互环境(见图2)中,使用NVIDIA公司的GPU或64位CPU完成,保证推理能在CPU上有效执行,避免对专用GPU硬件的需求。

图2:在MIL CoPilot交互环境中训练数据集。

“对于带有底层纹理、自然变形和可接受偏差的产品检测应用,使用深度学习的分类方法,不断证明着它本身是一种非常有效的工具。”Matrox Imaging产品管理总监Pierantonio Boriero说。

MVTec公司在其两种机器视觉软件产品——HALCON和MERLIC中,均提供基于深度学习的光学字符识别(OCR)功能。HALCON提供更加广泛的深度学习功能,包括基于深度学习的图像分类,用于将图像分配到训练好的类别中;语义分割,用于找出已训练过的缺陷种类,识别精度达到像素精度;目标检测,用于找出训练好的目标类别,并用边界框标识出它们。这样,也可以分离出相接触或者有部分重叠的目标,能够对目标物体进行计数。

HALCON提供的另一项功能是异常检测,其有利于实现缺陷的自动检测和分割。用一些良好的样本图像对软件进行训练后,HALCON能在一个标准CPU上检测出不同的缺陷类型,不再需要做任何标记。

MVTec公司也为HALCON提供了深度学习工具(Deep Learning Tool)(见图3),可以为目标检测提供训练数据标记功能,并且自从2020年2月的版本更新后,也能用于图像分类。标记是通过在每一个相关目标周围绘制矩形框完成的,同时将类别信息与目标关联起来。为了加速标记进程,Deep Learning Tool能够实现多用户在图像数据集的不同部位分别进行处理,然后再把这些不同部位的数据合并到一个项目里。

图3:针对HALCON基于深度学习的图像分类应用,MVTec的Deep Learning Tool提供了新的标记功能。

“在MVTec公司,我们认为深度学习是一项非常重要的辅助技术,它拓展了我们机器视觉算法的现有工具箱。”HALCON软件技术产品经理Mario Bohnacker说,“应用深度学习技术,我们为客户提供了新的、数据驱动的软件访问路径。”

他接着表示:“未来,我们计划进一步推动深度学习功能的使用,尤其是想让深度学习的黑匣子模式变得越来越透明,这一决策有利于(人们)更容易理解深度学习,从而对这项技术增强信心。”

借助National Instruments(NI)公司的视觉开发模块(Vision Development Module),在NI的LabVIEW软件中也可以使用深度学习功能。有了这种能力,集成商和开发人员就可以在NI Linux Real-Time和Windows操作系统中,调用在TensorFlow中开发的深度学习模型。例如,借助模型导入(Model Importer)API和在TensorFlow中预训练的模型, VisionDevelopment Module能够部署基于深度学习的目标检测。

此外,像来自ANSCENTER公司的DLHUB图形深度学习平台这样的第三方插件,也能够通过方便的拖拽界面,为工业部署提供开发、训练以及对深度学习模型进行评价的能力。开发人员表示,这个工具的目标用户是那些对深度学习和Python或 C# 编程不太熟悉的工程师。DLHUB支持多种深度学习层类型,比如全连接层(稠密层)、卷积层、池化层等,并支持迁移学习模型和残差神经网络层等高级层。除此之外,它还支持AdaDelta、Adam、FSAdaGrad以及RMSProp等高级训练算法,并能将训练好的模型导出到LabVIEW、C++和C#中,以供调用部署。

来自Ngene公司的DeepLTK(深度学习工具套件)是另一款用于LabVIEW的第三方工具。该公司称,这款工具为LabVIEW开发者提供图像识别、目标检测和语音识别能力,有助于在LabVIEW中简化创建、构建、组态、训练以及可视化深层神经网络的过程。当DeepLTK在CPU上运行时,不需要外部库或引擎。

Stemmer Imaging公司的Common Vision Blox(CVB)软件中的Polimago工具,也提供基于机器学习的图案识别、姿态估计工具。CVB Polimago通常每个类别需要20~50幅训练图像,大约需要10分钟的时间从训练数据创建一个分类器。这可能是因为CVB Polimago使用了一种算法来生成模型的人工视图以仿真不同的位置,或者调整组成部分的图像。Stemmer Imaging公司表示,通过这种方式,算法能够学习相应图案的变异性,从而能够在更高的识别率下,更可靠地识别训练图像,所需要的训练图像更少。Stemmer Imaging公司为Windows、Linux系统以及ARM平台提供CVBPolimago工具。

完整的深度学习产品

只有少数公司能够为在机器视觉应用中执行深度学习功能,提供完整的深度学习应用产品。Dechow介绍说,在执行深度学习功能的过程中,开发人员和集成商拥有一个简单易用的前端HMI(人机界面),方便进行图像采集、类别训练,以及检查执行。

有了之前收购的ViDi Systems公司和近期收购的SUALAB公司,Cognex公司已经成为了深度学习领域的领导者。在难以预测全方位图像变化的应用中,Cognex的ViDi软件(见图4)利用人工智能来增强图像分析能力。该软件通过反馈来训练系统区分可接受的图像变化和缺陷。Cognex公司表示,基于一个小样本图像集,基于深度学习模型的训练仅在几分钟内即可完成。Cognex ViDi软件包括四套算法工具集:Red-Analyze、Green-Classify、Blue-Locate和Blue-Read。Cognex介绍说,在无监督模式下,Red- Analyze工具中包括一个用于无人监督模式下训练“合格/不合格”检测任务的选项,这个选项适用于那些缺陷样本不多,或者新的、难以预测的缺陷类型可能会出现的应用场合。

图4:CognexViDi软件利用深度学习工具,找到空气过滤网上的缺陷。

SUALAB公司作为Cognex一部分,提供SuaKIT检测软件(见图5),该软件是基于不同工业现场产生的实际图像数据库,具有主要的切割和分类功能。SuaKIT针对高精密的细节测量而优化,在高价值的电子制造和制药及医疗应用中,通常会用到这种高精密测量。SuaKIT软件还为开发人员提供了一个优化应用部署的环境,包括为成百上千个训练中的图像检测出可能标记错标签的图像,突出显示神经网络中特殊兴趣部分,并提供可视化热图。

图5:SUAKIT深度学习软件检测PCB电路板。

Cognex公司视觉软件产品营销总监John Petry说:“我们知道我们正在与通用的开源神经网络工具相竞争,但是大部分自动化工程师都不是神经网方面的专业人士。我们的目标是创建深度学习视觉系统,让工程师们为工厂车间快速创建和部署应用,并超越同类开源产品的性能。”

他补充说:“有了ViDi软件,我们有了独一无二的深度学习架构,它能与VisionPro机器视觉工具直接集成在一起。同时,有了SuaKIT软件,我们可以为高精细应用和高级优化(应用)提供算法。我们的目标是融合这两种软件的最佳优势,保持在机器视觉应用领域的顶尖水准。”

同样是开发深度学习软件,Laon People公司为基于人工智能的视觉检测提供NAVI(一种用于视觉检测的新架构)软件。其提供的检测工具包括:NAVI AI Mercury(分类)、NAVI AI Venus(模式匹配)、NAVI AI Mars(异常或细小缺陷检测),以及NAVI AI OCR(光学字符识别)。

Dechow最后提到,还有一类集成机器视觉深度学习解决方案的公司。这类公司不是把软件作为产品出售,而是通常基于一些产品和库,提供一个完整的定制应用。

Cyth Systems就是这样一家公司。该公司的Neural Vision软件使用深度学习技术,允许视觉检测人员而非编程人员来配置系统。NeuralVision软件的目标是帮助没有机器视觉经验的用户,完成对产品的检测和分类。当将目标图像输入给检测系统,并告知系统所检测目标的独特之处是什么,或者什么样的图像是好的,什么样的图像是坏的,系统会应用算法学习识别它所看到的目标。通过向系统展示如光照、阴影及环境等因素带来的一系列可接受的变化范围,系统会学习理解哪些特征是重要的,哪些特征是不重要的,以准确识别目标。

Cyth Systems公司CEO Andy Long说:“我们希望通过更多的听众分享人工智能技术,使更多的人群受益于这项巨大的技术突破。”

另一个例子是Integro Technologies公司。该公司采用了Cognex的ViDi、MVTec的HALCON软件产品及库,用于深度学习应用。这个市场有众多玩家,包括Artemis Vision和Automated Vision Systems公司。

还有Mariner公司,主要从事工业物联网、分析产品和服务等。该公司使用其Spyglass Visual Inspection原生云产品,为机器视觉应用提供深度学习服务。

Mariner公司CEO兼联合创始人Phil Morris说:“为解决不可接受的误判率问题(将合格误判为不合格)而设计,将Mariner的产品集成到现有的产品线中,当缺陷频率超过控制阈值时,用于报告合格/不合格的信息并报警,同时也会启动根本原因分析工序,并进行质量分析。”

end


深度置信网络matlab_深度学习在机器视觉领域的应用持续增长相关推荐

  1. 基于深度学习的安卓恶意应用检测----------android manfest.xml + run time opcode, use 深度置信网络(DBN)...

    基于深度学习的安卓恶意应用检测 from:http://www.xml-data.org/JSJYY/2017-6-1650.htm 苏志达, 祝跃飞, 刘龙     摘要: 针对传统安卓恶意程序检测 ...

  2. 深度学习 --- 基于RBM的深度置信网络DBN-DNN详解

    上一节我们详细的讲解了受限玻尔兹曼机RBM的原理,详细阐述了该网络的快速学习原理以及算法过程,不懂受限玻尔兹曼机的建议先好好理解上一节的内容,本节主要讲解的是使用RBM组成深层神经网络的深度置信网络D ...

  3. 深度学习DBN深度置信网络

    之前的文章有些地方不太完善,故补充完善一下. 2017-4-10. 深度信念网络,DBN,Deep Belief Nets,神经网络的一种.既可以用于非监督学习,类似于一个自编码机:也可以用于监督学习 ...

  4. 深度学习基础--不同网络种类--深度置信网络(DBN)

    深度置信网络(DBN)   RBM的作用就是用来生成似然分布的互补先验分布,使得其后验分布具有因子形式.   因此,DBN算法解决了Wake-Sleep算法表示分布难以匹配生成分布的难题,通过RBM使 ...

  5. Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别

    任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX:1755337994 使用DBN识别手写体 传统的多层感知机或者神经网络的一个问题: 反向传播可能总是导致局部最小值. 当误差表面(erro ...

  6. 【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[DBN分类]基于matlab深度置信网络DBN变压器故障诊断[含Matlab源码 2284期] 获取代码方式2: 付费专栏Matlab智 ...

  7. 受限玻尔兹曼机和深度置信网络

    从玻尔兹曼机到深度置信网络 本文仍处于草稿阶段,请慎重观看 引言 受限玻尔兹曼机(Restricted Boltzmann Machines, RBM)最初是在1986年由Paul Smolensky ...

  8. 【零散知识】受限波兹曼机(restricted Boltzmann machine,RBM)和深度置信网络(deep belief network,DBN)

    前言: { 最近一直在想要不要去线下的英语学习机构学英语 (本人的英语口语能力实在是低).如果我想完成今年的年度计划,那么今年就没时间学英语了. 这次的内容是之前落下的深度置信网络(deep beli ...

  9. 【DBN分类】基于matlab麻雀算法优化深度置信网络SSA-DBN数据分类【含Matlab源码 2318期】

    ⛄一.DBN DBN由数个RBM堆叠构成,通常会在顶层加入一个BPNN来实现有监督的分类,DBN中下一层的隐藏层就是上一层的可见层.图1所示的DBN即由两个RBM和顶层一个BPNN构成. 图1 深度置 ...

最新文章

  1. SpringBoot中使用rabbitmq
  2. at命令不生效 linux_帮你精通Linux:简约却不简单的ls命令
  3. hdu1428(记忆化搜索)
  4. jquery ajax 上传文件 demo,Jquery+AJAX上传文件,无刷新上传并重命名文件
  5. epson me 1+只有主机能打印不能共享网络打印问题的处理
  6. ubuntu18.04超级简单的安装wine QQ教程
  7. crispr基因编辑_用CRISPR编程基因组
  8. 【vim环境配置】详细实录
  9. 再生龙(Clonezilla)
  10. 【科创人独家】EasyStack王瑞琳:All In超级领先,知易行难
  11. TQ2440 mifi驱动及开机自动连接wifi全过程
  12. 适用于渗透测试不同阶段的工具收集整理(转载)
  13. dlib 人脸检测原理
  14. 最后一天了,四个关键字回顾程序员小跃的2020
  15. 变焦对焦_15个安全变焦会议的提示
  16. 强大的刻盘软件 Ashampoo Burning Studio 9.20 中文版 + 注册码下载
  17. Sublime Text3 安装简体中文
  18. CCRC信息安全服务资质八大认证类别
  19. 一个系列搞定校招——简历篇
  20. Android HierarchyViewer

热门文章

  1. 前端获取视频流并播放
  2. 基于SSM培训机构课程成绩管理系统微信小程序源码
  3. python版飞机大战
  4. 采样点 求拐点 算法 c语言,平面曲线离散点集拐点的快速查找算法.pdf
  5. PLMN selection
  6. 知乎热议:21 届校招应届生 Offer 薪资曝光,年薪 35 万+,严重倒挂老员工是互联网行业常态?...
  7. SAP MIGO 传输过账时接收物料字段控制
  8. 用 Python 爬了猫眼3000+《指环王》影评
  9. wps分享为什么要登入_【家长分享】我为什么要成为1%,把孩子送到国际学校?...
  10. Amesim(一):amesim简介