梁智滨,赵文义,李灵巧,杨辉华,
(1.桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004;2.北京邮电大学 人工智能学院,北京 100876;3.桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004)
分切是电动汽车动力电池生产中重要生产工艺,其刀具质量尤其是刃口豁口的大小和数量决定了分切产生毛刺的深度和数量。因磨削不合格、安装及使用等原因,分切刀具会产生大小、形状各不相同的豁口。极片切割工艺要求采用μm 级的高精度标准,而使用超过豁口阈值(如长度或深度为5 μm)的分切刀具进行切割时,生产的电池因极片存在较大的毛刺,有极高的短路风险。业内目前普遍采用人工裸眼在光学显微镜上观察的方法获得刀具豁口图像,检测一把常规刀具约需50 min,视觉损伤大且工作繁重。文献[1]提出一种刀具豁口的高精度自动检测系统,检测单把刀具约需10 min,并成功应用于B 公司。由于刀具有油易于粘附,使用、转运和现场检测环境洁净度较差,在刃口处易粘连金属附着物、毛发、棉絮等形态各异的附着物。附着物一方面影响了显微成像时自动对焦和清晰成像,另一方面形成刀具伪边缘,导致显微图像拼接[2]失败,增加豁口误检率和漏检率,严重影响系统检测精度。因此,准确检测并去除附着物是刀具豁口高精度自动检测的难题。
国内外在附着物检测、异物检测、缺陷检测等领域已经取得了一定的研究进展。在传统机器视觉领域中,文献[1]提出一种基于边界敏感的豁口缺陷检测算法,该算法在一定程度上解决了豁口缺陷的精确测量问题,有效性仅限于无附着物的豁口缺陷,对于含附着物的豁口,仍存在检测结果不精确、无法检测等问题。LI 等[3]利用擒纵轮的轮廓作为先验知识,结合附着物边缘曲率变化较大的特点,分离了附着物和工件,从而修复了目标轮廓。GUO 等[4]把含异物的机场跑道分解成高频和低频部分,高频部分采用小波变换的尺度边缘检测,低频部分采用形态学边缘检测,然后融合高低频两部分得到异物检测结果。ZHANG 等[5]设计了液体药品异物检测系统,根据异物运动轨迹连续的特点,利用序列图像检测异物。烟叶中参杂有异物纹理、颜色等信息不同的特征,采用Laws 和SVM 算法分别进行两次分类,可有效提出烟草中的异物[6]。ISKANDAR 等[7]提 出CEST 颜色腐蚀分割算法,对胡椒浆果样品中参杂的异物进行检测,其材料在颜色特征上区分度较大。以上方法基于附着物与背景间的纹理、灰度值、形状、颜色等存在较为明显的特征,然而本文研究的刀具附着物利用上述特征不能与刀具进行有效区分。
在深度学习领域,LIANG 等[8]改进Faster RCNN目标检测算法,对高压设备缺陷区域进行定位。JING 等[9]改进YOLOv3 的棉花异性纤维检测网络,利用数据增广和多尺度特征提高了检测精度,但目标检测任务不能精准地去除附着物。CAO 等[10]采用可形变卷积模块,通过计算额外偏移量,比普通卷积拥有更大的感受野,但同时也增加了计算量。在软注意力机制中,LI 等[11]提出了低剂量CT 去噪网络,把自注意力与3D 卷积相结合,达到了更好的去噪结果。LIU 等[12]将自注意力与残差模块相结合,重构出更多的高频信息,提高了超分辨率人脸重建质量。ZHANG 等[13]提出自我注意生成对抗网络,有效构建了跨图像区域的多层次依赖关系。在硬注意力机制方面,BA 等[14]提出多目标识别网络,只针对数字像素区域提取特征,使非像素区域的梯度为0,导致梯度不能继续传递,从而增加了训练难度。尽管相关异物检测、定位和去除网络研究均取得了一定成果,但应用于本文问题,仍存在不足:均没有对网络提取的特征加以区分,缺乏对目标的针对性学习,导致计算资源浪费在背景等无关特征上;深层的网络中包含大量的冗余参数,更容易出现过拟合现象,而且耗费较大的计算量和储存空间,降低了网络的运行效率。
针对现有研究方法无法有效提取复杂附着物特征,导致附着物存在误去除和刀具边缘扭曲的问题,本文提出一种结合自注意力的附着物去除网络(Attachments Removing Network,ARNet)。通过二值掩膜特征提取模块辅助区分光源与刀具区域,引入去除过程学习模块(Removal Process Learning Module,RPLM)提取附着物去除过程中的时序信息,并利用自注意力精确分离模块提取注意力分数加权后的附着物特征,强化不同形态的附着物特征提取能力。此外,在网络训练过程引入边缘损失函数,从而约束网络对边缘的修复能力。同时,引入深度可分离卷积减少网络中的冗余参数,加快网络训练进程,以达到工业现场对速度的要求。
本文所提刀具附着物去除网络ARNet的结构如图1 所示,本文参考了PReNet[15]网络的设计思路,在特征提取模块中引入自注意力机制(Self-Attention,SA)[16]加强特征提取能力。同时,在残差结构中引入深度可分离卷积[17],减少自注意力机制增加的计算量,从而设计出效率更高、参数量和计算量更少的ARNet。该网络包含二值掩膜引导模块(Binary Mask Guided Module,BMGM)、去除过程学习模块、自注意力精准分离模块(Self Attention Refined Separation Module,SARSM)和特征整合模块。此外,根据刀具图像的背景特征,调整了网络的递归次数,其中递归T次后的输出图像公式如下:
图1 附着物去除网络的结构Fig.1 Structure of attachments removing network
其中:XO为输入的附着物图像;F(X1,X2)为附着物图像到无附着物图像的非线性映射操作;YT为递归T次后的附着物去除图像;n为总递归次数。当T=1 时,F(X1,X2)输入为2张相同附着物的原图XO;当T=n时,F(X1,X2)输入为XO和YT-1。
刀具刃口图像中的附着物种类有金属屑、毛发、棉絮等,其中毛发表面较为光滑,存在反光现象,导致毛发区域不完整,难以提取其完整的形状特征;而棉絮的透光性好,成像后易造成伪影且其灰度值较低,经过若干次卷积后,权重响应越来越低甚至为0,去除效果差。为解决上述问题,本文提出二值掩膜引导模块,利用Ostu 二值化算法,生成刀具图像掩膜,从而引导网络依据附着物形状特征,更完整地去除附着物。其中Ostu 二值化是一种自适应的阈值确定算法,通过计算类间方差的最大值得到最佳的分割阈值,计算公式如式(2)所示:
其中:ω0(T)和ω1(T)分别表示阈值为T时图像中附着物与刀具像素的概率和白色光源为背景像素的概率;μT为图像灰度的均值;μ0(T)和μ1(T)分别表示附着物与刀具像素区域的均值和光源背景区域的均值。
在刀具刃口图像中,计算得到目标和背景的最佳分割阈值后,得到二值化掩膜,如图1 中输入部分所示。在各递归过程开始前,结合前一次递归去除结果、二值化掩膜引导特征和附着物原图,合并构成9 通道的特征图并作为网络的输入,通过3×3 的卷积提取二值掩膜引导下的浅层特征,利用ReLU 激活函数进行激活。
在附着物网络递归过程中,附着物经过多次去除直至完整去除,本文提出去除过程学习模块,该模块借鉴了LSTM[18]的思想,增强网络在周期维度上的特征提取能力,有效提取附着物递归去除过程中的时序信息。LSTM 改进了原始的递归神经网络,通过对遗忘门、输入门、候选细胞态和输出门的控制,决定流动特征的取舍或遗忘,从而有效地防止网络训练过程中的梯度爆炸和丢失现象,并提取时序信息。在去除过程学习模块中,通过改进的卷积运算和激活函数实现门单元的控制,其中改进的卷积运算采用深度可分离卷积,在有效提取时序信息的同时加快了特征的提取速度。
刀具附着物分布在刀具和白色光源的交界处,且由于刀具和附着物区域缺少纹理特征,极为相似,难以对两者进行有效区分。如果采用普通的残差模块提取深层特征,则缺乏针对刀具边界区域的学习,在附着物粘连的边缘处容易出现扭曲现象。针对上述问题,本文提出自注意力精准分离模块,该模块借鉴了编解码器(Encoder-Decoder)结构的思想,利用编码器提取输入的刀具附着物图像中的语义部分,把附着物区域与刀具和光源区域有效地划分,并利用自注意力机制分解附着物区域的特征,令解码器把刀具和光源区域特征还原。其中,自注意力机制可以作为图像响应的向导,在输入的特征序列中,分别计算特征在任意位置的响应,从而获得全局信息,动态调节特征图谱中的网络权值,达到聚焦于附着物区域的效果,从而更好地分离图像中的刀具部分和附着物部分。
本文所提SARSM 模块的结构如图2 所示,首先编码器部分通过2 次步长为2 的深度可分离卷积后,把尺寸为100×100 像素的特征图下降到25×25 像素,然后通过如图2 所示的SA 自注意力模块,具体步骤为:
图2 自注意力精准分离模块的结构Fig.2 Structure of self attention refined separation module
1)特征Q与特征K构建对应位置的依赖关系;
2)输入的特征图谱Q以转置相乘的方式和K共同构成全局依赖关系字典,再经过权值系数调整后,由Softmax 函数激活,构建尺寸大小为625×625 像素注意力分数矩阵;
3)在全局依赖关系字典中,得到被查询特征V上的某位置的真实响应,从而得到增强后的注意力特征。
其中SA 模块的输出公式为:
最后,解码部分利用编码和自注意力加强后的特征由卷积和2倍上采样逐步提升通道尺寸至100×100像素,从而实现附着物与刀具边缘的精准分离。
特征整合模块将上一级的深层特征进行整合,通过3×3 像素的卷积,逐通道进行卷积,把维度从32下降到3。其图像维度与输入附着物图像保持一致,且图像尺寸保持不变,最后输出附着物去除后的3 通道图像。特征整合的计算公式如式(4)所示:
其中:YT为递归第T次的附着物去除图像;Wo为3×3 的卷积核;R(x)表示网络学习到的无附着物的深层特征;bo为输出的偏置。
均方误差(Mean Squared Error,MSE)是训练网络常用的损失函数,但由于平方惩罚容易丢失边缘等高频信息而产生模糊的视觉效果,因此,本文采用结构相似性指数(Structural Similarity,SSIM)作为主要的损失函数,SSIM 相比于MSE 在网络训练初期能学习到图像的结构信息,减少因附着物误去除产生的噪点,且能提高收敛速度。其中结构相似性损失函数LSSIM的计算公式如下:
其中:XGT和XT分别表示无附着物图像和预测的递归去除T次后的无附着物图像。根据式(5)可以求得XGT和XT图像的结构相似度。由于该指数范围为[0,1],且该值越接近1,表示两幅图越相近,因此把结构相似度的结果取负数作为结构相似度损失函数LSSIM。
本文的刀具图像中高频分量主要为刀具的边缘部分,如图3 所示,图3(a)、图3(c)为附着物图像和去除附着物后图像,图3(b)、图3(d)为对应的取拉普拉斯变换后的边缘图像。
图3 拉普拉斯变换结果Fig.3 Laplace transform results
为了在去除附着物的同时进一步恢复边缘细节信息,本文提出附加的边缘损失函数,从而约束XGT和XT之间的高频分量。边缘损失函数定义为:
其中:L(XGT)和L(XG)分别表示通过拉普拉斯算子从无附着物图像XGT和预测的递归T次后的无附着物图像XT中提取的边缘图。
将边缘图像相减后取绝对值,并以相反数的形式求得附加的边缘损失。总的损失函数Ltotal定义为:
其中;λ权重参数平衡了边缘损失,在本实验中设置为0.000 3。
实验使用放大倍数为10 的Carl Zeiss 蔡司物镜,靶面尺寸为1.1 英寸的Basler 工业相机,构成精度为0.345 μm/像素的光学系统。使用采集外径约为110 mm,内径约为90 mm 的某型号动力电池分切刀具。实验从312 套刀具图像中(每套300 张,每张图像的尺寸均为4 096×2 160 像素),收集了567 张附着物图像,其中包含训练集510 张图像,测试集57 张图像,该数据集命名为TA567,样本数据示例如图4 所示。对含有附着物部分的图像进行随机裁剪,生成尺寸为100×100 像素含附着物和对应的无附着物图像,共3 478 对,其中包含训练集3 130 对图像,测试集348 对图像。
图4 刀具附着物数据集TA567 的样本示例Fig.4 Samples example of tool attachments TA567 data set
本文使用选择峰值信噪比(PSNR)、SSIM 和交并比(IOU)这3 种图像质量评价方法对附着物去除效果进行比较。其中,PSNR 通过计算生成图像与原始图像之间的像素差异来衡量图像的重建质量,PSNR 以dB 为计算单位,数值越大表示重建质量越好,其计算公式如式(8)所示:
SSIM 是一种考虑人眼视觉感知的图像质量评价方法,从图像的亮度、对比度和结构3 个方面进行评价,用于衡量生成图像与原图的相似度。结构相似度的取值范围为0~1,结果越接近1,表示两幅图越相近,计算方式如公式(9)所示:
IOU 用于测量预测区域与标注区域之间的相关度,本文采用附着物去除区域的最小外接矩形与附着物区域的最小外接矩形计算IOU。交并比的取值范围为0~1,结果越接近1,表示相关度越高。
本文实验环境平台采用Intel 8700 6 核12 线程CPU,操作系统为Ubuntu16.04,Python 版本采用3.6,以Pytorch0.4.1 作为深度学习框架,使用NVIDIA TITANX 11G 显卡对网络进行加速训练。网络训练采用Adam 算法优化策略,初始学习率为0.001,总共训练100 个epoch,在第30、50、80 个epoch 时,调整学习率到原来的20%。小批量数据样本Batch Size 为2,最大迭代次数为153 100。
在不同T取值下,ARNet 网络与PReNet 网络的对比实验结果如表1 所示。实验结果表明,随着递归次数T的增加,各网络的3 个评价指标均呈上升趋势,在T=3 时递增减缓,并在T=4 时趋于平稳,这表明各网络在T=4 时,网络性能趋于稳定。从表1 可看出,当T取不同值时,本文提出的ARNet网络均比PReNet网络评价指标更好,表明ARNet网络特征提取能力更强,在附着物去除效果上更优。同时,ARNet 网络的参数量和模型大小分别为0.023 M 和89.8 KB,而PReNet网络的参数量和模型大小分别为0.169 M 和665.9 KB,相比之下,ARNet网络的参数量更少且模型更小(降低为PReNet的86.5%),说明ARNet 网络在去除过程学习模块和精确分离模块中引入的深度可分离卷积和编解码结构能提取到关键的特征信息,在本文数据集上兼顾了速度和精度。当T=4 时,结果显示本文提出的ARNet 网络在PSNR、SSIM 和IOU 这3 项指标上,比PReNet 网络分别提高了0.63%、1.016 dB 和3.48%,且计算量减少了90.9%,其中计算量采用FLOPs 浮点运算数来衡量。
表1 递归周期实验结果Table 1 Experimental results of different recursion periods
定量的评价指标结果如表2 所示,本文提出的ARNet 网络分割效果最好。本文以PReNet 网络为基线网络,对本文提出的BMGM、RPLM 和SARSM 这3个模块进行了消融实验。在PReNet 的基础上,二值掩膜引导模块(PReNet+BMGM)引入二值化后的掩膜特征后,能在多次递归过程中引导去除的部位,从而提高去除效果。去除过程学习模块(PReNet+RPLM)比引入的BMGM 模块在3 个评价指标上提升更大,说明去除过程学习模块在多次递归结构下,能学习到去除部位的位置信息,而BMGM 模块以网络输入特征为切入点,丰富了特征信息,却在一定程度上缺少了掩膜中附着物的位置信息。去除部分和自注意力精准分离模块(PReNet+SARSM)在评价指标上提升最大,说明编解码机构能提炼出网络中的有效特征。结合自注意力机制,注意力分数矩阵在像素级上进行特征的加权强化,对附着物去除起到了良好的促进作用。同时,本文提出的加权边缘损失Ledge能进一步在网络训练中增加边缘区域的约束,使网络更关注边缘细节修复,达到优化去除效果的目的。
表2 不同网络的附着物去除性能对比Table 2 Comparison of attachment removal performance of different networks
如图5 所示,本节将选取3.3 节递归实验中网络精度趋于稳定的ARNet(T=4),并 与DDN[19],JORDER[20]、RESCAN[21]和PReNet[15]网络进行对比以验证本文网络的有效性。图5 从上到下依次为含附着物的刀具图像、Ground-Truth 附着物区域、DDN网络、JORDER 网络、RESCAN 网络、PReNet 网络和本文网络的附着物去除结果。可以看出本文网络对刀具边缘的修复效果较好,能准确地分离出刀具区域和附着物区域,并且没有出现误去除附着物的现象。在其他网络的实验结果中,附着物和刀具的衔接部分出现了不规则的突起,而本文网络恢复的豁口边缘更平滑。此外,本文网络针对不同种类的附着物均能保持较高的精确度,鲁棒性良好。
图5 附着物去除实验的结果Fig.5 Result of the attachments removing experiment
本节选取上述主观和客观结果最好的ARNet 和PReNet 网络进行豁口检测效果的对比实验。实验从TA567 数据集中随机选取8 个豁口样本,分别用上述2 种网络去除附着物,并在豁口检测系统中分析豁口的长度、深度和面积参数,实验结果如表3 所示,其中GT 表示无附着物。对于豁口的长度参数,本文网络比PReNet 网络更接近无附着物的豁口长度;在豁口深度比较中,网络在豁口1 和豁口3 上具有相同的结果,分别为5.5 μm 和12.4 μm。其中网络在豁口1的深度结果大于真实值5.2 μm,相差0.3 μm,均误差在允许范围内。在豁口2 和豁口6 结果中,ARNet网络精准还原豁口深度,误差为0;在面积参数中,得益于豁口长度和深度还原精度较高,本文网络还原的面积更接近真实值。实验结果表明,本文网络去除附着物后,豁口检测结果更优。
表3 无附着物与各网络去除附着物后的豁口检测结果分析Table 3 Gap detection results analysis of no attachments and after removing the attachments of each network
如图6 所示为豁口1~4 的检测效果图(彩色效果见《计算机工程》官网HTML 版)。图6 中的L、D和A分别表示豁口的长度、深度和面积。图图6(a)、图6(b)和图6(d)的豁口在去除附着物前,由于附着物的遮挡,只检测出部分的豁口区域。如图6(b)、图6(j)和图6(n)所示,经过PReNet 网络和ARNet 网络去除附着物后,豁口面积从203.4 μm2分别恢复到274.4 μm2和343.1 μm2,豁口区域恢复了34.9%和68.7%。图6(c)中因附着物遮挡过多导致豁口漏检,经过网络处理后,图6(k)和图图6(o)漏检的豁口被完整检出,降低了豁口检测系统的漏检率。由实验结果可知,ARNet 和PReNet 网络均能在一定程度上去除附着物。
图6 豁口检测实验的结果示例Fig.6 Example of results of gap detection experiment
如图6(i)~图6(l)所示,附着物与刀具边缘连接部分不平整。而图6(m)~图6(p)中上述连接部分较为平整,恢复后的刀具边缘过渡平滑。由实验结果可知,ARNet网络中的自注意力机制提升了附着物与刀具边缘连接处的还原精度,相比于PReNet 网络,ARNet 网络去除附着物的效果更优。为统计上述实验中豁口检测结果的误差率,需对长度、深度和面积的误差进行加权。如表4 所示,统计了附着物去除前(Origin)和无附着物(GT)的豁口检测结果,计算出两者的误差。实验数据显示,附着物的存在对豁口的面积影响最大,其次是附着物的长度和深度。
表4 去除附着物前后的豁口检测结果Table 4 Gap detection results before and after removal of attachments
豁口面积过大是电池极片产生毛刺的最重要因素,而豁口深度和豁口长度对产生毛刺相对敏感。因此,在计算检测总误差率时,根据豁口几何参数对产生毛刺的敏感程度,设定面积、深度和长度的相应权重分别为0.5、0.3 和0.2。豁口样本的总检测误差率如图7 所示,总检测误差率由长度、深度和面积分别加权求和得到。在豁口编号为4 时,PReNet 网络在T=4 时出现误检,附着物去除后的检测结果比无附着物的检测结果更差。本文网络在8 个豁口样本的误差曲线最低,表明本文网络ARNet 在T=4 时,附着物去除效果更优。
图7 各网络去除附着物前后的豁口检测总误差率Fig.7 Total error rate of gap detection before and after removal of attachments in each network
本文提出一种结合自注意力机制的附着物去除网络,采用二值掩膜引导模块区分目标区域和背景区域,通过学习模块提取去除位置的信息,并利用自注意力精准分离模块,在编解码过程中使用自注意力机制强化附着物特征,以完整地分离开附着物与刀具区域,得到刀具轮廓平滑的无附着物图像。实验结果表明,本文网络完整地还原了刀具边缘,兼顾了较低的计算量和较高的附着物去除精度,提高了豁口检测的准确率,同时增强了刀具豁口高精度检测系统的稳定性和可靠性,可应用于工业检测设备中。下一步将从多尺度、卷积方式(如引入可形变卷积)等方面优化网络,解决小面积附着物对豁口检测造成的不良影响。