APP下载

基于轻型调控网络的下茧机器视觉实时检测

2022-05-12张印辉杨宏宽朱守业何自芬

农业机械学报 2022年4期
关键词:残差卷积调控

张印辉 杨宏宽 朱守业 何自芬

(昆明理工大学机电工程学院,昆明 650500)

0 引言

蚕茧是蚕桑生产最主要的产物,其通过商品市场流通成为丝绸工业的原料[1]。蚕茧主要分为“上车茧”和“下茧”两类,其中“上车茧”指能够上缫丝机缫正品生丝的茧,“下茧”指有严重疵点、不能或很难缫正品生丝的茧[2]。将原料茧加工成绞装生丝需经过混茧、剥茧、选茧、煮茧、缫丝、复摇、整理等工艺流程[3-4]。在进行缫丝工艺前需要选茧,将下茧剔除,以保证茧丝的品质,提升丝制品的经济效益。选茧时以人工选茧为主,劳动强度大,容易产生误判,漏选率高,选茧效率低下[5]。

近年来,随着科学技术的发展,图像处理技术逐步被应用到蚕茧检测研究中。国内外利用数字图像处理技术对蚕茧检测开展了一定的研究工作[6-8],具有重要的参考价值。但是没有针对选茧时多类下茧检测的研究,且方法复杂,实施难度比较大,难以应用到工业生产上。

随着深度学习的目标检测模型越来越成熟,通过深度学习解决目标分类检测问题的效果越来越好,应用领域也越来越广。目标检测模型大致分为2类,即Two-stage和One-stage检测模型。Two-stage模型有R-CNN[9]、Fast R-CNN[10]、Faster R-CNN[11]。One-stage模型有SSD[12]、YOLO系列[13-16]。Two-stage模型结构复杂,计算参数较多,实时检测性能较差;One-stage模型具有较好的检测速度,更适合应用在工业上进行实时检测。

基于以上分析,本文采用线阵扫描相机为图像传感器,以成像的景深计算为基础来选择合适的拍摄距离,通过成像时采样频率的计算进一步配置图像采集系统的参数,从而搭建图像采集系统。以黄斑茧、瘪茧、薄皮茧、特小茧为检测对象,采集线阵图像后合成面阵图像构建下茧检测数据集。并以YOLO v4目标检测模型为基础模型,通过候选框参数预置提升模型的精度;采用模型深度调控的方法来压缩模型,降低模型权重所占储存空间,提升模型速度;设计轻量级卷积模块构建模型的特征提取网络,进一步提升模型的检测速度。

1 图像采集系统

考虑到下茧检测的工业应用背景,本文的图像采集系统搭建在暗室中,选择传送带背景下使用线阵扫描相机拍摄的方式获取图像,建立下茧检测数据集。图像采集系统主要分为线阵扫描相机、镜头、光源、传送带、计算机等部分,处理过程如图1所示。

图1 图像采集系统处理过程Fig.1 Construction process of image acquisition system

图像采集系统拍摄视野与拍摄距离密切相关,合理的物距设置是获取清晰图像的关键。如图2所示,根据成像的三角形相似原理,CCD边长s和视野宽度S以及焦距f和物距D之间呈三角形相似关系[17],则有关系式

图2 图像采集系统成像原理图Fig.2 Imaging schematic of image acquisition system

(1)

可得拍摄时的物距D计算式为

(2)

在理想状态下,光线穿过图像采集系统镜头后会聚集在焦点上,但实际应用上,由于光的波动性,成像时在焦点的前后光线会聚集和扩散,导致物体的影像变得模糊,形成扩大的弥散圆[18]。成像时只有光线聚集在2个弥散圆之间才能得到清晰的图像。考虑到传送带会有轻微振动,故使传送带设置在成像的景深范围内尤为重要。如图2所示,将成像端的2个弥散圆位置对应到实物端可得到景深远界和景深近界,两者之间的距离即为景深ΔL,其计算公式[17]为

(3)

式中F——镜头光圈值

d——弥散圆直径L——拍摄距离

经过综合考虑成本及成像质量后,采用三线高速彩色线阵扫描相机,型号为PC-30-04K80-00-R,CCD边长s(像素)为4 096像素,像元尺寸b×b为10 μm×10 μm,则CCD边长s为40.96 mm;高精度检测用镜头,型号为PENTAX-YF3528L,焦距f为35 mm,光圈值F为2.6 mm;传送带宽度为600 mm,即视野宽度S为600 mm。根据图1所示步骤搭建图像采集系统,相应计算如下:

(1)由式(2)计算图像采集系统的拍摄物距D为

(2)在机器视觉检测系统中,弥散圆直径d小于0.035 mm则认为所成图像为清晰图像[17],由式(3)计算图像采集系统的拍摄景深ΔL为

搭建图像采集系统时,因拍摄景深ΔL为44.64 mm,比较大,对物距D进行圆整,取为500 mm,即可保证传送带表面处于清晰成像的景深范围内。

(3)采集图像时使用的相机为线阵扫描相机,取像时为符合YOLO v4目标检测模型输入图像高宽比为1∶1的要求,需将相机取像的高度像素设置为4 096像素,即4 096帧。

(4)

化简得

(5)

取像时采样频率q为

经过以上计算分析,图像采集系统物距D设为500 mm,宽高像素均设为4 096帧,采样频率q设为1 024 Hz,即可保证得到清晰的图像,图像采集系统实物如图3所示。

图3 图像采集系统Fig.3 Image acquisition system1.线阵扫描相机 2.计算机 3.光源 4.传送带

图像采集时以黄斑茧、瘪茧、薄皮茧、特小茧4类下茧为检测对象,采用不同数量分布、不同数量类别的方式拍摄,以保证得到的图像符合选茧时的实际情况。共采集图像556幅,采用OpenCV计算机视觉库将图像处理成416像素×416像素后,使用LabelImg标注工具对训练集和测试集中的图像进行标注。标注好的数据集中包含黄斑茧320个、瘪茧258个、薄皮茧276个、特小茧248个,并通过对角线镜像的方式将数据集中的图像和标签扩充1倍,得到图像1 112幅,黄斑茧640个、瘪茧516个、薄皮茧552个、特小茧496个,按照比例3∶1随机将数据集划分为训练集和测试集,即834幅用于训练,278幅用于测试。

2 轻型调控网络设计

2.1 YOLO v4目标检测模型

YOLO v4目标检测模型是YOLO v3目标检测模型的改进版,相较于YOLO v3目标检测模型,其使用CSPDarknet53作为特征提取网络,引入mosaic数据增强对数据进行处理,使用路径聚合网络(Path aggregation network,PANet)进行多尺度特征融合,并使用多种训练技巧,对损失函数与激活函数进行优化,这些方式使得YOLO v4的检测速度更快,实现速度和精度的最佳平衡[19-21]。YOLO v4主要由CSP(Center and scale prediction)残差模块、CBM(Convolution,batch normalization and mish)模块、CBL(Convolution,batch normalization and Leaky-ReLU)模块、SPP(Spatial pyramid pooling)模块组成。

2.2 候选框参数预置

YOLO v4模型经过特征提取网络提取特征,多尺度特征融合后输出3个尺度的特征图,且每个尺度都有相同数量的候选框对目标进行预测。原YOLO v4基础模型的9个候选框是对VOC数据集聚类得到,具体尺寸(像素)为:(12,16)、(19,36)、(40,28)、(36,75)、(76,55)、(72,146)、(142,110)、(192,243)、(459,401)。可以看出因该数据集中目标之间差距较大,导致得到的候选框尺寸差距比较大。本文的检测对象为蚕茧,目标较小,使用原YOLO v4基础模型的候选框会影响模型的性能,因此需采用K-means算法对下茧检测数据集进行聚类分析,得到适用于下茧检测的候选框参数。分别选择候选框数量为3、6、9、12的聚类中心进行聚类分析,对靠近聚类中心的候选框参数进行归类,与聚类中心距离越小则表明与聚类中心相似性越高,可归为一类。通过迭代的方法逐次更新聚类中心的候选框参数值,直到得到最好的聚类结果。采用K-means算法聚类分析得到的候选框参数如表1所示。

表1 不同候选框参数Tab.1 Different anchor parameters

2.3 模型压缩

2.3.1模型稀疏化原理

在神经网络训练过程中,后面的神经网络层经过反向传播改变前层的网络权值,过程中容易产生梯度爆炸或梯度消失问题。为解决这个问题,批量正则化(Batch normalization,BN)层[22]被用于卷积层和线性层之后对特征图进行归一化处理,YOLO v4模型中BN层处理流程为:

(1)计算BN层前卷积层的卷积结果xconv。

(6)

式中xm——卷积层第m个通道输出结果

wm——卷积层第m个输出通道的权值

(2)计算BN层输出结果xout。

(7)

式中γ——BN层的gamma系数

β——BN层的beta项

μ——xm均值σ2——xm方差

γ和β均为需要神经网络模型训练的参数。

将式(6)代入式(7)即得到BN层的计算公式

(8)

BN层中γ和β是神经网络模型通道层面的参数,每个通道上的特征图是由该卷积层的卷积核计算得到,特征图与卷积核一一对应,互不干扰,故可以用γ来衡量当前通道的重要程度,模型稀疏化就是对γ参数进行L1正则化的稀疏方法,引入L1正则化后得到模型的稀疏化训练损失函数Lxishu[23]为

(9)

φ(x,W)——模型输入x在经过卷积神经网络权值W计算后的预测结果

y——模型输出的真实值

λ——稀疏化(正则化)因子,λ决定进行稀疏化的强弱程度

2.3.2模型深度调控

卷积神经网络模型的部署要求模型有较好的推理性能,模型所需算力越小、准确度越高,在工程上的实际应用意义就越大。结合本文下茧检测的工业应用背景,需对模型进行压缩以提高模型的推理速度。模型压缩是一个取其精华弃其糟粕的过程,伴随着压缩量的增加,模型的精度会下降,必要时需对压缩后的模型进行微调使其恢复一定的精度,本文采用模型深度调控方法对模型进行压缩。

模型推理时,是由浅层到深层逐层进行计算的,深度方向上的计算严重影响模型的性能。原YOLO v4基础模型的特征提取网络CSPDarknet53主要由CSP残差模块组成,且分为5组特征图尺寸相同的CSP残差模块,其中5组CSP残差模块的级联次数分别为1、2、8、8、4,共23个CSP残差模块,根据其在模型中的位置从前往后序列号分别定为1、2、…、22、23。每组CSP残差模块在进行目标预测时,可能有一个或者多个CSP残差模块对最终特征图的预测贡献程度比较小。故将其中贡献度较小的一个或多个CSP残差模块调控删除并不影响模型在维度上的推理。

综上所述,以稀疏化训练后CSP残差模块中第1个卷积层的γ参数的均值为该残差模块重要程度的判别指标,依据γ参数的均值将CSP残差模块进行排序。图4为模型深度调控顺序示意图,图中从上到下的CSP残差模块对最终特征图的预测贡献程度逐渐增大,即调控删除CSP残差模块时按图中序列号从上往下选择。

图4 模型深度调控顺序示意图Fig.4 Schematic of model depth manipulation sequence

模型深度调控时,通过设定调控删除CSP残差模块的个数进行深度调控,调控删除1个CSP残差模块对应调控删除模型的3个层。模型深度调控时太多的CSP残差模块被调控删除会导致模型精度的过多丢失,故实验时设定调控删除的CSP残差模块的个数分别为3、6、9、12、15,表2为调控删除CSP残差模块数量与对应调控删除层的层序列号的关系表。

表2 调控删除CSP残差模块数量与对应调控删除层Tab.2 Controlled and deleted number of CSP residual modules and corresponding controlled and deleted layers

2.4 轻量级特征提取网络构建

为使模型具有较少的推理计算量,加快模型的运行速度,近年来越来越多的轻量级网络架构相继被运用在目标检测模型中,如:分组卷积[24]、深度可分离卷积[25]、通道混洗[26]和Ghost卷积模块[27]等。其中,Ghost卷积模块的思想是:卷积神经网络由大量的卷积层组成,而卷积计算的过程当中会存在大量的冗余特征图,但生成大量冗余特征图的计算开销都是没有必要的,于是从特征图冗余的角度出发,提出针对部分冗余特征图可采用更为廉价的操作来生成,其主要的贡献是采用计算量更少、更加简单的Ghost卷积模块代替部分标准卷积生成特征图,从而减少卷积神经网络模型的计算量。

结合下茧检测的实时性与准确性要求,为进一步提高模型的推理速度,选择Ghost卷积模块构建的轻量级卷积模块替换模型深度调控后的特征提取网络中剩余的CSP残差模块,以减少特征提取时的计算量。标准卷积和Ghost卷积产生特征图的过程如图5所示。

图5 不同卷积产生特征图的方式Fig.5 Ways of generating feature map by different convolutions

参照GhostNet[25]中的G-bneck模块,根据卷积核的移动步长(Stride)不同,本文设计2种轻量级卷积模块,轻量级卷积模块1(Stride为1)和轻量级卷积模块2(Stride为2)。轻量级卷积模块1用于增加特征图的通道数,结构上与ResNet[28]的基本残差块类似,由2个堆叠的Ghost卷积模块组成,使用跳跃连接输入和输出。轻量级卷积模块2用于减少通道数,在2个堆叠的Ghost卷积模块中间使用深度可分离卷积,同样使用跳跃连接输入和输出,具体结构如图6所示。

图6 轻量级卷积模块结构Fig.6 Lightweight convolution module structure

在2.3.2节对模型进行深度调控后,模型还剩8个CSP残差模块,故交替使用4次轻量级卷积模块1和轻量级卷积模块2重新构建模型的特征提取网络,并以第2次、第3次和第4次使用轻量级卷积模块2后的输出为PANet多尺度特征融合网络的输入,使用轻量级卷积模块重新构建的轻量级特征提取网络与原YOLO v4基础模型使用的CSPDarknet53特征提取网络结构(×1、×2、×4和×8分别代表1个、2个、4个和8个相同的级联结构)对比如图7所示。

图7 CSPDarknet53和新构建的轻量级特征提取网络结构Fig.7 CSPDarknet53 and new lightweight feature extraction network architecture

使用轻量级特征提取网络后的轻型调控网络结构如图8所示,改进后的模型采用新构建的轻量级特征提取网络提取特征,使用PANet多尺度特征融合网络将3个不同尺度特征层的特征图融合,使输出的特征图具有充分的上下文特征,最后3个尺度输出的特征图用非极大值抑制的方法输出检测结果。因该模型的检测对象是下茧,故记为ICNet(Inferior cocoons net)。

图8 ICNet模型结构Fig.8 ICNet model structure

3 实验

3.1 实验平台

本文实验平台为Ubuntu 16.04操作系统,内存8 GB,CPU为Intel(R)Core(TM)i5-10400F,GPU为NVIDIA GTX1660 SUPER的台式计算机。深度学习框架为Pytorch 1.5,采用CUDA 9.2和cuDNN 7.4.5加速工具包加速模型训练。

实验基于Pytorch深度学习框架,使用YOLO v4为基础模型,训练时共迭代500轮(epoch),即将训练集中的所有样本训练500次。批尺寸选择时越大越好,受限于实验平台的计算能力,本文实验选择为2。训练时每隔100个epoch输出一个模型权重,共得到5个权重,然后计算每个模型权重的平均检测精度,以平均检测精度最高的为最佳模型权重。为保证本文相应改进的有效性,超参数选择时除改进调整的参数外其他超参数使用原YOLO v4基础模型的超参数。

3.2 评价指标

本文目的在于实时并准确检测出测试集中的目标,且避免误检。采用模型权重所占储存空间、平均检测速度和平均精度均值(Mean average precision,mAP)作为评价值指标,通过多指标综合评价模型性能。其中,mAP可以通过准确率(P)、召回率(R)计算得出。

3.3 候选框参数预置实验效果

为选择适用于下茧检测数据集的候选框参数,提高模型的鲁棒性,分别采取2.2节得到的候选框参数进行实验,实验结果如表3所示。从表3中可以看出,重新预置候选框参数后对于模型权重所占储存空间没有影响,所有的模型权重所占储存空间都为245.00 MB。其中,当候选框数量为3时,相对于其他数量的候选框平均检测速度最快,达到30.95帧/s,mAP最高,达到96.08%。结果表明,当候选框数量为3时,对于下茧检测数据集来说检测效果比较好。通过实验选择候选框数量为3,候选框尺寸分别为(20,22)、(31,25)、(24,32),每个尺度上分配1个候选框对目标进行预测,后续实验在本节实验的基础上开展。

表3 不同数量候选框实验结果Tab.3 Experimental results of different numbers of anchor

3.4 模型深度调控实验效果

对3.3节中经过候选框参数预置后的模型进行稀疏化训练后采用模型深度调控的方法对模型进行深度方向的压缩,调控删除CSP残差模块后模型精度下降较多,故需对模型进行微调,且微调时采用100个epoch即可。实验结果如表4所示,增加调控删除CSP残差模块数量能保证对模型的推理速度有一个较好的提升,模型的权重所占储存空间也不断减小,虽然微调后模型的mAP较候选框参数预置后的模型有轻微损失,但不影响模型整体性能,其mAP均在95.00%左右,有较好的准确率。当调控删除CSP残差模块数量为15时,模型权重所占储存空间降至最小,为182.00 MB,平均检测速度达到最高,为35.68帧/s,微调后模型的mAP达到94.53%,说明当调控删除CSP残差模块数量为15时模型的检测性能较好,故通过实验选择调控删除CSP残差模块数量为15(模块序列号为:4、6、9、12、13、14、15、16、17、18、19、20、21、22、23),剩余CSP残差模块数量为8(模块序列号为:1、2、3、5、7、8、10、11),后续实验在本节的基础上开展。

表4 模型深度调控实验结果Tab.4 Experimental results of model depth manipulation

3.5 构建轻量级特征提取网络实验效果

在3.4节模型深度调控的基础上采用计算量较小的Ghost卷积模块设计的轻量级卷积模块替换剩余的8个CSP残差模块,得到ICNet下茧实时检测模型。经过重新训练后ICNet下茧实时检测模型模型权重所占储存空间为145.00 MB,平均检测速度为49.37帧/s,mAP为95.55%。较3.4节进行模型深度调控后的模型来说,ICNet下茧实时检测模型的mAP提升1.02个百分点,达到95.55%;模型权重所占储存空间减小25.52%,降为145.00 MB;平均检测速度提升38.37%,达到49.37帧/s。说明ICNet下茧实时检测模型具有较好的整体性能,满足下茧实时检测的实际应用需求。

3.6 不同检测模型检测性能对比

为验证本文设计的ICNet下茧实时检测模型对下茧检测的优越性,将ICNet模型与YOLO v3、YOLO v4及SSD模型做性能对比实验。为保证结果的有效性,实验均在3.1节介绍的实验平台上开展,使用的训练集和测试集均为本文采集的下茧检测数据集,实验结果如表5所示。从表5可以看出,与其他3种模型相比本文设计的ICNet下茧实时检测模型的mAP最高,达到95.55%;平均检测速度也为最高,达到49.37帧/s;模型权重所占储存空间为145.00 MB,小于YOLO v3和YOLO v4,仅高于SSD模型。ICNet下茧实时检测模型对不同类别下茧检测的mAP如图9所示,可以看出,ICNet下茧实时检测模型对黄斑茧、瘪茧、薄皮茧、特小茧检测的mAP都为最高,分别为98.40%、93.00%、93.30%、97.50%,表明ICNet下茧实时检测模型对于下茧检测有较好的准确性。综上所述,综合考虑模型权重所占储存空间、平均检测速度和mAP,本文设计的ICNet下茧实时检测模型对下茧检测效果更好,具有最好的整体鲁棒性。

表5 不同模型性能对比实验结果Tab.5 Experimental results of performance comparison of different models

图9 不同检测模型对下茧检测的mAPFig.9 mAP of different detection models for inferior cocoons detection

3.7 ICNet模型检测效果

为充分说明ICNet下茧实时检测模型对下茧检测的效果,将YOLO v4基础模型与ICNet下茧实时检测模型在测试集中对下茧检测情况进行统计,结果如表6所示,可以看出ICNet下茧实时检测模型相对于YOLO v4基础模型,对4类下茧整体的错检率减小5.30个百分点,漏检率减小1.25个百分点。

表6 ICNet下茧实时检测模型检测结果Tab.6 Detection results of ICNet inferior cocoons real time detection model

为表明模型对不同蚕茧数量分布的检测效果,将测试集中黄斑茧为检测对象、不同蚕茧数量分布的检测结果进行可视化,如图10所示,图中从左到右蚕茧数量分布依次递增,符合选茧时蚕茧数量分布不均匀的实际情况,从结果中可以看出在不同蚕茧数量分布的情况下ICNet下茧实时检测模型都能将黄斑茧检测出来,说明模型对于不同蚕茧数量分布具有一定的抗干扰能力。

图10 不同蚕茧数量分布检测效果Fig.10 Detection effects of different cocoons number distribution

ICNet下茧实时检测模型对单类别与多类别下茧检测效果可视化如图11所示,图11a分别为模型对单类别的黄斑茧、瘪茧、薄皮茧、特小茧的检测效果,图11b为模型对多类别下茧共同分布的检测效果,从图中可以看出,在不同的场景下ICNet下茧实时检测模型都能将下茧检测出来,表明模型有较好的泛化能力,能完成不同场景下下茧的检测任务。

图11 ICNet下茧实时检测模型检测效果Fig.11 Detection effects of ICNet inferior cocoons detection model

4 结论

(1)以线阵扫描相机为图像传感器,根据成像的景深选择合适的拍摄距离和通过采样频率的计算合理配置图像采集系统参数,从而搭建出适用于下茧检测的图像采集系统。采集图像时用计算机将线阵扫描相机获取的线阵图像合成面阵图像构建下茧检测数据集。

(2)以YOLO v4目标检测模型为基础模型,采集得到下茧检测数据集为实验数据,设计出基于轻型调控网络的ICNet下茧实时检测模型。该模型对下茧检测数据集进行K-means算法聚类分析预置候选框参数提升模型精度;采用模型深度调控的方法对模型进行压缩,减小模型权重所占储存空间,提升模型速度;使用设计的轻量级卷积模块替换模型深度调控后剩余的CSP残差模块,进一步提升模型速度。

(3)对比YOLO v3、YOLO v4及SSD模型,ICNet下茧实时检测模型具有较好的整体鲁棒性。较YOLO v4基础模型,mAP提升1.87个百分点,达到95.55%,模型权重所占储存空间压缩40.82%,降为145.00 MB,平均检测速度提升91.65%,达到49.37帧/s。

(4)ICNet下茧实时检测模型能在保证模型权重较小的前提下,对不同场景中下茧的检测都有较高的检测速度和精度,适合在嵌入式开发设备中部署,满足选茧时下茧检测的实时性和准确性的实际生产需求。

猜你喜欢

残差卷积调控
基于全卷积神经网络的猪背膘厚快速准确测定
基于残差-注意力和LSTM的心律失常心拍分类方法研究
楼市调控是否放松
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
miR-142-5p通过CCND1调控胆囊癌细胞的增殖和转移
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①