FoveaBox: Beyond Anchor-based Object Detector (https://arxiv.org/pdf/1904.03797v1.pdf)

We present FoveaBox, an accurate, flexible and completely anchor-free framework for object detection. While almost all state-of-the-art object detectors utilize the predefined anchors to enumerate possible locations, scales and aspect ratios for the search of the objects, their performance and generalization ability are also limited to the design of anchors. Instead, FoveaBox directly learns the object existing possibility and the bounding box coordinates without anchor reference. This is achieved by: (a) predicting category-sensitive semantic maps for the object existing possibility, and (b) producing category-agnostic bounding box for each position that potentially contains an object. The scales of target boxes are naturally associated with feature pyramid representations for each input image. Without bells and whistles, FoveaBox achieves state-ofthe-art single model performance of 42.1 AP on the standard COCO detection benchmark. Specially for the objects with arbitrary aspect ratios, FoveaBox brings in significant improvement compared to the anchor-based detectors. More surprisingly, when it is challenged by the stretched testing images, FoveaBox shows great robustness and generalization ability to the changed distribution of bounding box shapes. The code will be made publicly available.


浅谈一下个人对anchor free与anchor based的看法,抛砖引玉~

  1. FoveaBox的anchor free,不代表完全的free,依然需要prior假设+手调参数。
    1. 比如prior假设是不同feature stage可以处理不同scale的物体,这个假设与SSD、FPN等anchor based方法是一致的;
    2. FoveaBox比较重要的手设参数有三个,比如cls prediction有两个δ的设置,与anchor based方法中IoU大于xx为正anchor,小于xx为负anchor是类似的;还有一个η用于设置每个feature stage处理多大范围的scale的物体,跟每个stage需要设置多少个scale的anchor的作用也有点相似。
  2. anchor free设计上挺有意思的,带来了一些新的思考,正如作者提到的问题一样:is the anchor boxes scheme the optimal way to guide the search of the objects? 还是需要看哪种prior假设+手调参数更加符合数据的真实分布,比如有anchor,但设置得很不好,比如牙刷这种ratio相当不常见的物体,anchor相当于提供了一个不准确的初始化,这样还不如让网路自己学习角点到中心点的偏差;但如果一些物体本身中心会很难定义是哪一点,比如一个挡住一部分的桌子,让网路来选择中心加学习偏差可能又会很confused了,反而不如提供了一个好的anchor来的要好。(小孩子才做选择,成年人直接两个都要,都接上然后fuse?233~)

ps 赞作者在下一版增加上与DenseBox的对比,感觉FoveaBox基本有DenseBox的所有优点,也改善了DenseBox的一些缺点(比如测试时候需要跑image pyramid),是一个挺好的工作~


update 2019.08.16

FoveaBox 的代码开源了,与原始的paper相比,我们增加了feature alignment的实验(+1AP),后续会更新一版paper

taokong/FoveaBox?

github.com图标

原回答:

很幸运,自己参与的工作引起了这么大的关注。就不评价了,毕竟利益相关。在这里说几点吧。

关于motivation:其实FoveaBox最大的启发来源有两个,第一个是在文本检测里边广泛使用的基于对文本部分做mask来引导训练,例如[1];第二个是ChenKai同学等的GuidedAnchoring[2],关于[2]我在upenn期间还专门跟Jianbo在paper reading的时候详细讨论过。

关于同期工作:有幸这期间也有同期工作发出,比如[3]和[4]。至于相同和不同点可能仁者见仁,智者见智。这也说明anchor free已经是大势所趋了吧。

关於潜力:除了物体检测,我们最近已经在其他相关的任务中验证了这种思想的潜力,有理由相信,凡是与多尺度定位相关的任务,均可一试。

更新:关于related work,这是我们写paper时的疏漏,感谢 @Alan Huang 指出,与densebox的讨论和对比会添加在下一个版本。

[1] Zhou, Xinyu, et al. "EAST: an efficient and accurate scene text detector." Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017.

[2] Wang, Jiaqi, et al. "Region proposal by guided anchoring." arXiv preprint arXiv:1901.03278 (2019).

[3] Tian, Zhi, et al. "FCOS: Fully Convolutional One-Stage Object Detection." arXiv preprint arXiv:1904.01355 (2019).

[4] Zhu, Chenchen, Yihui He, and Marios Savvides. "Feature Selective Anchor-Free Module for Single-Shot Object Detection." arXiv preprint arXiv:1903.00621 (2019).


很高兴能够看到有一堆anchor-free(实际上并非anchor-free, 只是不是以框作为anchor, 可以是点/区域作为anchor)的工作在近期展现出强大的生命力。另外也很感谢这个工作能够在coco上把结果刷得很高,证明这类方法在通用物体检测上的效果。

但是,文章是否漏了最重要也是最相似的15年的工作作为related work(http://cn.arxiv.org/abs/1509.04874)? 无论是直接回归两个角点,还是positive area的设置, 都极其相似, 但是在放出来的版本里头并无任何相关的描述。

----------------

19年4月11日更新:

感谢作者的回复,表示会在新的版本加入比较。

另外也非常支持大家像FoveaBox @孔涛 一样能够开源工作。 CV本来就是偏向应用的学科,如果大家都能够以开放的姿态去把自己的工作公布出来,整理好代码,这个圈子就能得到更好更快的发展。


感觉 FoveaBox 很可惜的,其实是一个非常非常干净的 anchor-free pipeline,看到 ICLR 上被 PC 用性能为借口拒了(emmmmmm),甚至有点难过 ......


一个比较有意思的细节是,当对gtbox和FPN的不同feature map做匹配的时候,效果最好的超参数是 ,而不是 ,也就是不同的feature map在匹配gtbox的时候是有重叠的。不知道这种匹配方式放到retinanet会不会涨点?

另外还有个疑问:在构造gt的时候使用了 [公式] he [公式] ,这里其实有些超参数(0.3,0.4),是如何选择的?


推荐阅读:
相关文章