微精密玻璃封装电连接器(简称为微电连接器)广泛应用于各种精密电子装备[1].微电连接器的绝缘体部分直径为2~5 mm,在工业生产中极易因温度掌控不好和制作工艺控制不佳产生孔洞、缺块、裂缝等缺陷[2].误将有缺陷的微电连接器装配使用,会造成巨大的经济损失.传统的检测主要依靠人工借助放大镜或者影像仪完成,检测标准不一、工作量大、容易造成漏检和错检,检测效率低下.近年来深度学习技术在目标检测领域大放异彩,可通过目标检测算法解决微电连接器缺陷检测问题.基于深度学习的目标检测算法具有自主学习目标特征的能力[3],具有很高的检测精度和速度,它主要分为一阶段和二阶段两大类,其中:一阶段的算法有YOLO[7]和SSD[8];二阶段的算法有R-CNN[4]、Fast R-CNN[5]、Faster R-CNN[6]等.SSD算法相比于YOLO算法加入了Faster R-CNN的anchor机制,这样做既保证了实时性,又保证了较高的检测准确率.目前,基于深度学习的目标检测算法广泛应用在缺陷检测中,文献[9]基于深度学习YOLO v3目标检测实时算法,提出并构建Compact-Yolo-Net网络模型,利用大量数据训练网络模型,实现了对刨花板表面缺陷的实时检测.文献[10]通过将YOLO-v3的主干网络Darknet-53换成轻量化的MobileNet-v3,设置训练参数,进一步提高了检测速度,为在移动设备中达到实时检测奠定了基础.文献[11]设计了一种主从特征融合驱动的表面缺陷检测模型,实现了复杂工业场景下铝型材表面缺陷的高精度检测和分类.根据微电连接器的特点,设计了一种基于多尺度特征融合的SSD算法检测微电连接器缺陷,通过设计深度残差结构[12]、自顶向下的多尺度特征融合[13]、构建轻量级通道注意力机制[14],解决微电连接器缺陷像素占比小,易受到周围高光、高噪声、复杂纹理背景等原因造成的难以提取缺陷特征,以及关键特征信息丢失等问题.1 基于SSD算法优化1.1 主干网络部分加入深度残差结构SSD 算法是一种实时、高精度的目标检测算法,该算法最主要的特点是利用具有不同尺度的特征图进行目标的检测和识别,其主干特征提取网络是VGG 16[15].选取其中的6个特征层作为预测层,用以提取不同的特征.在低层网络的卷积层提取到了大量的细节信息,如目标的轮廓边界、纹理等用于检测较小的目标;在高层网络的卷积层提取到了丰富的语义信息[16],用于检测较大的目标.为研究SSD网络中各个卷积层输出的特征图的作用,在宽度、高度和深度(通道)三个维度上对给定输入后,各个卷积层和池化层输出的特征图进行可视化.卷积层的每个通道都有独立的特征,因此将每个通道的内容分别绘制成二维图像.微电连接器的缺陷在整幅图中的占比非常小,对于缺陷的特征提取是在低层网络中进行的,SSD算法的特征提取网络中的conv4_3层处于低层特征层是用来检测较小的一些缺陷,通过观察其可视化后的特征层图像发现:其包含的细节信息较少,不足以支撑卷积神经网络提取特征.可见针对conv4_3层细节信息少问题,提出并构建深度残差结构,丰富其信息量.在特征提取网络中,特征的传递路径是逐层的向后传递,缺陷特征会随着网络深度的不断加深丢失部分信息.采用残差网络中跳线的连接方法,可以改变特征在网络中传递方式,从而使得特征可以跳过原有的卷积层直接传递到后面的网络层中,有效地缓解了因为网络层数过多而导致的梯度消失问题,但是过多的跳线会放大环境噪声的影响.所以适当地引入上下信息不仅保证了小尺度目标信息细节的丰富程度,还使得环境噪声不会过多的影响检测的效果.在Conv4处引入深度残差结构后的网络结构如图1所示.10.13245/j.hust.220309.F001图1改进后Conv4层的网络结构1.2 自顶向下的多尺度特征融合由于SSD网络模型中后续的卷积层忽视了层与层之间的连接关系,从而导致关键信息丢失较多.这里借鉴FPN算法将具有高分辨率的低层特征图和具有丰富语义特征的深层特征图进行融合,加强深层特征信息,使得融合后的特征层包含丰富的边界信息和背景信息,提高检测的精度[17].该算法将语义信息更强的深层特征图做2倍上采样后与前一层特征图进行融合,为保证两者的通道数相同前一层的特征图须要经过1×1的卷积来改变通道数.重复这一过程就形成了FPN算法,结构如图2所示.10.13245/j.hust.220309.F002图2FPN结构图为使上采样后的图像更平滑,使用双线性插值方法[18]代替传统的上采样方式,其原理如图3所示,在x和y两个方向分别进行一次线性插值.10.13245/j.hust.220309.F003图3双线性插值示意图首先在x方向进行线性插值,得到:f(Z1)≈x2-xx2-x1f(M11)+x-x1x2-x1f(M21);f(Z2)≈x2-xx2-x1f(M12)+x-x1x2-x1f(M22).然后在y方向进行线性插值,得到f(P)≈y2-yy2-y1f(Z1)+y-y1y2-y1f(Z2).特征层融合方法有拼接模块和对应元素求和两种方法,如图4所示.拼接模块方法是将两个不同的特征图堆叠在一起,这样通道数也会叠加,须要使用1x1的卷积进行降维,使其信息得到更好的融合.对应元素求和方法是将两个不同的特征层的像素点相加,新的特征层的通道数不会改变,但是每一层的信息量都会增加,它的计算量也要比拼接模块方法小得多.假设两个特征层的通道分别为x1,x2⋯,xn和y1,y2⋯,yn,*为卷积,那么拼接模块的单个输出通道为Zconcat=∑i=1nxi*Ki+∑i=1nyi*Ki+n.10.13245/j.hust.220309.F004图4特征层融合方法对应元素求和的单个输出通道为Zadd=∑i=1n(xi+yi)*Ki=∑i=1nxi*Ki+∑i=1nyi*Ki.由于SSD的主干特征提取网络的低层和中层包含的细节信息丰富,通道数较多,应采用计算量较小的对应元素相加方法进行特征层融合;高层具有高语义特征,通道数较少,虽然信息量少,但大多都是关键信息,应该使用拼接模块方法进行特征层融合.首先对FC7层和conv6_2层利用双线性插值上采样方法和1×1的卷积将它们分别调整到与conv4_3层和FC7层相同尺寸和通道数,并使用对应元素相加方法进行融合;最后对conv8_2层进行上采样,再与conv7_2层进行拼接操作.1.3 轻量级通道注意力模块为显示出不同通道(特征图)之间的相关性,使得网络能够自动获取到每个特征通道的重要程度,使用轻量级通道注意力机制.结构如图5所示,对于输入的特征层首先进行一次全局平均池化使其变成长度是特征层深度的一维向量,紧接着再进行两次全连接和激活函数,其中第二次的激活函数为hswish,是非线性的,在保证精度的情况下还减少了运算量,从而提高了算法的性能,具体为hswish[x]=xmin(6,max(0,x))/6.10.13245/j.hust.220309.F005图5轻量级注意力模型结构改进后SSD结构如图6所示.10.13245/j.hust.220309.F006图6改进SSD算法模型结构图2 实验结果与分析2.1 数据获取与预处理使用MVP400CNC自动影像测量仪所携带的CCD 540TVL(高分辨率 B/W 黑白摄像机)来获取微电连接器的图像;工作距离为100.94 mm;放大倍数为75.98倍;照明光源采用八分区光源垂直拍摄方式,强度为68.共获得59张微电连接器图片.通过镜像、旋转、缩放、仿射变换、平移及高斯噪声等方法对图片数据增强.增加训练的数据量和噪声数据,从而提高模型的泛化能力和鲁棒性,并对实验图片进行手工标注生成相应的.xml文件.进行数据增强后的数据集共有2 236张,其中训练、验证和测试集分别为1 788,224和224张.微电连接器的缺陷种类及个数为:孔洞212,缺块138,表面裂缝92,交界处裂缝152,气泡132,黑点杂质360.2.2 实验平台和数据实验平台配置如下:Intel®Core™i9-9900KF CPU @3.60 GHz,32 GiB内存Windows10操作系统,显卡型号为RTX2080Ti.程序运行环境如下:Python3.6,keras版本为2.1.5,CUDA版本为10.0.数据集是由自动影像测量仪所拍摄的微电连接器照片通过labelimg制作而成.2.3 评估指标使用mAP指标来评估算法的性能.mAP是先对类别求精度,再对所有的类别的精度求平均,具体为mAP=1C∑i=0CAPi,式中:C为样本种类数;AP为样本的平均精确度,AP=1N∑r∈{r1,r2,⋯,rN}p(r),其中,N表示recall的数量,r表示召回率,p(r)表示最大准确率,准确率p=Tp/(Tp+Fp),召回率r=Tp/(Tp+FN),Tp为检测出真实目标的检测框数量,Fp和FN分别为未检测出真实目标的检测框数量和没有被检测框检测的真实目标数量.2.4 结果与分析首先使用主流的几种目标检测算法对微电连接器数据集进行检测,这些算法的参数设置与训练世代都保持一致.本实验选取经典的Faster-rcnn,YOLO v3,SSD算法和更先进的Efficientdet[19]、M2det[20]算法,后两者算法均对特征金字塔进行了改进,结构相对于经典的目标检测算法更为复杂.表1是改进算法与上述五种算法的结果对比,分析如下:在单个缺陷的检测精度中改进算法只在黑点杂质的检测精度上低于Efficientdet算法,原因是Efficientdet加入了大量的残差结构和增加特征层数,并且增大了输入图片的分辨率,使得网络特征提取能力增强;改进算法为解决残差结构增加所伴随的环境噪声增加而导致的整体检测精度下降问题,适当地增强了网络的特征提取能力.在检测其他缺陷中,改进算法均高于其他5种算法;在平均精度方面改进算法均比其他算法精度高;在检测速度方面,一阶段的YOLO v3没有进行区域生成而且预测层只有三层,所以速度是最快的;改进的SSD算法网络相对于原始SSD算法更复杂,所以速度略慢,但明显快于另外3种算法.总体而言,改进算法在检测精度和速度上均达到了令人满意的结果.10.13245/j.hust.220309.T001表1改进算法与其他主流算法对比参数Faster-rcnnYOLOv3Effici-entdetM2detSSD改进算法孔洞/%缺块/%表面裂缝/%交界裂缝/%气泡/%黑点杂质/%玻璃端子/%mAP/%检测速度/(帧/s)90.9563.3178.371.8889.1738.2199.8465.962.693.7972.00100.0045.8990.1969.4399.7881.585990.8318.8686.4363.6690.8080.4099.5675.7923.793.4863.01100.0069.5485.7152.55100.0080.6131.598.6769.60100.0073.23100.0063.47100.0086.4251.399.7474.23100.0094.62100.0070.40100.0091.2847.52.5 消融实验为验证各模块的有效性,设计了控制变量实验,测试在是否添加提出的方法下模型检测精度差异.实验环境与2.2节相同.SSD+DR表示在原始的SSD算法中加入深度残差结构,+FM表示加入自顶向下的特征融合,+NCA表示加入轻量级通道注意力机制.SSD,SSD+DR,SSD+DR+FM和SSD+DR+FM+NCA的mAP分别为86.42%,87.61%,89.17%和91.28%,在SSD算法中逐步加入本研究提出的方法可以明显提高检测精度,加入3个模块后的SSD具有最高的检测精度.2.6 微电连接器检测效果图7是改进算法在随机挑选的测试集图像上的检测结果图,可以看出:改进算法不仅能够精准地检测到单个缺陷,而且在目标重叠的情况下也具有很高的精确度.10.13245/j.hust.220309.F007图7本算法在部分图像上的检测效果3 结论首先使用自动影像仪获取微电连接器清楚的表面图像,并通过数据增强方法对数据集进行扩充,提高算法的鲁棒性.然后针对微电连接器的6种缺陷提出基于SSD的目标检测算法对其进行检测,该算法的主干特征提取网络VGG能够很好地将缺陷特征提取出来.微电连接器具有复杂的背景,并且缺陷特征微弱,针对这一问题通过对其主干特征提取网络的结构进行改进,引入深度残差结构,增加其上下卷积结构的联系,丰富其信息量,有效的缓解网络层数过多导致的梯度消失问题;为防止在特征提取过程中关键特征丢失,引入特征金字塔结构对特征层进行融合,并使用双线性插值方法代替最邻近插值方法来避免信息丢失;最后引入轻量级通道注意力机制,强化提取到的重要特征,抑制非重要特征,从而精准地检测到微电连接器的缺陷.在微电连接器数据集上,改进的SSD算法比原始SSD算法具有更高的准确度.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览