1.本发明涉及多尺度目标检测方法,尤其涉及一种图像金字塔特征指导的多尺度目标检测方法。
背景技术:2.目标检测任务是为自然图像中每个目标精准预测一个类别和坐标位置。广泛应用在很多领域,从无人驾驶、智能社区到视频监控,具有极大的研究价值。但是,不同类别的物体可能具有相似的外观和尺寸,相同类别的物体的外观和尺寸也可能会有很大的差别。背景复杂多样,物体间又存在相互遮挡的现象,这些因素导致目标检测成为计算机视觉领域中最具挑战性的任务之一。传统的目标检测方法是通过人工设计特征提取算子获取图像的特征,这些特征的表征能力低、泛化性差,这限制了传统目标检测方法的进一步发展。
3.近年来,深度学习的出现极大地促进了计算机视觉的发展。基于卷积神经网络(cnns)的目标检测算法通过卷积运算从图像中提取目标特征,这使网络能够获得更加有利、更加深层次的特征,能够较好地处理复杂情况,例如遮挡、形变和光照变化。目前以卷积神经网络为基础的目标检测算法可分为两大类:一类是基于区域候选框的两步目标检测算法和基于回归的一步目标检测算法。
4.但是,目标检测算法仍存在许多不足,尤其是在多尺度目标检测中。现有的方法不能够很好的检测出不同尺度的相同目标,尤其是小目标和邻近目标,其语义信息会随着网络的加深而消失。
技术实现要素:5.发明目的:本发明的目的是提供一种能提高对小目标和邻近目标的辨识度的图像金字塔特征指导的多尺度目标检测方法,用于解决多尺度目标检测中高层特征图容易混淆邻近目标特征、忽略小目标的问题。
6.技术方案:本发明的多尺度目标检测方法,包括步骤如下:
7.s1,以彩色图像作为网络输入,以基于resnet-101主干网络的fpn作为目标检测的框架,采用排序下采样方法提取图像特征;
8.s2,以步骤s1中的同一幅彩色图像作为输入,采用构建的双瓶颈子卷积网络提取图像金字塔中每层级的位置信息和细节特征;
9.s3,将步骤s2中提取的每层级的图像特征和主干网络对应的深层特征输入到构建的分层式特征融合模块中,完成高分辨率、弱语义特征与低分辨率、强语义特征的融合;
10.s4,引入focal loss重构损失函数,对多任务进行训练,完成目标检测。
11.所述步骤s1中,所述排序下采样方法的实现过程如下:
12.s11,在卷积神经网络的特征采样层的特征图上,滑动一个设定步长的滑窗,将滑窗内数值按升序排序,依次提取该滑窗内的四个值,生成四个新特征图;每个新特征图的宽度和高度都是原特征图的一半,则有排序下采样方法的输出为:
[0013][0014]
其中,表示卷积神经网络每个采样层的特征图,w、h和d分别表示特征图的宽度、高度与通道数,l是卷积神经网络采样层的层级索引;mj(
·
)表示提取滑窗内第j个值的过程,每个滑窗内被依次提取四个值;表示第l个下采样层中第j个输出的新特征图,每个下采样层生成四个新特征图;
[0015]
s12,将四个新特征图并置,然后输入到小型卷积网络进行特征精修和通道调整;将输出的最终特征图作为主干网络下一层的输入,其中,w
′
、h
′
和d
′
分别表示最终特征图的宽度、高度与通道数。
[0016]
所述步骤s2中,构建双瓶颈子卷积网络的过程如下:
[0017]
s21,定义双瓶颈子卷积网络的输入为:
[0018][0019]
其中,表示高度为h
*
、宽度为w
*
的图像,该图像同时是目标检测模型的输入图像;i同为图像金字塔和主干网络的层级索引;
[0020]
s22,将图像金字塔中的第i层图像输入双瓶颈子卷积网络,通过一个5
×
5卷积核和一个3
×
3卷积核提取图像表层的边缘特征;
[0021]
s23,将被提取的边缘特征输入到具有2个瓶颈结构的残差网络单元中提取细节特征,使用带有1
×
1卷积核的侧边连接,将准确定位的边缘信息传输给提取的纹理细节特征;
[0022]
所述瓶颈结构由2个分别用于特征图通道降维与升维的1
×
1卷积核和2个用于学习浅层特征的3
×
3卷积核构成;
[0023]
s24,得到与对应主干网络层级尺度相同的特征图,为残差网络单元的输出;
[0024]
s25,以不同尺度的图像作为输入,定义双瓶颈子卷积网络的输出为:
[0025][0026][0027]
其中,表示图像金字塔第i层图像被提取的特征;表示图像金字塔中所有层级图像被提取的特征的集合。
[0028]
所述步骤s3中,所述分层式特征融合模块采用基于逐元素相加的特征融合模块;定义逐元素相加的输出为:
[0029][0030]
其中,和分别表示两个3
×
3卷积单元,用作特征图的参数化特征映射,为1
×
1卷积单元,用作特征图的线性变换;bn[
·
]为卷积特征的批量归一化操作;t(
·
)表示通道维数双线性插值操作,用作调整两种不同类型特征的通道维度;h(
·
)与g(
·
)分别是双瓶颈子卷积网络的输出特征图与主干网络的特征图,i同为图像金字塔与主干网络的层
级索引;i0与ii分别表示图像金字塔中的原始图像和第i层的图像。
[0031]
所述步骤s4中,所述分类损失函数如下:
[0032][0033]
其中,p与p
*
分别为样本预测值和样本真值;α
t
∈(0,1)是为类1引入的一个权重因子,1-α
t
是为类-1引入一个权重因子;(1-p)γ是调制系数;
[0034]
位置回归损失项表示为:
[0035][0036]
其中,l
reg
(t,t
*
)由平滑的l1损失表示;t={x,y,w,h}表示样本预测的边界框位置信息,其中,{x,y}表示边界框的中心坐标,{w,h}表示边界框的宽和高;t
*
为t的样本标签;
[0037]
目标检测损失函数表示为:
[0038][0039]
其中,为分类的样本数量,为回归的样本数量;w为训练图像的批次数;k为每批次训练样本中单个样本的索引;λ为损失平衡项。
[0040]
本发明与现有技术相比,其显著效果如下:
[0041]
1、本发明利用双瓶颈子卷积网络,提取多尺度图像金字塔每层的浅层特征;利用分层式特征融合模块,为目标检测模型引入富含细节和位置信息的高分辨率浅层特征;利用新的排序下采样方法,保存了原本下采样过程中丢失的大量细节信息;重构的损失函数,可缓解前景与背景分类不平衡问题;
[0042]
2、本发明充分利用了多尺度图像金字塔的浅层高分辨率特征,同时也避免了在下采样中丢失大量细节信息,从而增加了目标检测网络对小目标和邻近目标的辨识度,更提高了模型性能。
附图说明
[0043]
图1为本发明的双瓶颈特征金字塔网络(dbfp-net)结构示意图;
[0044]
图2为本发明的排序下采样方法示意图;
[0045]
图3为本发明的排序下采样方法的实施示意图。
[0046]
图4为本发明的双瓶颈子卷积网络框架图;
[0047]
图5中的(a)为本发明中基于逐元素相加的特征融合模块示意图,
[0048]
(b)为本发明中基于逐元素相乘的特征融合模块示意图,
[0049]
(c)为本发明中基于特征图并置的特征融合模块示意图;
[0050]
图6为dbfp-net在ms coco上的部分检测结果示意图。
具体实施方式
[0051]
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。
[0052]
图1是双瓶颈特征金字塔网络(dbfp-net)的结构示意图。首先,以fpn(feature pyramid networks)为目标检测框架,以resnet-101为fpn的主干网络提取深度特征,输入
彩色图像,使用新的排序下采样特征增强方法替换主干网络中原始的下采样方法,保留了下采样中滑窗内的所有数值,缓解深层特征丢失大量细节信息的问题。然后,构建双瓶颈子卷积网络提取图像金字塔中每层级的图像特征,构建分层式特征融合模块将双瓶颈子卷积网络提取的高分辨率、弱语义特征与主干网络深层的低分辨率、强语义特征融合起来,可为目标检测网络提供在图像金字塔中提取的浅层特征和更多空间信息。最后,引入focal loss重构损失函数,缓解前景与背景分类不平衡。
[0053]
本发明以fpn为目标检测框架,以resnet-101为主干网络提取深度特征,输入彩色图像,使用新的排序下采样特征增强方法替换主干网络中原始的下采样方法,保留了下采样中滑窗内的所有数值,缓解深层特征丢失大量细节信息的问题。
[0054]
(1)排序下采样方法
[0055]
在cnn(卷积神经网络)的连续下采样操作中,普遍使用最大池化的方法,最后生成的新特征图的尺度比原特征图小,这导致新特征图丢失了大量的原特征图信息,对于需要大量特征信息去识别多类目标的多尺度目标检测任务来说是非常不利的。所以,本发明提出的排序下采样特征增强方法,如图2所示,在cnn的特征采样层的特征图上,滑动一个步长为2的2
×
2滑窗,将滑窗内数值按升序排序,依次提取该滑窗内的四个值,这样保留了滑窗内所有的数值。最后生成四个新特征图,它们的宽度和高度都是原特征图的一半,但新特征图未丢失原特征图的任何信息。定义排序下采样方法的输出为:
[0056][0057]
其中,表示卷积神经网络(cnn)每个采样层的特征图,w、h和d分别表示特征图的宽度、高度与通道数,l是cnn采样层的层级索引;mj(
·
)表示排序下采样方法提取滑窗内第j个值的过程,每个滑窗内被依次提取四个值;表示第l个下采样层中第j个输出的新特征图,每个下采样层生成四个新特征图。
[0058]
排序下采样方法的具体实施如图3所示。将四个新特征图并置,然后输入到小型卷积网络进行特征精修和通道调整,为了与主干网络原采样层的输出保持一致,小型卷积网络由1
×
1卷积核和3
×
3卷积核构成。输出最终的特征图作为主干网络下一层的输入,w
′
、h
′
和d
′
分别表示最终特征图的宽度、高度与通道数。
[0059]
(2)双瓶颈子卷积网络
[0060]
构建双瓶颈子卷积网络提取图像金字塔中每层级的图像特征,得到不同尺度的富含空间信息的特征图。由于双瓶颈子卷积网络是轻量级的对图像金字塔各层级图像共享参数的网络,其新增的计算复杂度和参数存储损耗与主干网络相比可忽略不计。
[0061]
图4为双瓶颈子卷积网络的框架图。双瓶颈子卷积网络的输入为一个简单的多尺度图像金字塔。图像金字塔是一组以金字塔形状排列并且分辨率逐步降低的图像,它们是同一幅输入图像通过依次向下采样获得的。定义双瓶颈子卷积网络的输入为:
[0062][0063]
其中,表示分辨率为h
*
×w*
(高度为h
*
、宽度为w
*
)的图像,该图像同时是主干网络的输入图像;i同为图像金字塔和主干网络的层级索引。首先,将图像金字塔中的第i层
图像输入双瓶颈子卷积网络,通过一个5
×
5卷积核和一个3
×
3卷积核提取图像表层的边缘特征。然后,被提取的边缘特征被输入到具有2个瓶颈(bottleneck)结构的残差网络单元中提取细节特征,使用带有1
×
1卷积核的侧边连接,将准确定位的边缘信息传输给提取的纹理细节特征。瓶颈结构由2个分别用于特征图通道降维与升维的1
×
1卷积核和2个用于学习浅层特征的3
×
3卷积核构成。最后,残差网络单元的输出为,与对应主干网络层级尺度相同的特征图。以不同尺度的图像作为输入,定义双瓶颈子卷积网络的输出为:
[0064][0065][0066]
其中,表示图像金字塔第i层图像被提取的特征。表示图像金字塔中所有层级图像被提取的特征的集合。
[0067]
(3)分层式特征融合模块
[0068]
构建分层式特征融合模块将双瓶颈子卷积网络提取的高分辨率、弱语义特征与主干网络深层的低分辨率、强语义特征融合起来,传输到fpn对应层级的特征图中,可为目标检测网络提供在图像金字塔中提取的浅层特征和更多空间信息。共设计了三种融合方法,如图5中的(a)、(b)、(c)所示,并统一定义它们的输出为:
[0069][0070]
其中,h(
·
)与g(
·
)分别是双瓶颈子卷积网络的输出特征图与主干网络的特征图,i同为图像金字塔与主干网络的层级索引,oi为第i层上的特征融合模块的输出特征;i0与ii分别表示图像金字塔中的原始图像和第i层的图像。为特征融合模块的融合方程。通常,如果图像金字塔共有(n-1)个下采样图像,那么图像金字塔的层数为n。
[0071]
基于逐元素相加的特征融合模块如图5中的(a)所示,是将双瓶颈子卷积网络的输出特征hi(ii)与主干网络特征gi(i0)相加。由于双瓶颈子卷积网参数共享,因此需要调整这两种不同类型特征的通道维度。使用通道维数双线性插值操作t(
·
)来调整这两种不同类型特征的通道维度。于是,定义逐元素相加的输出o
1i
为:
[0072][0073]
其中,和分别表示两个3
×
3卷积单元,用作特征图的参数化特征映射,为1
×
1卷积单元,用作特征图的线性变换。bn[
·
]为卷积特征的批量归一化操作。
[0074]
基于逐元素相乘的特征融合模块如图5中的(b)所示,是将双瓶颈子卷积网络的输出特征hi(ii)与主干网络特征gi(i0)相乘。然后,通过1
×
1卷积核精修。最后,通过一个侧边连接,将精修后的特征与对应的主干网络特征再次相加。定义逐元素相乘的输出o
2i
为:
[0075][0076]
其中,为1
×
1卷积单元用作特征精修;为1
×
1卷积单元用作特征图的线性变换。
[0077]
基于特征图并置的特征融合模块如图5中的(c)所示,与u-net中使用的特征融合方法类似。本发明也定义一个特征图并置方法,其输出o
3i
为:
[0078][0079]
其中,concat(
·
)表示特征图并置操作。
[0080]
以上几种方法展示了分层式特征融合模块的灵活性。可选择不用的融合方法作为本发明模型的一部分。
[0081]
为了比较三种不同融合方法的有效性,实验在相同的目标检测模型中实施不同的特征融合方法。比较结果如表1所示。
[0082]
表1分层式特征融合方法比较
[0083][0084]
基于逐元素相加的特征融合方法取得了44.7ap;基于逐元素相乘和特征图并置的方法分别取得42.9ap与43.6ap。在小目标检测中,这三种特征融合方法取得了相似的检测结果。然而,在中等尺度与大尺度的目标检测中,配置逐元素相加融合方法的目标检测模型相对于配置逐元素相乘融合方法的目标检测模型分别提高了4.1%与3.6%。表1表明,使用逐元素相加的特征融合方法在aps、apm与ap
l
评价标准上均取得了相比于另外两种方法更好的检测结果。因此,本发明选择基于逐元素相加的特征融合方法。
[0085]
(4)损失函数
[0086]
为了缓解前景和背景之间的极度不平衡,引入focal loss重构损失函数,分类损失函数如下:
[0087][0088]
其中,p与p
*
分别为样本预测值和样本真值。α
t
∈(0,1)是为类1引入的一个权重因子,1-α
t
是为类-1引入一个权重因子,可调节前景背景分类的权重。(1-p)
γ
是调制系数(modulating factor),这个比例因子可以在训练过程中自动降低简单例子的权重,并迅速将模型集中到困难的例子上。也就是说,样本预测的置信度越高,该样本对总体损失的贡献越小。与focal loss相同,经验地将γ设置为2,α
t
设置为0.25。
[0089]
位置回归损失项具体表示为:
[0090][0091]
其中,l
reg
(t,t
*
)由平滑的l1损失表示;t={x,y,w,h}表示样本预测的边界框(bounding box)位置信息,其中,{x,y}表示边界框的中心坐标,{w,h}表示边界框的宽和高;t
*
为t的样本标签。
[0092]
则本发明使用的目标检测损失函数可由下式表示:
[0093][0094]
其中,为分类的样本数量,为回归的样本数量。w为训练图像的批次数,k为每批次训练样本中单个样本的索引;λ为损失平衡项,经验地设置为2。
[0095]
为了进一步验证提出的模型性能,本发明在ms coco数据集上比较dbfp-net与现
有目标检测算法的准确度,如表2所示。
[0096]
表2与现有模型在coco数据集上的比较结果
[0097][0098]
可以看出,ap值最低的是ssd模型,只有28.8%。ssd基于r-fcn构造了特征金字塔结构,在多个层上预测目标,不需要结合特征或分数。这提高了检测速度与精度,但是对小目标的召回率依然不理想。fpn使用带有横向连接的编码-解码网络结构,将跨分辨率和语义级别的低级特征映射关联起来,为浅层网络特征提供高层语义信息,提高了检测模型对于多尺度目标的鲁棒性。本发明通过在fpn的基础上引入多尺度图像金字塔的浅层特征弥补主干网络丢失的信息,在ap上超过fpn 8.5%。retinanet与图像金字塔特征指导的多尺度目标检测模型都是基于fpn框架并且同时使用focal loss作为损失函数,但dbfp-net明显比retinanet提升了5.6%(44.7ap vs.39.1ap)。相比于当前性能最好的基于特征金字塔方法的检测模型m2det,本发明仍超过其3.7%(44.7ap vs.41.0ap)。相比于最近流行的无锚点(anchor-free)的目标检测方法,dbfp-net超过cornernet、fcos、fsaf分别4.2%(44.7ap vs.40.5ap)、2.6%(44.7ap vs.42.1ap)、1.8%(44.7ap vs.42.9ap)。此外,在评价标准aps、apm与ap
l
上,本发明的性能与表2中的其它模型相对比也是最好的。
[0099]
图6展示了本发明在ms coco数据集上的检测结果。结果表明,对于数据集中的多尺度目标,本发明为物体保留了更多信息,可以准确地呈现它们的位置和分类。dbfp-net不仅可以检测出极小的目标,而且能够轻易地检测出被遮挡的和密集的目标。例如,在第三行第二张和第五行第四张图片中,本发明很好地检测出了被遮挡的鸟;在第二行第二张和第五行第三张图片中,本发明能准确检测出密集的水果和人。对于具有高速运动和像素模糊的小目标,本发明也具有很高的鲁棒性,例如第一行第二张图片中的棒球。另外,部分特征稀疏的物体也能被准确地检测,例如滑板和杯子。
[0100]
总之,本发明相比经典的fpn网络实现了8.5%的提升,并且能够有效检测被遮挡的和不同尺寸的目标。