本发明属于目标检测技术领域,涉及计算机视觉与深度学习技术,尤其涉及一种基于金字塔网络结构的特征增强金字塔网络(efpn:enrichedfeaturepyramidnetwork)的目标检测方法。
背景技术:
目标检测是计算机视觉领域中的基本任务之一,它在现实生活中有着非常广泛的应用,如视频监控、自动驾驶等。近年来,随着深度学习领域的快速发展,目标检测算法获得了很大的进展。
目前,基于深度学习的目标检测算法可以分为两种类型,一类是单阶段检测器,例如ssd(ssd:singleshotmultiboxdetector),retinanet(focallossfordenseobjectdetection)。另一类是双阶段检测器,例如fasterr-cnn(fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks),fpn(featurepyramidnetworksforobjectdetection),maskr-cnn,cascader-cnn(cascader-cnn:delvingintohighqualityobjectdetection)等。
然而,上述目标检测算法对神经网络各层特征的利用都较为不充分,在网络中丢失了不少有效的信息。在神经网络中,顶层的特征虽然语义信息较丰富,但目标位置信息较粗略;而底层的特征语义信息比较少,但目标位置准确。对于大尺寸对象而言,顶层的特征更加适合于用以检测;而对于小尺寸对象而言,底层特征则更加优越。传统的目标检测算法无法很好地在各层特征间进行取舍,因此容易受到图像中多尺度对象的影响,图像目标检测的准确性和精度均受限。
技术实现要素:
为了克服上述现有技术的不足,本发明提供一种基于特征金字塔网络的特征增强目标检测方法,能够更有效地解决图像目标检测过程中多尺度目标的问题,且显著增强单阶段网络检测图像和双阶段网络检测图像目标的性能。
本发明方法在现有传统的骨干网络模型中增加了tdm(top-downmodule自顶向下模块)、bum(bottom-upmodule自底向上模块)、fem(fuse-extendmodule融合扩展模块)。
tdm(自顶向下模块),结构如图2所示,在骨干网络逐级提取到各层特征后,对最顶层特征进行全局平均池化,并进行上采样后与骨干网络顶层特征相加并通过1×1卷积得到tdm的顶层强化特征,之后依次进行上采样后与骨干网络对应层相加的操作,直至得到tdm强化特征金字塔;bum(自底向上模块),结构如图3所示,在骨干网络逐级提取到各层特征后,将第二层特征进行上采样后与骨干神经网络底层特征相加后1×1卷积生成bum的底层强化特征,之后bum模块的每一层特征均由骨干网络中的对应层、对应层的上层上采样结果以及下层强化特征降采样结果相加后1×1卷积生成,直至得到bum多尺度特征金字塔;fem(融合扩展模块),结构如图4所示,该模块执行步骤主要分为两部分,将骨干网络特征金字塔分为两部分:顶层特征与底层特征,首先将两部分分别进行融合得到两层特征(将两部分中的特征上采样或降采样至同等大小后相加并通过1×1卷积生成),然后将这两层特征进行扩展,重新生成相应尺寸的fem多尺度增强特征金字塔(将两部分分别上采样或降采样至另一部分的大小后进行连接操作,之后可以通过上采样与降采样得到不同大小的特征,从而形成特征金字塔)。
这三种模块的优势分别是识别小尺寸物体、大尺寸物体和中等尺寸物体。为了同时继承这些优势,本发明将上述三种模块有机结合,使得网络能够同时增强对小尺寸物体、大尺寸物体和中等尺寸物体的检测性能。并由此我们提出了新型的增强特征金字塔网络(efpn),使得神经网络对大、中、小尺度物体的检测性能均获得提高,并且只引入很少的参数和计算量,从而更好地解决目标检测过程中多尺度目标的问题,并且通过在ms-coco数据集上充分的对比实验证实,本发明的efpn能显著增强单阶段网络和双阶段网络的性能,普遍提高map性能指标1%-2%。
本发明的技术方案是:
一种基于特征金字塔网络的目标检测方法,在传统的骨干网络模型中增加了tdm(自顶向下模块)、bum(自底向上模块)、fem(融合扩展模块),并可以很方便地整合到传统的目标检测器(单阶段检测器与双阶段检测器),从而形成了新型的增强特征金字塔网络(efpn),提高图像中多尺度目标物体的检测性能。包括如下步骤:
1)建立基于深度学习的骨干网络。
骨干网络可以选择现有的多种结构的基于深度学习的神经网络,可以是resnet(残差网络)或resnext(多支路的残差网络)等;
将骨干网络在imagenet的分类数据集上进行预训练;
2)将待检测图像送入步骤1)建立的基于深度学习的骨干网络提取特征,得到各层特征,按照自顶向下的顺序,特征图的尺寸是上一层特征图的两倍,并且特征通道数依次是2048,1024,512,256。对得到的所有特征图都进行1×1卷积操作,将得到的特征通道数统一转换成256,此时得到的特征即为接下来三种模块所需要输入的特征;
3)在步骤1)、2)建立的基于深度学习的金字塔特征网络模型中增加tdm(自顶向下模块)、bum(自底向上模块)、fem(融合扩展模块):
3.1)建立tdm(自顶向下模块),具体执行如下操作:
3.1.1)在通过步骤2)得到各层特征后,对最顶层的特征先进行3×3的卷积操作,将特征通道数从2048维降到256维,再全局平均池化至1×1的分辨率,最后上采样成最顶层特征的分辨率;
3.1.2)然后,将步骤2)中最顶层的特征与步骤3.1.1)得到的特征相加;
3.1.3)最后按照自顶向下的顺序,逐个对步骤2)和步骤3.1.2)得到的金字塔特征图进行2倍上采样操作,上采样得到的特征图尺寸与下一层特征图尺寸相同,然后将上采样得到的特征图与下一层相同尺寸的特征图进行相加操作。按照该顺序进行递归操作,即可得到tdm自顶向下结构的特征金字塔。
3.2)建立fem(融合扩展模块),具体执行如下操作:
3.2.1)在通过步骤2)得到各层特征后,将最顶层的特征尺寸上采样为原来的两倍,与第二层的特征做加法操作,再将最底层的特征降采样为原来的两倍,与上一层的特征做加法操作。通过这两步操作,得到了两种通道数都是256的不同尺寸的特征。
3.2.2)然后将小尺寸的特征上采样为原来的两倍与大尺寸特征做连接操作,将大尺寸特征降采样为原来的一半与小尺寸特征做连接操作,得到了两种通道数都是512的不同尺寸的特征。
3.2.3)最后将3.2.2)中得到的两种尺寸的特征卷积成256通道的特征。为了得到4种与步骤2)中相同尺寸的特征,我们将得到的小尺寸特征降采样成一半,大尺寸特征上采样成两倍,得到了4种特征。再对这四种特征与步骤2)中相同尺寸的特征做加法操作,形成残差连接,即可得到bum的自顶向下结构的多尺度特征金字塔。
3.3)建立bum(自底向上模块),具体执行如下操作:
3.3.1)在通过步骤2)得到各层特征后,把倒数第二层的特征上采样为原来的两倍,与最底层的特征相加得到特征f1,f1表示得到的bum的金字塔特征中的最大层,f2,f3等依次减小;
3.3.2)将特征f1降采样为原来的一半,第二层上采样为原来的两倍,与第三层的特征相加得到特征f2。将f2降采样为原来的一半,最顶层上采样为原来的两倍,与第二层的特征相加得到f3;
3.3.4)将f3降采样为原来的一半,与最顶层相加,得到f4。
3.3.4)最后对f1,f2,f3,f4做1×1卷积操作并且不改变特征的尺寸,即可得到bum自底向上结构的特征金字塔。
4)对三个模块得到的特征金字塔(tdm自顶向下结构的特征金字塔、bum自顶向下结构的特征金字塔、bum自底向上结构的特征金字塔)相同尺寸的对应层特征进行按通道方向做连接(concatenation)操作,并分别送入目标检测器中,如maskr-cnn,retinanet等。
上述通用物体的检测方法可广泛应用于视频监控、自动驾驶等实际应用的检测器中,同时提升多尺度目标检测的准确性与精度,避免出现某一尺度目标难以被检测的弊端。
与现有技术相比,本发明的有益效果是:
本发明提供一种基于特征金字塔网络的图像目标检测方法,在传统的骨干网络模型中增加了tdm(自顶向下模块)、bum(自底向上模块)、fem(融合扩展模块),能够同时提升网络对小尺寸、中尺寸和大尺寸物体的检测性能,并且只引入少量的参数和计算量。同时,作为对传统的特征金字塔模型的特征强化版,可以很方便的融合到现有的单阶段和双阶段目标检测模型里,具有普适性与高效性。
在ms-coco目标检测数据集上的实验结果表明:在训练与测试的图像大小均为500×800,并选择resnet50作为骨干网络,retinanet作为目标检测器的情况下,使用tdm(自顶向下模块)在test-dev集上的smallmap值从9.5%提升到15.2%,boxmap值从29.6%提升到33.5%,使用bum(自底向上模块)在test-dev集上的largemap值从46.7%提升到48.7%,boxmap值从29.6%提升到32.9%,使用fem(融合扩展模块)在test-dev集上的mediummap值从33.1%提升到38.5%,boxmap值从29.6%提升到33.6%。而在训练与测试的图像大小均为500×800的情况下,在检测器的骨干网络上同时新增上述三个模块(tdm、bum与fem)形成的efpn与传统fpn相比,基于resnext-101骨干网络与retinanet检测器的efpn在test-dev集上的boxmap值从40.0%提升到41.4%,smallmap值从23.0%提升到25.0%,mediummap值从44.3%提升到45.5%,largemap值从52.7%提升到53.9%,基于resnet-101骨干网络与fasterr-cnn检测器的efpn在test-dev集上的boxmap值从38.2%提升到39.8%,smallmap值从22.1%提升到23.5%,mediummap值从42.5%提升到44.0%,largemap值从49.0%提升到51.4%,基于resnet-101骨干网络与cascademaskr-cnn检测器的efpn在test-dev集上的boxmap值从42.7%提升到44.4%,smallmap值从23.8%提升到25.9%,mediummap值从46.5%提升到48.1%,largemap值从56.9%提升到58.2%。(注:ms-coco是一个大规模的数据集,包含物体检测、分割等任务,见http://cocodataset.org/#home。多尺度目标的map值是衡量对不同尺度目标检测性能的指标,包括:smallmap、mediummap与largemap,boxmap则是衡量对整体目标检测性能的指标,见http://cocodataset.org/#detection-eval。)
附图说明
图1为本发明提供的目标检测的特征金字塔网络的结构及工作流程示意图。
图2为本发明提供的tdm(自顶向下模块)的结构组成及工作流程框图。
图3为本发明提供的bum(自底向上模块)的结构组成及工作流程框图。
图4为本发明提供的fem(融合扩展模块)的结构组成及工作流程框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提出了用于目标检测的增强特征金字塔网络,如图1所示,在该网络结构中集成了三个用以处理不同尺度特征的模块,分别为tdm(自顶向下模块)、bum(自底向上模块)、fem(融合扩展模块)。
本网络结构中使用了tdm(自顶向下模块),结构如图2所示,在骨干网络逐级提取到各层特征后,对最顶层特征进行全局平均池化,并进行上采样后与骨干网络顶层特征相加并通过1×1卷积得到tdm的顶层强化特征,之后依次进行上采样后与骨干网络对应层相加的操作,直至得到tdm强化特征金字塔。
本网络结构中使用了bum(自底向上模块),结构如图3所示,在骨干网络逐级提取到各层特征后,将第二层特征进行上采样后与骨干神经网络底层特征相加后1×1卷积生成bum的底层强化特征,之后bum模块的每一层特征均由骨干网络中的对应层、对应层的上层上采样结果以及下层强化特征降采样结果相加后1×1卷积生成,直至得到bum强化特征金字塔。
本网络结构中使用了fem(融合扩展模块),结构如图4所示,该模块执行步骤主要分为两部分,将骨干网络特征金字塔分为两部分:顶层特征与底层特征,首先将两部分分别进行融合得到两层特征(将两部分中的特征上采样或降采样至同等大小后相加并通过1×1卷积生成),然后将这两层特征进行扩展,重新生成相应尺寸的fem增强特征金字塔(将两部分分别上采样或降采样至另一部分的大小后进行连接操作,之后可以通过上采样与降采样得到不同大小的特征,从而形成特征金字塔)。
ms-coco是一个大规模的数据集,包含物体检测、分割等任务,见http://cocodataset.org/#home。多尺度目标的map值是衡量对不同尺度目标检测性能的指标,包括:smallmap、mediummap与largemap,boxmap则是衡量对整体目标检测性能的指标,见http://cocodataset.org/#detection-eval。
以resnet50作为骨干网络为例,在resnet50的基础上添加tdm(自顶向下模块)、bum(自底向上模块)、fem(融合扩展模块)三个部分,并将三个部分的输出按层数连接,送入retinanet目标检测器中,改进之后,在训练和测试的图像尺寸大小均为500×800的情况下,物体检测的map值在ms-coco的test-dev数据集从33.1%提升到了34.6%;在1333×800的情况下,物体检测的map值在ms-coco的test-dev数据集从37.4%提升到了39.2%。
具体地,在ms-coco目标检测数据集上的实验结果表明:在训练与测试的图像大小均为500×800,并选择resnet50作为骨干网络,retinanet作为目标检测器的情况下,使用tdm(自顶向下模块)在test-dev集上的smallmap值从9.5%提升到了15.2%,boxmap值从29.6%提升到了33.5%,使用bum(自底向上模块)在test-dev集上的largemap值从46.7%提升到了48.7%,boxmap值从29.6%提升到了32.9%,使用fem(融合扩展模块)在test-dev集上的mediummap值从33.1%提升到了38.5%,boxmap值从29.6%提升到了33.6%。而在训练与测试的图像大小均为500×800的情况下,在检测器的骨干网络上同时新增上述三个模块(tdm、bum与fem)形成的efpn与传统fpn相比,基于resnext-101骨干网络与retinanet检测器的efpn在test-dev集上的boxmap值从40.0%提升到41.4%,smallmap值从23.0%提升到25.0%,mediummap值从44.3%提升到45.5%,largemap值从52.7%提升到53.9%,基于resnet-101骨干网络与fasterr-cnn检测器的efpn在test-dev集上的boxmap值从38.2%提升到39.8%,smallmap值从22.1%提升到23.5%,mediummap值从42.5%提升到44.0%,largemap值从49.0%提升到51.4%,基于resnet-101骨干网络与cascademaskr-cnn检测器的efpn在test-dev集上的boxmap值从42.7%提升到44.4%,smallmap值从23.8%提升到25.9%,mediummap值从46.5%提升到48.1%,largemap值从56.9%提升到58.2%。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。