yolov3實現之理論

1、yolov3簡介        

        yolov3已經出來好久了,最近花了些時間分析了下yolov3的源碼。yolov3並沒有很大的創新,更多的是借鑑了最近兩年一些網絡構造技巧。不過不得不承認效果還是很讚的,在保持速度的前提下,提升了預測精度,尤其是小目標物體的檢測相比v1、v2來說得到了較大的改善。

       yolov3的主要改進:調整了網絡結構;利用多尺度特徵進行目標檢測;對象分類用logistic取代了softmax。

2、網絡結構

   以darknet-53爲例,具體結構如下:

   

 其中Residual示意圖如下:

3、利用多尺度進行目標檢測

 

yolo2中也採用了passthrough結構來檢測細粒度特徵,在yolo3中則採用了3個不同尺度的特徵圖進行目標 檢測。三個尺度的特徵圖尺度相對輸入圖片的stride分別爲32、16、8;stride越大則特徵圖的局部野越大,能夠用於檢測較大的目標物體,stride越小則反之。同時,anchors的引入能夠使得網絡更好的進行學習。網絡中採用了9中尺度的先驗框,具體分配如下:

具體如下(黃色框爲gt,藍色框爲anchors):

4、輸入到輸出的映射

輸出的數據分佈維度信息如下:

 

 

對於416*416的輸入圖像,沒個尺度特徵圖的每個網絡設置3個先驗框,總共有13*13*3 + 26 * 26 *3 + 52 * 52 * 3 = 10647個預測結果,沒個榆次是(4 + 1 + 80) = 85維向量。而yolo2中只有845個預測。

5、總結

     yolo3借鑑了殘差 網絡,形成了更深的網絡層次,以及多尺度檢測,提升了map以及小物體檢測效果。

 

個人水平有限,很多東西也是參考了其他人的成果,在此表示感謝,如果文中有誤之處請指教,謝謝!

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