有幾點原因:
1. 後面實習要解決實例分割中的目標多尺度問題(當然不只是這個問題,還有其他的),為此對CNN中這幾年的多尺度處理方法進行簡要總結~_~,時間緊任務重,只記錄了一點點東西,核心的還是要去看論文讀代碼。2. 最近在準備開題的東西,其中也討論了該問題,這裡又擴展了一些論文;
3. 自己發不了頂會在知乎上宣傳,只能寫寫文章~~
4. 過兩天要去實習了,沒心情學習,終於要離開這個rang自己又愛又恨又安逸的地方,心情略顯複雜,對,我很開心~~~
視覺任務中處理目標多尺度主要分為兩大類:
- 圖像金字塔:經典的基於簡單矩形特徵(Haar)+級聯Adaboost與Hog特徵+SVM的DPM目標識別框架,均使用圖像金字塔的方式處理多尺度目標,早期的CNN目標識別框架同樣採用該方式,但對圖像金字塔中的每一層分別進行CNN提取特徵,耗時與內存消耗均無法滿足需求。但該方式毫無疑問仍然是最優的。值得一提的是,其實目前大多數深度學習演算法提交結果進行排名的時候,大多使用多尺度測試。同時類似於SNIP使用多尺度訓練,均是圖像金字塔的多尺度處理。
- 特徵金字塔:這個概念早在ACF目標識別框架的時候已經被提出(PS: ACF系列這個我前兩年入過一段時間的坑,後來發現他對CPU內存要求太大,不過確實是前幾年論文灌水利器,效果也還不錯,但還是不能落地的,我已果斷棄坑)。而在CNN網路中應用更為廣泛,現在也是CNN中處理多尺度的標配。目前特徵提取部分基本是FCN,FCN本質上等效為密集滑窗,因此不需要顯示地移動滑動窗口以處理不同位置的目標。而FCN的每一層的感受野不同,使得看到原圖中的範圍大小不同,也即可以處理不同尺度的目標。因此,分析CNN中的多尺度問題,其實本質上還是去分析CNN的感受野,一般認為感受野越大越好,一方面,感受野大了才能關注到大目標,另一方面,小目標可以獲得更豐富的上下文信息,降低誤檢。
SSD中的多尺度處理