如何看待 CVPR2019 论文 Libra R-CNN(一个全面平衡的目标检测器)?

2019 年 4 月 13 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~

CVPR2019 accepted list ID已经放出,极市已将目前收集到的公开论文总结到github上(目前已收集395篇),也包括本文提到的论文,后续会不断更新,欢迎关注,也欢迎大家提交自己的论文:

https://github.com/extreme-assistant/cvpr2019

近日在知乎上看到一个话题,提出了如何看待 CVPR2019 论文 Libra R-CNN,本文是该论文作者的回答~

作者 | 庞江淼Jiangmiao(注:本文封面图误)

来源 | 

https://www.zhihu.com/question/319458937/answer/647082241


话题描述:Libra R-CNN的作者们认为目标检测中的不平衡存在于

sample level, feature level, and objective level上,具体而言,在sample阶段是easy/hard&pos/neg的不平衡;在feature level是low/high level特征利用上的不平衡;在object level上表现的是classification and localization的不平衡。依据这些观察,Libra R-CNN中的三个components: 

IoU-balanced sampling, balanced feature pyramid, balanced L1 loss依次解决了这些问题,相比两个单阶段和两阶段检测器的两个代表Faster R-CNN和RetinaNet分别高了2+的AP。


庞江淼Jiangmiao:

这篇paper可能要从去年打COCO比赛的时候说起。准备比赛的时候我们team(mmdet)其实在低baseline上尝试了很多idea,也尝试复现了许多市面上已经有的paper,结果发现本身有gain的module一加到很高的baseline上就不涨了,甚至还会掉…


最刺激的一个事情是比赛deadline当天早上刚刷完夜的我做完ensemble后发现结果竟然还没有单model的高!!几个睡眼惺忪的人围在电脑前一下子全都精神了。慌张debug,最后发现其实是其中的一个componet在ensemble的时候起到了反作用,去掉之后就正常了。


最终我们的做法大家也已经看到了。正如我们的Hybrid Task Cascade for Instance Segmentation描述的一样,其实最终的组件非常的干净,所谓大道至简,大backbone+HTC,再加上大家常用的deformable、sync bn、mstrain/test等trick就是最高的performance了。比赛期间试的一些很复杂的东西最后都不work。


这个结果也启发我们,近几年以来two-stage / single stage detector其实进步都很快,有越来越多的结构被提出。但随着performance的提高,从模型结构方面的改动其实相对已经遇到了一些bottleneck。那么我们能不能尽可能的fix网络结构,想办法去把已有的model train的尽可能的高,不增加任何inference甚至training时候的运算或者时间。也就是我们paper里提到的fully exploit the potential of model architectures.


这篇paper其实是对现有的detector training做了一个overall visit,现有大部分detector其实都遵从select region,extract feature,然后在multi-task loss的引导下逐渐收敛。那么,detector到底能不能train好,其实就跟这三部分关系很大。


  1. 选择的region够不够有代表性,能给training process提供更多的信息

  2. 抽取的feature能不能被后续的detector更好的利用

  3. 设计的objective function能不能引导整体训练更好的收敛


我们发现这三个过程中都存在着well-known的imbalance现象,于是提出了Libra R-CNN(名字抖个机灵),来针对他们进行相应的改进。


1.IoU-Balanced Sampling


OHEM其实一直以来都是选择最有价值样本的好办法, 但是它的问题在于受noise label的影响很大,尤其是COCO这种相对比较脏的数据集,我们比赛期间调了很久都没有调work…一不小心performance就会drop。既然选择proposal的方式是sampling,那么sampling的时候能不能找到一些规律来解决这个问题?统计后发现有的random sampling与hard negative (false positive)的分布在IoU上其实有比较明显的mismatch。通过分IoU均匀采样,我们把这两个部分尽可能的align起来,在COCO上其实达到了比OHEM更好的效果,而且并没有引入什么多余的memory/speed cost。


2. Balanced Feature Pyramid


High-level和low-level的feature对于目标检测是complementary的。怎么样把这些feature更好的integrate起来送给后面的bbox head识别其实很重要。尤其是在不同resolution的feature share了同一个bbox head的情况下,如果他们的variance特别大,其实不利于同一个bbox head的识别(类似于normalizaiton的效果)。于是我们均衡地去把不同resolution的feature integrate起来,用这个feature来enhance最初的pyramid。注意单纯这个操作其实没有引入什么计算,全部通过插值/pooling来实现的,在最终的AP上看到了相应的提升,也证明了这种information flow的有效性。


3. Balanced L1 Loss


目标检测本质上还是一个多任务task,既要识别相应的类别,也要精准定位,那么他们两个在训练过程总的balance就比较tricky,但一味的提高regression的loss其实会让outlier的影响变大(类似于OHEM中的noise label)。于是我们通过特定的enhance比较重要部分的梯度来让这个过程更加smooth,在几个方面寻找一个相对balance的case。单纯的loss在Faster R-CNN上其实可以提升1.2个点,还算是比较明显。


其实三个Component都非常简单…也是我们team在这方面的一次尝试,整体framework应该是high practical use的。除了在Faster R-CNN上提升的2.5 AP以外,Libra RPN使用ResNet-50的Backbone,AR100能够比普通RPN使用ResNeXt101-64x4d(非常强大的一个backbone)高出4个点,说明model确实被train的更好了。

Paper里可能还会有一些并不很完善的地方,我们也会继续改进,也欢迎大家批评斧正。如果大家有什么comments,可以直接戳我,一起进步。


我们会尽快release code,没有直接release的原因是准备趁着这次机会重写mmdetection里的一部分代码,比如非常灵活的给不同head加不同的loss,灵活的调节不同loss的weight,让proposal的assign和sampling的使用更加灵活(现在的其实还稍微有一些麻烦)。


Flag先立在这里,毕竟已经involve进新的task了,只能research累了的时候抽空去撸一些代码。代码ready后会直接merge进mmdetection:https://github.com/open-mmlab/mmdetection


在此也继续欢迎大家对于mmdetection提出相应的建议或者pr,让他变得越来越好用。

ArXiv: https://arxiv.org/abs/1904.02701




*推荐阅读

CVPR2019目标检测方法进展综述

CVPR2019 | FSAF:来自CMU的Single-Shot目标检测算法

Google又发大招:高效实时实现视频目标检测


点击左下角阅读原文”,即可申请加入极市目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



觉得有用麻烦给个好看啦~  

登录查看更多
6

相关内容

CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
专知会员服务
53+阅读 · 2020年3月16日
专知会员服务
109+阅读 · 2020年3月12日
抢鲜看!13篇CVPR2020论文链接/开源代码/解读
专知会员服务
49+阅读 · 2020年2月26日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
我这两年的目标检测
极市平台
8+阅读 · 2019年9月18日
Kaggle实战目标检测奇淫技巧合集
极市平台
17+阅读 · 2019年6月1日
CVPR2019目标检测方法进展综述
极市平台
45+阅读 · 2019年3月20日
CVPR2019 | FSAF:来自CMU的Single-Shot目标检测算法
极市平台
41+阅读 · 2019年3月8日
目标检测论文阅读:DetNet
极市平台
9+阅读 · 2019年1月28日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
CVPR 2018|Cascade R-CNN:向高精度目标检测器迈进
极市平台
10+阅读 · 2018年7月20日
Arxiv
12+阅读 · 2019年4月9日
Panoptic Feature Pyramid Networks
Arxiv
3+阅读 · 2019年1月8日
Arxiv
5+阅读 · 2018年4月17日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关资讯
我这两年的目标检测
极市平台
8+阅读 · 2019年9月18日
Kaggle实战目标检测奇淫技巧合集
极市平台
17+阅读 · 2019年6月1日
CVPR2019目标检测方法进展综述
极市平台
45+阅读 · 2019年3月20日
CVPR2019 | FSAF:来自CMU的Single-Shot目标检测算法
极市平台
41+阅读 · 2019年3月8日
目标检测论文阅读:DetNet
极市平台
9+阅读 · 2019年1月28日
CVPR2018 目标检测算法总览(最新的目标检测论文)
极市平台
21+阅读 · 2018年12月21日
CVPR 2018|Cascade R-CNN:向高精度目标检测器迈进
极市平台
10+阅读 · 2018年7月20日
相关论文
Arxiv
12+阅读 · 2019年4月9日
Panoptic Feature Pyramid Networks
Arxiv
3+阅读 · 2019年1月8日
Arxiv
5+阅读 · 2018年4月17日
Arxiv
7+阅读 · 2018年1月24日
Top
微信扫码咨询专知VIP会员