1. 基于AI深度学习的工业缺陷检测现状
在工业生产中,由于生产和运输环境中的不可控因素,很容易产生划痕、压伤、擦挂等缺陷。而其中的缺陷大部分都极其微小,甚至是肉眼难以识别,这些缺陷所造成的坏品率极大的制约了工业界的发展。在中国制造业转型升级的过程中,产品质量要销往欧美等发达国家,让产品更具竞争力,必然要求不良品不能最终出现在成品中。一方面,如果能提前发现不良的部件,提前排除,那就能打造成本优势,另一方面,人工检测一般在强灯光或者显微镜的工作环境中,人容易疲劳,容易误判,对经验要求高,现在大部分工厂并不容易找到检测工人,各种因素驱动之下,全自动智能化的外观检测,催生了庞大市场需求。然而,很多工厂都还是刚从人工转视觉,市场潜力无限。
图1 电池产线人工在做外观缺陷检测
除去人工检测外,使用机器视觉技术进行缺陷检测是最为常见的做法,而机器视觉中需要依赖硬件模块和软件模块两个部分。硬件模块中最主要的功能是图像采集,软件模块主要负责图像的处理,分析和检测功能。 机器自动外观检测一般都采用传统视觉算法方法,主要包括面积分析、颜色抽取、差异对比、灰度分析、Blob计算等,然而这些方法对被检对象依赖较大,并且存在检测效率低、误检率高、不同目标需要针对性编码等问题。 随着深度学习图像检测技术的发展,尤其在自动提取特征和实现端到端检测方面表现出良好的性能,使得深度学习网络可以准确且快速地从图像中识别目标,并且具有较强的鲁棒性。 因此,基于深度学习的图像检测技术在缺陷检测领域得到越来越多的重视。
图2 屏幕生产线人工在做外观缺陷检测
传统方法中图像分析主要是利用图像本身的特点,人工的进行图像特征选择或特征提取,现在可以使用的图像处理算法有很多,像 Open CV 库和 HALCOM 算法包中就有许多高效的图像处理和特征提取算法。比如对数据去噪后,可以利用 Open CV 中的边缘检测算法对图像边缘进行定位和检测。通过差分、微分等方法找到符合特征的边缘信息,然后通过一些手动设计好的特征提取算法,对这些信息进行匹配,找到符合缺陷特征的信息,进而完成缺陷的检测。
深度学习中的图像分析相比需要人工提取特征的传统方法操作起来就比较简单,其主要依靠深度学习算法训练出的模型,检测时,模型会根据训练过程中自动学习到的模型特征,对图像利用卷积操作进行特征提取得到的图像特征进行检测判断,然后给出“他”的判断结果。在使用深度学习的过程中,省去了人工图像处理,提取特征的操作,由深度卷积神经网络代替人来完成这些操作,而且针对复杂的特征,卷积神经网络在这些工作上会比人完成的更加出色。
2. 工业应用少样本的深度学习技术
深度学习近年来应用效果越来越好,很大程度上依赖于在当前信息时代中对大数据的应用。比如疫情当下,很多小区为了加强对控制出入小区的门禁的管理,使用了应用广泛的人脸识别设备,甚至使用了针对戴口罩人脸的检测,希望可以让住户不摘口罩就可以被识别,而这样的设备要想使效果满足日常使用需求,需要服务端的算法中有训练得当的模型的支持,这样的模型就需要大量的人脸数据来喂养。相对来说,人脸数据算是比较好收集和标记的,只要在人流量大的区域架设采集设备,一天就可以采集成千上万张人脸照片,对于人脸照片,普通的标记工作人员就可以完成质量比较好的标记。但是工业生产的场景中,良率都比较高,且被检测目标的专业性,需要更专业的人员才能判断出缺陷内容,也无法满足大量的缺陷样本的采集工作。由于样本数量太少,训练模型时出现过拟合问题。因此分析目标检测中典型算法的优劣势,需要提出灵活的模型网络的缺陷检测算法框架,用于解决少样本学习过程中模型过拟合的问题。
图3 电池盖帽典型的缺陷类型(1)
图4 电池盖帽典型的缺陷类型(2)
3. 深度学习技术的应用分类
目前工业领域笔者见过的实际应用深度学习技术在生产线正常良好工作的,以美国康耐视的Vidi深度学习软件居多。主流的halcon开发应用者,由于halcon缺乏完善的标注训练工具,导致几乎市场上不存在基于halcon的深度学习的工业现场实际应用。
图5 Vidi 深度学习工具软件
至于所谓的百度飞桨和华为等大厂的国产深度学习算法包,笔者判断,或许开源的深度学习算法包好用,但是真正的情况的是,工业上鲜有落地,所谓的开源深度学习标注软件更是一堆鸡毛,根本无法商业化。因为一套完善的机器视觉检测设备,他是一整套集成化的产品,包括了运动控制、人机界面、数据管理、机器视觉(传统)、机器视觉(AI)、机械设计、电气部分、生产组织管理等因素。不仅仅只是解决了AI算法问题,就能把机器做出来,或者做好,他是一系列专业性能力的集合,然后某些细分领域的检测设备,毕竟数量少,不能像汽车那样大规模应用而获得资本大规模投入,吸引大量高素质人才进入。自动化设备其实是专业性很强的领域、在技术门槛很高、收入待遇平平的时候,是难以吸引大量985大学等顶尖人才加入。毕竟Vidi标注训练工具很贵,针对市场上的深度学习标注训练测试一体化的工具缺乏的情况。我公司 东莞市精驰技术有限公司 自主研发了一款能满足深度学习要求的标注训练测试一体化工具,简单易用。
图5 东莞市精驰技术有限公司的MindWorks.AI工具软件(深度学习标注训练测试一体化)
MindWorks.AI具备项目管理、目标生成、图片管理、标注缺陷、种类分类、划分、训练和测试评估一体化的深度学习工具软件。
言归正传,深度学习的应用分类,主要是4类:1、目标识别;2、缺陷分割(语义分割)3、目标分类;4无监督学习。
1、目标识别。就是识别目标的位置,在工业领域,一般情况下不需要使用,笔者认为用传统的匹配定位或者卡尺等特征定位准确度更高。
图6 东莞市精驰技术有限公司的图像目标识别定位软件
2、缺陷分割(语义分割)。这个是重点内容。就是训练后,深度学习将目标缺陷分割出来。标注的越准确,分割的结果越好。
图7 东莞市精驰技术有限公司的MindWorks.AI工具软件缺陷标注界面
图8 基于精驰技术MindWorks.AI工具软件训练后的缺陷分割效果
3、目标分类。此类方法,将不同类型的目标筛选出来,或者将不同的缺陷进行分类,然后将缺陷目标找到。分类是深度学习速度最快,准确度最好的。深度学习最有优势的地方也是如此。
图9 基于精驰技术MindWorks.AI工具软件的分类训练
一般情况下,标注工具需要将目标调整到一致的位姿后,加掩膜,只保留目标区别区域,再训练,效果会很好。基于深度学习的分类算法,如上图所示,只有1个点的区别的模穴号混料筛选,准确度可以达到99.8%以上。效果非常好。
4、无监督学习。此类方法,是针对难以找到NG样品的时候,就训练OK样本。如果单单去理解专业术语无监督,可能让读者懵逼。一言以蔽之,就是训练好物料,训练后,在运行时候实际物料与之判断,不重合的地方越多,差异越多,有个面积阈值,用来判断NG。类似于差异模板。
图10 基于精驰技术MindWorks.AI工具软件的无监督学习训练
图11 基于精驰技术MindWorks.AI工具软件的无监督学习训练结果
3、深度学习技术在工业装备检测系统的实现步骤
步骤1:准备阶段,样本采集。目标缺陷都分布在目标样本中,此时,需要对样本分类进行图片采集。一般在采集的同时通过图像定位,使样本保持在同样的位姿。东莞市精驰技术有限公司(东莞市精驰软件有限公司)针对这一环节专门开发了采集纠正姿态的软件。
步骤2:准备阶段,样本训练。将采集的样本导入到工具软件进行标注划分和训练。东莞市精驰技术有限公司(东莞市精驰软件有限公司)针对这一环节专门开发了一体化的工具软件MindWorks.AI。
步骤3:准备阶段,导入训练模型结果到运行软件。将有了标准的训练划分标注软件,就可以可视化的得到训练结果,然后生成结果之后,就可以导入到目标运行软件,以待实际工作使用。
图12 精驰技术有限公司开发的检测运行系统
精驰技术有限公司开发的检测运行系统,可最大支持12个黑白/彩色相机同时工作,具备缺陷存档、统计报表、深度学习模型导入、运行执行判断等动能,容易使用,而且方便。
图13 精驰技术Inspect运行软件的深度学习模型导入窗口
步骤2:运行阶段,实现目标ROI定位。目标ROI就是需要进行检测分析的地方,定位ROI的方式有很多种,包括深度学习本身就可以做ROI目标检测,传统的方式,主要包括Blob分析,找圆,找方,找Mark点,模板匹配等。精驰技术根据团队多年的应用经验,推荐使用模板匹配进行精确定位ROI。
步骤3:运行阶段,调用深度学习模型。目标ROI找到之后,将该ROI直接应用深度学习模型即可得到结果。对于分类而言,结果是不同类型的分数的列表,可以设置一个阈值判断即可;对于缺陷分割而言,就是分割出来的缺陷位置,将他显示出来,可以这是一个面积阈值来判定OK和NG;对于无监督学习而言,也是用面积表征缺陷位置,设置一个面积阈值判断OK和NG即可。
4、深度学习技术的工业装备检测系统效果展示
深度学习是个好技术,也确实能解决一些问题,但是不要指望他能解决一切问题,毕竟一套检测系统、一台检测设备,都是光学、运动控制、摄像机标定、预处理、人机界面、数据系统、机械、电气、组织管理等一系列要素的集合。就像木桶原理一样,任何一块有短板,这个产品都是做不出来的,抑或是不稳定的。毕竟深度学习也就是产品的算法一环而已,仅此而已。只不是方法先进一点罢了。
图13 精驰技术MindWorks.AI 深度学习在印刷目标的识别效果
图14 精驰技术MindWorks.AI 深度学习在划痕目标的识别效果
图15 精驰技术MindWorks.AI 深度学习在PCB光板的识别效果
5、最后
最后最后,若您有更好的项目,我们可以一起评估,一起合作,合作共赢。如果您有其他见解,不妨联系我们一起交流学习。