目標檢測:各種網絡結構對比

1、通常的CNN網絡結構如下圖所示

                     圖1

上圖網絡是自底向上卷積,然後使用最後一層特徵圖進行預測,像SPP-Net,Fast R-CNN,Faster R-CNN就是採用這種方式,即僅採用網絡最後一層的特徵。

以VGG16爲例子,假如feat_stride=16,表示若原圖大小是1000*600,經過網絡後最深一層的特徵圖大小是60*40,可理解爲特徵圖上一像素點映射原圖中一個16*16的區域;那原圖中有一個小於16*16大小的小物體,是不是就會被忽略掉,檢測不到了呢?

結論:早起最常用的網絡結構,缺點就是會造成檢測小物體的性能急劇下降。

 

2、圖片金字塔生成特徵金字塔

鑑於上面的單層檢測會丟失細節特徵;就會想到利用圖像的各個尺度進行訓練和測試,比如下圖所展示,將圖像做成不同的scale,然後不同scale的圖像生成對應的不同scale的特徵

                                       圖2

      將圖片縮放成多個比例,每個比例單獨提取特徵圖進行預測,這樣,可以得到比較理想的結果,但是比較耗時,不太適合運用到實際當中。有些算法僅會在測試時候採用圖像金字塔。

結論:在機器學習算法中經常使用,例如:HOG+SVM,但是它最大的缺點就是很耗時,很難應用於工程中。

3、多尺度特徵融合的方式(特徵金字塔)

                      圖3

像SSD(Single Shot Detector)就是採用這種多尺度特徵融合的方式,沒有上採樣過程,即從網絡不同層抽取不同尺度的特徵做預測,這種方式不會增加額外的計算量。作者認爲SSD算法中沒有用到足夠低層的特徵(在SSD中,最低層的特徵是VGG網絡的conv4_3),而在作者看來足夠低層的特徵對於檢測小物體是很有幫助的。

結論:目前one-stage目標檢測網絡最常用的網絡結構,對於小目標的檢測,需要注意取到的較低層的特徵,畢竟底層的特徵包含更多的細節信息。

4、FPN(Feature Pyramid Networks)

                            圖4

FPN主要解決的是物體檢測中的多尺度問題,通過簡單的網絡連接改變,在基本不增加原有模型計算量的情況下,大幅度提升了小物體檢測的性能。通過高層特徵進行上採樣和低層特徵進行自頂向下的連接,而且每一層都會進行預測。

結論:借鑑了語義分割的思想,將上下層特徵進行合併,進一步提升小物體檢測率,在Anchor-free的目標檢測網絡中應用廣泛。

 

5、top-down pyramid w/o lateral

                                              圖5

      該網絡有自頂向下的過程,但是沒有橫向連接,即向下過程沒有融合原來的特徵。實驗發現這樣效果比圖1的網絡效果更差。結論:效果之所以變差,主要因爲目標的location特徵在經過多次降採樣和上採樣過程後變得更加不準確。 

 

6、only finest level

                                       圖6

上圖帶有skip connection的網絡結構在預測的時候是在finest level(自頂向下的最後一層)進行的,簡單講就是經過多次上採樣並融合特徵到最後一步,拿最後一步生成的特徵做預測,跟FPN的區別是它僅在最後一層預測。

結論:很顯然,它沒有在多個特徵層進行predict,對多尺度目標魯棒性不夠好。

 

參考鏈接:https://blog.csdn.net/kk123k/article/details/86566954

 

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