基于工业工件识别的粗定位研究

2023-12-08 02:39高宝林万国扬葛凌枫
安徽工程大学学报 2023年4期
关键词:特征提取工件卷积

高宝林,万国扬,江 明*,葛凌枫

(1.高端装备先进感知与智能控制教育部重点实验室,安徽 芜湖 241000;2.安徽工程大学 电气工程学院,安徽 芜湖 241000)

伴随着中国现代化工业的持续发展,具有便捷性、精确性、迅速性、智能化等优点的目标检测技术被广泛应用于工业生产各领域,使得我国对产业化人工智能机器人技术需求日益增加。目前工业上主流的目标检测方法分为两类,根据不同侧重点可分为着重检测精度的“双阶段(Two-stage)”目标检测算法和着重实时检测速率的“单阶段(One-stage)”目标检测算法,侧重点不同,应用不同。

双阶段目标检测代表性算法于2014年开始陆续提出,其中R-CNN[1]、Fast R-CNN[2]和Faster RCNN[3]检测算法等得到广泛应用。但该算法虽然极大提升了目标检测准确率,但繁琐的两步走着重于精度而欠考虑检测速率,实时性欠缺使其算法不足,不能很好地完成工业化实时性要求较高的检测任务。

为提高模型的实时检测速率,更好地应用于工业化目标检测,2015年,Redmon等[4]提出了基于深度学习的YOLO 检测算法,避免了R-CNN 系列中将检测任务分两步走的繁琐操作,使得检测速度得到大大提升。为进一步提升检测精度,Redmon等[5]于2018年提出了YOLO V3(You Only Look Once V3)算法。该算法采用特征金字塔网络[6](Feature Pyramid Network,FPN)方法融合3个不同尺寸的特征图层(Feature Map)进行检测任务,检测的精度和速率得到了很好得协调及提升,达到工业实时检测的要求,在当今工业智能化产线中得到了广泛的应用。

近年,国内外也有很多学者通过改进目标检测算法来提升目标检测精度,对本文有许多参考作用。Liu等[7]提出一种基于加权纯注意力机制的深度学习模型,采用纯注意力机制,引入权重参数,提高模型预测性能;Chen等[8]提出一种AFYOLO 模型,在骨干网的底层引入Dense Net模块,提出一种新的FPN网络结构,增强目标信息传输能力的同时,提高骨干的特征提取能力;王宸等[9]通过改进Efficient-Net模型,引入特征融合层,对工业锻粉探伤识别进行了优化,提高模型鲁棒性和检测效率;程婧怡等[10]提出一种改进工业金属表面的缺陷检测算法,算法融合浅层特征与深层特征,适用于尺寸小和特征模糊目标检测,取得了不错的效果。

本文以工业铸件数据集作为检测对象,数据资源采用专业工业相机获取。基于目前工业流水线式工件分拣现状,全阶段只应用一种高阶目标检测算法会导致算法计算量庞大,检测速率降低等问题。故结合现状提出一种两步识别定位模式:首先运用低阶算法进行粗定位,再运用高阶算法对筛选后的工件进行精定位的方法,提升检测精确度。本文研究主要针对工件识别定位中粗定位阶段YOLO V3算法检测时存在的识别率偏低等问题,通过不断优化调整,使得粗定位阶段检测精度有所提升。

1 工业检测原理及本文研究

本文对工件识别定位研究,旨在应用于大型工业化产线工件识别分拣任务中。检测原理依据模板匹配原理[11],以已知标定的工件作为模板,通过工业相机实时采集成像,在每幅图像中依次进行模板匹配,识别出与模板特征信息近似的区域,进而定位目标工件,再进行后续机械臂分拣任务。

在目标检测算法的选取上,通过综合考量识别速度和精度,直接使用卷积层更深、更宽的目标检测算法存在许多问题难以解决。直接使用高阶目标检测算法固然能得到准确识别定位,但是其庞大的计算量,以及多种形状、尺寸不一的工件,复杂度高,运算量和存储量以几何数增长。其检测速度必然有所下降,误检率随之提升。所以针对于以上问题,提出一种先粗定位、后精定位的两步识别定位模式。首先选用更加轻量化的目标检测算法进行粗定位,快速筛选出目标工件信息。再使用卷积深度和宽度更高的目标检测算法对筛选后的工件进行精准定位分拣。

在粗定位阶段最终选取工业广泛应用的YOLO V3作为初始算法框架,进行初步测试。在实际检测中发现YOLO V3对本数据集工件的定位精度和检测速率仍有提升空间,主要体现在主干特征提取网络对于工件数据集不同大小尺寸、形状差异过大等问题,不能很好地提取到工件深度信息,同时特征提取环节对不同尺寸的空间特征信息融合也不够充分,导致实验结果出现置信度低、多工件误检率高等问题。

通过协调算法各模块功能特性,选取以Efficient-Net网络[12]代替YOLO V3的Darknet53主干特征提取网络,引入SPP模块[13]加深网络特征提取能力并扩大卷积核感受野,减小计算量的同时提升工件检测的识别精度和完整度。再通过K-means++算法[14]对Anchor框进行重聚类,应用CIOU 位置损失[15]的方法,获得了适应于工件数据集的9组锚框,同时提升了损失函数拟合速度,有益于提升非极大值抑制NMS[16]筛选速度,提升粗定位阶段检测精度和检测速率。

2 改进YOLO V3工件识别定位算法

2.1 YOLO V3目标检测算法

本文工业检测系统采用YOLO V3算法框架,YOLO V3算法是基于YOLO 和YOLO V2的改进算法,其在算法精确度、实时检测能力、系统稳定性方面都有不错的体现,在工业生产中得到了广泛应用。算法将图像进行网格划分,在每个网格中筛选有用信息,支持数据集多种类别识别检测,能够在确保精度的同时获得更快的检测速率。该算法以Darknet53结构作为特征提取网络,张量的尺寸变换通过改变卷积核的步长来实现。网络采用步长为2的卷积进行下采样,并在每个卷积层后都附带一个批归一化层BN和Leaky Re LU 激活层,减少计算量的同时,保留了图片的更多信息,再结合残差模块提升检测精度。算法中端采用特征金字塔网络FPN 结构对不同层次的特征图进行融合,以实现对不同尺度目标的预测。网络输出层采用三层特征图进行预测,并通过非极大值抑制NMS算法获得最终的检测结果。其网络结构如图1所示。

图1 YOLO V3结构图

2.2 特征提取网络改进

针对YOLO V3目标检测算法存在的不足,通过优化网络主干结构,引入SPP 结构等,用以优化模型,提高检测能力,改进后总结构图如图2所示。

图2 改进后模型结构图

通过对多种特征提取网络进行对比验证,最终选取Efficient-Net网络用于工件特征提取。Efficient-Net特征提取网络以其网络结构简单、参数量较少、训练速度提升等特点被广泛应用于目标检测等相关领域,获得了很好的精确度。Efficient-Net是一个结合神经网络搜索技术的多维度混合放缩的网络,通过利用残差神经网络加深神经网络深度,通过改变每一层提取的特征层数,并增大输入图片的分辨率,增强了对网络特征提取的深度和宽度,使得学习和表达的信息更加丰富。其中深度、宽度和分辨率的放大倍率是由一个混合系数φ决定的:

式中,α、β、γ和φ为固定常数。α=1.2,β=1.1和γ=1.15为令φ=1时通过网格搜索获得的最优常数,从而确定最基本的Efficient-Net-B0模型。在固定α=1.2,β=1.1和γ=1.15后,通过使用不同的φ值,从而计算出B0~B7模型的深度系数、宽度系数和分辨率。而Efficient-Net系列网络的FLOPS(每秒浮点运算次数)是由(α·β2·γ2)φ决定的。在α·β2·γ2≈2约束下,Efficient-Net系列的FLOPS约等于原来的2φ。

本实验选用Efficient-Net-B0网络结构用以提取特征信息,确保检测精度的同时,减少参数量,提高实时检测能力。该结构由1个Stem+16个MBConv组成。首先利用Stem 进行初步的特征提取,结构实际包括卷积+标准化+激活函数。其次经过16个MBConv,在MBConv堆叠的过程中完成高效的特征提取。将网络提取出3个有效特征层代替原有Darknet53网络提取有效特征层,用以提高对工件深度信息的获取能力。正是由于Efficient-Net-B0网络结构清晰简单、参数量较少等特性,使得训练速度提升,简化了训练复杂度。Efficient-Net-B0网络结构如图3所示。

图3 Efficient-Net-B0流程图

MBConv是Efficient-Net重要组成模块,由深度可分离卷积Depth Wise Conv和通道注意力机制SE Net构成,是Efficient-Net网络进行深度特征提取的关键所在。而SE Net结构用以压缩与激发网络,网络通过loss损失获取特征权重,使得有效的特征通道权重增大,无效或低效的特征通道权重减小的方式分配各通道不同比重,达到更好的检测效果。算法通过全局平均池化操作实现,将特征图每个通道特征进行压缩,再通过学习特征权重,赋予每个通道对应权重值,进而按照特征重要程度匹配对应权重值。其结构图如图4所示。

图4 MBConv结构图

2.3 引入SPP结构及CIOU

SPP结构是将特征图分别映射到多种维度空间并将这些多重感受野融合的池化方法,网络结构对不同输入尺寸的图像信息能够获得固定长度的输出。算法通过对不同特征层融合处理,使卷积核感受的视野范围更加广阔,丰富了特征图的表达能力,有利于提取检测目标的多尺度特征信息。

设输入尺寸为Win×Hin×Cin,当期望池化层输出尺寸为n,此时池化不改变Channel,所以Cout=Cin,输出尺寸为n×n×Cout。

池化层的Kernel Size为:

池化层的Stride为:

池化层的Padding为:

根据卷积层池化层输出尺寸公式得到:

本文实验中,在YOLO V3目标检测算法的Feature Layer 1通道引入SPP结构,空间金字塔池化提取到固定大小的特征,导入全连接层,防止过拟合。

应用CIOU 损失函数,在IOU 的基础上考虑到真实框和预测框的中心点距离(图5中的d)与两个框中最小包裹框的对角线距离(图5中的c,最小包裹矩形框为图中虚线部分)的位置关系,真实框与预测框的位置图如图5所示。在DIOU 基础上考虑到在两个框中心点重合时,c与d的值都不变,引入框的宽高比。

图5 真实框与预测框位置图

其中IOU 用来度量目标检测中预测框与真实框的重叠程度。用预测框A和真实框B的交集除上二者的并集,其公式为:

则CIOU 的表达式为:

CIOU 回归时的LOSS计算公式为:

式中,ρ2(b,bgt)代表图5中两框中心点距离,即为图中的d、c代表两框对角线距离;α是权重函数;v用来度量宽高比的一致性。

2.4 K-means++聚类锚框

为克服K-means聚类对初值不稳定的缺点,根据本实验不同工件类别宽高比,采用K-means++算法对Anchor框重新进行了聚类。K-means++是通过当前样本点到已有中心点的距离给出该样本点成为下一个聚类中心的概率,两点之间距离越大则概率越大,然后根据概率大小抽选下一个聚类中心位置,不断重复直至抽取K 个聚类中心,如图6所示。通过K-means++算法获取的九组锚框尺寸,更加契合本文应用的工件数据集,有利于后续的筛选预测框、交并比计算等算法运行。

图6 K-means++聚类图

聚类步骤首先初始化第一个聚类中心点,搜索剩余样本点,计算每个样本点到此中心点的距离,记为D(x),D(x)值的大小决定了该样本点成为下一个中心点概率的大小。继而采用轮盘法获取设定的9个聚类中心点。算法公式表示为:

最终通过K-means++聚类算法得到对应工件数据集的九组锚框尺寸如表1所示。

表1 九组锚框尺寸

3 实验和分析

实验操作系统为Windows 10,处理器为Intel(R)Core(TM)i7-10700 CPU@2.90 GHz,显卡NVIDIA GeForce RTX 3060,CUDA 版本选用11.3。模型训练共迭代500次,批次大小设置为10,初始学习率设置为0.000 1,衰减系数设为0.000 5,降低其泛化性能。

3.1 图像采集

数据集采集采用专业工业相机,型号为:MV-CA004-10UC。该型号单目相机拥有40万像素,对检测工件的轮廓清晰度、拍摄光感度都有很大提升,广泛应用于工业型图像数据采集。在实际图像采集中,共采集分辨率为720×540的工件图像1 044张,按类别分为object1、object2、object3、object4、object5、object6六类。将训练集、测试集按照8∶2进行随机抽选,获得训练集835张,测试集209张。六种工件如图7所示。

图7 六工件示意图

3.2 评价标准

本文采用mAP和检测速率FPS作为模型的评价指标。精确度用来衡量目标检测的准确度,为计算m AP的参数之一,公式如下:

召回率用来衡量识别过程的漏检率,公式如下:

其中,式(7)、(8)中,TP表示正确归类到目标样本的数量;FP表示错误归类到目标样本的数量;FN表示识别错误的数量。AP值是以Precision作为纵坐标,Recall作为横坐标于坐标系中所围成曲线的面积,公式如下:

m AP值为多类AP值的平均值,即平均AP值。计算公式如下:

式中,QR指验证集个数。

3.3 实验结论

本文算法改进在无预训练权重的条件下,对工件数据集进行对比验证。本文提出的改进算法与YOLO V3系列算法及SSD 和YOLO V4算法检测结果对比如表2所示。改进算法与原始YOLO V3实物检测效果对比如图8所示。

表2 改进算法与原YOLO V3性能对比

图8 工件检测实物图

本文通过对YOLO V3检测算法功能模块改进,测评指标mAP提升2.8%,召回率提升4.4%,识别速率提升7/fps,使得在工件识别分拣粗定位阶段得到更高的检测精度和检测速率,对整体的运行流程及后续的精定位筛选都起到促进作用。

4 结论

为在大型工业化产线工件识别定位中,提升工件的定位精度和检测速率,提出在粗定位阶段运用YOLO V3目标检测算法作为检测框架,通过选用更轻量化的主干特征提取网络,增强卷积核感受野、优化交并比等方法,使得算法学习和表达的信息更加丰富,实现更深的神经网络特征提取。

相比较于原版YOLO V3网络结构应用于粗定位阶段,改进算法通过选用网络结构更轻量简单的Efficient-Net特征提取网络,通过其残差神经网络加深网络深度与宽度,丰富了特征提取网络的深度信息。在原算法基础上再引入SPP结构,运用池化的方法将多重感受野融合,获取深层的多尺度特征信息。选用CIOU 损失函数,在交并比计算时可以兼顾到多种真实框与预测框位置关系变化,提升定位的准确度。而预处理阶段的K-means++算法针对于本数据集工业铸件的尺寸及形状,聚类出更加契合的九组锚框,对后续的目标提取、交并比计算都有所帮助。改进后的算法模型在保证了检测速率的同时,定位精度有所提升,使得在粗定位阶段能够更精确地完成初步筛选任务,为后续的精确定位提供更可靠的分拣来源,降低检测复杂度,也为优化大型工业化产线工件识别分拣系统提出自己的思路。

猜你喜欢
特征提取工件卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
考虑非线性误差的五轴工件安装位置优化
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
三坐标在工件测绘中的应用技巧
Bagging RCSP脑电特征提取算法
焊接残余形变在工件精密装配中的仿真应用研究
基于MED和循环域解调的多故障特征提取
一种基于卷积神经网络的性别识别方法