历史上的今天
返回首页

历史上的今天

今天是:2024年09月29日(星期日)

正在发生

2019年09月29日 | 深度学习工业机器视觉处理

2019-09-29 来源:eefocus

  2012年,多伦多大学首次使用深度学习训练的卷积神经网络模型在ImageNet的测试表现中取得突破性进展,并引发了一连串的基于卷积神经网络的优化并不断大幅提升ImageNet的测试表现。在2015年,通过深度学习训练的卷积神经网络模型,在ImageNet的测试表现中,错误率已经降到了2.3%,超越了人类的识别准确率,就此推动了在图像识别领域进行深度学习的大规模产业化应用的热潮。

640.webp (5).jpg?imageView2/2/w/550

  (深度学习技术在2015年超越了人类)

  以2012年为起点,各大互联网巨头开始落地深度学习技术。2013年,Google通过深度学习来进行街景地图的门牌号OCR识别;2014年,Facebook将其基于卷积神经网络模型的人脸识别技术DeepFace大规模地应用于其照片应用之中,识别准确率达到97.3%。目前深度学习被大规模应用于人脸识别、自动驾驶汽车等领域,取得了非常瞩目的成绩。作为一种首先在消费互联网领域广泛应用的技术,是否可以有效融入到工业视觉领域呢?


  工业机器视觉需要处理什么任务

  机器视觉作为一种基于2D或者3D相机传感器的工业自动化技术,在工业视觉领域具有广泛而成熟的应用。3C、半导体、汽车等行业大量使用机器视觉技术进行异常识别、标签识别等、物料定位等工作。


  工业自动化离不开感知技术和运动控制技术,就像人离不开眼和手。而人体所获得的信息,80%来自于视觉,可想而知,视觉感知技术一定是工业自动化领域最重要的技术之一。


  而传统机器视觉,是存在明显局限的。

  传统机器视觉存在什么局限

  传统机器视觉的图像处理系统,其工作原理简单理解起来是这样:

  1、在图像中找到边、角等人为定义的目标特征;

  2、基于目标特征在图像中存在与否、多个目标特征之间的距离的数值进行逻辑判断来完成视觉任务。

640.webp (4).jpg?imageView2/2/w/550

  使用这套技术,需要由视觉工程师基于视觉任务的特定需求,进行目标特征的定义以及数值判断的阀值定义,设计好了之后形成程序由机器执行。

  而传统机器视觉逻辑简单的局限性,则体现在无法适用于随机性强、特征复杂的工作任务。典型任务如:

640.webp (3).jpg?imageView2/2/w/550

  (随机出现的复杂外观缺陷检测)

  由于只能从有限的特征中进行排列组合,视觉工程师无法通过”边“、”角”来表达“密集的点状凹凸不平”这种综合的、复杂的判断目标。或者表达能力很差,导致识别准确度不好。因此,传统机器视觉是无法解决以上问题的。


  而这样的复杂特征问题,恰恰是深度学习技术最擅长解决的问题。


  深度学习如何解决复杂特征问题

  相比传统机器视觉通过视觉工程师来设计算法模型,深度学习技术最大的不同在于,程序能够自主发现需要用什么特征,通过什么样的逻辑关系来完成图像分析任务,实现由程序来设计算法模型。


  以乐高积木来类比的话,在传统机器视觉里,人类的工作是从100个乐高元素里挑出数十个,组装起来执行人类设计好的逻辑动作,完成相关任务;而深度学习里,人类告诉机器需要完成的任务,由机器从1亿个乐高元素里,挑出数万个,组装起来并选择需要执行的逻辑动作来完成该任务。其表达能力远远高于人类专家。

640.webp (2).jpg?imageView2/2/w/550

  (深度学习技术具有远超人类专家的表达能力)

  由于深度学习可以从更多的特征可能性中进行选择,并自行决定特征之间的逻辑关系,深度学习就具备了通过从海量像素点中,选择一组特征,并通过这组特征表达‘密集的点状凹凸不平’的能力。

640 (1).gif?imageView2/2/w/550

  (由软件自主选择特征以及逻辑组合方式)

  在实际应用中,使用深度学习训练的模型可以准确地对图片中的随机缺陷进行识别,并可以准确地将指定的缺陷有效地标识出来,真正实现了随机性强、特征复杂的随机缺陷的检测。

640.webp (1).jpg?imageView2/2/w/550

  (通过深度学习可以识别并标识图像中的随机缺陷)

  正是由于具备了处理这种随机性强、特征复杂的图像识别问题的能力,深度学习就具备了突破传统机器视觉技术的局限的可能性。


  深度学习能否达到工业精度要求

  我们通常会认为,工业应用对于技术精度和稳定性的要求要高于民用技术。所以,在消费领域火热的深度学习技术,是否能够满足工业指标呢?我们以外观缺陷检测为例,看看工业检测具体需要考虑哪些指标。

640.webp.jpg?imageView2/2/w/550

  (检测任务的准确率考核矩阵)

  漏判率:漏判会直接造成不良品流向终端客户。所以漏判率要求通常低于 100 PPM。

  误判率:误判会直接对工业企业的良率造成影响,会造成物料的浪费。企业对误判率的要求通常要求在1%-5%之间。在漏判率达标的前提下,只有大幅降低误判率,才能达到减人的目标。


  节拍:不同行业有较大差异,如电子行业的节拍要求在5秒以内,机械加工行业的节拍要求在几十秒以内。


  一方面,深度学习目前的行业普遍技术水平已经能够达到95%以上的判定准确率。通过平衡漏判率和误判率,更加严格地控制漏判,可以让漏判率降到100PPM以下,而误判率降到5%以下。


  另一方面,针对节拍的要求,由于目前GPU显卡可以达成每秒80祯的图像处理速度,5秒内可以完成400张图片的判定。而一般3C行业的产品较小,只需要10张以内的照片就可以完成产品的覆盖,比如大的机加工产品,也只需不到100张图片进行产品表面的全覆盖。图像处理的速度完成可以满足节拍的要求。


  所以总体来看,我们认为深度学习技术已经成熟到可以完成复杂工业视觉任务。


  事实上,深度学习已经产品化了

  是的。UnitX正是基于这样的一个技术判断,将深度学习技术融合到传统机器视觉领域,解决复杂表观外观缺陷检测问题。目前,UnitX已经成功在复杂机加工产品的外观缺陷检测、高反光塑料件产品的外观缺陷检测等领域实现了产品化,检测效果大幅优于传统目检人员,完成了连续超过30W件物料无漏判,检测节拍提升40%,实现了外观缺陷检测工作的自动化,用事实证明了深度学习技术可以满足工业检测需求。

640.gif?imageView2/2/w/550


推荐阅读

史海拾趣

Astec [Astec America, Inc]公司的发展小趣事

在发展过程中,Astec意识到单打独斗难以应对日益激烈的市场竞争。因此,公司开始积极寻求与其他企业的战略合作,共同开拓市场。通过与上下游企业的紧密合作,Astec成功整合了产业链资源,实现了从原材料采购到产品生产的全面优化。这不仅提高了公司的生产效率,还降低了成本,进一步增强了公司的市场竞争力。

Adam Tech公司的发展小趣事

随着全球环保意识的提高,Adam Tech也积极响应绿色制造的号召。公司在生产过程中采用环保材料和工艺,减少对环境的影响。同时,公司还加大了对绿色产品的研发力度,推出了一系列符合环保标准的产品。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

这五个故事只是Adam Tech在电子行业发展过程中的一部分缩影。正是凭借着对技术的不断追求、对品质的严格把控以及对市场的敏锐洞察,Adam Tech得以在激烈的竞争中脱颖而出,成为电子连接器行业的佼佼者。

富瀚(Fullhan)公司的发展小趣事
检查保护器的接线是否正确无误,特别是与电动机和控制电路的接线部分。
DESCO公司的发展小趣事

面对数字化浪潮和智能制造的兴起,DESCO公司积极拥抱变革。公司投入大量资金引进先进的自动化设备和智能化生产线,提高生产效率和产品质量。同时,DESCO还加强了数字化营销和客户服务体系建设,提升了客户体验和市场响应速度。这些举措使公司在激烈的市场竞争中保持了领先地位。

BELLING LEE公司的发展小趣事

在电子行业的初期,BELLING LEE公司以其对新技术的敏锐洞察力和强大的研发能力脱颖而出。公司投入大量资源研发出了一款具有革命性的高效能电子芯片,这一创新产品不仅提高了电子设备的性能,还大大降低了能耗。凭借这一技术突破,BELLING LEE公司迅速在电子市场上获得了认可,并逐渐建立起自己的市场地位。

ECS公司的发展小趣事

面对云计算技术的不断发展和市场竞争的加剧,ECS公司制定了面向未来的战略布局。他们将继续加大在研发方面的投入,推动ECS服务的不断升级和创新;同时,他们还将积极探索新的业务领域和市场机会,为客户提供更加全面、丰富的服务。此外,ECS公司还注重可持续发展和社会责任。他们致力于降低能耗和排放、推动绿色计算等方面的工作;同时,他们还积极参与社会公益事业和慈善活动,回馈社会。这些举措使得ECS公司不仅成为了一家领先的云服务提供商,还成为了一家具有社会责任感的企业。

问答坊 | AI 解惑

华为全讲义

本帖最后由 paulhyde 于 2014-9-15 09:27 编辑 华为全讲义  …

查看全部问答>

求教89s52接93c46时,EA\ALE\PSEN引脚应该接哪里?

求教89s52接93c46时,EA\\ALE\\PSEN引脚应该接哪里?…

查看全部问答>

windriver中断嵌入什么样的函数

我想在中断函数中嵌入一个,MSComm的一个对象,然后调用成员函数,但程序就会出错。大概程序是这样的 DialgIntHandler(   ,  ) {     。。。。。。     MSComm  m_comm;     m_c ...…

查看全部问答>

关于 SD卡如何识别分区

啊,我是菜鸟,最近想弄了个驱动是是SD卡的,现在只能支持2G大小的SD,现在有2个问题在这里请教下:1,这个驱动只能读一个分区(如果给他2个分区,后面的无法挂在),呵呵,怎么样让他能读其他分区。2,怎样让他能读4G以上的SD卡:)谢谢大家了…

查看全部问答>

想学习linux嵌入系统

有较好的C语言基础,用linux已经有段时间.由于工作原因比较忙,想问如何才能尽快的提升自己. 希望能推荐一本好的书籍 ,谢谢了. …

查看全部问答>

用stvp烧写程序

用stvp烧写程序,选择option byte  ---read  out  protection on,芯片只能烧写一次  ,在次烧写提示芯片锁死 ,请问如何解决 ?…

查看全部问答>

典型的运算放大器OP应用电路结构(精华版)

本帖最后由 paulhyde 于 2014-9-15 04:07 编辑 典型的运算放大器OP应用电路结构  …

查看全部问答>

关于norflash擦除的问题,急

在norflash的bios地址写入了开发板的测试程序,现在通过jflash烧写uboot时总是出现错误,找不到flash设备,我该怎么办啊,求各位大侠帮忙啊。。急死我了。。本人qq778032418,热心的朋友留言,加q,留q都可以啊…

查看全部问答>

MSP430数模转换程序

单通道多次转换源程序,自己写的,给大家分享一下哈!…

查看全部问答>

【一点一点学Linux C】__raw_writel()

在邮件列表里讨论了一下writel是如何实现的,这个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据。 在arch/alpha/kernel/io.c中有 188 void writel(u32 b, volatile void __iomem *addr) 189 { 190  &nbs ...…

查看全部问答>