一种物品包装线多目标检测方法

未命名 08-18 阅读:75 评论:0


1.本发明涉及目标检测技术领域,具体而言,涉及一种物品包装线多目标检测方法。


背景技术:

2.随着智能市场的不断扩大,很多物品生产线也在不断地发展和完善。
3.物品的包装线作为整个生产线的重要环节,也需要不断地进行技术创新,以提高生产效率和产品质量。并且计算机视觉技术的不断发展和应用,多目标检测技术已经成为了计算机视觉领域中的一个热点话题。目前,在物品生产过程中,多目标检测技术已被广泛应用于检测和检验各种零部件和组装件。传统的多目标检测方法需要大量的手动标注数据和复杂的特征工程,效率低下,难以扩展和应用。而使用传统的多目标检测算法在嵌入式设备上进行检测时,由于嵌入式设备计算能力和存储能力的限制,会导致检测准确性和效率的下降,难以满足物品生产线的实际需求。
4.因此,如何在嵌入式设备上实现轻量化的多目标检测,成为了当前研究的热点和难点。


技术实现要素:

5.本发明的目的在于提供一种物品包装线多目标检测方法,其目的是在嵌入式设备上实现轻量化的多目标检测。
6.本发明的实施例通过以下技术方案实现:
7.一种物品包装线多目标检测方法,包括以下步骤:
8.获取物品包装线上的训练用图像数据;
9.对所述训练用图像数据进行图像预处理;
10.构建轻量化目标检测模型,通过所述训练用图像数据提取各种物品零部件和物品组装件的特征表示,对所述轻量化目标检测模型进行训练;所述轻量化目标检测模型基于yolov5进行轻量化改进;
11.获取物品包装线上的待检测图像数据;
12.对所述待检测图像数据进行图像预处理;
13.通过所述轻量化目标检测模型对所述待检测图像数据中的各种物品零部件和物品组装件进行识别。
14.优选地,所述图像预处理包括降噪、调整大小和标准化。
15.优选地,所述调整大小用于将所述训练用图像数据和所述待检测图像数据调整为目标尺寸,包括以下步骤:
16.获取缩放比例scale,target_size为选择的目标尺寸,w和h分别为原图像的宽度和高度:
17.scale=min(target_size/w,target_size/h);
18.获取缩放后图像的宽度new_w和高度new_h:
19.new_w=round(w*scale);
20.new_h=round(h*scale);
21.通过插值操作进行图像缩放:
22.image_resized=torch.nn.functional.interpolate(image_pad.unsqueeze(0),size=(new_h,new_w),mode='bilinear',align_corners=false)。
23.优选地,进行所述图像缩放后,若图像超出原始图像边界,超出的部分填充0。
24.优选地,所述进行轻量化改进包括将所述yolov5中的darknet-53网络替换为shufflenetv2网络。
25.优选地,所述进行轻量化改进还包括在所述yolov5中的backbone网络与neck网络的二者连接部分添加ca注意力机制。
26.优选地,所述ca注意力机制包括:coordinate信息嵌入和coordinate attention生成;
27.所述coordinate信息嵌入包括以下步骤:
28.分解全局池化,转化为一对一维特征编码操作:
[0029][0030]
zc为和第c通道相关的输出,xc(i,j)来自内核大小固定的卷积层,h为图像的高度,w为图像的宽度;
[0031]
给定输入x,使用尺寸为(h,1)、(1,w)的pooling kernel分别沿着水平坐标和垂直坐标对每个通道进行编码,得到高度为h的第c通道的输出和宽度为w的第c通道的输出
[0032][0033]
所述coordinate attention生成包括以下步骤:
[0034]
对所述coordinate信息嵌入后的结果进行concat操作,使用1
×
1卷积变换函数对其进行变换操作得到f:
[0035]
f=δ(f1([zh,zw]));
[0036]
其中运算[
·
,
·
]代表contat操作,f1为卷积变换函数,δ为非线性激活函数;
[0037]
沿着空间维数将f分解为2个单独的张量fh∈r
c/r
×h和fw∈r
c/r
×w,利用另外2个1
×
1卷积变换fh和fw分别将2个单独的张量变换为具有相同通道数的张量到输入x:
[0038]gh
=σ(fh(fh)),gw=σ(fw(fw));
[0039]
σ为sigmoid激活函数;
[0040]
获取最终输出y:
[0041][0042]
优选地,所述轻量化目标检测模型的损失函数采用eiou。
[0043]
优选地,所述yolov5中neck部分的panet层采用efficientdet-bifpn。。
[0044]
本发明实施例的技术方案至少具有如下优点和有益效果:
[0045]
本发明通过多目标检测来监测物品的包装线,有利于生产效率和生产质量的提高;
[0046]
本发明对于采集的图像进行预处理,达到统一的大小指标,有助于通过同一个模型进行识别判断,提升后续处理的效率和准确率;
[0047]
本发明的识别模型基于yolov5,多目标检测质量高,可靠性强;
[0048]
本发明对模型进行了轻量化改进,适用于更广泛拥有不同嵌入式设备计算能力和存储能力的系统,且有利于检测的准确性和效率;
[0049]
本发明可广泛应用于物品生产过程中的自动化检测和检验,具有较高的实用价值和经济效益,具有广泛的应用前景。
附图说明
[0050]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0051]
图1为本发明实施例提供的一种物品包装线多目标检测方法的方法流程示意图;
[0052]
图2为本发明实施例提供的改进后的yolov5的结构示意图;
[0053]
图3为本发明实施例提供的双向加权特征金字塔bifpn逻辑图。
具体实施方式
[0054]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0055]
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0057]
实施例1
[0058]
参阅图1,一种物品包装线多目标检测方法,包括以下步骤:
[0059]
步骤s1:获取物品包装线上的训练用图像数据;
[0060]
步骤s2:对所述训练用图像数据进行图像预处理;
[0061]
步骤s3:构建轻量化目标检测模型,通过所述训练用图像数据提取各种物品零部件和物品组装件的特征表示,对所述轻量化目标检测模型进行训练;所述轻量化目标检测模型基于yolov5进行轻量化改进;
[0062]
步骤s4:获取物品包装线上的待检测图像数据;
[0063]
步骤s5:对所述待检测图像数据进行图像预处理;
[0064]
步骤s6:通过所述轻量化目标检测模型对所述待检测图像数据中的各种物品零部件和物品组装件进行识别。
[0065]
首先,针对嵌入式设备计算能力和存储能力的限制,本受伤了使用轻量化的识别模型,大幅度减小了模型的参数量和计算复杂度,能够进一步压缩模型大小和提高模型运行效率,满足嵌入式设备的实际需求;
[0066]
因此,本实施例针对物品包装线上的特殊需求,通过采集训练用图像数据然后进行轻量化目标检测模型的训练,训练得到的轻量化目标检测模型能够自动检测和定位各种零部件和组装件,减少了人工检测的时间和成本,提高了生产效率和质量。
[0067]
且本实施例基于yolov5进行改进,yolov5是一个深度学习模型,用于检测和定位图像中的对象。它使用更大的网络架构、更强大的数据增强和更好的视觉特征提取,从而提供更好的性能。
[0068]
实施例2
[0069]
本实施例基于实施例1的技术方案,对步骤s2和步骤s5涉及的图像预处理进行进一步说明。
[0070]
在本实施例中,所述图像预处理包括降噪、调整大小和标准化。
[0071]
进一步地,所述调整大小用于将所述训练用图像数据和所述待检测图像数据调整为目标尺寸,包括以下步骤:
[0072]
获取缩放比例scale,target_size为选择的目标尺寸,w和h分别为原图像的宽度和高度:
[0073]
scale=min(target_size/w,target_size/h);
[0074]
获取缩放后图像的宽度new_w和高度new_h:
[0075]
new_w=round(w*scale);
[0076]
new_h=round(h*scale);
[0077]
通过插值操作进行图像缩放:
[0078]
image_resized=torch.nn.functional.interpolate(image_pad.unsqueeze(0),size=(new_h,new_w),mode='bilinear',align_corners=false)。
[0079]
特别说明的是,进行所述图像缩放后,若图像超出原始图像边界,超出的部分填充0。
[0080]
在预测时,对于每个图像,本实施例都会对其进行缩放操作,目标是缩放到一个目标尺寸,缩放时保持图像的宽高比不变。核心思想便是随机选择一个目标尺寸,并将图像缩放到该尺寸,缩放时保持图像的宽高比不变,并将较小的一边缩放到目标尺寸,另一边根据保持宽高比的要求计算。
[0081]
而在获取缩放后图像的宽度new_w和高度new_h的时候用到的round函数为一个四舍五入取整的运算。
[0082]
本实施例执行图片缩放方法的主要目的是让模型适应不同大小的目标,从而提高模型的泛化性能。优选地,随机选择目标尺寸助于防止过拟合。
[0083]
在通过插值操作进行图像缩放的时候,用到了pytorch中的插值操作函数torch.nn.functional.interpolate。mode='bilinear'表示采用双线性插值,align_corners=false表示不对齐角落像素。
[0084]
实施例3
[0085]
本实施例基于实施1的技术方案,对步骤s3所涉及的轻量化改进进行说明。
[0086]
作为本实施例的优选方案,所述进行轻量化改进包括将所述yolov5中的darknet-53网络替换为shufflenetv2网络。
[0087]
由于yolov5网络结构模型计算量比较大,这种大量的运算成本需求使得应用yolov5的时候对硬件的要求会变高,对于嵌入式设备硬件来说支持yolov5则更为困难。本实施例将yolov5中的darknet-53网络替换为shufflenetv2网络可以一定程度改进以上问题。
[0088]
shufflenetv2的主要特点包括:
[0089]
将卷积操作分成多个分组进行,减少模型参数量;
[0090]
将不同分组的通道混合在一起,增加不同分组之间的信息交流;
[0091]
在深度可分离卷积中使用逐通道shuffle操作,增加模型的非线性特征表达能力。
[0092]
由于使用shufflenetv2替换yolov5主干网络可能会降低模型的检测精度,因为shufflenetv2的轻量级结构可能无法完全保留darknet-53网络中的所有特征。因此,需要加入注意力机制以此提高检测精度。
[0093]
注意力机制是一种在深度学习中广泛使用的技术,用于处理输入序列或特征图中的重要信息。它主要通过对不同位置或特征的加权计算,实现对不同信息的选择性关注和提取。
[0094]
注意力机制的基本思想是,对输入序列或特征图进行特征提取时,不同位置或特征的重要性是不同的。因此,通过引入一个权重系数,对不同位置或特征进行加权,可以实现对重要信息的选择性关注和提取。
[0095]
因此,本实施例所述进行轻量化改进还包括在所述yolov5中的backbone网络与neck网络的二者连接部分添加ca注意力机制。
[0096]
其中,所述ca注意力机制包括:coordinate信息嵌入和coordinate attention生成;
[0097]
所述coordinate信息嵌入包括以下步骤:
[0098]
分解全局池化,转化为一对一维特征编码操作:
[0099][0100]
zc为和第c通道相关的输出,xc(i,j)来自内核大小固定的卷积层,h为图像的高度,w为图像的宽度;
[0101]
给定输入x,使用尺寸为(h,1)、(1,w)的pooling kernel分别沿着水平坐标和垂直坐标对每个通道进行编码,得到高度为h的第c通道的输出和宽度为w的第c通道的输出
[0102][0103]
所述coordinate attention生成包括以下步骤:
[0104]
对所述coordinate信息嵌入后的结果进行concat操作,使用1
×
1卷积变换函数对
其进行变换操作得到f:
[0105]
f=δ(f1([zh,zw]));
[0106]
其中运算[
·
,
·
]代表contat操作,f1为卷积变换函数,δ为非线性激活函数;
[0107]
沿着空间维数将f分解为2个单独的张量fh∈r
c/r
×h和fw∈r
c/r
×w,利用另外2个1
×
1卷积变换fh和fw分别将2个单独的张量变换为具有相同通道数的张量到输入x:
[0108]gh
=σ(fh(fj)),gw=σ(fw(fw));
[0109]
σ为sigmoid激活函数;
[0110]
获取最终输出y:
[0111][0112]
yolov5网络进行特征提取的时候,主要依赖于backbone网络部分去实现,所以本实施例将ca注意力机制添加到到backbone网络的末端,也就是backbone网络与neck网络的互相连接部分。加入ca注意力机制主要优势在于可以提高模型检测的准确率,同时可以提取到连接通道上更多的特征。
[0113]
实施例4
[0114]
本实施例基于实施1的技术方案,对轻量化目标检测模型的损失函数进行改进相关说明。
[0115]
最后,本实施例所述轻量化目标检测模型的损失函数采用eiou。
[0116]
eiou是一种常用于目标检测的损失函数,它是在传统的iou的基础上进行改进得到的。eiou可以通过引入目标间的内部关系和外部关系来改善iou的准确性和鲁棒性不够高的问题。
[0117]
实施例5
[0118]
本实施例基于实施1的技术方案,对yolov5进行进一步改进。
[0119]
首先说明的是,本实施例可以结合前面实施例对yolov5进行大幅改进,最终的改进后的yolov5构架图可以参阅2。
[0120]
本实施例可以将yolov5中neck部分的panet层修改为efficientdet-bifpn,实现自上而下与自下而上的深浅层特征双向融合,增强不同网络层之间特征信息的传递,明显提升yolov5算法检测精度,并且具有更加不错的检测性能。
[0121]
双向加权特征金字塔bifpn逻辑图参阅图3。
[0122]
图中,圆圈中有横线的符号部分为自上向下的通路,传递的是高层特征的语义信息;三角形符号部分是自下向上的通路,传递的是低层特征的位置信息;实心圆圈部分是同一层在输入节点和输入节点间新加的一条边。
[0123]
对于多尺度融合,在融合不同的输入特征时,fpn大多只是没有区别的将特征相加;然而,由于这些不同的输入特征具有不同的分辨率,它们对融合输出特征的贡献往往是不平等的。
[0124]
为了解决这一问题,这个一种简单而高效的加权双向特征金字塔网络(bifpn),它引入可学习的权值来学习不同输入特征的重要性,同时反复应用自顶向下和自下而上的多尺度特征融合,具体说明如下:
[0125]
新的neck部分—bifpn,多尺度特征融合的目的,是聚合不同分辨率的特征;以往
的特征融合方法对所有输入特征一视同仁,为了解决这个问题,bifpn引入了加权策略(类似于attention,senet中的注意力通道)。fpn:p
3-p7是输入图像的下采样,分辨率依次为输入图像的倍,最后特征融合的公式是:resize操作通常是upsampling
[0126]
关于加权方面,加上一个可学习的权重,也就是o=∑iwi·ii
,但是如果不对wi的范围进行限制,很容易导致训练不稳定,于是可以对每一个权重用softmax,就是但是这样操作会导致速度下降,于是基于此可以采用快速的限制方法
[0127]
关于双向部分,最终的特征图输出结合了当前层与上下两层,一共三层的特征。
[0128]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种物品包装线多目标检测方法,其特征在于,包括以下步骤:获取物品包装线上的训练用图像数据;对所述训练用图像数据进行图像预处理;构建轻量化目标检测模型,通过所述训练用图像数据提取各种物品零部件和物品组装件的特征表示,对所述轻量化目标检测模型进行训练;所述轻量化目标检测模型基于yolov5进行轻量化改进;获取物品包装线上的待检测图像数据;对所述待检测图像数据进行图像预处理;通过所述轻量化目标检测模型对所述待检测图像数据中的各种物品零部件和物品组装件进行识别。2.根据权利要求1所述的一种物品包装线多目标检测方法,其特征在于:所述图像预处理包括降噪、调整大小和标准化。3.根据权利要求2所述的一种物品包装线多目标检测方法,其特征在于,所述调整大小用于将所述训练用图像数据和所述待检测图像数据调整为目标尺寸,包括以下步骤:获取缩放比例scale,target_size为选择的目标尺寸,w和h分别为原图像的宽度和高度:scale=min(target_size/w,target_size/h);获取缩放后图像的宽度new_w和高度new_h:new_w=round(w*scale);new_h=round(h*scale);通过插值操作进行图像缩放:image_resized=torch.nn.functional.interpolate(image_pad.unsqueeze(0),size=(new_h,new_w),mode='bilinear',align_corners=false)。4.根据权利要求3所述的一种物品包装线多目标检测方法,其特征在于:进行所述图像缩放后,若图像超出原始图像边界,超出的部分填充0。5.根据权利要求1所述的一种物品包装线多目标检测方法,其特征在于:所述进行轻量化改进包括将所述yolov5中的darknet-53网络替换为shufflenetv2网络。6.根据权利要求5所述的一种物品包装线多目标检测方法,其特征在于:所述进行轻量化改进还包括在所述yolov5中的backbone网络与neck网络的二者连接部分添加ca注意力机制。7.根据权利要求6所述的一种物品包装线多目标检测方法,其特征在于,所述ca注意力机制包括:coordinate信息嵌入和coordinate attention生成;所述coordinate信息嵌入包括以下步骤:分解全局池化,转化为一对一维特征编码操作:z
c
为和第c通道相关的输出,x
c
(,j)来自内核大小固定的卷积层,h为图像的高度,w为图像的宽度;给定输入x,使用尺寸为(h,1)、(1,w)的pooling kernel分别沿着水平坐标和垂直坐标
对每个通道进行编码,得到高度为h的第c通道的输出和宽度为w的第c通道的输出和宽度为w的第c通道的输出所述coordinate attention生成包括以下步骤:对所述coordinate信息嵌入后的结果进行concat操作,使用1
×
1卷积变换函数对其进行变换操作得到f:f=δ(f1([z
h
,z
w
]));其中运算[
·
,
·
]代表contat操作,f1为卷积变换函数,δ为非线性激活函数;沿着空间维数将f分解为2个单独的张量f
h
∈r
c/r
×
h
和f
w
∈r
c/r
×
w
,利用另外2个1
×
1卷积变换f
h
和f
w
分别将2个单独的张量变换为具有相同通道数的张量到输入x:g
h
=σ(f
h
(f
h
)),g
w
=σ(f
w
(f
w
));σ为sigmoid激活函数;获取最终输出y:8.根据权利要求7所述的一种物品包装线多目标检测方法,其特征在于,所述轻量化目标检测模型的损失函数采用eiou。9.根据权利要求1所述的一种物品包装线多目标检测方法,其特征在于,所述yolov5中neck部分的panet层采用efficientdet-bifpn。

技术总结
本发明提供了一种物品包装线多目标检测方法,涉及目标检测技术领域,其目的是在嵌入式设备上实现轻量化的多目标检测,包括获取物品包装线上的训练用图像数据;对训练用图像数据进行图像预处理;构建轻量化目标检测模型,通过训练用图像数据提取各种物品零部件和物品组装件的特征表示,对轻量化目标检测模型进行训练;轻量化目标检测模型基于YOLOv5进行轻量化改进;获取物品包装线上的待检测图像数据;对待检测图像数据进行图像预处理;通过轻量化目标检测模型对待检测图像数据中的各种物品零部件和物品组装件进行识别。本发明具有减小模型的参数量和计算复杂度的优点。减小模型的参数量和计算复杂度的优点。减小模型的参数量和计算复杂度的优点。


技术研发人员:张超洋 罗文成 谢燕 张金韬 罗惠允 姚鑫雨 徐志扬 罗圣璋 李春燕 马健轩 龙健平 张齐业
受保护的技术使用者:宜宾学院
技术研发日:2023.05.19
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐