多尺度檢測(不同的idea)
(特征金字塔)(空間金字塔池化)(帶洞空間金字塔池化)(融合深淺層特征)
檢測和分割中的例子
分割:
sppnet中的spp空間金字塔池化結構;(spatial pyramid pooling)
pspnet中的pyramid pooling moudle結構,綜合講是金字塔場景解析結構;
deeplabv3+中的aspp結構,以及解碼過程中聯合編碼部分信息的構造;(atrous spatial pyramid pooling)
檢測:
ssd中的使用多尺度的特征圖投向最后的檢測器;
yolov3中使用的三個不同尺度,小尺度上采樣融合前面特征變成大尺度;
FPN中的top-down結構,各種改造的特征金字塔(NAS-FPN、panet、Bifpn);
trident net中的三叉戟結構,類似aspp結構;
根據不同的任務,下面的理由適合解釋多尺度的好處。
深層淺層map信息特征
深層網絡的感受野比較大,語義信息表征能力強,但是特征圖的分辨率低,幾何信息的表征能力弱(空間幾何特征細節缺乏);
低層網絡的感受野比較小,幾何細節信息表征能力強,雖然分辨率高,但是語義信息表征能力弱。
高層的語義信息能夠幫助我們准確的檢測或分割出目標。
深淺層對應適合的目標大小
下采樣倍數小(一般是淺層)的特征感受野小,適合處理小目標,小尺度map(深層)分辨率信息不足不適合小目標
在yolov3中對多尺度檢測的理解是,1/32大小的特征圖(深層)下采樣倍數高,所以具有大的感受野,適合檢測大目標的物體,1/8的特征圖(較淺層)具有較小的感受野,所以適合檢測小目標。
FPN中的處理在下面。
對於小目標,小尺度feature map無法提供必要的分辨率信息,所以還需結合大尺度的feature map
還有個原因是在深層圖做downsample損失過多信息,小目標信息或許已經被忽略。
融合深淺層特征適合做復雜任務
融合深淺層后的特征語義信息特征和空間信息特征都不錯。
圖像中存在不同尺寸的目標,而不同的目標具有不同的特征,利用淺層的特征就可以將簡單的目標的區分開來;利用深層的特征可以將復雜的目標區分開來;這樣我們就需要這樣的一個特征金字塔來完成這件事。
圖中我們在第4層輸出較大目標的實例分割結果,在第5層輸出中型目標的實例檢測結果,
在第6層輸出較小目標的實例分割結果。因為在大的feature map上進行操作,可以獲得更多關於小目標的有用信息(分辨率有關,第三條);
檢測也是一樣,我們會在第4層輸出簡單的目標,第5層輸出較復雜的目標,第6層輸出復雜的目標。
舉例SSD:
SSD采用多尺度的特征圖來預測目標,使用具有較大感受野的高層特征信息預測大的物體,具有較小感受野的低層特征信息預測小目標。
這樣就帶來一個問題:使用的低層網絡的特征信息預測小目標時,由於缺乏高層語義特征,導致SSD對於小目標的分類結果較差,即SSD沒有充分利用淺層與深層的特征。
解決這個問題的思路就是對高層語義信息和低層語義信息進行融合,豐富預測回歸位置框和分類任務輸入的多尺度特征圖,以此提高精度。