摘要:铝型材表面由于生产工艺、机械振动等外在条件影响,会产生加工瑕疵,由于其瑕疵特有的纹理、尺寸、形状随机性、不规则性等因素,现有的一些金属表面瑕疵检测模型泛化能力差,无法在铝型材瑕疵检测上取得较好的检测效果。针对上述问题,提出一种改进Faster RCNN架构的铝型材表面瑕疵检测模型,通过改进原有卷积核计算模式,融合改进噪声过滤特征金字塔网络及形变卷积以提升检测模型对多尺度及不规则瑕疵表征的学习能力;同时改用ROI Align提取特征图及改进候选框生成网络损失函数以提高对微小瑕疵的定位能力;针对铝型材表面瑕疵多样性、类间相似问题,提出一种多阶段模型训练方法,并在原有Softmax损失函数基础上联立Center Loss优化损失函数,以提高模型的相似类别检测能力。通过实验对比结果表明,改进后的检测模型对不同类型的铝型材表面瑕疵均具有较高检测精度,平均分类精度达97.50 %,mAP指标达到84.16 %,同时保持了较低的误检率,可达到对铝型材表面瑕疵的有效识别,具有较强的实用性。
关键词:铝型材;疵点检测;特征金字塔;噪声过滤;可形变卷积
0 引言
铝型材在人类社会生产活动中使用的比例越来越高,但在工厂生产加工铝型材的过程中,由于多方面因素影响,使得铝型材表面会产生诸如划痕、起泡、起坑、不导电等不良瑕疵,对铝型材的产出质量造成严重的不良影响。
为严格把控铝型材产品质量,传统的检测方式采用人工检测,不仅费时费力,还由于铝型材纹路与瑕疵之间区分度微小、人工检测易疲劳等因素,造成漏检率高、检出率低[1]。随着深度学习、机器视觉技术的发展,针对物体表面瑕疵的研究也出现了新的方向[2-5],但针对铝型材这种特定材料的检测算法研究较为匮乏。SOO等[6]提出一种Class activation map的关键部位定位算法,对钢材表面图像中的局部缺陷区域进行定位检测,其理论精度可达99.44 %,但由于铝型材瑕疵种类较多,纹理较为复杂且细小,使得此模型定位方法无法有效泛化。沈晓海等[7]提出一种基于多任务深度学习的铝型材缺陷检测方法,可对铝型材表面瑕疵进行较高精度的检测,但算法复杂度较高,且对微小瑕疵漏检率高。陈亮等[8]提出一种基于YOLOv3模型的瑕疵检测算法,其检测准确率为98.2 %,但在多尺度检测效果上较差,检测时间上也有待提高。文生平等[9]提出一种基于Gaussian-yolov3的铝型材表面缺陷检测算法,利用置信度函数计算损失,提高了整体的预测框的位置精准度,改善了狭长型的瑕疵检测效果,但未对不规则缺陷检测进行进一步优化,适用范围受限。
基于上述研究,本文在Faster RCNN网络架构基础上优化改进,提出一种铝型材表面瑕疵检测模型,为解决多尺度瑕疵检测的问题,引入特征金字塔网络(feature pyramid networks,FPN)及形变卷积(deformable convolutional networks,DCN)使模型可以学习更多形态的瑕疵,对铝型材表面的不规则瑕疵进行针对性检测;使用ROI Align层替换网络原有的ROI Polling层,提高了对于微小瑕疵的定位精度;在此基础上提出一种噪声过滤金字塔进一步提升特征有效性,改进了Region Proposal Net损失函数,提升了生成候选区域的准确率,同时采用多阶段训练方法增加了模型鲁棒性和检测精度。
1 铝型材表面瑕疵检测模型
对于铝型材表面缺陷检测,本文主要分为3步。首先检测表面是否存在瑕疵;其次对存在瑕疵的进行类别判断;最后对瑕疵进行回归定位。本文以目标检测算法Faster RCNN为架构,改进原有卷积核、改变特征提取策略、优化原始损失函数,针对不同任务对模型架构进行拓展优化改进。
Faster RCNN是目前主流的目标检测算法之一,相比YOLO系列模型以END-TO-END为检测方式的算法,Faster RCNN在检测精度上具有明显的优势,其基本模型架构如图1所示。
图1 Faster RCNN 基本模型架构
Fig.1 Faster RCNN basic model architecture
Faster RCNN首先对传入的图像通过卷积神经网络提取所需要的特征,其次采用Region Proposal Network产生预测候选框,最后对候选框通过ROI Pooling及Fully Connected Layers提取特征并完成相应分类及Bounding Box回归任务。
1.1 改进Faster RCNN模型架构
本文采用Resnet-101残差网络作为特征提取的主干网络,并针对铝型材表面特有瑕疵特点,引入改进后的FPN及DCN进行针对性的优化改进。
在网络中添加FPN以增强整体特征语义表达,同时增强小目标特征映射分辨率;采用DCN网络使模型对于不同形态的瑕疵能够更好地学习特征提取位置,使得卷积区域尽可能集中在瑕疵部位;对于微小瑕疵,使用ROI Align对原始的ROI Pooling进行替换,以获取更为精准的Bounding Box,提高相应的检测性能。
原始网络中的ROI Pooling在特征候选框的映射中采用插入邻近像素值方法进行量化操作,对于微小尺寸框的回归中会产生信息丢失问题;替换后采用ROI Align取消了回归框的量化操作,改用双线性内插法求得浮点坐标的像素值,提高了微小目标回归框的精度。ROI Align反向传播计算公式如式(1)所示:
(1)
式中,xi为池化前特征像素点;yrj为池化后第i个感兴趣区的第j个点;i(r,j)为yrj像素点来源;Δh,Δw为xi与xi*(r,j)横纵坐标差值。
网络原始的卷积核在对特征表征进行提取时,只在特定位置进行采样,采样形式单一,对比不规则表征容易产生信息遗失。由于铝型材表面瑕疵多以不规则形态呈现,为针对性解决这一问题,笔者使用DCN对原始网络中最后一个卷积核进行替换,DCN实现方法如图2所示。模型在前期卷积中学到更为丰富的语义信息,为最后一个卷积核中形变卷积的偏移量学习提供了充足的特征信息,DCN通过对原始采样点增加偏置量{ΔPn|n=1,2,…,N}以达到合适点位,其中N=|R|,每个位置DCN计算公式如公式(2)所示。
(2)
式中,ΔPn为偏置量,Pn为卷积核每个位置的,数值为分数形式,W为采样点权重。对应的DCN池化层是通过对输出的像素增加一个偏置量ΔPij,对生成的可偏置矩阵,通过全连接层进行相加,得到DCN池化模型,DCN池化计算公式如公式(3)所示。
(3)
式中,P0是ROI区域左上角的点;nij是i行j列总像素数,对于ΔPij,通过(γ为标量经验参数)计算得到。
标准卷积与可形变卷积对比如图3所示,针对铝型材表面不规则瑕疵使用形变卷积后特征匹配效果如图4所示。
图2 DCN实现方法
Fig.2 DCN implementation method
图3 标准卷积与可形变卷积对比图
Fig.3 Comparison of standard convolution
and deformable convolution
图4 形变卷积特征匹配效果图
Fig.4 Effect of deformed convolution feature matching
改进后的Faster RCNN整体框架如图5所示。
图5 改进后Faster RCNN整体框架图
Fig.5 Overall framework of the improved Faster RCNN
1.2 噪声过滤特征金字塔
通过FPN使得经过卷积及两倍上采样操作后的浅层结构与高层的语义信息相融合,为进一步过滤特征图中的部分噪声特征,在原有特征金字塔网络的基础上,提出一种噪声过滤特征金字塔M-FPN,采用卷积的的方式对特征图中的特征噪声进行过滤,M-FPN工作流程如图6所示,其公式如公式(4)所示。
(4)
式中,Mi为经过过滤后输出的特征图;与分别代表瑕疵样本与正常样本特征图,i为通道数; 表示将与进行叠加操作;Ci为1×1的卷积核,通过M-FPN,网络可对不同特征进行自适应加权求和,避免有效瑕疵语义信息损失。
图6 M-FPN特征过滤金字塔
Fig.6 M-FPN feature filtering pyramid
1.3 改进RPN损失函数
由于训练样本中存在瑕疵类别样本量不均衡、尺寸差异大的问题,为提升Region Proposal Net生成候选区域的准确率,采用一种两阶段损失函数(T-stage Loss),其公式如公式(5)所示。
(5)
式中,i为ROI初始区域;ai为ROI与目标重合概率;Lr=L1(bi-bi*);bi=(bi,x,bi,y,bi,w,bi,h),其中各值如公式(6)所示,其中x,y,w,h与xi,yi,wi,hi分别为目标框与样本标定框的中心点坐标及框的长与宽;bi*为对应框的真实标签;λ为权重参数;ai*为样本类别标签,当交并比介于0.2~0.8时无作用;ai*Lr为ROI与目标重合时的回归函数。
(6)
2 实验结果与分析
2.1 样本数据
本文模型训练数据集来自广东省某铝型材厂家生产线实地采集的图像,尺寸为2 560×1 920像素,瑕疵样本4 536张、正常样本1 351张,瑕疵种类包括脏点、凸粉、起坑、漏底、擦花、不导电、桔皮、碰伤、涂层开裂、横条压凹十类,,由于各类别样本量分布不均衡,组间差异较大,因此本文采用图像增广技术对图像进行随机水平、竖直翻转、旋转、图像分割、像素振荡等操作达到对各类别样本量的扩充,使每类样本达到5 000张,以保证模型效果。对扩增后的数据集进行划分,将1/2作为训练集,1/6作为验证集,1/3作为测试集。
2.2 模型评价指标
为评价本文所构建瑕疵检测模型的有效性,采用汉明损失(HLoss)作为模型分类精度评价指标、分类精度(AP)及平均精度均值(mAP)作为模型检测精度评价指标。HLoss表示所有标签中错误样本的比例,HLoss计算公式如公式(7)所示。
(7)
式中,n为样本总数;L为标签总数;xij表示在第i个模型预测结果中第j个分量的真值;yij表示第i个结果中第j个分量的预测值;XOR表示异或运算。
AP计算公式如公式(8)所示。
(8)
式中,TP、FP分别表示真正例、假正例。
对于多种类目标的平均检测精度采用mAP作为总类别评价指标,计算公式如公式(9)所示。
(9)
式中,AP表示单类别准确率;C为总类别数。
2.3 模型训练
由于铝型材表面瑕疵大小不一、人工标注误差、图片背景干扰等原因导致模型训练易出现过拟合现象,因此本文提出多阶段的训练方式对模型进行训练,进一步提高模型检测精度。多阶段训练步骤如图7所示。
首先使用瑕疵样本进行训练,再使用训练后的模型对无瑕疵样本进行检验,使用预测为有瑕疵的数据生成对抗样本,最后将生成的对抗样本与原瑕疵样本相结合,对模型进行次轮训练。通过多阶段训练可降低模型的误判,使得模型具有更强的鲁棒性。
为进一步提升模型泛化性能,在多阶段训练的基础上,在原有的Softmax基础上联立Center Loss,在增大类间差异的同时,缩小同类别特征变化。Center Loss计算如公式(10)所示。
(10)
式中,xi为未通过全连接层的特征;cyi为yi的特征中心,联立Center Loss后的损失函数为优化损失函数L=LS+λLC,其中LS为Softmax,λ为Center Loss的权重参数。
图7 多阶段训练步骤
Fig.7 Multi-stage training steps
本文模型训练所用环境配置为Intel i7-9700K处理器,64 GB内存,两块NVIDIA GeForce RTX 2080 Ti显卡,所用深度学习框架为pytorch,λ取值为0.5,训练轮次为100,训练过程中的精度曲线及损失曲线如图8所示。
图8 训练过程精度及损失曲线变化
Fig.8 Accuracy and loss curve changes during training
2.4 结果对比与分析
为检验本文改进模型对铝型材不同种类瑕疵的检测识别能力,首先实验选取脏点、凸粉、起坑等十类铝型材瑕疵进行验证,结果见表1。
表1 不同瑕疵种类模型性能
Tab.1 Model performance of different types of defects
对表1数据进行分析可以得出,对于不同种类瑕疵检测具有较高精度,平均分类精度达97.50 %,平均mAP为80.16 %。
其次使用YOLOv4、Mask RCNN、Cascade RCNN及本文所构建的瑕疵检测模型设计4组对比实验,对比各模型在本文所用数据集上的分类精度AP、mAP、误检率及漏检率四项指标,实验结果见表2。
表2 不同模型对比结果
Tab.2 Comparison results of different models
由表2数据可知,本文所构建模型性能整体优于其他模型,分类精度较YOLOv4模型提升4.13 %,mAP较其他模型提升明显,漏检率降低4.63 %。Cascade RCNN漏检率略低于本文模型,但准确率不及本文所构建模型,分析其原因,由于Cascade RCNN在对ROI框检测的过程中所采用的结构为级联结构,对阈值的提升是逐步进行的,故漏检率较低。
为验证本文模型改进方案的有效性,采用模块分离的方法对各阶段模型进行分离训练,得到相应模块添加后模型mAP,其结果见表3。
由表3中数据可得,本文各阶段改进模块较前阶段mAP均有一定提升。在原网络架构上根据不同需求对特征提取方式、相应卷积核及ROI框提取替换优化后mAP较基础模型提升7.24 %,在此基础采用本文改进的两阶段候选框生成损失函数及噪声过滤特征金字塔对模型架构进行进一步优化后,mAP较基础模型提升12.47 %,模型效果得到显著提升,验证了本文改进方案的有效性。
表3 改进Faster RCNN分模块对比结果
Tab.3 Comparison results of improved Faster RCNN sub-modules
3 结论
对于实际工业生产场景中的铝型材瑕疵检测问题,本文提出一种改进Faster RCNN模型架构的铝型材瑕疵检测算法,使用DCN对原有模型中最后一个卷积核进行替换,使模型对于不规则瑕疵特征具有更强匹配能力;采用ROIAilgn替换原有模型的ROIPooling层对Bounding Box框进行优化,得到更为精确的瑕疵回归框。提出一种噪声过滤特征金字塔,在增强整体特征语义表达,增强小目标特征映射分辨率的同时对特征图中的噪声特征进行卷积过滤。同时采用改进RPN损失函数,提升了Region Proposal Net生成候选区域的准确率。
为增强模型泛化能力,采用多阶段训练的方式对数据集添加对抗样本,采用Center Loss与Softmax加权联立对损失函数进行优化,通过对不同类别瑕疵样本产生的损失进行动态加权,增强了模型在样本不均衡条件下的泛化能力。最后通过对比实验验证了本文模型的有效性,平均分类精度达97.50 %,mAP达到84.16 %,较当前主流物体目标检测模型具有更高的精度。在今后的研究中,将进一步针对微小目标、复杂背景下的瑕疵检测及模型检测速度展开更深入的研究。