M2Det 論文閱讀心得[目標檢測領域]

 

論文地址:https://arxiv.org/pdf/1811.04533.pdf

目前,在目標檢測領域,爲了應對不同尺度的檢測目標,特徵金字塔是必不可少的工具。一提到特徵金字塔,大家第一時間想到的想到的一定是FPN,這一經典之作,已成爲目前主流目標的檢測網絡的基本結構,得到了廣泛的應用,想要了解的同學,可以去閱讀相關的文獻,這裏就不分享了,其網絡結構如下所示:

                                                                   

這篇文章,主要是在構造特徵金字塔方面提出了自己的見解,這是一個非常根本的問題,如果構建更加魯棒的特徵,那麼無論對單階段還是雙階段的目標檢測網絡都具有十分重要的意義。在這裏作者提出了一個MLFPN的結構(很多同學認爲這是FPN的plus版,不過了解過之後還是覺得和FPN在思想上具有很大的差別,見仁見智吧),其中MLFPN有三部分組成,下面我們將逐一介紹這三個子結構。在介紹各個子結構之前,我們先來看一下網絡的整體結構:

 

首先第一個結構是FFM(Feture fusion moudle),該結構的作用是爲了提供後面特徵提取過程中要使用的base feaure。它的結構非常的簡單,但卻具有很重要的意義。其實看到這裏,並結合上面的圖,如果之前對FPN有所瞭解的同學,就可以發現出不一樣的地方來了。這也是作者在摘要部分提出的一個點。首先我們展示一下FFM1的結構:

                                                      

FFM1的結構如上圖所時,其結構其實和FPN中 融合不同resulution的特徵時所用的結構是極其相似的,從某種意義上說,最後得到的Base feature,就是FPN網絡中特徵最豐富的那個特徵。在摘要中,作者提到,FPN(舉例說明)中提取的特徵可能不適用於目標檢測,給出的理由是FPN是使用從識別網絡backbone中直接提取的特徵。不同於識別任務,目標檢測任務中,不同階段的特徵都是具有重要意義的(語義特徵幫助判斷區域屬性,細節特徵幫助準確判定區域的位置與邊界)。說到這裏,我們回頭去看一下FPN甚至之前存在的其他特徵金字塔結構,金字塔的單一尺度特徵都沒有包含特徵提取backbone中的各個階段的特徵(FPN一般只融合到原圖1/4大小的特徵圖)。不過我們可以看到FFM1得到的Base feature是一個非常豐富的原始特徵,他包含特徵提取網絡中各個階段的特徵。後面的操作就是對該特徵的進一步提純和利用。這裏我們就將FFM1的結構和作用介紹清楚了。這裏我們暫時不介紹FFM2,當網絡中需要使用它的時候,我們再作介紹。

 

下面我們要介紹的結構是TUM(Thinned U-shape Module). 從上面的整體結構圖我們可以看到TUM是一個堆疊的結構,首先我們看一下單個TUM的結構:

                  

看到TUM的結構,我們很容易聯想到U-net這個網絡結構,雖然該結構是用於語義分割領域的,但是可以有助於我們理解TUM的功能和作用。該結構,分爲兩個過程,一個下采樣,一個上採樣。我們來看一下這兩個過程,首先是下采樣,這裏使用了3×3,stride = 2的卷積操作實現下采樣,下采樣的主要作用是爲了提取特徵中對於任務反應明顯的特徵(個人理解,不準確),同時再縮小了resolution之後,便於感受野的擴大,有利於抽象特徵的提取(也挺好理解的,下采樣後,讓原本遠離的特徵,能夠相互交互)。然後是上採樣過程,上採樣的過程是結合下采樣各層信息和上採樣的輸入信息來還原細節信息。這樣我們就瞭解了單個TUM的工作了。通過單個TUM,我們就可以得到一個feature pyramid。

下面,我們再來討論一下,堆疊的TUM是如何工作的,首先通過上面介紹的TUM,我們得到一個feature pyramid,這裏面resolution和base feature 相同的特徵圖,我們把他看做pyramid中特徵最豐富的特徵圖,同時他(我們稱之爲f_i)通過TUM之後,相較base feature特徵更加抽象和純淨。但如果我們還想獲取更加抽象的特徵,我們就可以將特徵f_i繼續過TUM結構,這就是堆疊TUM產生的原因。但是這裏作者考慮到了一點就是在TUM的過程中,細節信息或者說一些我們可能需要的信息會丟失,所以讓不完整的特徵去過TUM將會得到更加不完整的特徵,這樣是不可行的。所以,我們需要將丟失的細節信息進行補充,我們使用base feature來補充f_i,說到這裏,可能會有擔心加入base_feature會不會污染f_i,其實不必有這種擔心,完全可以從另一個角度去理解,那就是f_i完全可以引導base_feature的提純的過程,從而得到一個比f_i更加抽象的f_i+1,這樣理解的話,通過一個又一個的TUM,我們可以得到抽象程度越來越高的特徵(不過也不是越多越好,作者在後面會有討論和驗證)。下面是FFM2的結構用於base_feature和f_i的融合:

                                                              

說道這裏,MLFPN的結構,我們大體就介紹完畢了,還剩下最後一部分,不過這一部分,大家理解起來特別容易,就是一個channel attention,下面就是其結構:

將使用堆疊TUM得到的feature pyramid中尺度相同的特徵concat到一起,然後過一個channel attention,非常地簡單易懂。經過以上的操作之後,我們便可以得到一個擁有豐富且路棒的feature pyramid。我的論文筆記就到這裏了,後面的實驗部分就不介紹了,感興趣的可以自己去看一下論文。內容全是個人理解,如果有錯誤的地方,希望大家能夠及時指正,不要對大家造成誤導,感謝大家。

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