这篇文章主要目的是
修正 FPN 带来的大目标性能损害
,发现其原因主要来源于 FPN 中不合适的 back-propagation,因此作者提出了基于不确定性的辅助损失和构建新的 FPN 结构来解决上述问题。
论文标题:
You Should Look at All Objects
收录会议:
论文链接:
https://arxiv.org/abs/2207.07889
代码链接:
https://github.com/CharlesPikachu/YSLAO
前言
FPN (Feature Pryramids Network) 集成到骨干网络中能够有效提升目标检测模型的性能,是目标检测基本模块之一,之前有很多相关的工作来优化 FPN 的结构,比如 PANet 和 Nas-fpn。目前认为 FPN 主要有两个好处,一个是 FPN 通过融合骨干网络的多层特征,能够得到更好的表征,另一个是 FPN 通过在每一个不同的阶段处理不同大小的目标,实现了分治的思想。很明显这些方法应该能提升所有尺度目标的检测效果,但事实是
小目标和中等目标的 AP 得到了提升,大目标的 AP 反而下降了。
如上图所示,作者在 MMDetection 和 Detectron2 两个检测框架上进行实验对比使用 FPN 前后各个性能指标的变化,可以看到使用 FPN 后,整体 AP 是有提升的,但是大目标的 (AP_l) 都有不同程度的下降。如何解决这个问题呢?作者发现 FPN 带来的改变不仅仅是多层特征融合和分治思想,还有 back-propagation path 的改变,这也将直接影响检测模型效果。
这里有一个问题是,作者对比的两个模型是 ResNet-50-DC5 和 ResNet-50-FPN, 感觉不是很公平,ResNet-50-FPN 应该和 ResNet-50 相比才对,这里展示加了 FPN 才涨零点几个点,一般 FPN 涨点会更多的。这里的 DC5 应该是在骨干网络后面再加空洞卷积,后面的输出感受野更大对大目标的检测效果本来就应该会好一些。
作者提出引入更多的辅助损失函数扩充 back-propagation path 使得额外的监督的信号能够辅助对应骨干网络层的学习。其中的关键技巧是利用不确定性来平衡大量的损失函数。除此之外,作者设计一个新的 FPN 网络来修改 back-propagation path. 提出的方法能够在多个检测方法上稳定提升 2 个百分点,包括 one-stage, two-stage, anchor-based, anchor-free 的检测器。
首先简单回顾了一下 FPN,其主要包含三个部分:top-down, bottom-up 和 lateral connection,和基础骨干网络主要的区别如上图所示。作者主要的发现是 FPN-free 检测框架的浅层在 back-propogation 的时候都没有收到有效地监督信号,然而 FPN-based 的检测框架所有的骨干网络特征都能够得到直接的监督信号。为了证明这个现象,作者做了一个简单的实验,即给 FPN-free 的检测器的特征层添加一些辅助的监督损失。
实验结果如上图所示,可以看出加上辅助损失后,FPN-free 和 FPN-based 检测器没有什么性能差异了(FPN-Aux v.s. DC5-Aux)。所以为什么 FPN 还会抑制大目标的检测性能呢?原因是 FPN 结构中最底层的特征主要用来监督学习小目标,所以学到的 feature 仅对小目标有比较好的检测能力。同时,最底层的特征会向后传播,对大目标检测能力不住会随着传播不断减弱,所以最后得到的 Feature 对大目标有相对较弱的检测能力。
方法
2.1 辅助损失
这里的损失函数包括分类和回归的损失,其中 α 是不确定性,是通过一个预测函数得到,如下:
这里 (x) 是 feature map, (w) 和 (b) 是可学习的参数。不太清楚的是,为什么这样得到的 α 可以代表不确定性?
2.2 特征金字塔生成范式
作者主要的目的是让监督损失能够看到每一个目标。这里改动的地方有两个,一个是 Feature Grouping,另一个是 Cascade Structure。简单来说,Feature Grouping 通过一些操作使得多层之间的交互更多,主要是通过一些操作交换不同层 feature 的 channel。大概就是几层网络得到一个特征转换器来变换 feature,然后按 channel 分组,最后跨层交换 channel。Cascade structure 就是上述得到的中间特征通过几层非线性网络再转换一下。具体的操作如下:
实验
▲辅助损失的 Ablation Study,引入不确定性得到了明显的提升
▲关于 feature pyramid generation paradigm 的 Ablation Study
可以看出,组合 Feature Grouping 和 Cascade 结构能够提升还算明显的,而且 Cascade 次数越多效果越好。
文章提出了一个问题,即 FPN 对大目标的检测有损害,并发现其主要原因在 back-propagation path 中,所以提出了两个策略来解决这个问题,其一是添加多层的辅助损失,并用不确定性来平衡多个损失的关系。再者通过修改 PFN 的结构来改变 back-propagation path, 提出 Feature Grouping 来让 Feature 更 conpactness, 充分融合不同层的特征,让每一层的特征都能见到所有的 Objects,实验结果在很多的检测器上都有明显的提升。
1. Fig.1 中对比实验,用 ResNet-50-DC5 与 ResNet-50-FPN 进行对比是否合适?DC5 可能对大目标的检测有帮助,如果是的话,文章里面关于 FPN 对大目标检测有损害的结论就有待商榷。
2. 文章其实是对 FPN 的一些改进,但是没有和其它 FPN 的工作进行对比,比如 PANet, Nas-fpn, 大目标的问题可能在这些方法里面 somehow 已经被解决了。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧