Advertisement

深度学习论文: End-to-End Object Detection with Fully Convolutional Network及其PyTorch实现

阅读量:

该网络实现了自顶向下的物体检测任务,并通过全卷积网络架构实现了端到端的特征提取与分类机制

1 概述

开发了预测导向的一一对应(POTO)作为NMS的替代方案。
开发了基于多尺度特征的三维最大值滤波(3D Max Filtering),从而增强了对局部区域信息的区分能力。
引入辅助损失以提升学习特征表示的能力。

在这里插入图片描述

2 Analysis on Label Assignment

在这里插入图片描述

开发者开发了两种基于手工设计的一一对应方法。这些方法分别模仿了RetinaNet(基于锚框)和FCOS(基于中心点)。进行了微小程度的调整后发现,在有无Non-Maximum Suppression的情况下,mAP值降低了约4个点。

3 Methodology

在这里插入图片描述

3-1 Prediction-aware One-to-one Label Assignment

基于人工干预设定的label assignment规则会对one-to-one性能产生显著影响。该方法通过根据预测结果动态调整样本数量来实现标签分配,并命名为Prediction-aware One-To-One (POTO)标签分配方案。

在这里插入图片描述

可以认为网络输出的概率值prob被用作分类任务的关键评估指标,在回归问题中则通过计算网络输出与ground truth之间的IoU值来进行量化分析。在综合考虑各评估维度的基础上,采用加权几何平均的方法进行综合评价,并引入了一个类似于基于ground truth边界信息的空间先验项来进一步提升模型性能。

3-2 3D Max Filtering

3D Max Filtering的基础建立在以下直觉:由于卷积操作是线性的而非可学习的操作(convolutional operations are inherently linear rather than learnable),因此学习max operations(max operations)本身就是一个具有挑战性的任务。作者通过在FCOS数据集上进行实验表明,在此数据集上的duplicated predictions(duplicated predictions)主要源于5×5邻域内的预测结果。基于此观察结果,在设计网络架构时,默认的做法就是在网络中引入最常用的非线性滤波器 max pooling(一种简单的方法是在网络中引入最常用的非线性滤波器 max pooling)。同时,在整个feature map集合上执行NMS(non-max suppression, NMS)然而由于缺乏层间抑制机制(despite the lack of layer-wise inhibition mechanisms in the network architecture),因此作者期望实现跨层的最大池化(cross-layer maximum pooling)。

在这里插入图片描述

3-3 Auxiliary Loss

通过POTO方法有效解决了one-to-many标签分配过程中存在的NMS后处理问题,并采用3DMF技术抑制了重复预测的现象。然而,在应用上述两种技术手段后仍未能达到NMS-FCOS基准水平。为了增强网络对特征表示能力的捕捉能力,研究者引入了辅助损失函数。最终实现了FCOS模型的良好性能,在 crowd detection场景下表现出良好的效果并获得了较高的召回率。

4 Experiments

4-1 Visualization

在这里插入图片描述

4-2 COCO

针对COCO基准数据集,在使用FCOS backbone与ResNeXt-101 backbone构建的全连接检测模型中,提出的方法明显超越了基于NMS baseline系统约1.1%的mAP水平。

在这里插入图片描述

4-3 CrowdHuman

在拥挤场景下进行检测时,系统相比而言更加具有健壮性和灵活性。基于ResNet-50的主干网络,在端到端检测器的基础上获得了3.1%的AP50提升和5.6%的mMR绝对增益,并且优于基于NMS的FCOS基准模型。

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~