FCOS: Fully Convolutional One-Stage Object Detection論文筆記

論文下載地址:https://arxiv.org/pdf/1904.01355.pdf

論文代碼:https://github.com/tianzhi0549/FCOS/

論文創新點:本文作者提出了一種基於特徵圖像素點的目標檢測算法。對特徵圖的每一個點都會通過迴歸網絡預測一個檢測檢測框。該算法的優點是計算量減少了(不需要計算過檢測框和真實框的IOU),超參減少了(不需要考慮anchor的大小設置等參數)。

算法整體流程:

                                              圖1.  算法的整體流程

       算法的整理結構如圖1所示,主要由三部分組成。Backbone模塊是基礎網絡結構,論文中使用的是Resnet-101,主要作用是提取特徵圖。Feature Pyramid模塊主要作用是減少模糊框(後面會講到什麼是模糊檢測框)的數量,提升檢測精度。Classification+Center ness + Regression模塊由三部分組成,這三個部分的作用分別是分類,減少低質量檢測框,迴歸。算法的整體流程是:將圖片傳到Backbone網絡裏面提取一個通用特徵圖,然後建立一個5層的特徵金字塔網絡結構,隨後每一層特徵金字塔都會輸出分類結果和迴歸的檢測框。

        網絡檢測框的輸出是一個四維向量4D(l,t,r,b),如下圖所示。網絡類別的輸出是通過C個二分類來輸出的檢測結果的類別。在訓練過程中,像素點落到ground_truth裏面的都會被當作正樣本,落到其他地方的都會被當作負樣本。

特徵金字塔:

       論文中提出特徵金字塔的作用是解決模糊檢測框問題。模糊檢測框如下圖2所示,在一個像素點出現了兩個不同類別的不同大小的檢測框這個就是模糊檢測框,模糊檢測框會導致歧義,降低算法的性能。

       特徵金字塔是如何消除模糊檢測框的?首先我們通過網絡得到我們不同特徵圖上的檢測框迴歸結果l,t,r,b。設置六個閾值分別是m2,m3,m4,m5,m6和m7,他們的值分別是0, 64, 128, 256, 512 and ∞。如果i層的檢測框中max(l,t,r,b) > mi或者max(l,t,r,b) < mi-1說明這個檢測框不滿足當前特徵圖的要求就需要刪除。也就是說在每一個特徵圖上都指定了不同大小的檢測框,當出現模糊檢測框的情況時迴歸距離不滿足條件的檢測框就會被捨棄。如果經過特徵金字塔之後還存在模糊檢測框問題,就選取最小的那個檢測框作爲最後的檢測結果。

                   圖2 . 模糊檢測框

Center-ness 網絡結構:

       對每一個像素點都進行檢測框的預測勢必會出現很多檢測質量差的檢測框出來。Center-ness網絡結構的作用就是刪除那些質量差的檢測框。

      如下圖所示以檢測對象爲中心(深顏色區域,通過Center-ness預測一箇中心點),向外發展權重(權重計算=像素距離中心點歸一化的值*類別的概率)會越來愈低,以至於遠離目標的檢測框權重會越來越小。這樣再通過NMS就可以消除遠離目標區域的檢測框了。

結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章