YOLOv3原理與流程梳理


YOLOv3網絡是一種單階段的目標檢測方法,目標檢測方法旨在給定的圖片中找出目標物體的坐標位置和所屬類別。我們在這里來梳理一下訓練的大致流程謹供參考,我參考的算法實現為:https://github.com/eriklindernoren/PyTorch-YOLOv3

1.特征提取

YOLOv3的輸入一般是 416x416x3的原始圖片矩陣、n個坐標標簽和n個分類標簽,其中n代表每幅圖中目標物體的個數。在經過特征提取網絡后,會得到三種不同尺寸的特征圖:13x13x255、26x26x255、52x52x255,具體網絡結構如下圖所示(其中Residual代表殘差連接):

2.YOLO層

YOLO層負責對得到的特征圖進行預測或訓練處理,訓練時分別計算坐標損失和分類損失,以網絡得到的尺寸為255x13x13的特征圖為例:
1.首先將特征圖reshape和交換維度為 3x13x13x85,85項的前4列分別為center-x、center-y、w、h的shift預測,第5列為置信度confidence的預測,后面為80個類別的預測
2.對center-x、center-y、confidence、80個類別預測作sigmoid激活操作
3.假設其有n個真實標簽框gt_bbox,只根據寬高計算gt_bbox與3種anchor之間可能的最大IOU值得到(3,n)的IOU表,根據最大IOU值為每個gt_bbox選擇一個anchor,則此anchor下gt_bbox的坐標處為一個正樣本,其余的設為負樣本。
4.將IOU>閾值的預測點取消設為負樣本
5.通過計算得到正樣本標簽
6.根據樣本的預測值和標簽值計算坐標損失、置信度損失和分類損失,其中坐標損失和分類損失只用正樣本的計算


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM