基于YOLOX-Nano网络的废旧产品螺钉检测方法研究

2023-10-07 03:54杨晨张秀芬
机床与液压 2023年17期
关键词:置信度螺钉损失

杨晨,张秀芬

(内蒙古工业大学机械工程学院,内蒙古呼和浩特 010051)

0 前言

自动或半自动化拆卸可以提升拆卸效率,实现精细化拆卸,提高资源利用率,对于实现碳达峰和碳中和具有重要意义,在家电、智能手机、锂电池等领域已受到广泛关注[1-3]。但是,由于退役产品结构、种类等不确定导致拆卸目标的智能化检测难、效果差等问题,仍然是自动化拆卸的瓶颈之一。

连接件是机电产品中不可缺少的组成部分,已有较多研究成果对它进行检测,主要方法包括模板匹配法、神经网络检测等。例如,魏信[4]通过使用微软的Kinect传感器获得典型零部件的彩色图和深度图,对图像进行模板匹配以及深度处理实现零部件的检测和定位,并以多个螺母为例进行了效果测试。杨桂华等[5]采用BLOB(Binary Large Object)分析与神经网络分类器相结合的方法,实现多目标工件的检测和定位以及在流水线上定位和分类多种零部件。曾鹏[6]通过模板匹配实现了平面内工件的检测,并通过遍历检测到工件区域的像素,计算其形心进行定位。但是,上述方法均需要将待检测的零部件放置在简单的背景下,在实际的拆卸环境中,零件往往存在于复杂的背景下,工件检测和定位会受到其他零部件以及壳体的划痕、图案等影响。

为有效避免复杂背景对目标检测造成的干扰,秦开仲[7]融合了YOLOv3模型、Hough变换以及遗传算法,实现了电子产品的分类、螺钉粗检测以及二次检测的任务,并调整了模型使它以圆形为边界回归。YILDIZ、 WÖRGÖTTER[8]同样融合了Hough变换和深度神经网络,实现了对多种不同形状和外观螺钉的自动高精度检测。由于神经网络算法具有更好的鲁棒性,还被应用到了隧道裂纹检测[9]、农田虫害[10]以及医疗器械[11]等不同领域。上述方法均采用了深层次网络,由于参数多,导致网络训练与部署费时费力。

随着神经网络的发展,更优秀的目标检测算法不断推出。2016年,REDMON等[12]提出了单阶段的目标检测网络,即YOLOv1算法。YOLO(You Only Look Once)系列算法[12-16]将目标检测转换成回归问题,将输入的图片经过卷积神经网络获得目标框的位置和类别。该目标检测器由于速度快,逐渐取代了双阶段网络结构的R-CNN算法[17]。YOLOX网络[16]是对上几代网络的改进,包含多个网络结构,不同的网络结构有着不同的参数量(Parameters)和检测精度(Average Precision,AP)。其中YOLOX-Nano网络具有参数量少、AP值较高的特性。

绝大部分机械零部件的结构特征十分明显,因此,本文作者以螺钉为对象,提出基于YOLOX-Nano网络的目标组件检测方法。通过试验法分析了多种边界框回归损失和目标置信度损失对网络检测精度的影响规律,确定最优参数组合,为部署检测其他工件的轻量级网络提供实验基础。

1 问题的提出

随着科技进步、技术更迭,退役或报废的机械以及电子产品的数量不断增加,导致环境污染、资源浪费等问题日益严重。在这些报废的机电产品中,部分材料甚至整体的零部件可以回收再利用,退役机电产品处理流程如图1所示。其中,拆卸是回收再利用的关键步骤,自动化拆卸的拆卸效率高、拆卸效果好,对于提高资源回收率具有重要意义。

图1 退役机电产品处理流程

螺钉作为机电产品中不可缺少的连接件,应用极其广泛,螺钉的智能检测与定位是机电产品自动化拆卸的关键,已受到普遍关注。图2所示为电动汽车锂离子电池[3]和硬盘驱动器[8]等产品中螺钉的智能检测与定位效果。

现有研究虽然可以实现螺钉的智能检测与定位,但是存在以下问题:(1)复杂背景下螺钉的检测效果不佳;(2)算法参数量多,网络训练与部署耗时耗力。

2 基于YOLOX-Nano网络的螺钉检测

文献研究表明,YOLOX-Nano网络具有参数量少、AP值较高的优势[16]。螺钉结构特征明显,为此,提出基于YOLOX-Nano网络的螺钉检测方法。

2.1 螺钉数据集的构建

通过相机拍摄以及网络下载等方式获取了4 000余张十字螺钉图片。综合考虑图片清晰度、螺钉在图片中占据的比例以及螺钉呈现的角度等因素,手动筛选出质量较好的500张图片制作数据集,并使用labelImg软件对图片中的十字螺钉进行了标注,数据集包含的部分图片以及图片的标注如图3所示。数据集的分配为:训练集加验证集与测试集的比例、训练集与验证集的比例均为9∶1。

图3 部分数据集图片

2.2 基于迁移学习的网络预训练

由于数据集较小,直接训练网络得到的检测精度AP为86.91%(取AP75),该数值较低。为了提高训练效果,文中采用迁移学习[18]的方式对网络进行训练,具体步骤如下:

(1)使用COCO2017数据集对YOLOX-Nano网络进行预训练,此时不改变YOLOX-Nano网络结构,得到所需要的预训练权重。

(2)以十字螺钉数据集为对象,基于得到的预训练权重,继续训练网络。

(3)对网络训练结果进行分析验证,网络模型的检测精度AP为92.22%,较未使用迁移学习提升了5.31%。

2.3 目标检测精度的优化

2.3.1 检测精度的影响因素

检测精度AP以及平均检测精度mAP是目标检测中的常用评价指标,文中仅对十字螺钉进行检测,仅有一个类别,此时AP=mAP。

YOLOX-Nano在进行损失计算时,整体损失包括目标框回归损失、目标置信度损失以及类别损失。其中,目标框回归损失提供了IoU(Intersection over Union)Loss[19]和GIoU(Generalized IoU)Loss[20]2种计算方式,目标置信度损失以及类别损失提供了二元交叉熵损失(BCE Loss)计算方式。在训练YOLOX-Nano的过程中分别使用IoU Loss和GIoU Loss 2种计算方式,使用IoU Loss得到检测精度AP为89.55%,当使用GIoU Loss训练网络后,得到检测精度AP为92.22%,相较于IoU Loss提升了2.67%,表明不同目标框回归损失和目标置信度损失组合会对检测精度AP产生一定影响。

2.3.2 基于试验法最优参数的确定

在目标框回归损失处,增加一些典型的目标框回归损失算法进行比较,这些算法包括DIoU(Distance-IoU)[21]Loss、CIoU(Complete-IoU)[21]Loss以及EIoU(Focal and Efficient IoU)[22]Loss计算方式。最后得到的检测精度AP如表1所示,对应的度量参数如图4所示。

表1 不同目标框回归损失度量参数以及检测精度

图4 不同目标框回归损失函数度量参数示意

为了解决目标检测过程中正负样本比例失衡的问题,在目标置信度损失处,以Focal Loss替换原网络中的BCE(Binary Cross Entropy)Loss,测试其对检测精度AP的影响,定义[23]如下:

(1)

其中:α为权重因子且α∈[0,1];(1-p)γ和pγ分别为前景类(Foreground Class)和背景类(Background Class)的调整因子(Modulating Factor);γ为聚焦参数(Focusing Parameter)且γ≥0;p为标签属于1时的概率,且p∈[0,1];y为真实数据类别的标签,且y∈{±1};FL为Focal Loss。

公式(1)中的权重因子α以及聚焦参数γ用于交叉熵损失的计算,解决了训练过程中正负样本不平衡的问题,并区分出难易样本,使模型可以重点对困难样本进行学习。

为确定最优的权重因子α=0.25和聚焦参数γ=2[23]是否适合当前数据集,建立因素水平表,如表2所示。保持目标框回归损失为IoU Loss,以检测精度AP大小为指标,越高越好,进行全面试验。表2中含有两因素三水平,共需进行9次试验。试验结果如表3所示。

表2 因素水平方案

表3 全面试验得到的检测精度 单位:%

由表3可知,94.03%为最优值,即取权重因子α=0.25和聚焦参数γ=2是最好的方案。使用该方案结合各类边界框回归损失函数进行试验,得到的检测精度AP结果如表4所示。Focal Loss基本对所有的目标框回归函数(DIoU除外)的检测精度都有所提升,最优的检测精度AP较原始网络提升了1.81%。迁移学习过程优化前后网络的收敛结果如图5所示。

表4 不同损失函数得到的检测精度AP 单位:%

图5 YOLOX-Nano网络迁移学习过程结果

3 试验验证

为验证文中所提方法的有效性,以某品牌插排为研究对象,进行了多次试验。工作环境为(英特尔)Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz(2 592 MHz)以及NVIDIA GeForce RTX 2060显卡。

部分图片的检测效果如图6所示,图片均由手机拍摄得到,为了在文中呈现更好的效果,这些图片在检测后进行了截取处理。

图6 插排螺钉的检测效果

为了测试算法的实时性,调取计算机连接的摄像头且调试其焦距等参数后,开启螺钉检测程序,即可实时得到螺钉在插排上的位置信息,具体如图7所示。截取程序运行过程的某几帧图片,如图8所示,整体的实时检测效果符合预期。检测效果会受到摄像头的像素影响,导致实时检测过程中的目标置信度普遍低于图片检测中的目标置信度,更换像素更高的摄像头可以得到更好的检测效果。

图7 摄像头和待拆卸插排的相对位置

图8 插排螺钉的实时检测效果

4 结论

针对使用深层神经网络算法进行目标工件检测过程中存在的算法参数量大,导致模型部署困难等问题,文中基于轻量级的YOLOX-Nano网络构建了十字螺钉数据集,并结合迁移学习训练了网络。同时测试了不同目标框回归损失和目标置信度损失对检测精度AP的影响,实现了网络精度的优化,具有以下意义:

(1)以轻量级网络代替标准网络进行目标工件的检测,减少了模型的部署时间,可以使网络更快地投入到目标工件的检测中,同时也保证了理想的检测效果。

(2)测试了不同目标框回归损失和目标置信度损失对检测精度AP的影响,得到了高于原网络的检测精度AP,为部署检测其他工件的轻量级网络提供了试验基础。

猜你喜欢
置信度螺钉损失
硼铝复合材料硼含量置信度临界安全分析研究
胖胖损失了多少元
玉米抽穗前倒伏怎么办?怎么减少损失?
一种浮动不脱出螺钉组件的结构设计与分析*
正负关联规则两级置信度阈值设置方法
一般自由碰撞的最大动能损失
空心加压螺钉治疗末节指骨骨折
置信度条件下轴承寿命的可靠度分析
损失
26例下胫腓螺钉断钉取出临床分析