掌桥专利:专业的专利平台
掌桥专利
首页

一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法

文献发布时间:2024-04-18 19:52:40


一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法

技术领域

本发明涉及一种轻量化布匹瑕疵检测方法,具体涉及一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法,属于机器视觉缺陷检测技术领域。

背景技术

在纺织品生产过程中常会出现多种瑕疵,包括断经、断纬、粗节等,布匹表面的瑕疵严重影响着其美观和质量,降低纺织品生产合格率,因此,在纺织品出厂前需要经过一道检测工序以检测布匹是否有瑕疵。

传统的布匹瑕疵检测主要依靠人工结合放大镜进行质检,但是人工检查布匹的速度较慢,一般为10~20m/min,且存在成本高、效率低、容易导致误检和漏检等问题。现有技术中,使用传统机器视觉方法等自动化方法实现布匹瑕疵检测,但传统机器视觉方法存在检测瑕疵类型单一、计算成本高等缺陷,不能满足布匹瑕疵检测的高效多样化要求。

新型的机器视觉方法中,以YOLO系列为代表的单阶段目标检测技术最为典型。虽然YOLO系列中最新的YOLOv7网络模型能够在保证检测精度的条件下实现较快的检测速度,但由于YOLOv7网络模型的参数较多且计算量大,且布匹瑕疵存在极端长宽比和小目标两大特点而加大检测难度,因此不适用于嵌入式设备等边缘计算的场景,从而无法在嵌入式设备部署该网络模型而实现对于布匹瑕疵准确快速的实时在线检测。

发明内容

基于以上背景,本发明的目的在于提供一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法,在大幅度降低计算参数的同时保证检测模型对于布匹瑕疵较高的检测精度,使得该方法可以部署于嵌入式设备及应用于边缘计算的场景。

为了实现上述发明目的,本发明提供以下技术方案:

一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法,该方法包括以下步骤:

基于YOLOv7目标检测网络构建轻量化目标检测网络模型,采用MobileNetv3结构作为所述YOLOv7目标检测网络的骨干网络,将所述YOLOv7目标检测网络的ELAN结构中3×3卷积部分替换为ShuffleNetv2结构中具有通道混洗的卷积层,在每个ELAN结构后增加ECA通道注意力机制,并将SPPCSPC模块替换为GhostSPPCSPC模块,即将SPPCSPC模块中的普通卷积替换为Ghost卷积;

设置所述轻量化目标检测网络模型的损失函数,采集数据集并将其划分为训练集和测试集,通过数据集对所述轻量化目标检测网络模型进行多轮训练,每轮训练中按照所述损失函数计算损失值,训练迭代直至所述轻量化目标检测网络模型的损失曲线向着损失值最小化的方向趋于平缓,停止训练,获得最优轻量化目标检测网络模型;

将被测布匹图像输入到所述最优轻量化目标检测网络模型中进行缺陷检测,输出被测布匹的缺陷检测结果和缺陷目标位置信息。

作为优选,采用MobileNetv3结构作为所述YOLOv7目标检测网络的骨干网络,包括:

所述MobileNetv3结构包括15个线性瓶颈残差结构,其中第1、2、3个线性瓶颈残差结构不使用SE-Net注意力机制并使用ReLU6激活函数,第4、5、6个线性瓶颈残差结构使用SE-Net注意力机制并使用ReLU6激活函数,第7、8、9、10个线性瓶颈残差结构不使用SE-Net注意力机制并使用h-swish激活函数,第11、12、13、14、15个线性瓶颈残差结构使用SE-Net注意力机制并使用h-swish激活函数;将所述MobileNetv3结构的第6个线性瓶颈残差结构连接所述YOLOv7目标检测网络的头部网络结构中的一个CBS模块,将所述MobileNetv3结构的第13个线性瓶颈残差结构连接所述YOLOv7目标检测网络的头部网络结构中的另一个CBS模块,将所述MobileNetv3结构的第15个线性瓶颈残差结构连接所述YOLOv7目标检测网络的头部网络结构中的GhostSPPCSPC模块。

作为优选,增加ECA通道注意力机制,包括:

对输入特征图进行全局平均池化操作;进行1-D卷积操作,使每层通道与相邻层的通道进行信息交互;进行Sigmoid激活;将输入特征图与特征图权重相乘得到结果。

作为优选,所述损失函数采用以下表达式,

Loss=L

式中,Loss为损失函数,L

其中,L

式中,p和p

其中,L

式中,n表示输入样本的数量,y

采用CIoU方法改进损失函数,增加了检测框尺度的误差和检测框长度及宽度的误差,使预测框更加符合真实框,基于αCIoU方法的L

作为优选,采集数据集并将其划分为训练集和测试集,包括:

采集不合格样本布匹的原始图像,对每张原始图像进行手工标注并缩放至416×416像素,按照85%和15%的比例将数据集划分为训练集和测试集,对训练集中的图像进行数据增强处理。

作为优选,对训练集中的图像进行数据增强处理,包括:

对图像中小于30×30像素的小目标进行标注、裁剪,通过泊松融合复制到原图随机位置,从而对小目标进行扩充;采用水平翻转和垂直翻转、-15°~+15°范围的随机旋转以及椒盐噪声方法对训练集中的图像进行数据增强处理。

作为优选,通过数据集对所述轻量化目标检测网络模型进行多轮训练,包括:

每轮将训练集中设定数量的图像输入所述轻量化目标检测网络模型进行正向推理,每轮训练结束后,将测试集中设定数量的图像输入完成当前轮的轻量化目标检测网络模型进行测试,从而衡量轻量化目标检测网络模型的训练状态。

作为优选,通过数据集对所述轻量化目标检测网络模型进行多轮训练,还包括:

完成全部轮训练后,将测试集中图像输入训练完毕的轻量化目标检测网络模型,获得测试集中每个图像的预测类别与置信度,并将其与手工标注的真实类别进行比较。

作为优选,在获得测试集中每个图像的预测类别与置信度并将其与手工标注的真实类别进行比较之后,还包括:

统计轻量化目标检测网络模型的参数数量、F1值、平均精度均值和模型每秒处理图像数量;其中,所述参数数量为轻量化目标检测网络模型中的参数总量,所述F1值根据查准率和查全率采用以下表达式计算获得,

式中,TP为被预测正确的正例数量,FP为被预测错误的正例数量,FN为被预测错误的反例数量。

作为优选,训练迭代直至所述轻量化目标检测网络模型的损失曲线向着损失值最小化的方向趋于平缓,包括:

采用动量项为0.937的梯度下降策略寻优,并设置初始学习率为0.01。

与现有技术相比,本发明具有以下优点:

本发明的一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法,通过将MobileNetv3结构作为YOLOv7目标检测网络的骨干网络,结合Ghost卷积,大幅减少计算参数,降低模型计算量;通过引入ShuffleNetv2中的卷积方法,结合增加ECA通道注意力机制,在保证计算效率的同时提升模型的特征学习能力,从而提升模型的检测精度;此外,通过数据增强方法扩充数据集,结合对数据集中的小目标进行数据增强,提高了其对损失函数的贡献,从而提升模型的检测性能;该方法使得轻量化目标检测网络模型能够适用于边缘计算的场景,能够部署于嵌入式设备实现准确快速的布匹瑕疵检测。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明可部署于嵌入式设备的轻量化布匹瑕疵检测方法的步骤示意图;

图2是本发明中轻量化目标检测网络模型的结构示意图;

图3是本发明中MobileNetv3结构的Inverted Residual模块的示意图;

图4是本发明中ShuffleNetv2方法的示意图;

图5是本发明中ECA注意力机制的示意图;

图6是本发明中小目标增强效果图;

图7是本发明中所使用的部分数据集与增强方法及效果图;

图8是本发明可部署于嵌入式设备的轻量化布匹瑕疵检测方法的效果示意图。

具体实施方式

下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。应当理解,本发明的实施并不局限于下面的实施例,对本发明所做的任何形式上的变通和/或改变都将落入本发明保护范围。

在本发明中,若非特指,所有的份、百分比均为重量单位,所采用的设备和原料等均可从市场购得或是本领域常用的。下述实施例中的方法,如无特别说明,均为本领域的常规方法。下述实施例中的部件或设备如无特别说明,均为通用标准件或本领域技术人员知晓的部件,其结构和原理都为本技术人员均可通过技术手册得知或通过常规实验方法获知。

以下结合附图对本发明的实施例做出详细说明,在下面的详细说明中,为便于解释,阐述了许多具体的细节以提供对本发明的实施例的全面理解。

本发明的实施例公开了一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法,参考图1,该方法包括以下步骤:

S1.基于YOLOv7目标检测网络构建轻量化目标检测网络模型,采用MobileNetv3结构作为所述YOLOv7目标检测网络的骨干网络,将所述YOLOv7目标检测网络的ELAN结构中3×3卷积部分替换为ShuffleNetv2结构中具有通道混洗的卷积层,在每个ELAN结构后增加ECA通道注意力机制,并将SPPCSPC模块替换为GhostSPPCSPC模块,即将SPPCSPC模块中的普通卷积替换为Ghost卷积;

S2.设置所述轻量化目标检测网络模型的损失函数,采集数据集并将其划分为训练集和测试集,通过数据集对所述轻量化目标检测网络模型进行多轮训练,每轮训练中按照所述损失函数计算损失值,训练迭代直至所述轻量化目标检测网络模型的损失曲线向着损失值最小化的方向趋于平缓,停止训练,获得最优轻量化目标检测网络模型;

S3.将被测布匹图像输入到所述最优轻量化目标检测网络模型中进行缺陷检测,输出被测布匹的缺陷检测结果和缺陷目标位置信息。

下面结合附图对方法的各步骤做出详细说明。

步骤S1的目的是构建轻量化目标检测网络模型,其结构参考图2,其构建步骤详细说明如下。

S1.1基于YOLOv7目标检测网络的构建及改进

基于YOLOv7目标检测网络,为了使模型轻量化,使用MobileNetv3结构作为YOLOv7目标检测网络的骨干网络。MobileNetv3结构是一种轻量化网络结构,具体结构如表1所示。

表1MobileNetv3结构

其中,Inverted Residual表示线性瓶颈残差结构,其结构参考图3;SE表示是否使用SE-Net注意力机制;NL表示所使用激活函数的类型,其中RE表示ReLU6激活函数,HS表示h-swish激活函数,其表达式为:

如表1所述的MobileNetv3结构包括15个线性瓶颈残差结构,其中第1、2、3个线性瓶颈残差结构不使用SE-Net注意力机制并使用ReLU6激活函数,第4、5、6个线性瓶颈残差结构使用SE-Net注意力机制并使用ReLU6激活函数,第7、8、9、10个线性瓶颈残差结构不使用SE-Net注意力机制并使用h-swish激活函数,第11、12、13、14、15个线性瓶颈残差结构使用SE-Net注意力机制并使用h-swish激活函数。

对YOLOv7目标检测网络的改进为,将所述MobileNetv3结构的第6个线性瓶颈残差结构连接所述YOLOv7目标检测网络的头部网络结构中的一个CBS模块,将所述MobileNetv3结构的第13个线性瓶颈残差结构连接所述YOLOv7目标检测网络的头部网络结构中的另一个CBS模块,将所述MobileNetv3结构的第15个线性瓶颈残差结构连接所述YOLOv7目标检测网络的头部网络结构中的GhostSPPCSPC模块。

S1.2基于YOLOv7目标检测网络的进一步改进

对上述初步构建的模型从以下三个方面进行进一步的改进:

(1)将ELAN结构中3×3卷积部分替换为ShuffleNetv2中的具有通道混洗的卷积层;

(2)在每个ELAN结构后增加ECA通道注意力机制;

(3)将原SPPCSPC模块替换为GhostSPPCSPC模块,即将原SPPCSPC模块中的普通卷积替换为Ghost卷积,从而减少模块中的参数。

第一方面,参照ShuffleNetv2方法的改进说明如下,参考图4,在每个单元的开始,c特征通道的输入被均分为两个分支,其中一个分支不作改变,另外的一个分支由三个卷积组成,它们具有相同的输入和输出通道。其中,第一个卷积和第三个卷积为1×1的普通卷积,第二个卷积为3×3的深度可分离卷积。卷积操作后,两个分支被连接起来,在经过channels shuffle(通道混洗)操作来启用两个分支之间的信息通信。将ELAN结构中的两个3×3卷积替换成上述ShuffleNetv2中的通道混洗方法,能够在保证计算效率的前提下提升模型性能。

第二方面,参考图5,增加ECA注意力机制的具体步骤如下:首先对输入特征图进行全局平均池化操作;然后进行1-D卷积操作,使得每层通道与相邻层的通道进行信息交互;接着进行Sigmoid激活;最后将输入特征图与特征图权重相乘即得到结果。

第三方面,Ghost卷积的作用是,由于特征图中存在着相似度很高的特征图,即特征冗余,因此通过对特征图进行线性运算来产生相似的特征图能够利用更少的参数生成更多的特征图。Ghost卷积首先使用1×1卷积对输入图片进行通道数的压缩,再通过线性变换和深度可分离卷积得到更多的特征图,最后将不同的特征图融合在一起组成新的输出以此来替代普通的卷积操作,大大减少了模型参数和计算开销。

例如,要生成通道数为n的特征图,首先按传统卷积生成identity map,通道数为m,大小

给定输入

Y=X*f+b

其中,*表示卷积,b为偏置,

将网络在中所有的卷积都替换成了Ghost卷积,以此来得到更加轻量化的网络,可以有效减少模型参数和计算开销。

例如,对于一个特征图和

模型的压缩率

步骤S2的目的是对模型进行训练以获得最优轻量化目标检测网络模型,其训练步骤详细说明如下。

S2.1设置损失函数

损失函数采用以下表达式,

Loss=L

式中,Loss为损失函数,L

其中,本实施例中,仅要求模型能够检出瑕疵而提示产品不合格,并没有对瑕疵进行分类,因此L

式中,p和p

其中,L

式中,n表示输入样本的数量,y

采用CIoU方法改进损失函数,增加了检测框尺度的误差和检测框长度及宽度的误差,使预测框更加符合真实框,基于αCIoU方法的L

S2.2采集数据集

数据集通过自行拍摄不合格样本布匹的图像构建,原始图像共2722张。用LabelImg软件对图像进行标注,共有3262个标注,然后将每张原始图像统一缩放大小至416×416像素。按照85%:15%的比例划分训练集和测试集,分别为2314张和409张。

接着对训练集中的图像进行数据增强,具体为:第一,对于小于30×30像素的小目标标注,将其裁剪下来再通过泊松融合随机粘贴到原图无目标的位置,对小目标进行扩充,小目标增强效果如图6所示;第二,采用水平翻转和垂直翻转、-15°~+15°范围的随机旋转和椒盐噪声(2%)方法进行数据增强,随机选择训练集中的578或579张图片,即第一次选择578张进行水平翻转,第二次选择上述步骤处理后的训练集中的579张进行垂直翻转,依次类推,数据增强后的数据集为原来的两倍,即4628张图片。部分数据集及增强效果如图7所示。

S2.3训练得到最优轻量化目标检测网络模型

学习率采用One Cycle Policy方法,先使用3个epoch对神经网络进行线性预热,即学习率线性增长,然后开始训练时,学习率下降至初始学习率,最后在整个训练过程中,学习率逐渐下降至0。输入的图像尺寸为416×416像素,训练100epoch,并采用Adam优化器进行训练,初始学习率设为0.01,动量设置为0.937,batch size设置为64。

将训练集输入模型,在训练过程中,32张图片为一批送入网络,首先进行正向推理,得到结果后,按照上述损失函数计算损失值,并使用梯度下降的方法实现反向传播使模型参数向着损失函数值最小化的方向不断迭代。在每轮训练结束后,将测试集图片输入当前轮次训练结束的模型进行测试,以衡量模型的训练状态,例如判断模型是否有过拟合。

完成全部轮训练后,将测试集中图像输入训练完毕的轻量化目标检测网络模型,获得测试集中每个图像的预测类别与置信度,并将其与手工标注的真实类别进行比较。

统计轻量化目标检测网络模型的参数数量、F1值、平均精度均值和模型每秒处理图像数量。其中,参数数量为轻量化目标检测网络模型中的参数总量,F1值根据查准率和查全率采用以下表达式计算获得,

式中,TP为被预测正确的正例数量,FP为被预测错误的正例数量,FN为被预测错误的反例数量。

平均精度均值(mAP)用于衡量模型对不同目标检测的整体检测效果,其计算公式如下:

其中,cls表示任务中的类别总数,在本实施例中cls=1。

模型每秒处理图像数量用FPS表示。

训练得到最优轻量化目标检测网络模型,达到的mAP和FPS详见后述。

步骤S3即将被测布匹图像输入到最优轻量化目标检测网络模型中进行缺陷检测,输出被测布匹的缺陷检测结果和缺陷目标位置信息。实际应用中,将该方法部署于嵌入式设备,通过嵌入式设备对被测布匹进行图像采集,图像输入到最优轻量化目标检测网络模型即可得到结果,检测效果参考图8。

对该方法的轻量化目标检测网络模型进行消融实验,以研究各模块之间的影响和有效性,实验结果如表2所示。

表2消融实验结果

为了进一步验证该方法中模型的性能,将其与YOLOv5s、YOLOv7进行对比实验,YOLOv5s参考在https://github.com/ultralytics/yolov5中提到的YOLOv5系列网络模型、YOLOv7参考在https://github.com/WongKinYiu/yolov7中提到的YOLOv7网络模型。对比实验结果如表3所示。

表3对比试验结果

上述实验结果表明,本发明在参数数量大幅度降低的前提下,取得了与YOLOv5s和YOLOv7相近的结果,mAP达到93.7%,超过YOLOv5s并与YOLOv7持平。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

技术分类

06120116332567