该论文名为 Revisiting the Sibling Head in Object Detector ,其提出基于任务间空间自适应解耦(task-aware spatial disentanglement,TSD)的检测算法能够有效地减弱通用物体检测中分类任务和回归任务之间的潜在冲突,可以灵活插入大多检测器中,在 COCO 和 OpenImage 上给任意 backbone 提升 3~5% 的 mAP。
该算法也作为核心解决方案( https://arxiv.org/abs/2003.07557 )帮助港中文商汤联合实验室取得 OpenImage Object Detection Challenge 2019 冠军。
论文标题: Revisiting the Sibling Head in Object Detector
论文链接: https://arxiv.org/abs/2003.07540
论文引入
通用物体检测算法是许多计算机视觉任务中的重要手段,无论是在工业界还是学术界都是研究的重点。为了能够持续推动检测领域的算法创新,各种通用物体检测算法竞赛每年也会持续召开,如 MSCOCO challenge 以及 OpenImage Object Detection Challenge。
纵观历年来的冠军算法,Anchor-based 的 faster RCNN 检测框架一直作为参赛选手的首选。受 DoubleHead RCNN 和 IoUNet 的启发,本文发现,在 faster RCNN 中,分类任务和回归任务对于输入特征不同位置的敏感性不同,如图 1 所示。
在实验中发现,分类任务更关注语义信息丰富的地方,而回归任务比较关注物体的边界处。在这样的一种潜在的性质下,传统的 faster RCNN 对于分类任务和回归任务共享同一个 proposal 和特征提取器(sibling head)就会出现一些内在的矛盾影响检测器的训练。
本文基于此现象,提出了基于任务间空间自适应解耦(task-aware spatial disentanglement,TSD)的检测算法,对于分类任务和回归任务,分别让其学习各自适应的 proposal 和特征提取器。论文的主要贡献如下:
提出了基于任务间空间自适应解耦(task-aware spatial disentanglement,TSD)的检测算法,对于分类任务和回归任务,分别让其学习各自适应的proposal和特征提取器。
引入 progressive constraint (PC) 损失,来帮助检测器性能大幅度超越传统的检测器头部。
TSD 帮助通用的检测器大幅度提升性能 3%-5%,在 COCO 上,基于 ResNet-101 可以达到 49.4 的 map,在 SENet154 上可以达到 51.2。
检测流程定义
通用的 Faster R-CNN 中,其优化目标为基于 RPN 产生的 proposal P,最小化分类任务损失和定位任务损失,可以表示为:
其中,
。
是检测器头部的特征提取器,其输入特征基于 proposal P 通过特定的 pooling 方式获得,
和
是用来进行分类和定位的函数。
在这样的设计下,两个优化目标不同的任务之间就会存在一些内在的冲突。对于分类任务来说,其要求平移不变性,即当 proposal P 有微小的变化时,其分类结果要保持不变;对于定位任务来说,其需要具备平移感知性,即当 proposal P 有微小的变化时,回归结果要随之发生改变。如:
其中,有
ℇ
ℇ
.
是预测类别置信度的函数,
的输出为回归的偏移量
。针对这种潜在的问题,本文提出基于任务间自适应空间解耦的 TSD 算法,来解决任务间的潜在冲突,大幅度提升检测性能。
相比于公式一种,检测器头部不同任务间共享相同的输入 proposal P 以及特征提取器
,TSD 分别从输入以及特征提取器上进行解耦。
令原始 proposal P 经过 pooling 算法后得到的特征为 F,我们利用 F 来学习到不同任务自适应的偏移量,来得到任务适应的 proposal
。
其中
,w,h 为 proposal P 的宽和高,γ 是预定义的标量来调节偏移量的大小使得训练稳定。根据偏移量 ∆R,则可以得到适应定位任务的 proposal
。
假设对 proposal 进行 pooling 时输出为 +k×k,有:
其中
.
和
都是一个三层的全连接网络,其中激活函数为 ReLU。其输出设置分别为 {256,256,2} 和 {256,256, k×k×2},为了减少计算量,
和
的第一个全连接层共享。
为了使
和
可导,在对 proposal
和
进行 pooling 时,采用双线性差值的方式进行。以
为例有:
G(x,y) 表示在 pooling 时,第 (x,y) 个 grid 中采样点的集合,|G(x,y)| 表示采样点的数量。
是采样点的坐标。
是对应第 (x,y) 个 grid 的偏移量。
表示双线性差值,来使得
可导。
Progressive constraint(PC)
为了进一步提升任务间自适应空间解耦算法的训练,我们进一步提出渐进学术 (PC),来使得 TSD 的检测器头部对于分类任务和定位任务的表现要优于原始的结构。
其中
表示对于第 y 类的预测置信度,
是预定于的 margin。对于定位任务有:
是原始检测器头部得到的检测框,
是 TSD 算法得到的检测框。如果当前的 proposal 是一个负样本,那么该 loss 会被 ignore。
首先将 TSD 与在不同的 level 进行任务间解耦的结构进行比较,如图所示:
可以看到无论是从参数量上还是从性能上,TSD 都有着明显的优势。
在 TSD 整体的训练中,传统的 sibling head 仍然可以进行联合训练来优化 backbone,同时渐进约束损失 (PC) 可以进一步提升 TSD 的性能。
对于偏移量的生成有两种方式,一种是对于 proposal P 中每一个 grid 都生成单独的偏移量 (Point.w),一种是对于 proposal P 整体生成一个偏移量,即不同的 grid 之间共享 (Prop.w)。具体的性能比较如下图:
可以看到,对于 margin 的选择,都可以稳定带来性能的提升,后续的实验统一采用 margin 为 0.2。
无论是在 COCO 的任务上还是更大规模的 OpenImage 数据集上,TSD 都能够稳定的带来有效的收益,即便是在更大规模的 backbone 上,仍然提升比较稳定。即便是针对于分割任务,TSD 对于检测任务的提升也能够进一步推动分割性能的增长。
基于 ResNet-101 的 backbone,TSD 算法达到了新的 state-of-the-art 的性能,并且在 SENet154-DCN 的基础结构下,COCO 的性能达到了 51.2 map。
本文针对通用物体检测算法中分类任务和定位任务之间因为优化目标不一致带来的潜在冲突,提出了基于任务间空间自适应解耦的检测算法 TSD。
在检测器头部通过特定设计的偏移量生成策略以及联合训练优化渐进损失来有效的提升检测器性能,在额外的计算损耗不超过 10% 的情况下,能够稳定的提升 3%~5% 的检测性能,并且成为 OpenImage 2019 Object detection challenge 夺冠的核心算法。大量实验证明,TSD 可以比较容易的搭配各种不同的网络结构以及 anchor-based 的检测框架来进行使用。
点击以下标题查看更多往期内容:
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学习心得 或技术干货 。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品 ,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱: hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」 订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」 ,小助手将把你带入 PaperWeekly 的交流群里。