基于剪枝YOLOv3的吸管缺陷检测方法技术

技术编号:29589091 阅读:53 留言:0更新日期:2021-08-06 19:49
本发明专利技术涉及一种基于剪枝YOLOv3的吸管缺陷检测方法,该方法可用于对采集的吸管图像进行缺陷检测和识别。该方法首先在训练集上正常训练YOLOv3网络,在此基础上对其进行剪枝:对批处理归一化层中的稀疏因子进行L1正则化,通过L1正则化将批处理归一层稀疏因子的值缩至0,以此来识别不重要的通道和神经元,因为每个稀疏因子对应特定的卷及通道或完全连接层中的神经元,剪枝完成后再对网络进行微调。上述过程重复多次,获得剪枝后的YOLOv3网络。剪枝后的YOLOv3网络兼顾了YOLOv3网络本身的高精度性,并且在此基础上压缩了网络大小,减少计算操作,节省了所需资源,提升了算法的速度,且精度有所上升。

【技术实现步骤摘要】
基于剪枝YOLOv3的吸管缺陷检测方法
本专利技术属于深度学习
,尤其是YOLOv3模型和模型剪枝方法。
技术介绍
随着深度学习的发展,越来越多的深度学习模型被应用到了图像分析和识别任务中。但是卷积神经网络在现实应用中因其高昂的计算成本而受阻,首先是模型大小的限制,卷积神经网络强大的能力通常伴随着数百万的训练参数。其次,卷积神经网络中间激活所需的内存空间对许多计算能力低的设备来说无法负担。面对这样的挑战和问题,如何压缩大型卷积神经网络模型,并且保持其高精度性,是目前迫切需要解决的问题。
技术实现思路
专利技术目的:本专利技术的目的在于克服现有YOLOv3模型运用于实际生产中模型过大计算成本过高的不足,提出一种设计合理且快速准确的基于剪枝YOLOv3的吸管缺陷检测算法。本专利技术解决其技术问题是采取以下技术方案实现的:一种基于剪枝YOLOv3的吸管缺陷检测方法,包括如下步骤:步骤一:收集吸管缺陷图像,并进行预处理以及人工标注,形成训练集;步骤二:在训练集上对YOLOv3网络模型进行训练;步骤三:在步骤二的基础上,依次进行三次信道稀疏正则化训练;且每次信道稀疏正则化训练后,进行通道剪纸,并对剪枝后的模型进行微调;步骤四:使用步骤三得到的模型进行缺陷检测。进一步,步骤二中YOLOv3网络模型的损失函数为:其中,λ1,λ2,λ3为系数;目标定位损失目标置信度损失目标分类损失f(·)=sigmoid(·),Lix=gix-cix,Liy=giy-ciy,Liw=log(giw/piw),Lih=log(gih/pih);其中表示预测目标边界框i的坐标偏移量,Lim表示与之匹配的GTbox与默认框之间的坐标偏移量;(bix,biy,biw,bih)为预测的目标矩形框参数,(cx,cy,cw,ch)为默认矩形框参数,(pix,piy,piw,pih)为与之匹配的真实目标矩形框参数;ci∈{0,1}表示预测目标边界框i中是否真实存在目标,0表示不存在,1表示存在,表示对应预测值;其中Cij∈{0,1}表示预测目标边界框i中是否真实存在第j类目标,0表示不存在,1表示存在,表示对应预测值。进一步,步骤三中微调指的是对剪枝后的模型进行训练。进一步,步骤三中信道稀疏正则化训练具体为:为每个通道引入稀疏因子γ,并乘以通道输出,并对YOLOv3的权值和稀疏因子γ进行联合训练,并对稀疏因子进行稀疏正则化处理;其中稀疏训练的目标函数为:L=∑(X,Y)l(f(X,W),Y)+λ∑γ∈Γg(γ)其中(X,Y)表示训练输入和目标,W表示训练权重,∑(X,Y)l(f(X,W),Y)表示YOLOv3的训练损失,g(·)是对稀疏因子的稀疏性惩罚,λ为参数因子。进一步,选择BN层中的γ参数作为剪枝所需要的稀疏因子。进一步,g(·)为L1范数,并采用次梯度下降法对非光滑L1惩罚项进行优化。有益效果:该方法首先在训练集上正常训练YOLOv3网络,在此基础上对其进行剪枝:对批处理归一化层中的稀疏因子进行L1正则化,通过L1正则化将批处理归一层稀疏因子的值缩至0,以此来识别不重要的通道和神经元,因为每个稀疏因子对应特定的卷及通道或完全连接层中的神经元,剪枝完成后再对网络进行微调。上述过程重复多次,获得剪枝后的YOLOv3网络。剪枝后的YOLOv3网络兼顾了YOLOv3网络本身的高精度性,并且在此基础上压缩了网络大小,减少计算操作,节省了所需资源,提升了算法的速度,且精度有所上升。附图说明图1为基于剪枝YOLOv3的吸管缺陷检测方法总体流程图;图2为剪枝前YOLOv3网络模型图;图3为剪枝后YOLOv3网络模型图。具体实施方式下面结合附图对本专利技术做更进一步的解释。本专利技术环境为处于基于python3.7版本的Anaconda实验环境中,具体步骤如图1所示:首先,对所收集的吸管缺陷图像进行预处理,预处理的内容包括:(1)收集不同类别吸管不同缺陷类别的图像;(2)将收集处理好图像进行高光去除工作;(3)对高光取出后的图像进行人工标注数据;随后,在训练集上对剪枝YOLOv3模型进行初步训练,其方法为:(1)正常训练YOLOv3网络(如图2所示);(2)进行第一次信道稀疏正则化训练,稀疏因子为0.01;(3)剪掉小尺度因子通道,剪枝率为0.5;(4)对模型进行微调;(5)进行第二次信道稀疏正则化训练,稀疏因子为0.01;(6)剪掉小尺度因子通道,剪枝率为0.65;(7)对模型进行微调(8)进行第二次信道稀疏正则化训练,稀疏因子为0.008;(9)剪掉小尺度因子通道,剪枝率为0.2;(10)对模型进行微调。最后,可以使用微调后的网络(如图3所示)进行吸管缺陷检测和识别。具体地,YOLOv3网络模型的损失函数为:f(X)=sigmoid(X)(5)YOLOv3的损失函数(公式1)由三个部分组成,分别为目标定位损失目标置信度损失目标分类损失λ1,λ2,λ3为系数。目标定位损失(公式2)采用的是真实偏差值与预测偏差值差的平方和,表示预测矩形框坐标偏移量(公式6),Lim表示与之匹配的GTbox与默认框之间的坐标偏移量(公式6),(bx,by,bw,bh)为预测的目标矩形框参数,(cx,cy,cw,ch)为默认矩形框参数,(px,py,pw,ph)为与之匹配的真实目标矩形框参数;目标置信度(公式3)可以理解为预测目标矩阵框中存在目标的概率,其中ci∈{0,1},表示预测目标边界框i中是否真实存在目标,0表示不存在,1表示存在。预测值通过sigmoid函数可以得到预测目标矩形框i内是否存在目标的Sigmoid概率。目标类别损失(公式4),其中Cij∈{0,1},表示预测目标边界框i中是否真实存在第j类目标,0表示不存在,1表示存在。将预测值通过sigmoid函数可以得到网络预测目标边界框i内存在第j类目标的Sigmoid概率。具体地,使用信道稀疏正则化训练,训练的方法为:为每个通道引入稀疏因子γ,将它乘以通道输出,并对网络的权值和稀疏因子γ进行联合训练,并对稀疏因子进行稀疏正则化处理。稀疏训练的目标函数可见公式7:L=∑(X,Y)l(f(X,W),Y)+λ∑γ∈Γg(γ)(7)其中(X,Y)表示训练输入和目标,W表示训练权重,第一个求和项表示卷积神经网络正常训练时的损失值,g(x)是对稀疏因子的稀疏性惩罚,λ为参数因子。因为用于稀疏训练,因此取g(·)=|·|,即l1范数,并采用次梯度下降法对非光滑l1惩罚项进行优化。剪枝相当于删除通道的所有进出连接,通过稀疏因子γ可以识别不重要的通道并安全剪枝,因为稀疏因子和网络权值共同优化。批处理归一化本文档来自技高网...

【技术保护点】
1.基于剪枝YOLOv3的吸管缺陷检测方法,其特征在于,包括如下步骤:/n步骤一:收集吸管缺陷图像,并进行预处理以及人工标注,形成训练集;/n步骤二:在训练集上对YOLOv3网络模型进行训练;/n步骤三:在步骤二的基础上,依次进行三次信道稀疏正则化训练;且每次信道稀疏正则化训练后,进行通道剪纸,并对剪枝后的模型进行微调;/n步骤四:使用步骤三得到的模型进行缺陷检测。/n

【技术特征摘要】
1.基于剪枝YOLOv3的吸管缺陷检测方法,其特征在于,包括如下步骤:
步骤一:收集吸管缺陷图像,并进行预处理以及人工标注,形成训练集;
步骤二:在训练集上对YOLOv3网络模型进行训练;
步骤三:在步骤二的基础上,依次进行三次信道稀疏正则化训练;且每次信道稀疏正则化训练后,进行通道剪纸,并对剪枝后的模型进行微调;
步骤四:使用步骤三得到的模型进行缺陷检测。


2.根据权利要求1所述的基于剪枝YOLOv3的吸管缺陷检测方法,其特征在于,步骤二中YOLOv3网络模型的损失函数为:



其中,λ1,λ2,λ3为系数;目标定位损失目标置信度损失目标分类损失f(·)=sigmoid(·),Lix=gix-cix,Liy=giy-ciy,Liw=log(giw/piw),Lih=log(gih/pih);其中表示预测目标边界框i的坐标偏移量,Lim表示与之匹配的GTbox与默认框之间的坐标偏移量;(bix,biy,biw,bih)为预测的目标矩形框参数,(cx,cy,cw,ch)为默认矩形框参数,(pix,piy,piw,pih)为与之匹配的真实目标矩形框参数;ci∈{0,1}表示预测目标边界框i中是否真实存在目标,0表示不存在,1表...

【专利技术属性】
技术研发人员:徐沁岩周良
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1