基于卷积神经网络的物品检测方法

文档序号:30376556发布日期:2022-06-11 02:12阅读:105来源:国知局
基于卷积神经网络的物品检测方法

1.本发明涉及机器视觉领域,具体涉及一种基于卷积神经网络的物品检测方法。


背景技术:

2.随着图像识别、深度学习和大数据等技术的飞速发展,基于深度学习的物品检测成为机器视觉领域研究热点。近年来,国内外学者作了大量的研究,liu等提出了一种基于faster r-cnn的无人机检测方法,该模型在检测精度方面取得了不错的效果,但是受限于faster r-cnn网络,该模型检测的实时性不好。liu等提出rfb(receptive field block)模块,提高了检测精度,但是该方法直接从网络不同层提取不同尺度的特征进行独立预测,忽视了深层特征与浅层特征之间的关联性,因此小目标检测效果不好。lin等提出了一种金字塔似的逐级特征融合方法,该方法充分利用了深层网络的语义信息和浅层网络的细节信息,在目标检测中取得了较好的效果,但是由于这种逐级特征融合方式大大的增加了网络的计算量,网络运行速度受到了严重的影响,导致实时应用相当困难。姚群力等提出一种端到端的多尺度特征融合目标检测方法,通过反卷积将深层特征与浅层特征进行融合,特征图信息得到了丰富,改善了小目标的检测效果,但是降低了检测速度。在仓储货柜环境下的目标物品容易受到遮挡、光照、背景相似等因素的影响,因此特征提取比较困难,检测效果较差,究其主要原因是随着cnn不断加深,特征图感受野越大,提取出的特征信息越抽象,但同时也丢失大量的细节信息,导致目标物品检测效果差。


技术实现要素:

3.本发明的目的在于克服上述缺点而提出了一种能够满足实时性的前提下,提高小目标物品检测精度的基于卷积神经网络的物品检测方法。
4.本发明的一种基于卷积神经网络的物品检测方法,其中:包括以下步骤:
5.步骤一:对样本图像进行图像预处理,并将样本图像分为训练图像集和测试图像集;
6.步骤二:构建目标检测网络模型:该目标检测网络模型以rfbnet网络为基础,首先采用双线性插值方法对rfbnet网络的卷积层conv7、卷积层conv9_2的特征图扩大到与卷积层conv4_3特征图相同的尺寸,然后利用concat通道拼接方式进行特征融合,最后通过加入基于通道注意力机制的挤压激励se模块,使rfbnet网络自动的重新分配特征通道权重来改善模型的性能,即通过提升重要层的网络权重参数,降低次要层的网络权重参数,提升目标的检测效率;
7.所述双线性插值方法:
8.步骤1:将所述卷积层conv7层特征图扩大两倍得到尺寸为38
×
38的特征图,通道数为256个;将所述卷积层conv9_2层扩大8倍得到尺寸为40
×
40的特征图,再通过卷积核大小为3
×
3、通道数为256的卷积运算得到尺寸为38
×
38的特征图;将卷积层conv4_3层的特征图通道数由512个降为256个,不改变特征图的尺寸;
9.步骤2:将步骤1中卷积层conv7、conv9_2、conv4_3得到的特征图通过concat叠加通道数的方式进行拼接,拼接后特征再经过通道数为512、卷积核大小为1
×
1的卷积运算及激活函数操作后得到新的融合特征;从而将语义信息丰富的深层特征融入到细节信息丰富的浅层特征中以提升网络的特征提取能力;
10.步骤三:训练目标检测网络模型:将训练集中的每张训练图像输入所述目标检测网络模型,首先将每张训练图像调整为尺寸大小一致,然后对每张训练图像使用n
×
n大小的网格进行分块;当分块的网格存在训练图像中待检测目标的中心点时,该网格对该待检测目标的种类和位置信息进行预测;
11.步骤四:使用目标检测网络模型进行检测,得到检测结果:输入图像进行检测,利用步骤三中已经训练好的目标检测网络模型进行测试,并通过非极大值抑制进行图像后处理,通过阈值对冗余候选框进行筛选删除,最后得到最优的候选框作为预测框输出。
12.上述基于卷积神经网络的物品检测方法,其中:所述步骤一中对样本图像进行图像预处理包括翻转、缩放、色域变化等,同时对样本图像进行数据增强,扩大数据集。
13.上述基于卷积神经网络的物品检测方法,其中:所述步骤一中将样本图像按9∶1的比例分为训练图像集和测试图像集。
14.上述基于卷积神经网络的物品检测方法,其中:所述步骤二中加入基于通道注意力机制的挤压激励se模块的具体操作:
15.首先是挤压操作f
sq
,具体过程就是将输入为h
×w×
c2的特征通过全局平均池化操作变成1
×1×
c2的特征,该特征具有全局的感受野,用公式表示为:
[0016][0017]
式中:h、w代表特征图的高和宽,uc代表特征图中的第c个通道,uc(i,j)为第c个通道中第i行、第j列的像素,zc为输出;
[0018]
其次是激励操作f
ex
,用于生成每个通道的权重,用公式表示为:
[0019]
s=f
ex
(z,w)=σ[w2δ(w1z)]
[0020]
式中:z为挤压操作的输出,w1为全连接操作,δ为relu激活函数,w2为全连接操作,σ为sigmoid函数,s为输出;
[0021]
最后是注意操作f
scale
,将激励输出的权重s分配到先前的通道上,用公式表示为:
[0022]
y=f
scale
(uc,sc)=sc·
uc[0023]
式中:uc为特征中的第c个通道,sc为步长s中的第c个权重,y为输出。
[0024]
上述基于卷积神经网络的物品检测方法,其中:所述步骤二中rfbnet网络的卷积层conv4_3、conv7、conv8_2、conv9_2、conv10_2、conv11_2的特征图后加入挤压激励se模块。
[0025]
上述基于卷积神经网络的物品检测方法,其中:所述基于卷积神经网络的目标检测方法,其中:所述步骤三中将每张训练图像尺寸调整为300
×
300。
[0026]
上述的基于卷积神经网络的物品检测方法,其中:所述步骤三中训练目标检测网络模型时采用集成的开发环境anaconda3,采用tensorflow1.13.1作为深度学习框架,使用adam优化器进行训练,训练过程中batch_size设置为16,初始学习率为0.001,动量参数为
0.9,学习率下降因子为0.5。
[0027]
本发明与现有技术的相比,具有明显的有益效果,由以上方案可知,构建目标检测网络模型:该目标检测网络模型以rfbnet网络为基础,首先采用双线性插值方法对rfbnet网络的卷积层conv7、卷积层conv9_2的特征图扩大到与卷积层conv4_3特征图相同的尺寸,然后利用concat通道拼接方式进行特征融合,最后通过加入基于通道注意力机制的挤压激励se模块,使rfbnet网络自动的重新分配特征通道权重来改善模型的性能,即通过提升重要层的网络权重参数,降低次要层的网络权重参数,提升目标的检测效率。该目标检测模型在rfbnet网络基础上进行网络结构的改进:在特征提取阶段,采用多尺度特征融合将语义信息丰富的深层特征与细节信息丰富的浅层特征进行融合,获得丰富的特征信息,更好的检测有目标较小的物品;同时引入注意力机制(挤压激励se模块),使网络提升重要层的网络权重参数,降低次要层的网络权重参数,提升目标的检测效率。总之,本发明能够提高目标检测的效率,同时能保证检测速度,对小目标、遮挡目标及复杂目标有较好的检测效果。
[0028]
以下通过具体实施方式,进一步说明本发明的有益效果。
附图说明
[0029]
图1为本发明的流程示意图;
[0030]
图2为本发明目标检测网络模型结构中的多尺度特征融合的结构图;
[0031]
图3为实施例中的rfb模块结构图;
[0032]
图4为实施例中的ssd、rfbnet、sfrfbnet网络(从左到右)pr曲线对比图;
[0033]
图5为实施例中的rfbnet(上)与本发明(下)检测结果对比图。
具体实施方式
[0034]
以下结合附图及较佳实施例,对依据本发明提出的一种基于卷积神经网络的物品检测方法的具体实施方式、特征及其功效,详细说明如后。
[0035]
参见图1和图2,本发明的一种基于卷积神经网络的物品检测方法,其中:包括以下步骤:
[0036]
步骤一:翻转(对原始图像进行上下、左右翻转)、缩放(对原始图像进行大小的缩放)、色域变化(对原始图像的明亮度、饱和度、色调进行改变)等操作对训练图像样本进行数据增强,扩大数据集,提高神经网络模型学习能力。操作完成后获得适合模型输入的尺寸,同时将数据集按照9∶1的比例分为训练集和测试集;
[0037]
步骤二:构建目标检测网络模型:该目标检测网络模型以rfbnet网络为基础,首先采用双线性插值方法对rfbnet网络的卷积层conv7、卷积层conv9_2的特征图扩大到与卷积层conv4_3特征图相同的尺寸,然后利用concat通道拼接方式进行特征融合,最后通过加入基于通道注意力机制的挤压激励se模块,使rfbnet网络自动的重新分配特征通道权重来改善模型的性能,即通过提升重要层的网络权重参数,降低次要层的网络权重参数,提升目标的检测效率;
[0038]
所述双线性插值方法:
[0039]
步骤1:将所述卷积层conv7层特征图扩大两倍得到尺寸为38
×
38的特征图,通道数为256个;将所述卷积层conv9_2层扩大8倍得到尺寸为40
×
40的特征图,再通过卷积核大
小为3
×
3、通道数为256的卷积运算得到尺寸为38
×
38的特征图;将卷积层conv4_3层的特征图通道数由512个降为256个,不改变特征图的尺寸;
[0040]
步骤2:将步骤1中卷积层conv7、conv9_2、conv4_3得到的特征图通过concat叠加通道数的方式进行拼接,拼接后特征再经过通道数为512、卷积核大小为1
×
1的卷积运算及激活函数操作后得到新的融合特征;从而将语义信息丰富的深层特征融入到细节信息丰富的浅层特征中以提升网络的特征提取能力;
[0041]
所述步骤二中加入基于通道注意力机制的挤压激励se模块的具体操作:
[0042]
首先是挤压操作f
sq
,具体过程就是将输入为h
×w×
c2的特征通过全局平均池化操作变成1
×1×
c2的特征,该特征具有全局的感受野,用公式表示为:
[0043][0044]
式中:h、w代表特征图的高和宽,uc代表特征图中的第c个通道,uc(i,j)为第c个通道中第i行、第j列的像素,zc为输出;
[0045]
其次是激励操作f
ex
,用于生成每个通道的权重,用公式表示为:
[0046]
s=f
ex
(z,w)=σ[w2δ(w1z)]
[0047]
式中:z为挤压操作的输出,w1为全连接操作,δ为relu激活函数,w2为全连接操作,σ为sigmoid函数,s为输出;
[0048]
最后是注意操作f
scale
,将激励输出的权重s分配到先前的通道上,用公式表示为:
[0049]
y=f
scale
(uc,sc)=sc·
uc[0050]
式中:uc为特征中的第c个通道,sc为步长s中的第c个权重,y为输出。
[0051]
所述步骤二中rfbnet网络的卷积层conv4_3、conv7、conv8_2、conv9_2、conv10_2、conv11_2的特征图后加入挤压激励se模块。
[0052]
步骤三:训练目标检测网络模型:将训练集中的每张训练图像输入所述目标检测网络模型,首先将每张训练图像尺寸调整为300
×
300,然后对每张训练图像使用n
×
n大小的网格进行分块;当分块的网格存在训练图像中待检测目标的中心点时,该网格对该待检测目标的种类和位置信息进行预测,具体过程为:
[0053]
当某个目标的中心点落入被划分出的n*n个网格中,该网格生成多个预测框对该目标进行预测,即每个网格有多个anchors预测生成的边界框以及表明该网格是否包含目标的置信度t;计算预测边界框中心相对于其所在网格左上角坐标与网格边长的比值bx和by,采用relu激活函数函数约束预测值,将其归一化为σ(t
×
)和σ(ty);计算边界框宽、高相对于先验框宽、高的比值对数tw和th;计算边界框相对先验框的目标置信度为tc并归一化为σ(tc);根据边界框中心点所在网格左上角坐标(bx,by)、先验框的宽pw和高ph,计算预测的边界框位置和置信度向量t=[bx,by,bw,bh,c];计算模型预测的目标属于各类的概率。
[0054]
获取各个参数信息后传入损失函数,计算预测的损失loss,完成对n*n个网格的预测后,将所有网格的参数进行整理汇总,输出该图像的检测结果及损失值。
[0055]
训练目标检测网络模型时采用集成的开发环境anaconda3,采用tensorflow1.13.1作为深度学习框架,使用adam优化器进行训练,训练过程中batch_size设置为16,初始学习率为0.001,动量参数为0.9,学习率下降因子为0.5,当3个epoch后模型
性能没有得到优化后,减小学习率。
[0056]
步骤四:使用目标检测网络模型进行检测,得到检测结果:输入图像进行检测,利用步骤三中已经训练好的目标检测网络模型进行测试,并通过非极大值抑制进行图像后处理,通过阈值对冗余候选框进行筛选删除,最后得到最优的候选框作为预测框输出。
[0057]
其中:
[0058]
1 rfbnet网络
[0059]
1.1 rfbnet网络框架
[0060]
rfbnet是一种改进的ssd方法,保留了ssd网路优点,如利用不同比例的默认框获取不同尺度的目标、多尺度特征图目标检测等,rfbnet最大的改进之处是在ssd网络中引入了rfb模块,即:将原ssd网络中的部分卷积层改为rfb模块,并在conv4_3和conv7层后分别接rfb-s和rfb结构。
[0061]
1.2 rfb模块
[0062]
rfb模块启发于人类视觉感知系统,由多个具有不同感受野的卷积核结合而成,不仅能扩大有效感受野,还能加强感受野中心的特征信息。rfb模块结构主要由多分支卷积层和空洞卷积组成,其结构如图3所示。
[0063]
1)多分支卷积层。为了获取更好的特征表示,rfb模块使用不同尺寸的卷积核,并以inception的连接方式构成一个多分支网络。如图3(a)所示,rfb模块分别采用了1
×
1、3
×
3、5
×
5的卷积核,此外,为了防止网络层数过深而引起的梯度消失的问题,rfb模块还使用了残差网络中短接的连接方式。如图3(b)所示,rfb-s模块在rfb的基础上采用3
×
3的卷积核代替5
×
5的卷积核,并采用小卷积核串联的方式来代替大卷积核,如使用1
×
3和3
×
1的卷积核来代替一个3
×
3的卷积核,该操作不仅扩大了感受野,同时减少了参数量。
[0064]
2)空洞卷积。为了扩大感受野,rfb模块使用了大量的空洞卷积,空洞卷积是在标准卷积的基础上增加一个扩张率参数d,将卷积核扩张到相应的尺度中,同时在原卷积核中未被占用到的区域填充o,该操作可以在不增加参数计算量的前提下扩大卷积核感受野,并且感受野能呈指数级增长。在空洞卷积中,扩张率越大,卷积核之间的空洞数量越多,感受野越大,如卷积核大小为3
×
3,d为1、2、3时感受野分别为3
×
3、5
×
5、7
×
7。因此可通过调整扩张率参数来扩大特征图感受野。空洞卷积核n和图像经过卷积后的特征图尺寸m的计算公式为:
[0065]
n=k+(k-1)(d-1)
ꢀꢀꢀꢀ
(1)
[0066][0067]
其中,k为普通卷积核的尺寸;d为卷积核扩张率;w为输入图像尺寸;s为卷积步长;p为填充大小。如图1所示,rfb模块在每个标准卷积后都加入了空洞卷积。
[0068]
2特征融合物品检测方法
[0069]
针对rfbnet网络存在目标定位精度不高的问题,本发明借鉴浅层与深层特征融合与注意力机制的思想,提出一种特征融合的物品检测方法sfrfbnet。具体如下,首先采用双线性插值方法对conv7、conv9_2层特征图扩大到与conv4_3特征图相同的尺寸,然后利用concat方式进行融合,最后,通过加入通道注意力机制让网络自动的重新分配特征通道权重来改善模型的性能,网络结构如图1所示。
[0070]
2.1特征融合
[0071]
在检测目标时,不同卷积层所提取的特征图所包含的信息不一样,浅层特征图包含大量的细节信息,如纹理、边界等,而深层特征图细节信息少,但是语义信息丰富。因此,为了让模型能学习到更加丰富的特征信息,考虑到各个特征间并非独立的关系,本发明将语义信息丰富的深层特征融入到细节信息丰富的浅层特征中以提升网络的特征提取能力。
[0072]
相比于反卷积方法,双线性插值方法具有计算简单、速度快的优点,因此本发明选用双线性插值法。首先将conv7层特征图扩大两倍得到尺寸为38
×
38的特征图,通道数为256个;将conv9_2层扩大8倍得到尺寸为40
×
40的特征图,再通过卷积核大小为3
×
3、通道数为256的卷积运算得到尺寸为38
×
38的特征图;将conv4_3层的特征图通道数由512个降为256个,不改变特征图的尺寸。最后,将上述三层得到的特征图通过叠加通道数的方式进行拼接,拼接后特征再经过通道数为512、卷积核大小为1
×
1的卷积运算及激活函数操作后得到新的融合特征。
[0073]
2.2注意力机制
[0074]
senet是2017年胡杰等提出的一种网络结构,该网络具有轻量化、泛化能力强、扩展性好的优点。se模块采用了人类注意力的思想,会对感兴趣的区域进行重点关注,忽视或削弱其他区域。在神经网络中,se模块表现为能学习到每个特征通道的重要程度,并根据重要程度对特征图的权重进行调整,通过提升重要特征权重,抑制次要特征权重,提高网络对特征信息的处理能力。se模块通过神经网络中的卷积、池化等操作,网络的输入通道数为c1,经过一系列变换后得到通道数为c2的特征;首先是挤压(f
sq
)操作,具体过程就是将输入为h
×w×
c2的特征通过全局平均池化操作变成1
×1×
c2的特征,该特征具有全局的感受野,用公式表示为:
[0075][0076]
式中:h、w代表特征图的高和宽,uc代表特征图中的第c个通道,uc(i,j)为第c个通道中第i行、第j列的像素,zc为输出。其次是激励(f
ex
)操作,用于生成每个通道的权重,用公式表示为:
[0077]
s=f
ex
(z,w)=σ[w2δ(w1z)]
ꢀꢀꢀꢀꢀ
(3)
[0078]
式中:z为挤压操作的输出,w1为全连接操作,δ为relu激活函数,w2为全连接操作,σ为sigmoid函数,s为输出。
[0079]
最后是注意(f
scale
)操作,将激励输出的权重s分配到先前的通道上,用公式表示为:
[0080]
y=f
scale
(uc,sc)=sc·
ucꢀꢀꢀꢀ
(4)
[0081]
式中:uc为特征中的第c个通道,sc为步长s中的第c个权重,y为输出。本发明在conv4_3、conv7、conv8_2、conv9_2、conv10_2、conv11_2特征图后加入se模块,其结构如图2所示,通过se模块提升重要层的网络权重参数,降低次要层的网络权重参数,提升目标的检测效率。
[0082]
3实验及结果分析
[0083]
3.1实验环境
[0084]
本发明实验搭配的平台配置如下:cpu为intel(r)core(tm)i7-8700,gpu选用nvidia geforce gtx 1080,操作系统为windows10,深度学习框架为tensorflow。
[0085]
3.2数据集
[0086]
在仓储货柜物品检测领域,公开的数据集很少,本实验所采用数据集为自制数据集,选用仓储环境中常见的物品:水杯、螺丝刀、插线板、订书机、鼠标5类。通过不同光照强度、不同背景、不同角度、不同远近大小的情况拍摄图片,总共包含2768张图片,其中2491张作为训练集,277张作为测试集。由于水杯的形状差距较大,因此水杯的样本数多于其他种类的样本数,水杯样本数约2300个,其余种类样本数约1200个。图像使用labelimg进行标注。数据集图像来源实拍图片,由于实验拍摄的样本多样性少,因此通过网络图像以及数据增强提升样本的多样性。
[0087]
33模型性能指标
[0088]
在目标检测领域中,通过综合考虑平均精度均值(map)和每秒帧数(fps)来评价模型的性能。map是所有类别检测结果的平均精度(ap)的均值,ap值是指精准率(precision)与召回率(recall)曲线下的面积,precision与recall的计算表达式分别为:
[0089][0090][0091]
式中,tp为检测正确分类的正样本数,fp为检测错误分类的负样本数,tp+fp为模型检测出的总目标数,tp+fn为真实目标数。
[0092]
3.4结果对比分析
[0093]
为了验证模型的整体性能,设计了两类实验:1)与经典方法对比,本发明主要与ssd、rfbnet的训练过程和检测精度做对比;2)消融实验,验证本发明所提模型不同模块的有效性。
[0094]
表1网络模型参数量、准确率及实时性
[0095][0096]
表2不同模型组成
[0097][0098]
1)与经典方法对比。为了验证模型的性能,将模型训练过程可视化,图4给出了
ssd、rfbnet和sfrfbnet模型的pr曲线图,由图4知sfrfbnet模型的pr曲线与坐标轴所围成的面积大于其它模型,这表明sefrfb模型的检测精度高于其它模型。方法的实时性与模型的参数有关,表1给出了三种网络模型的基本组成、参数量、准确率和fps,由表1知,相比ssd网络,sfrfbnet网络的参数量有少许增加,fps也有轻微的下降,但是网络的整体性能有了很大的提升,map提高了9.53%。sfrfbnet网络与rfbnet网络在参数量和fps上相差不大,但是sfrfbnet网络的map比rfbnet网络高了8.42%。经过实验对比,如图5所示,rfbnet模型的检测效果差,对细长类目标存在较多漏检和误检的情况,与之相比,sfrfbnet模型目标检测结果更加准确,对漏检和误检的情况有了明显的改善,并且对小目标、遮挡目标以及背景相似目标也能很好的检测出类别。
[0099]
因此,本发明针对仓储货柜物品检测提出一种面向智能仓储的特征融合物品检测方法,在自制数据集上通过多个网络模型作了实验对比,可得以下结论:
[0100]
1)仅采用特征融合的网络map比rfbnet提高了2.15%;仅添加se模块的网络map比rfbnet提高了4.89%;同时添加两种模块后网络能提取出的特征信息更丰富,重要特征的通道权重得到了提升,网络的map可达87.47%,比rfbnet提高了8.42%。
[0101]
2)相比rfbnet方法,本发明所提的sfrfbnet方法提高了检测精度,并且在小目标、遮挡目标以及相似背景等复杂环境下取得了较好的效果。
[0102]
3)本发明所提方法sfrfbnet在检测网络部分加入特征融合和se模块后,增加了计算量,对网络运行速度有轻微的影响,但是能保证方法的实时性。
[0103]
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1