管声启,洪奔奔,常 江,任 浪
(西安工程大学机电工程学院,陕西 西安 710048)
当前中国处于从制造大国向制造强国转变的关键时期,《中国制造2025》明确提出要以加快新一代信息技术与制造业深度融合为主线,以推进智能制造为主攻方向;《新一代人工智能产业规划》将新一代人工智能提升到国家战略高度,明确指出重点发展智能制造。在该规划与《中国制造2025》的共同推进下,我国制造业智能化、自动化升级将不断深化。可以看出,以柔性制造为特征的智能制造是我国从制造大国向制造强国转变的突破口和必由之路[1-3]。
在传统产品制造中采用机器视觉对工件外观的检测,将有利于发现生产过程的工艺问题、及时改进生产工艺问题、提高产品质量,有利于产品分类和分拣。文献[4]提出一种由人工神经网络和模糊逻辑系统组成的复杂分类器,用于检测焊接质量,从而保证产品和结构的安全开发。该分类器比普通神经网络分类器性能好和灵活性高;文献[5]提出基于Fisher准则的堆叠去噪自动编码器(FCSDA)将织物有效地分类为无缺陷和缺陷类别。该方案在周期性图案织物和更复杂的提花经编织物的缺陷检测中效果更显著;文献[6]提出基于机器学习和计算机视觉的自动化缺陷管理系统,通过卷积神经网络分析产品的图像并预测产品是否有缺陷。该算法可以检测和量化瓷器产品中不同类型的缺陷。可以看出,这些机器视觉算法能够较好适应传统刚性产品外观质量检测的需要。
随着人工智能的发展,以柔性制造为特征的智能制造柔性生产线将代替刚性生产线,从而实现多品种小批量工件的生产[7-9];而传统的机器视觉检测算法是为了满足刚性生产线产品检测而设计的,因而很难满足工件种类繁多,形态、特征各异表面缺陷的柔性检测需要;为此,必须同时开展工件定位、分类和缺陷检测等问题算法研究[10]。
众所周知,经典机器视觉检测算法提取特征参数一直依靠人工经验确定;这种特征提取方式对于检测目标复杂、检测目标种类繁多往往难以满足要求;如何从复杂、多特征、种类繁多目标提取特征参数一直是研究热点问题。
深度学习是机器学习中一种基于对数据进行表征学习的方法。深度学习是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。选取探索者机器人扁平工件作为研究对象,主要研究了采用深度学习机器视觉检测在工件柔性检测中的应用。利用Yolo算法和Faster-RCNN算法构建工件检测的模型,如图1所示。以解决工件分类、准确率检测及表面缺陷检测等问题。
由于Yolo算法用于工件分类检测时,其分类准确,但检测准确率不高;Faster-RCNN算法用于工件表面缺陷的检测,其检测准确率高,但对于类型相似的工件分类存在偏差。因而,采用检测模型,如图1所示。在面向工件柔性化检测中还不能完全解决检测中各种类型工件定位、分类和缺陷检测等问题;为此,必须对其工件检测的模型进行优化,以满足工件柔性化检测的需求。
图1 工件检测的模型图Fig.1 Model Diagram of Workpiece Detection
在工件柔性化检测过程中,需要解决关键技术有:(a)如何实现工件快速定位及分类;(b)如何实现工件特征提取与缺陷准确检测问题。
这里的工件检测是Object-detection API 算法与Mask-RCNN 算法的结合,即API-MASK 算法。其中,Object-detection API算法是在YOLO算法的基础上进行优化,通过人工标注,解决工件定位的问题。Mask-RCNN算法是在Faster-RCNN算法的基础上进行优化,解决工件分类、定位及工件表面缺陷检测。
因此,将这两种算法优点结合起来,重新构建新的模型,得到工件检测优化模型图,如图2所示。可以实现多种类型工件的分类、定位以及表面缺陷检测并行协同处理,从而实现工件柔性化检测。
图2 工件检测的模型优化图Fig.2 Model Optimization Diagram for Workpiece Inspection
采用标准的卷积神经网络(ResNet50 和ResNet101)作为特征提取器,如图3所示。底层检测的是低级特征(边缘和角等),较高层检测的是更高级的特征(缺陷、轮廓等特征)。经过主干网络的前向传播,图像从1024×1024×3(RGB)的张量被转换成形状为32×32×2048 的特征图。该特征图将作为下一个阶段的输入。
图3 主干网络示意图Fig.3 Sketch of Backbone Network
3.2.1 区域建议网络(RPN)
RPN属于轻量级神经网络,通过使用滑动窗口扫描图像,来搜寻可能存在的目标区域。RPN 扫描的区域上分布的矩形被称为anchor,如图4所示。
图4 不同矩形框的anchorFig.4 Anchor of Different Rectangular Frame
RPN通过卷积过程产生滑动窗口,并不会直接扫描图像,而是扫描主干特征图,这样允许RPN有效地重用提取的特征并避免重复计算,并且最终的区域建议将被传递到下一阶段。其网络结构图,如图5所示。
图5 RPN网络结构示意图Fig.5 Schematic Diagram of RPN Network Structure
3.2.2 ROI分类器和边界框回归器
ROI分类器以RPN理论为依据,其结构与RPN相似,都有两个输出,如图6所示。其中ROI和RPN的目标类别、边框精调不同,尽管原理相似,但ROI可以深层次的区域划分目标类型,经过精调边框的位置和尺寸,达到目标封装的目的。
图6 ROI分类器和边界框回归器示意图Fig.6 ROI Classifier and Boundary Box Regenerator Diagram
3.2.3 分割掩码
Faster-RCNN算法通过ROI分类器和边界框回归器的学习,用于目标检测模型。而本文的优化算法在Faster-RCNN模型的基础上,增加了分割掩码网络,使工件的轮廓信息更加凸显。其掩码过程,如图7所示。
图7 API-MASK算法的掩码图Fig.7 Mask Map of API-MASK Algorithm
API-MASK 算法中的掩码是一个卷积网络,通过ROI分类器作为输入,并生成掩码。其生成的掩码是低分辨率的:28×28像素。在训练中,将掩码缩小为28×28 来计算损失函数,而在推断过程中,将预测的掩码放大为ROI 边界框的尺寸以给出最终的掩码结果。
根据工件柔性化检测优化模型结构,设计工件柔性化检测算法。本文的工件检测API-MASK算法模型,通过同一个模型同时实现各类型工件定位、分类和缺陷检测并行协同处理,实现工件柔性检测的目标。其工件检测流程,如图8所示。
图8 工件检测流程图Fig.8 Workpiece Detection Flow Chart
首先,通过labelImg(图像标注工具)对图像进行标注,得到工件的位置信息;然后,将标注图像送入图像缓存区,对图像进行分割,得到图像可疑区域,看图像可疑区域是否存在可疑目标。其次,通过第一步,得到图像可疑区域是否存在可疑目标,若存在可疑目标,将可疑目标图像送入可疑区域图像缓存区进行图像缺陷判别;若不存在可疑目标,将图像输入检测模块,对输入图像直接进行特征提取及工件分类检测(工件种类检测和工件识别准确率检测)。最后,通过第二步,得到可疑目标缺陷图像,若存在缺陷,对工件图像进行缺陷检测,其中包括缺陷分类及缺陷识别准确率检测;若不存在缺陷,将图像输入检测模块,对输入图像直接进行特征提取及工件分类检测。
这里的面向工件柔性化检测的实验系统由CCD相机、光源、图像采集卡、传送带以及计算机等组成。其总体配置如下:(1)CCD 相机型号及数量:AVT Prosilica GE1650C 型面阵CCD 相机(1台);(2)光源型号及数量:LED环形光源(1台);(3)图像采集卡型号及数量:凌华科技的PCIe-GIE72/74(1套);(4)计算机型号及数量:一台(英特尔(Intel):酷睿i9 9900k 处理器;NVIDIA 芯片:RTX2080;内存8G);(5)传送带:一套(步进电机、传感器、皮带及滚筒)。
分别采集编号从(A)-(H)的9种探索者机器人扁平工件进行测试,包含单目标图像、多目标图像和缺陷图像,如图9所示。
图9 测试工件图像Fig.9 Test Workpiece Image
人工标注是深度学习目标检测的基础环节,通过人工标注以后,机器视觉检测才能知道图像中目标的位置,如图10所示。通过深度学习算法,将人工标注的图像进行处理,得到目标的坐标位置信息,如表1所示。对进一步检测目标种类及目标准确率提供依据。
图10 人工标注工件示意图Fig.10 ManualLabeling of Workpiece Sketch
表1 工件位置所对应的坐标信息(单位:像素)Tab.1 Coordinate Information Corresponding to Workpiece Position(unit:pixel)
表中:xmin、ymin、xmax、ymax—工件宽度、高度的最大值和最小值,如图11所示。
图11 工件的坐标示意图Fig.11 The Coordinate Sketch of the Workpiece
这里的研究对象为探索者机器人的结构件,该结构件主要包括金属结构件、塑料结构件和其他工件。主要针对探索者机器人扁平工件进行图像采集,将待测工件送入检测系统中,每采集一张图像利用计算机进行实时在线检测。
采集图像分为测试数据集和实验数据集,其中测试图像为671张,实验图像为386张,其检测结果,如图12所示。将测试图像进行工件种类分类检测,其分类准确率,如表2所示。
表2 不同算法的图像种类分类准确率对比Tab.2 Comparison of Classification Accuracy of Image Types Based on Different Algorithms
图12 不同算法的工件检测结果Fig.12 Workpiece Detection Results Based on Different Algorithms
其中,YOLO算法主要针对无缺陷的扁平工件进行分类和检测工件准确率;Faster-RCNN算法主要针对有缺陷的扁平工件进行缺陷分类和检测缺陷准确率;这里的API-MASK算法既可以对无缺陷的扁平工件进行分类和检测工件准确率,又可以对有缺陷的扁平工件进行缺陷分类和检测缺陷准确率。
从表2可得,对于无缺陷图像的分类,YOLO 算法分类准确率为100%,因为该算法在分类前都对图像进行人工标注,所以分类准确率较高;对于有缺陷图像的分类,Faster-RCNN 算法分类准确率为93.3%,因为该算法在缺陷特征提取过程中,对于工件缺陷分类存在偏差,导致缺陷分类准确率有所下降。
而这里算法对于无缺陷图像和有缺陷图像的分类准确率均为100%,因为该算法在输入测试集图像前,首先对图像进行人工标注,然后在特征提取中采用特征金字塔网络(FPN)主干网络和残差网络(residual network,ResNet),通过此过程,它允许每个级的特征与高级、低级特征互结合,可以加深网络分层,提高了特征提取能力。因此,这里算法的图像分类准确率最高。
为了进一步验证这里算法适应性[17],在不同的光照条件和噪声类型条件下,分别对扁平工件实验图像采用这里API-MASK算法,YOLO算法及Faster-RCNN算法进行对比实验结果,如表3所示。
表3 不同影响因素下工件的缺陷检测准确率对比实验Tab.3 Contrast Experiment of Defect Detection Accuracy of Workpiece Under Different Influence Factors
从表3可以得到,光照变化条件各种算法工件检测都能进行准确检测。
这是因为YOLO 算法和API-MASK 算法都采用了人工标注,而Faster-RCNN 算法将RPN 网络用于提取候区域,使用RoIPool对候选区域提取特征进行类别分类和坐标回归,提高检测精度。
YOLO算法对噪声没有反应,可能因为YOLO算法只采用了一个卷积层对缺陷不太敏感。而噪声对Faster-RCNN 算法和API-MASK算法有不同程度的影响。
在不同类型噪声影响下,Faster-RCNN 算法工件缺陷检测准确率在(73~85)%之间,检测准确率较低,主要原因可能是该方法对噪声比较敏感;
而这里API-MASK 算法的缺陷检测准确率在(91~96)%之间,远高于Faster-RCNN算法的缺陷检测准确率,主要原因在于这里API-MASK算法的网络优化结构,结合了两种算法的优点,能有效提高工件检测区域的显著度,同时可以有效提高工件的轮廓信息。
试验分析表明这里提出的算法解决了多种扁平工件的分类检测、定位以及表面缺陷检测,具有较高的检测准确率;同时,在不同的检测条件下,具有较好的适应性。
为了满足智能制造中的同时进行工件分类、定位以及缺陷集成化检测的需要,这里构建了工件检测的网络结构并进行优化;在此基础上,将Object-detection API 和Mask-RCNN 的优点进行结合,进行设计API-MASK算法用于工件检测;
采用Google 的深度学习框架tensorflow 对输入数据进行逐层分析、学习,将学习得到的高层特征用于工件的分类、特征提取以及表面缺陷的检测。
由于采用Object-detection API 能够有效实现工件的分类、定位,采用Mask-RCNN能够有效实现工件缺陷检测;
因而,这里API-MASK算法能够准确进行工件的分类、定位以及表面缺陷检测,同时具有较好的适应性。