在现代制造业中,3C产品(计算机、通信和消费电子产品)的智能装配系统正日益成为关键的技术和应用领域。随着自动化技术和人工智能的发展,智能装配系统不仅提高了生产效率和产品质量,还降低了人工成本和错误率。然而在实际的3C装配场景中视觉检测算法面临着一些挑战和问题。主要表现在3个方面:① 装配检测场景中器件尺度变化使得目标具有不同的尺寸,这对于普通检测算法来说检测尺寸较小的目标检测精度不高。② 在多器件场景下,器件之间的密度较大,容易出现器件遮挡问题,影响模型的特征提取效率。③ 检测算法的激活函数负半轴特征信息消失问题。
针对小目标检测精度不高的问题,邓姗姗等[1]通过使用高频增强后的图像和对比度增强后的图像作为算法输入样本,并更改RPN网络中的锚点尺度,使得总像素面积较小的目标中特征信息丢失的问题得到解决。谢椿辉等[2]提出了改进YOLOv5的算法模型Drone-YOLO,设计了多层次信息聚合的特征金字塔网络结构,提高了对小目标的关注度。张帆等[3]通过引入Transformer注意力模块和自适应非对称融合模块,提出了一种多尺度特征融合的全局注意力网络(GANet)来检测红外小目标。丛玉华等[4]在主干特征提取网络部分融合SPP模块,对小目标检测的精度有所提升。谢晓竹等[5]利用多尺度特征融合更好地平衡目标特征和位置信息,增加大尺度检测头提升小目标检测能力。以上方法虽然有效提升了模型对小目标检测的能力,但面临含有大量小目标的场景和部分被遮挡的场景下仍易产生漏检。
针对目标检测场景中部分被遮挡的目标容易漏检的问题,阳珊等[6]提出一种改进回归损失函数与动态非极大值抑制的目标检测框架。采用结合排斥因子Rep的GIoU-Loss进行目标位置回归,将遮挡程度预测值作为NMS方法的动态阈值,以减少漏检、虚检目标实例。郭俊锋[7]引入全尺度特征提取网络提取目标不同尺度特征并实现自适应动态融合,增强目标表观特征。以上方法提升了对目标遮挡的检测能力,但主要采用新增学习策略来增强特征信息,但运用于含有大量噪声信息的3C装配场景中,效果提升有限。
针对激活函数负半轴特征信息消失问题,Wang等[8]采用ELU函数作为激活函数,解决了原激活函数在负半轴梯度中消失的问题。但是ELU 的一个缺点是计算相对较慢,因为它涉及指数运算。
为有效解决以上问题,本文在DETR[9]模型的基础上面进行了以下3点修改:
1) 采用改进后的ResNeSt-50[10]作为DETR骨干网络提取特征,可以帮助网络更好地关注不同通道之间的相关性,从而提高了特征表示的效率,提高小目标的特征表示。改进后的ResNeSt-50采用自适应激活函数ACON[11],ACON激活函数能够根据输入数据的不同特性自动调整其参数,对于捕获小目标的细微特征能够有很大的提升,对目标特征信息在负半轴丢失也得到改善。
2) 采用多尺度特征融合PANet[12],对骨干网络提取的多尺度特征信息进行特征融合,更好地融合不同尺度的特征信息。PANet可以帮助DETR更好地捕获这些特征并且有助于提供更丰富的上下文信息,增强对小目标物体的检测能力。
3) 最后使用Smooth-L1 Loss可以结合Focal Loss损失函数,使模型收敛精度更高,Smooth-L1 Loss有助于模型更准确地回归部分可见目标的位置,而Focal Loss通过降低易分类样本的权重,损失函数的优化有效的解决了正负样本比例不平衡的问题,使得DETR模型对于小目标检测效果进行有效的提升。
Transformer模型最初由Vaswani等[13]于2017年提出,用于处理自然语言文本序列数据。该模型完全依赖注意力机制来处理数据,它摒弃了多种类型的卷积操作,它在自然语言处理任务中取得了显著的成功,并且后来被广泛应用于其他领域,包括计算机视觉、语音处理等。Transformer模型主要由多个基于多头注意力机制的编码器和解码器构成。
编码器(Encoder)通常由多个相同结构的编码器层堆叠而成。每个编码器都由残差连接和层归一化、前向传递网络(Feedforward Network)、多头自注意力(Multi-Head Self-Attention)构成。解码器也由多个相同结构的解码器层堆叠而成,与编码器不同的是,解码器层还包括额外的交叉多头自注意力模块(Multi-Head Cross Self Attention),用于关注编码器输出和解码器自身输出之间的关系。编码器与解码器结构如图1所示。
图1 编码器与解码器结构
Fig.1 Encoder and decoder architecture
多头自注意力通过引入多个独立的注意力头,允许模型学习多个不同的关注点,允许Transformer模型在不同维度和不同层次上捕获序列内元素之间的关联关系。每个注意力头将生成一个不同的注意力权重矩阵,从而使模型可以同时关注不同方面的信息。多头注意力机制为注意力层提供了多组由查询向量(query) 、关键向量(key) 和向量(value) 组成的权重矩阵。通常,输入矩阵通过3个不同的映射矩阵WQ∈RD×dq, WK∈RD×dk, WV∈RD×dv, 形成Q∈RB×D×dq, K∈RB×D×dk,V∈RB×D×dv,其中D为特征镶嵌的维度, dk、dv、dq分别对应KVQ矩阵的映射维度,然后经过注意力打分函数(缩放点积打分函数)进行注意力计算,最后将注意力得分即相关性与V进行计算,公式如下:
(1)
得到Z后,输入编码器的前馈神经网络模块中,前馈神经网络主要由激活函数ReLU层和线性激活函数组成,公式为
FFN(Z)=max(0,ZW1+b1)W2+b2
(2)
式(2)中,W1、W2为激活函数的权重参数; b1、b2为线性激活函数的偏置参数。
DETR(Detection Transformer)是一种基于Transformer架构的目标检测模型,它在目标检测任务中取得了令人印象深刻的成果。DETR不同于传统的目标检测方法,它将目标检测问题转化为一个端到端的、全局性的注意力问题,通过Transformer的注意力机制来直接预测图像中的目标位置和类别。标准的 Detection Transformer 架构由3大部分组成:编码器(Encoder)和解码器(Decoder)以及预测头(Prediction)。输入一个 Batch 的数据集图片由 ResNet-50[14]或者其他 CNN 主干网络进行特征提取,提取后的特征再通过 1×1 的卷积,进行通道数改变后再映射到 transformer 的输入嵌入空间后送入Transformer中的编解码器,最终通过 FFN 预测头得到预测输出。DETR的结构如图2所示。主要包括4个模块:CNN的Backbone[15]、PositionalEncoding、编解码器及一个前向网络(FFN),DETR算法模型结构如图2所示。
图2 DETR模型结构
Fig.2 Diagram of the DETR model structure
为了解决DETR模型中骨干网络对多尺度特征提取不完全的问题,本文采用改进的ResNeSt-50网络代替原有的骨干网络ResNet-50进行特征提取工作。
2.1.1 基础骨干网络ResNet-50
ResNet-50是一种深度残差网络(Residual Network),在计算机视觉任务中经常使用。它是ResNet系列模型中的一员,由Microsoft Research团队提出。它的主要特点是通过引入残差连接(Residual Connection)来解决深度神经网络训练过程中的梯度消失和梯度爆炸问题。残差连接通过跨层的直接连接,将网络的输入直接传递给输出,从而使得网络可以更轻松地学习残差部分,进一步加深网络的层数。
ResNet-50的整体结构由多个残差块(Residual Block)组成。每个残差块通常由2个卷积层和一个跳跃连接(Skip Connection)组成。卷积层用于提取特征,而跳跃连接则将前一层的输入直接添加到后一层的输出中。这样做的好处是即使在网络加深时,特征的传播仍然可以通过跳跃连接直接传递,从而减轻了梯度消失的问题。
2.1.2 改进后的ResNeSt-50骨干网络
ResNeSt系列在不同任务中展现出强大的性能和泛化能力。它在保持了ResNet的残差连接特性的基础上,对内部残差块进行了改进,引入了分裂注意力架构,从而增强了网络的特征提取能力。与ResNet相比,ResNeSt系列在参数量和计算量上没有明显增加,检测速度也基本保持一致,但预测精度提高了约3%。
本文在原有的ResNeSt-50的基础上进行了进一步的优化和改进,改进后的ResNeSt-50的每个小残差块如图3所示。
图3 改进的ResNeSt网络
Fig.3 Improved ResNeSt network
其采用分组卷积的思想,将输入为h×w×c的尺寸特征图平均分成k个基组,同时在每个基组中再次均分r个分裂单元(split)。随后对每个分裂单元进行1×1调整维度和3×3 整合通道卷积操作,将此处两次卷积由 Conv+BN+ReLU(CBR)的组合替换为本文设计的 Conv+BN+ACON(CBA)的组合,从而可以增强模型的鲁棒性。
2.1.3 自适应激活函数
激活函数是检测算法中非常重要的一个环节,目前目标检测的神经网络中经常使用的是ReLU以及衍生的激活函数,但是此类激活函数存在在负半轴目标特征信息丢失等问题,对于精准视觉检测有着很大的影响。
为了优化改进此类问题,本文检测算法将使用ACON自适应激活函数。ACON 激活函数的设计旨在改善模型在负半轴上的激活响应,从而提高模型的性能,特别是在小尺度物体检测等任务中。先对ReLU激活函数做平滑处理,可以得到其可微分个体,其公式如下:
(3)
其中: β为平滑因子,当β→∞时Sβ→max函数,当取β→0时Sβ→x算数平均值。当考虑公式只有2个输入变量时,并引入2个可学习参数来自适应调整时,则有以下公式:
Sβ(p1x,p2x)=(p1-p2)x·σ[β(p1-p2)x]+p2x
(4)
(5)
其中:x的意义为输入,p1、p2为2个可学习参数,控制激活函数的一阶导数上下限, β参数则是激活函数的自适应参数,对于β的计算是对特征层的高度和宽度这2个维度的均值进行计算,然后通过2个全连接层的参数进行计算。这种自适应的激活传输机制使得ACON激活函数能够更有效地提取特征。
金字塔注意力网络(pyramid attention network,PANet)是一种用于目标检测任务的多尺度特征融合网络,旨在解决多尺度目标检测中的特征表示不足的问题。在传统的目标检测任务中,由于目标物体在图像中的尺度和大小各异,单一尺度的特征表示可能无法有效地捕捉到各种尺度下的目标信息。PANet通过引入金字塔式的多尺度特征融合机制来解决这个问题。
PANet的网络结构由2个关键组件组成:特征金字塔网络(feature pyramid network,FPN)和注意力金字塔网络(attention pyramid network,APN)。
通过结合FPN和APN,PANet能够在不同尺度上有效地捕捉到目标的细节和语义信息。它在目标检测任务中取得了显著的性能提升,并被广泛应用于各种视觉场景中。PANET的结构如图4所示。
图4 PANET结构
Fig.4 PANET architecture
最后本文对损失函数进行优化,将Smooth-L1 Loss可以结合Focal Loss损失函数,对检测边框进行回归预测。
Focal Loss(交叉熵损失)是一种用于解决类别不平衡问题的损失函数,特别是在目标检测任务中广泛应用。它的主要思想是减小对易分类样本的权重,从而关注那些难以分类的样本,即降低背景类别的权重,以便模型更好地集中在关键难以检测的对象上。这有助于提高模型在类别不平衡情况下的性能,特别是对于罕见的目标类别。Focal Loss的公式如下:
Lfl=-(1-pt)γlog(pt)
(6)
其中: pt是模型预测的概率,γ是焦点参数(focusing parameter),用于调整难易样本的权重。
Smooth-L1损失函数融合了L1和L2损失函数的优点。它能够有效地抑制反向传播的梯度,防止梯度爆炸的问题,有助于模型进一步收敛到更高的精度。Smooth-L1损失函数的公式如下:
(7)
其中: bσ(i)表示第i个索引的期望框,表示第i个索引的预测框。
本文改进后的DETR检测算法如图5所示。
图5 改进后DETR结构
Fig 5 Enhanced DETR architecture diagram
传统的骨干网络替换为经过改进后的ResNeSt-50网络,从而获得对小目标和遮挡目标更强大的特征提取能力。使用改进后的ResNeSt-50网络对输入的RGB图像进行特征提取,主干网络由4个大残差块堆叠而成,每个大残差块之间均为2倍下采样倍率,为了进一步增强DETR算法对小目标信息的获取能力,本文引入了一个名为PANet(多尺度特征融合网络)的模块。PANet接受来自ResNeSt-50网络输出的后3个大残差块,并将它们转化为具有相同通道数和尺寸的特征图,使得深浅特征进行充分融合。
最后,本文对DETR的损失函数进行了改进。改进后的损失函数结合了改进后的ResNeSt-50网络和PANet生成的特征图,通过注意力编码和解码的过程,输出最终的检测锚框。这些改进措施提高了特征表示的质量和多尺度信息的有效利用,从而提升了3C场景下对于小目标检测和遮挡目标检测的准确性和鲁棒性。
本文采用了3C装配场景中常见的装配零件作为自建数据集,以进行目标检测方法的主要实验。为了尽可能提供多样化的数据,并获得高分辨率的图像,本文选择了微软的D435i深度相机作为图像采集设备。在数据集制作过程中,将深度相机以固定方式连接到3C装配机械臂的末端,以确保图像采集过程的稳定。通过机器人控制器调整机械臂末端的位置采集到装配场景中各个零件的图像。
数据集如图6所示,其中目标共计5类:软排线、同轴线、SIM卡槽、手机前摄像头和手机外壳。数据集中RGB图像总计1 929张,每张图像的分辨率为1 920×1 080,数据集采用 LabelImg标注工具进行初级角点坐标等位置信息的标注工作。
图6 自建3C装配数据集
Fig.6 Self-constructed 3C assembly datasets
为了更好地进行精准视觉的实验,在图像采集过程中特别关注了小目标和遮挡目标出现,这样可以提供更准确的目标检测和识别能力,并为后续的实验和算法评估提供可靠的数据基础。
本文目标检测方法所有实验均在Linux操作系统、IntelR Xeon(R) CPU E5-4650v3@2.10GHz CPU(32 GB RAM)、NVIDIA 4090 GPU(24 GB显存)设备上进行,实验环境在 Python 3.8、Pytorch-1.10.0深度学习框架和 CUDA11.1下实现。
本实验采用召回率(recall)、精确率(precision)、平均精确率(mAP)和帧率(FPS)作为评价的相关指标。具体公式如下:
(8)
(9)
(10)
其中,TP(true positive)表示预测正确的正样本数量;FN(false negative)表示预测错误的正样本数量;FP(false positive)表示预测错误的负样本数量;TN(true negative)表示预测正确的负样本数量。
在本文中,对所提出的算法与一些常用的检测模型进行了对比实验。每个模型在3C装配场景数据集上进行了200轮训练。平均精准度的IOU阈值取为0.5,使用mAP@0.5和mAP@0.5∶0.95作为模型性能的衡量指标。所有实验组均使用Adam优化器进行优化,学习率为0.000 1。根据表1的结果,可以看出在3C装配检测场景中,本文提出的检测算法在常规检测精度和小目标检测精度方面都优于YOLO-v7和YOLO-v5等常用检测算法。
表1 对比实验结果
Table 1 Compares the experimental results
模型mAP@0.5mAP@0.5∶0.95RDETR0.9220.6420.78CenterNet0.9140.5650.71SSD0.8950.5110.79YOLO-v50.9670.6690.81YOLO-v70.9690.6710.86本文0.9710.6790.84
为验证本文的改进算法是否有效,设置了消融实验。为方便性能对比的高效性,每组对比实验仅替换DETR模型的原模型的对应模块。由于自建数据集中的小目标场景以及遮挡场景,本文使用了mAP@0.5和mAP@0.5∶0.95作为模型的衡量技术指标。所有实验组均选择ADAM优化器进行优化,学习率调整为0.000 1。实验结果与编号如表2所示。
表2 消融实验编号与结果
Table 2 Ablation experimental results
编号ResNet-50网络ResNeSt-50网络改进ResNeSt-50多尺度特征融合网络原损失函数优化后的损失函数mAP@0.5mAP@0.5∶0.95DETR0.9220.642实验A0.9470.651实验B0.9680.677实验C0.9260.649实验D0.9710.679
实验结果表明:所提出的改进方法对DETR模型的检测精度有积极的影响。使用可变形注意力编码器能够聚合多尺度特征图,有效提升了检测精度。相比于ResNet-50骨干网络,通过引入自适应激活函数模块进一步改进的ResNeSt-50骨干网络具有更高的特征提取效率,从而提高了模型的检测性能。此外,通过优化损失函数使网络进一步收敛,也带来了更高的检测精度。综上所述,这些改进方法都有效地提升了DETR模型的检测精度。
图7是实验结果比对图,在左侧是原DETR模型的检测结果,右侧是本文改进后的DETR模型效果图,可以看见原DETR模型存在漏检情况,并且检测框的置信度也低于改进后的模型。
图7 实验效果图
Fig 7 Experimental results
1) 通过引入PANet多尺度特征融合网络、ResNeSt-50骨干网络和ACON自适应激活函数,显著提升了小目标检测的精度、模型的效率和泛化能力,解决了激活函数在负半轴信息丢失的问题。同时,Smooth-L1 Loss与Focal Loss的结合优化了模型的收敛性与正负样本比例不平衡的问题。通过这些改进,模型在3C装配场景中的检测性能和鲁棒性得到了大幅提升。
2) 改进后的DETR算法在自建3C装配数据集上,mAP@0.5较基准网络YOLOv5提升了4%,相较于YOLOv7提升了2%。这一结果充分证明了本文改进方法在提升检测精度和处理复杂场景中的有效性。
3) 研究成果为提高3C智能装配线的生产效率提供了显著价值,并为AI在工业中的应用开辟了新的可能性和更广泛的机会。
[1] 邓姗姗,黄慧,马燕.基于改进Faster R-CNN的小目标检测算法[J].计算机工程与科学,2023,45(5):869-877.DENG Shanshan,HUANG Hui,MA Yan.Small target detection algorithm based on improved faster R-CNN[J].Computer Engineering and Science,2023,45(5):869-877.
[2] 谢椿辉,吴金明,徐怀宇.改进YOLOv5的无人机影像小目标检测算法[J].计算机工程与应用,2023,59(9):198-206.XIE Chunhui,WU Jinming,XU Huaiyu.Improved YOLOv5 algorithm for small target detection in drone imagery[J].Computer Engineering and Applications,2023,59(9):198-206.
[3] ZHANG F,LIN S,XIAO X,et al.Global attention network with multiscale feature fusion for infrared small target detection[J].Optics &Laser Technology,2024,168:110012.
[4] 丛玉华,何啸,邢长达,等.基于无人机的轻量化小目标检测网络[J].弹箭与制导学报,2022,42(6):6-12.CONG Yuhua,HE Xiao,XING Changda,et al.Lightweight small target detection network based on drones[J].Journal of Missiles and Guidance,2022,42(6):6-12.
[5] 谢晓竹,卢罡.改进YOLOv5的高空航拍图像检测方法[J].兵器装备工程学报,2023,44(1):248-253.XIE Xiaozhu,LU Gang.Improved YOLOv5 method for high-altitude aerial image detection[J].Journal of Ordnance Equipment Engineering,2023,44(1):248-253.
[6] 阳珊,王建,胡莉,等.改进RetinaNet的遮挡目标检测算法研究[J].计算机工程与应用,2022,58(11):209-214.YANG Shan,WANG Jian,HU Li,et al.Research on improved retinanet algorithm for occluded object detection[J].Computer Engineering and Applications,2022,58(11):209-214.
[7] 郭俊锋,张子华.融合全尺度特征与轨迹修正的遮挡车辆跟踪[J/OL].北京航空航天大学学报:1-17[2023-09-07].http://kns.cnki.net/kcms/detail/11.2625.V.20230901.1138.003.html.GUO Junfeng,ZHANG Zihua.Occluded vehicle tracking integrating full-scale features and trajectory correction[J/OL].Journal of Beijing University of Aeronautics and Astronautics:1-17[2023-09-07].http://kns.cnki.net/kcms/detail/11.2625.V.20230901.1138.003.html.
[8] WANG P,WANG H,LI X,et al.Small target detection algorithm based on transfer learning and deep separable network[J].Journal of Sensors,2021(1):9006288.
[9] CARION N,MASSA F,SYNNAEVE G,et al.End-to-end object detection with transformers[C]//European Conference on Computer Vision.Springer,Cham,2020:213-229.
[10] ZHANG H,WU C,ZHANG Z,et al.Resnest:Split-attention networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.2022:2736-2746.
[11] MA N,ZHANG X,LIU M,et al.Activate or not:Learning customized activation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition.2021:8032-8042.
[12] LIU S,QI L,QIN H,et al.Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2018:8759-8768.
[13] VASWANI A,SHAZEER N,PARMAR N,et al.Attention is all you need[C]//Advances in Neural Information Processing Systems.2017:5998-6008.
[14] HE K,ZHANG X,REN S,et al.Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:770-778.
[15] KIM.Convolutional neural networks for sentence classification[C]//Conference on Empirical Methods in Natural Language Processing,vol.3:Conference on Empirical Methods in Natural Language Processing (EMNLP 2014),25-29 October 2014,Doha,Qatar.:Association for Computational Linguistics,2014:1746-1751.