spp net

以ssp 代替pool的網絡架構
在這裏插入圖片描述
ssp 參數計算公式:
不同的input size,spp layer參數不同,產生相同的輸出,使用的pooling 參數不同(window size 、stride)

feature mapping計算公式:
原始圖像某一個像素點(x,y)映射到feature map的計算公式:
x/strides(到此feature map前,所有經過的stride乘積)

在這裏插入圖片描述
分析ssp layer:
在深度網絡中,引入空間金字塔池化來代替普通的池化層,對特徵進行了進一步的匯聚,無論對何種input image,計算合適的金字塔的window size(feature map size/ number of block 上取樣)和stride(feature map size/ number of block 下取樣),都可得到固定維度的特徵以輸入到全連接層。

空間池化層改善了:
測試圖像不必crop,full image可避免圖像因crop而導致的信息丟失或是wrap導致物體變形
在訓練網絡時,輸入圖像大小無需固定,網絡在識別object可實現與尺度無關
在不加參數的同時,進一步從細粒度到粗粒度匯聚了特徵。(空間金字塔)

classification任務

作者分別採取以下對比試驗:
1、有/無SPP-net
2、single-size 和 multi-size訓練,雖然spp-net可使得輸入圖像大小任意,但gpu高效實現基於固定尺寸。作者採用一個epoch訓練時,固定使用一個尺度。對於輸入尺度爲224 image(crop得來)先訓練,在下一個epoch,將相同的224crop image resize爲180.(在此之前的方法,想實現尺度無關,將test image resize到多個尺度,10-view-crop獲取平均得分)
3、測試使用10-crop -view/resize後的 full image
4、單一尺度測試+10crop-view/多尺度測試+10crop-view,多尺度測試,針對某一個scale,計算一個feature map,直接利用input image和feature map間的映射關係,獲取10個crop的特徵表示,各個尺度crop的內容不同,crop size相同,與單尺度測試crop相比,多尺度crop image更多。

object detection任務
流程:
在原始圖像上產生2k個proposal
多尺度測試,resize 多個尺度,分別計算各個尺度上的feature map,利用mapping ,求出proposal在feature map的位置,選擇大小接近224的scale。
feature 輸入到ssp layer得到固定的特徵表示,輸入到fc層,得到最終的特徵表示
輸入最終的特徵,訓練SVM
利用pool5 訓練迴歸器

爲什麼ssp-net僅需要計算一次特徵?
test image無需crop,所有的proposal 都將對應到feature map裏;然而r-cnn要求輸入固定大小圖像,當採用crop操作,部分proposal將被移除,對檢測率產生影響。

使用針對classification任務已經訓練好的網絡
微調spp-net :detection任務,正樣本是proposal與 label 的iou大於0.5,負樣本爲proposal與 label 的iou大於0.5。(深度網絡需要大量數據)
訓練SVM:正樣本僅爲label,負樣本爲proposal與 label 的iou大於0.3。(不需要大量數據,僅與特定任務相關)

訓練迴歸器改善檢測率?

實驗對比:
1、測試單尺度和多尺度對比(test image resize爲多個尺度,選擇在各個尺度下proposal大小爲224的尺度對應的scale進行測試,因爲pre-training時,input size爲224,假定單一尺度訓練,故proposal接近225效果好)
2、是否fine-tuning SSP-net(僅調整全連接層fc6,7,替換1000-way 爲21-way)
3、使用fc6,fc7,pool5訓練SVM效果

實驗結果表明,在測試時,由於不需要對2k個proposal進行卷積操作,檢測速度大大提升,同時利用多尺度測試可獲得與r-CNN可比較的結果。

參考鏈接:

https://www.cnblogs.com/xiaoboge/p/10567869.html
https://blog.csdn.net/v1_vivian/article/details/73275259?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

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