您的位置首页  家电资讯  新闻

一文追溯机器视觉发展史,深度学习是如何融入产品检测的

  • 来源:互联网
  • |
  • 2020-08-16
  • |
  • 0 条评论
  • |
  • |
  • T小字 T大字

深度学习在很多学术领域,比非深度学习算法往往有20-30%成绩的提高。很多大公司也逐渐开始出手投资这种算法,并成立自己的深度学习团队,其中投入最大的就是谷歌,2008年6月披露了谷歌脑项目。2014年1月谷歌收购DeepMind,然后2016年3月其开发的Alphago算法在围棋挑战赛中,战胜了韩国九段棋手李世石,证明深度学习设计出的算法可以战胜这个世界上最强的选手。

在硬件方面,Nvidia最开始做显示芯片,但从2006及2007年开始主推用GPU芯片进行通用计算,它特别适合深度学习中大量简单重复的计算量。目前很多人选择Nvidia的CUDA工具包进行深度学习软件的开发。

百度在2013年宣布成立百度研究院,其中最重要的就是百度深度学习研究所,当时招募了著名科学家余凯博士。不过后来余凯离开百度,创立了另一家从事深度学习算法开发的公司地平线。

Facebook和Twitter也都各自进行了深度学习研究,其中前者携手纽约大学教授Yann Lecun,建立了自己的深度学习算法实验室;2015年10月,Facebook宣布开源其深度学习算法框架,即Torch框架。Twitter在2014年7月收购了Madbits,为用户提供高精度的图像检索服务。

前深度学习时代:计算机视觉

互联网巨头看重深度学习当然不是为了学术,主要是它能带来巨大的市场。那为什么在深度学习出来之前,传统算法为什么没有达到深度学习的精度?

我认为, 计算机视觉可以说是机器学习在视觉领域的应用,所以计算机视觉在采用这些机器学习方法的时候,不得不自己设计前面4个部分。

过去20年中出现了不少优秀的特征算子,比如 最著名的SIFT算子,即所谓的对尺度旋转保持不变的算子。它被广泛地应用在图像比对,特别是所谓的structure from motion这些应用中,有一些成功的应用例子。 另一个是HoG算子,它可以提取物体,比较鲁棒的物体边缘,在物体检测中扮演着重要的角色。

这些算子还包括Textons,Spin image,RIFT和GLOH,都是在深度学习诞生之前或者深度学习真正的流行起来之前,占领视觉算法的主流。

几个(半)成功例子

这些特征和一些特定的分类器组合取得了一些成功或半成功的例子,基本达到了商业化的要求但还没有完全商业化。

然后是2001年基于Haar的人脸检测算法,在当时的硬件条件下已经能够达到实时人脸检测,我们现在所有手机相机里的人脸检测,都是基于它或者它的变种。

第三个是基于HoG特征的物体检测,它和所对应的SVM分类器组合起来的就是著名的DPM算法。DPM算法在物体检测上超过了所有的算法,取得了比较不错的成绩。

但这种成功例子太少了,因为手工设计特征需要大量的经验,需要你对这个领域和数据特别了解,然后设计出来特征还需要大量的调试工作。说白了就是需要一点运气。

另一个难点在于,你不只需要手工设计特征,还要在此基础上有一个比较合适的分类器算法。同时设计特征然后选择一个分类器,这两者合并达到最优的效果,几乎是不可能完成的任务。

仿生学角度看深度学习

这种设定符合人类脑科学的研究成果。

1981年诺贝尔医学生理学奖颁发给了David Hubel,一位神经生物学家。他的主要研究成果是发现了视觉系统信息处理机制,证明大脑的可视皮层是分级的。他的贡献主要有两个,一是他认为人的视觉功能一个是抽象,一个是迭代。抽象就是把非常具体的形象的元素,即原始的光线像素等信息,抽象出来形成有意义的概念。这些有意义的概念又会往上迭代,变成更加抽象,人可以感知到的抽象概念。

像素是没有抽象意义的,但人脑可以把这些像素连接成边缘,边缘相对像素来说就变成了比较抽象的概念;边缘进而形成球形,球形然后到气球,又是一个抽象的过程,大脑最终就知道看到的是一个气球。

再比如看到图片中的摩托车,我们可能在脑子里就几微秒的时间,但是经过了大量的神经元抽象迭代。对计算机来说最开始看到的根本也不是摩托车,而是RGB图像三个通道上不同的数字。

所谓的特征或者视觉特征,就是把这些数值给综合起来用统计或非统计的形式,把摩托车的部件或者整辆摩托车表现出来。深度学习的流行之前,大部分的设计图像特征就是基于此,即把一个区域内的像素级别的信息综合表现出来,利于后面的分类学习。

如果要完全模拟人脑,我们也要模拟抽象和递归迭代的过程,把信息从最细琐的像素级别,抽象到“种类”的概念,让人能够接受。

深度学习工业应用:缺陷检测

1. 应用背景

随着机器视觉,工业自动化的快速发展,工业4.0的概念已经被提上日程。传统很多需要人工来手动操作的工作,渐渐的被机器所替代。这当然也是人类科技进步和发展的必然趋势,工业的进步到头来还是服务于人类,给人类带来高质量的生活体验,而不是整天做着乏味无趣的工作。

图示:自动化车间

这里我要讨论的话题是关于缺陷检测机器自动化方面,先说下现状吧,在富士康,伯恩光学,蓝思,信利等国内几大知名半导体制造厂商的朋友肯定看到过下面的画面。

近几年随着智能手机,平板,各种触摸设备的火速发展,促进了玻璃半导体行业的巨大需求。不乏看看周边的朋友,平均每个人都至少有2部移动设备吧,一部手机,一部平板。但是使用者有没有思考过这些电子产品的构成。我们就拿屏幕和内部芯片来举个例子。

每一台智能触摸设备都会佩戴一块屏幕,其中就有盖板玻璃。盖板玻璃在安装在触摸设备之前,在车间中经过了好几道检测工序, 其中很关键的一道工序就需要无数QC质检的火眼金睛帮我们剔除掉有缺陷的玻璃, 最终来到我们用户手中的玻璃是没有缺陷,或者说基本没有缺陷的。当我们看到车间的情景,是否想用如今的高科技来解救一下他们繁琐无趣的工作。

2. 传统视觉检测

在机器学习,深度学习还没有发展的这么火热之前, 国外几款做的几款非常好的视觉软件业内人士应该都很清楚。比如:NIVISION,Halcon, Visionpro, Cognix, MIL等等都是业内用的比较多,而且比较成功的视觉软件。其中很多模块都有定位,测量,检测等功能。

但是这些 传统的方法来做缺陷检测大多都是靠人来特征工程,从形状,颜色, 长度,宽度,长宽比来确定被检测的目标是否符合标准,最终定义出一系列的规则来进行缺陷检测。这样的方法当然在一些简单的case中已经应用的很好, 唯一的缺点是随着被检测物体的变动,所有的规则和算法都要重新设计和开发,即使是同样的产品,不同批次的变化都会造成不能重用的现实。

总结:传统机器视觉算法通常处理容易提取,容易量化的特征:颜色、面积、圆度、角度、长度等。

3. 深度学习检测

随着机器学习, 深度学习的发展,很多人眼很难去直接量化的特征, 深度学习可以搞定, 这就是深度学习带给我们的优点和前所未有的吸引力。很多特征我们通过传统算法无法量化,或者说很难去做到的, 深度学习可以搞定。特别是在图像分类, 目标检测这些问题上取得了显著的提升。下图是近几年来深度学习在图像分类问题上取得的成绩。

下图是近几年来深度学习算法在目标检测问题上的发展。

之所以提出上面的算法, 是因为这些算法给其他领域提供了很多参考和借鉴意义。比如本文讨论的缺陷检测, 上面的很多网络的特点,以及方法都给了我们很多的启发,我们在设计网络结构的时候,配合自己在产线部署的硬件性能,设计适合项目的网络结构。

当然,深度学习的方法用来检测,也有自己的很多缺点。例如:数据量要求大,工业数据收集成本高。但是随着数据增强技术,无监督学习的不断进步,在某些应用场景上,这些缺点渐渐被隐藏了。例如学术界正在研究的,自动网络结构设计,自动数据标注等等。所以作者认为随着技术的发展,这个领域将会得到很大的提升,人工检测终将会被机器检测替代。然后你看到的无人工厂更加会无人化。

深度学习在缺陷检测中的意义

随着自动化技术的快速发展,在工业生产中很多需要人工操作的环节逐渐转由机器完成,工业生产自动化也将越来越多的工人们从枯燥乏味的工作中解放出来,让他们去发挥更大的价值。

产品表面缺陷检测是工业生产中的重要环节,是产品质量把控的关键步骤,借助缺陷检测技术可以有效的提高生产质量和效率。但是由于设备及工艺等因素的影响,产品表面的缺陷类型往往五花八门,比如织物生产中方出现的污点、破损,金属产品上的划痕、裂纹、凹凸不平等各种不同类型的缺陷,如下图所示:

单张图片中的缺陷多样且不同缺陷表现形式的也不相同,给缺陷的自动化检测带来了困难。

下面,我们再讲一下传统算法。

传统的表面缺陷检测算法结构通过图像预处理得到便于检测的图像,随后借助统计机器学习方法来提取图像特征,进而实现缺陷检测的目标。

图像预处理通常包括直方图均衡化、滤波去噪、灰度二值化、再次滤波几部分,以得到前后景分离的简单化图像信息;随后利用数学形态学、傅里叶变换、Gabor 变换等算法以及机器学习模型完成缺陷的标记与检测。

上述传统算法在某些特定的应用中已经取得了较好的效果,但仍然存在许多不足。例如:图像预处理步骤繁多且具有强烈的针对性,鲁棒性差;多种算法计算量惊人且无法精确的检测缺陷的大小和形状。而深度学习可以直接通过学习数据更新参数,避免了人工设计复杂的算法流程,并且有着极高的鲁棒性和精度。

基于深度学习检测的案例及实现

目前,基于深度学习的缺陷检测已经应用于金属固件、布匹丝织物、建筑裂纹、钢筋裂纹等多个领域,并取得了不错的成果。下面将结合具体案例介绍其实现方法。

1. 裂纹缺陷检测

建筑材料(如磁瓦等)的外观变化(如裂纹或腐蚀等)与其建筑结构的安全性密不可分,而依靠检察员视觉检查的效果局限性大,相比之下,基于计算机视觉的结构损伤检测更为可靠便捷。

Fast RCNN的作用为对图像中的缺陷位置进行定位和分类,其结构流程如上图所示。

从输入图像中提取特征图并获得感兴趣区域(ROI);在ROI池中,预先计算的兴趣区域覆盖在特征图上,提取固定大小的特征向量;将所得向量输入全连接层,计算边界框的位置并对框内对象进行分类。

2. 破损缺陷检测

在电气化铁路等工业中,有许多关系着安全的重要固件,这些固件的缺陷检测十分重要。

利用深度卷积神经网络SSD等网络方法构建了一个从粗到细的级联检测网络,包括固件的定位、缺陷检测与分类,其实现流程如下图所示:

(1)紧固件提取

借助在速度和精度方面都表现良好的SSD框架,对图像中的悬臂节点进行定位;

(2)固件缺陷检测与分类

根据第二阶段对紧固件的检测来判断缺陷;具有良好的鲁棒性和自适应性,有利于检测的快速进行,因此本方法在紧固件的缺陷检测和分类中具有良好的应用前景。

3. 斑点缺陷检测

斑点缺陷检测在纺织、木材、瓷砖等许多行业中都很常见,通常利用其纹理的一致性实现检测的目的。近年来,利用深度学习视觉检测技术对相关产业的表面缺陷检测引起了广泛关注。

4. 划痕缺陷检测

划痕缺陷检测通常用于金属类产品的表面缺陷检测中,随着生活质量的提高,人们对产品的外观完整性与美观程度的要求也越来越高,因此精准地检测到产品外观的划痕等缺陷在生产环节十分重要。

总的来说,使用基于深度学习的算法可快速准确地实现的缺陷检测,且适用范围广能够灵活地应用于建筑、金属固件以及布匹丝织物等众多行业的生产过程中。

机器视觉的行业发展现状

(1)就业人员及人才市场现状

目前,深度学习从业人员薪资处于高位,且属于人才紧缺的行业,就业前景广阔。基本上掌握深度学习的视觉工程师,月起薪至少3W元起,纵观近几年,还有逐步上升的趋势。

(2)国家政策扶持,刺激AI行业经济

2017两会“人工智能”首次被列入政府工作报告,随之而来的是人工智能板块领跑大盘涨势,无疑这一切将刺激人工智能在多个领域的全面发展。

2016年,国内人工智能企业约284家获投,获投企业中,A轮(Pre-A、A、A+)企业占比最高,111家企业获得融资,汇顶科技完成IPO上市,募资8.74亿人民币。

(3)技术及企业应用爆发,获得快速发展

人工智能爆发的两个重要时间节点:

2011年基于深度学习的人工智能技术陆续在微软、Facebook、百度等顶尖互联网公司获得广泛应用,微软和百度使用的FPGA,基于海量数据训练出的深度学习系统能够完成更快、更精准的判断,同年苹果公司发布语音助手Siri 。

2016年4月,谷歌(Google)首席执行官桑德尔·皮蔡(Sundar Pichai)在一封致股东信中,把机器学习誉为人工智能和计算的真正未来。

这一切,似乎印证了2011年和2016年AI崛起和爆发式增长的原因所在,行业巨头的全面布局同时也带动了国内AI创业型公司的快速发展。

传统视觉及深度学习检测,存在哪些问题?

编者大概汇总了一下,现阶段的机器视觉缺陷检测,仍然存在以下几大行业发展问题,具体如下:

(1)受环境、光照、生产工艺和噪声等多重因素影响,检测系统的信噪比一般较低,微弱信号难以检出或不能与噪声有效区分。如何构建稳定、可靠、鲁棒的检测系统,以适应光照变化、噪声以及其他外界不良环境的干扰,是要解决的问题之一。

(3)机器视觉表面缺陷检测,特别是在线检测,其特点是数据量庞大、冗余信息多、特征空间维度高,同时考虑到真正的机器视觉面对的对象和问题的多样性,从海量数据中提取有限缺陷信息的算法能力不足,实时性不高。

(4)与机器视觉表面检测密切相关的人工智能理论虽然得到了很大的发展,但如何模拟人类大脑的信息处理功能去构建智能机器视觉系统还需要理论上的进一步研究,如何更好的基于生物视觉认识、指导机器视觉得检测也是研究人员的难点之一。

传统算法在某些特定的应用中已经取得了较好的效果,但仍然存在许多不足。例如:图像预处理步骤繁多且具有强烈的针对性,鲁棒性差;多种算法计算量惊人且无法精确的检测缺陷的大小和形状。而深度学习可以直接通过学习数据更新参数,避免了人工设计复杂的算法流程,并且有着极高的鲁棒性和精度。

国内知名企业是如何解决的?

康耐视:一家大型视觉系统供应商,2017年收购了ViDi系统公司,该公司是一家瑞士制造深度学习机器视觉软件,该软件市场售价15万/套。

德国MVTec公司:Halcon视觉软件,自2018年加入了深度学习模块,可以使用CPU进行缺陷检测。

美国NI公司:自2018年在视觉模块中加入深度学习模块,支持TensorFlow相关版本的模型调用。

而由于LabVIEW具备图形化编程、易学、易用的特点,在自动化行业内广受欢迎,而且其TensorFlow模型推理库经过CPU优化编译,能满足工业缺陷检测实际需求。

为此,为了帮助众多开发人员解决对Python ,C#等编程语言学习不太熟悉、难以短期上手,学习效率低等问题,编者特别在此推出一套不需要任何Python,C#语言基础,能够一键式训练深度学习模型、OpenVINO优化加速模型、LabVIEW调用深度学习模型进行目标检测的课程《龙哥手把手教你学视觉-LabVIEW深度学习简明教程》,以满足机械、电气工程师,在校研究生、以及相关互联网从业人员将深度学习运用于机器视觉项目中的能力。

目前,这套LabVIEW视觉课程,已经上架华秋众筹项目,现在报名学习,即可享受全网限时众筹最低价。

这次众筹希望帮到大家什么?

课程目标:

1. 让没有任何Python,TensorFlow基础的学员学习到如何搭建深度学习训练平台;

2. 学会使用ImgLabel软件标注图片,弄清楚怎么样标注目标;

3. 会利用LabVIEW调用TensorFlow进行SSD/Faster-rcnn模型的训练;

4. 学会利用LabVIEW实现观察模型训练过程Loss曲线;

5. 学会利用LabVIEW调用TensorFlow进行SSD/Faster-cnn模型的评估;

6. 学会利用LabVIEW实现观察模型评估结果图像;

7. 学会利用LabVIEW实现导出TensorFlow冻结图模型文件pb;

8.学会利用LabVIEW实现导出TensorFlow冻结图模型文件pb转为OpenVINO模型文件IR;

9. 学会利用LabVIEW实现TensorFlow/OpenVINO 模型pb/IR文件的加载;

10. 学会利用LabVIEW实现TensorFlow/OpenVINO 模型pb/IR文件的图像测试目标检测;

11. 案例:猫狗数据集,引脚缺陷检测数据集,金属切削缺陷检测数据集,涂胶缺陷检测数据集,元件缺陷检测数据集,开关缺陷检测数据集,药丸缺陷检测数据集;

12. 动态检测案例:五金件缺陷检测。

课程主要知识点:

1. Tensorflow-GPU环境的搭建;

2. Tensorflow Object环境搭建;

3. 学会如何标注图片;

4. 如何LabVIEW快速通过迁移学习训练自己的模型;

5. 如何利用LabVIEW生成优化后的OpenVINO模型IR;

6. 如何利用LabVIEW调用训练后的PB模型和IR模型进行目标检测。

众筹课程介绍及大纲目录

针对很多学员不了解LabVIEW中如何调用TensorFlow进行深度学习模型的训练和调用,推出一整套完整的简洁易学的视频课程,使学员能在没有任何深度学习理论基础,不懂Python编程语言的前提下,使用LabVIEW训练和部署深度学习模型,并配备相关案例视频。

课程目录:

众筹课程有哪些亮点?

1. 全网第一套LabVIEW进行深度学习训练和模型部署的完整教程,满足从业人员使用LabVIEW完成相关编程的需求;

2. 该套课程不需要有很强的LabVIEW视觉编程基础,小白学员即可进行学习;

3. 该套课程不需要有很强的Python语言编程基础,小白学员即可进行学习;

4. LabVIEW对CPU上推理深度学习模型进行了优化,其运行速度和效率优于Python平台;

5. 课程不仅讲授了环境配置,LabVIEW训练和调用的编程方法,还讲解了大量的案例,手把手帮助学员学会如何在LabVIEW中应用深度学习;

6. 课程赠送相关工业图像数据集,其价值远远大于课程本身。

参与众筹后,你将获得哪些收益?

1. 全网唯一完整LabVIEW调用深度学习视频教程,极大提高学员技术水平;

2. 掌握最有前景的深度学习技术,使自身技术在未来5-10年处于高端水平;

3. 目前深度学习缺陷检测职位薪资水平处于高位,学习后找到更高薪资的职位;

4. 800分钟视频教程,2年观看期;

5. 500M深度学习数据样本;

6. 全网唯一完整的LabVIEW调用深度学习训练和部署的源码,比NI官网更全面。

适合学习人群

1. 适用于LabVIEW行业从业者利用LabVIEW进行深度学习应用;

2. 适用于PLC电气工程师利用LabVIEW进行深度学习应用编程;

3. 适用于机械工程师利用LabVIEW进行深度学习应用编程;

4. 适用于在校大学生/研究生利用LabVIEW实现课程设计和课题研究;

5. 适用于IT互联网行业人群快速掌握TensorFlow训练的流程。

(1)学生或新手能不能学会?

学生或新手可以直接学习,课程不涉及Python编程,不需要Python基础,不涉及到理论的理解,课程手把手教学员如何一步步进行环境配置和训练调用,让学员直接掌握深度学习动手实践的能力,只要跟着视频做就能学会应用。

(2)老手有没有必要入手?

老手必须入手,深度学习一定是未来5-10年的高端技术,为自动化或互联网行业提供的新的有效的解决方案,针对传统视觉算法需要手动设计特征提取方法的弊端,深度学习模拟人的大脑神经网络运行模型,通过计算机强大的运算能力,能拟合出比传统算法适用性更强的模型,解决了行业内的难题。国内外大型自动化公司都在积极研发深度学习技术,作为老手一定要尽快更新技术,不被时代所抛弃,保持竞争力。

如何报名众筹课程?

了解课程详情/获取课程目录信息,加助教老师微信。

免费直播

主题:龙哥讲解LabVIEW深度学习工业应用

时间 : ( 星期二 ) 08月18日 19:50

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186
  • 标签:泷泽萝拉abs-130
  • 编辑:郭晓刚
  • 相关文章