钱 雪,李 军,唐 球,钱晓雨
(1.北京信息科技大学 信息管理学院,北京100192;2.华北计算机系统工程研究所,北京100083)
近几年深度学习技术在机器视觉方面有很大突破,而利用其进行工业产品表面缺陷检测也逐渐成为工业界研究的热点。在真实复杂的工业环境下,表面缺陷检测面临诸多挑战,例如在药品检测过程中,存在缺陷成像与背景差异小、对比度低、缺陷尺度变化大且类型多样等情形。近些年来,随着以卷积神经网络(Convolution Neural Network,CNN)为代表的深度学习模型在诸多计算机视觉(Computer Vision,CV)领域成功应用,国内外学者也展开了基于深度学习技术的表面缺陷检测的研究。同时,一些公司也开发出多种基于深度学习的商用工业表面缺陷检测软件。全球传统工业视觉及其部件的市场规模将于2025年达到192亿美元且年平均增长率为14%[1-2]。因此,基于深度学习的表面缺陷检测方法不仅具有重要的学术研究价值,同时有非常广阔的市场应用前景。
然而,深度学习技术在实际工业场景中的应用存在一些难题,针对药品检测来说一是生产过程中缺陷样本过少,不利于神经网络的特征提取;二是产品的缺陷尺度不同,有上千个像素的缺粒缺陷,也有几十个像素的黑点异物缺陷等。实际生产过程中用于训练的缺陷样本数量少,细微缺陷在没有突出缺陷区域的情况下容易被其他区域的信息所掩盖。而且,随着神经网络的深入以及卷积和池化等操作,一些特征层信息被丢失。YOLOV5是目前最优的目标检测模型之一,其在精确度、检测速度和所需存储空间上都表现优异,十分适用于工业产品的缺陷检测。
针对以上问题,本文提出了一种检测速度快、泛化能力强、针对小缺陷拥有更好检测效果的药品缺陷检测方法——RDD_YOLOV5:
(1)在数据预处理方面,利用Sobel算子提取原始图像RGB三通道的浅层特征得到特征图像,形成多通道样本图增加有效训练样本数,提升模型泛化能力,缓解样本少的问题。
(2)在YOLOV5模型中引入通道注意力机制ECANet,对不同通道的特征进行权重调整。ECA模块旨在适当捕获局部跨道信息交互。该方案在增加少量参数的情况下在泛化能力与小缺陷检测精度方面获得明显的性能增益。
(3)在预测层之前加入了自适应空间特征融合(ASFF),充分利用高层特征的语义信息和底层特征的细粒度特征,利于实际工业场景中缺陷尺度大幅度变化的样本识别。
目前,基于深度学习的目标检测网络主要分为单阶段与两阶段。单阶段模型在进行特征提取后直接获取缺陷的位置和类别,如SSD[3]或YOLO[4];两阶段模型需要首先生成可能包含缺陷的候选框然后再进行预测,如Fast-RCNN[5],其在实时性方面稍显不足。在YOLO系列中,YOLOV2[6]在PASCAL VOC 2007数据集[7]上可以实现高达78.6%的mAP,检测速度为40 FPS。较为经典的YOLOV3[8],通过在YOLOV2的基础上增加一个特征金字塔结构,并使用自上而下的多级预测进一步提高了检测小对象的能力。
在基于深度学习的缺陷检测网络研究中,大部分研究针对于金属表面、桥梁、PCB板等物体[9],由于数据获取等原因针对药品的检测较少。Liu[10]等人提出了一种多通道输入的网络结构并使用多尺度图像块检测策略对纽扣表面进行检测,检测精度超过96%mAP,并在DSP上检测速度为5 FPS。Liu[11]等人使用MobileNet作为骨干网络用于高铁接触网支撑组定位,其在测试的数据集上的检测效果达到25 FPS和94.3%mAP。Zhang[12]等人以YOLOV3为基础采用了像素叠加的数据增强方式,并引入特征金字塔池化层以及自底向上的路径增强方法检测交通标志,达到了23.81 FPS以及86%mAP。Zhang[13]等人同样将YOLOV3应用于桥梁表面缺陷定位,为提高准确率在原来网络的基础上引入预训练权重、批再规范化和Focal loss。YOLO系列检测如今发展到YOLOV5,通过不同的改进适用于不同的检测场景。
YOLOV5检测方法与较为经典的YOLOV3相比,其数据增强使用Mosaic扩充数据集,同时还可以进行翻转、亮度调整、剪裁等操作。对于数据量较少的样本集,可以有效地进行数据扩充。骨干网络使用CSP-Darknet(Cross Stage Partial Networks Darknet)与空间金字塔池化(Spatial Pyramid Pooling,SPP)结合的网络结构。该结构通过将梯度变化集成到特征图的方式减少了模型的参数量和浮点运算数值,在缩小了模型尺度的同时仍能保证准确率和速度,所以被广泛使用。在YOLOV5检测流程中,以YOLOV5s为例(其结构图如图1所示),网络首先将训练集中的每个图像分成S×S(S=19,38,76)个网格,每个网格通过自适应锚框计算后都有不同大小的候选框,由物体中心所在的网格负责检测物体;然后,通过骨干网络的卷积层提取特征;最后,预测层用于多尺度预测。负责预测的特征图有多个尺度,可以预测大小不同的物体,由特征金字塔结构进行多尺度特征图融合而得。每个网格预测B个锚框、置信度得分以及C类条件概率。
图1 YOLOV5s结构图
实际药品生产过程中对良品率有严格要求,导致真实缺陷样本数据很少,根据邻近风险最小化原则,可以通过创建与用于数据扩充的训练样本相似的样本增加学习过程中的监督信息,来提高泛化能力。本文使用Sobel算子对样本的缺陷部分进行一阶梯度处理,使处理后的缺陷部分更加明显。基于此采用Sobel算子先对同一图像的RGB三通道图像进行处理,得到处理后的RGB三通道底层特征图像。再将原图RGB三通道图像与特征图RGB三通道图像作为YOLOV5网络的输入形成多通道输入图像。以此来提升模型的泛化能力与缓解样本不均衡的问题,如图2所示。
图2 Sobel算子处理后的RGB三通道底层特征图
由于药品缺陷尺度变化较大,一些细微缺陷如黑点、细丝异物等特征很容易被忽略。因此,通过骨干网络对图像进行特征提取后,在骨干网络的SPP层末端加入通道注意力机制ECA-Net[14],对不同通道的特征权重进行加权调整,增强网络提取跨通道信息特征的能力,提升小缺陷检测精度。注意力机制是改善目标检测性能的重要方法。ECA注意力机制解决了SENet等传统注意力机制降维后为后续预测带来的副作用,旨在获取通道间的依赖关系,增强特征的表达能力。该模块利用一种通过一维卷积有效实现不降维的局部跨信道交互策略以及一种自适应选择一维卷积核大小的方法,来确定局部跨信道交互的覆盖率。在不降低维度的情况下输入特征图x,然后将所有通道进行全局平均池化操作,再通过可共享权重的l维卷积进行学习,并在学习过程中考虑每个通道与其k个邻居来捕获跨通道交互。k代表l维卷积的内核大小,通过跨通道信息交互作用的覆盖范围(即一维卷积的内核大小k)与通道维数C的正比关系,得出式(1),自适应确定k的取值。式中γ=2,b=1,C为通道维数。
该模块避免了权重分配过程中的降维操作,并能有效捕捉跨通道交互信息。如图3所示,ECA-Net在没有降维的通道式全局平均池化之后,通过考虑每个通道的k个邻居来捕获本地跨通道交互信息。这种方法在效果和效率上都有明显优势。通过在YOLOV5的骨干网络末端引入ECA-Net模块,在提取跨通道的交互信息特征过程中,重点关注缺陷特征,提升检测精度。
图3 ECA-Net结构图
在YOLOV5网络中,特征金字塔结构融合不同层次的特征图以改善模型性能,底层的特征图尺度较大,包含较多的纹理、颜色、细节等信息,深层特征图的语义性更强,更具有全局特征,但是对细节的表示能力较差。所以,在特征金字塔融合过程中,采用自适应空间特征融合(Adaptively Spatial Feature Fusion,ASFF)方法[15]。AFSS是一种新的基于数据驱动的金字塔特征融合策略,其通过自适应地学习权重参数来融合不同空间特征层特征,在几乎不引入其他开销的前提下提高特征的尺度不变性,有利于提高不同尺度小的缺陷识别精度。将ASFF添加到模型的DetectLayer中,形成DetectASFFLayer,可以保证在不改变配置文件的基础上,将DetectLayer直接替换为DetectASFFLayer,可适用于不同网络结构,实现即插即用。
在特征融合过程中,以3层特征层为例,如图4所示,将YOLOV5最后生成的3层金字塔特征层的每一层与其他两层乘上对应权重后再相加,得到三层自适应空间特征融合层ASFF-3。设xl表示水平l的分辨率特征,首先通过上下采样和插值法等,将另一个级别n的特征xn调整为与xl形状相同。再设xn→lij表示在位置(i,j)处的特征向量从n映射到l级,对应的l级特征如下:
图4 在YOLOV5中加入ASFF特征融合方法
权重参数公式如下:
为了评估本文方法,数据集使用药品实际工厂生产过程中工业相机采样的大小为1 700×1 100的图片。样本中药片内部异物/破损30张,药板异物27张,药板药片有折痕、划痕16张,铝箔药板发生破损10张,药片内部发生破损41张,空粒39张。
实验配置与参数如表1所示。
表1 实验参数
本实验基于YOLOV5s模型进行改进,选取由混淆矩阵衍生的目标检测常用的准确率(Accuracy)、精确率(Precision)、平均精确率(mean Average Precision,mAP)、召回率(Recall)、PR曲线等对模型进行评估。其中:
实验精确率曲线如图5所示,mAP0.5曲线如图6所示,表2为本文方法与YOLOV5s对比实验结果。
图5 精确率曲线
图6 mAP0.5曲线
表2 对比实验结果
由表2及图5、图6可知,以YOLOV5s为基础,同一数据集下RDD_YOLOV5检测框架对于药品缺陷的检测可达0.966 mAP,精确率达到0.976。其检测速度可达32 FPS,平均检测一张图仅需约31 ms,极大地提升了工业生产现场的检测效率,可以满足实时检测的需求。
部分缺陷检测效果图如图7、图8所示。由检测结果图可知,本文提出的检测方法可精准检测药品表面尺度不同的缺陷以及细微缺陷。
图7 内部异物缺陷检测结果示例
图8 空粒缺陷检测结果示例
对于工业生产数据缺陷的检测,使用基于深度学习的目标检测算法YOLOV5并在此基础上增加了注意力机制与特征融合机制,一定程度上缓解了样本数量少以及细微缺陷识别精度有限的问题,在准确度较高的情况下检测速度极快,满足实时性要求。本研究为工业产品表面缺陷检测提供了可行的研究方法。