【浙大出品】基于扩展FPN的小目标检测方法

关注上方深度学习技术前沿,选择“星标公众号”

资源干货,第一时间送达!【浙大出品】基于扩展FPN的小目标检测方法

【浙大出品】基于扩展FPN的小目标检测方法

作者:黄浴

知乎链接:https://zhuanlan.zhihu.com/p/114167448

本文已由作者授权转载,未经允许,不得二次转载

【浙大出品】基于扩展FPN的小目标检测方法

浙大在arXiv上2020年3月16日上传论文"Extended Feature Pyramid Network for Small Object Detection"。

【浙大出品】基于扩展FPN的小目标检测方法

摘要小目标检测仍然是一个尚未解决的挑战,因为很难仅提取几个像素大小的小目标信息。尽管在特征金字塔网络中进行尺度级别的相应检测可以缓解此问题,但各种尺度的特征耦合仍然会损害小目标检测的性能。本文提出了扩展特征金字塔网络(EFPN,extended feature pyramid network),它具有专门用于小目标检测的超高分辨率金字塔层。具体来说,其设计了一个模块,称为特征纹理迁移(FTT,feature texture transfer),该模块用于超分辨率特征并同时提取可信的区域细节。此外,还设计了前景-背景之间平衡(foreground-background-balanced)的损失函数来减轻前景和背景的面积不平衡问题。在实验中,所提出的EFPN在计算和存储上都是高效的,并且在清华-腾讯的小型交通标志数据集Tsinghua-Tencent 100K和微软小型常规目标检测数据集MS COCO上产生了最好的结果。

【浙大出品】基于扩展FPN的小目标检测方法

如图所示,是扩展特征金字塔网络(EFPN)的框架。这里Ci表示CNN骨干网第i阶段的特征图,Pi表示EFPN上的相应金字塔层。EFPN的前4层是vanilla FPN层。特征纹理迁移(FTT)模块集成了P3中的语义内容和P2的区域纹理。然后,类似FPN的自顶向下(top-down)路径将FTT模块输出向下传递,形成最终的扩展金字塔层P'2。扩展的特征金字塔(P'2,P2,P3,P4,P5)被馈送到后续的检测器,以进行进一步的目标定位和分类。

顶部4层金字塔自顶向下构成,用于中型和大型目标检测。EFPN的底部扩展在图中包含一个FTT模块,一个自上而下的路径和一个紫色金字塔层,旨在捕获小目标的区域细节。更具体地讲,在扩展中,特征超分辨率(SR)模块FTT将图中绿色-黄色层表示的EFPN第三层-第四层金字塔混合,产生具有所选区域信息的中间特征P'3,图中用蓝色菱形表示。然后,自上而下的路径将P'3与定制的高分辨率CNN特征图C'2合并,生成最终的扩展金字塔层P'2。

【浙大出品】基于扩展FPN的小目标检测方法

如表所示,在ResNet / ResNeXt 第二步(stage 2)删除了一个最大池化层,并将C'2作为第二步的输出。C'2与原始C2具有相同的表示级别,但是由于分辨率较高,因此包含更多的区域细节。C'2中较小的接收场也有助于更好地定位小目标。从数学上讲,在提议的EFPN中扩展的操作可以描述为 (上箭头表示上采样操作)

【浙大出品】基于扩展FPN的小目标检测方法【浙大出品】基于扩展FPN的小目标检测方法

如图所示,是特征纹理迁移(FTT)模块的框架。输入特征P3的主要语义内容首先由内容提取器(content extractor)提取。然后,通过亚像素卷积将内容特征的分辨率提高一倍。纹理提取器( texture extractor)从主流特征和参考特征的组合中选择可靠的区域纹理用于小目标检测。最后,残差连接(residual connection)有助于将纹理与超分辨的内容特征融合在一起,为扩展特征金字塔生成P'3层。

FTT模块的主要输入是EFPN第三层特征图P3,参考是EFPN第四层特征图P2。输出P'3可定义为 (Et操作符表示纹理提取器,Ec操作符表示内容提取器)

【浙大出品】基于扩展FPN的小目标检测方法

在训练模型中,正样本损失函数定义为(特征图误差):

【浙大出品】基于扩展FPN的小目标检测方法

全局重建损失函数是(特征图误差):

【浙大出品】基于扩展FPN的小目标检测方法

而前景-背景平衡损失函数:

【浙大出品】基于扩展FPN的小目标检测方法

最后,总损失函数(分别来自P'2-P2层特征图差和P'3-P3层特征图差)是:

【浙大出品】基于扩展FPN的小目标检测方法

下面给出一些实验结果对比:

【浙大出品】基于扩展FPN的小目标检测方法【浙大出品】基于扩展FPN的小目标检测方法

还有一些直观的结果对比例子:

【浙大出品】基于扩展FPN的小目标检测方法【浙大出品】基于扩展FPN的小目标检测方法

简单评论一下。

小目标检测的难度在于目标很小,其特征比较浅(如亮度/边缘信息等),语义信息较少;另外小目标和背景之间尺寸不均衡,用较小的感受野去关注其特征的话,很难提取全局语义信息;用较大感受野去关注背景信息的话,那么小目标的特征会丢失信息。

以前的方法主要是以下思路:

  • - 数据增强

  • - 特征融合

  • - 利用上下文信息,或者目标之间建立联系

  • - GAN试试

  • - 提升图像分辨率

  • - 小技巧:ROI pooling被ROI align替换

  • - 多尺度空间融合

  • - 锚点设计

  • - 匹配策略,不用IoU

本文算是超分辨率和多尺度特征融合的修正,集中在特征纹理迁移模块(FTT)。

重磅!计算机视觉交流群已成立!

欢迎各位Cver加入计算机视觉微信交流大群,本群旨在交流图像分类、目标检测、点云/语义分割、目标跟踪、机器视觉、GAN、超分辨率、人脸检测与识别、动作行为/时空/光流/姿态/运动、模型压缩/量化/剪枝、NAS、迁移学习、人体姿态估计等内容。更有真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流等,欢迎加群交流学习!

进群请备注:研究方向+地点+学校/公司+昵称(如图像分类+上海+上交+小明)

广告商、博主请绕道!

【浙大出品】基于扩展FPN的小目标检测方法

???? 长按识别,即可进群!