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),是如何選擇的?


推薦閱讀:
相關文章