YOLOv3使用筆記 修改backbone網路

2021-08-29 09:36:31 字數 777 閱讀 7918

對於部分場景簡單,目標較大的影象可能並不需要darknet53這種深度的backbone網路也能檢測出來,出於這樣的目的,試驗將darknet53替換為darknet19、resnet等,既減少了模型計算量,又加快了推理時間。

backbone網路對比:

有各個網路的cfg以及在imagenet上的預訓練模型。

1.替換backbone網路

以修改darknet19為例,擷取convolutional filters1000之前的網路部分,替換掉yolov3中的darknet53部分。其中darknet53做了三次yolo層用於提取特徵,每個yolo模組中有個route層,route層意義是將幾個層的輸出接到一塊作為輸出,幾個層的輸出大小要求一致。需要修改的地方,找到替換網路中的conv層與route選定的層輸出大小一致。

替換resnet另外需要將 random=1改為 random=0。主要是舊版本的darknet當 random=1時resize存在問題。

2.在替換的網路上做fine-tuning

重新extract weights

./darknet partial cfg/darknet19.cfg darknet19.weights darknet19.conv.40 40
提取1~39層darknent19的引數,設定的40大於darknet19的層數就可以。

得到的darknet19.conv.40可以做為修改的yolov3-darkent19網路的初始化模型。

YOLOv3使用筆記 計算mAP recall

1.批處理測試圖輸出檢測結果文字 darknet detector valid cfg voc.data cfg yolov3 voc.cfg results yolov3 voc final.weights out detect result.txt使用detector valid引數,具體函式是...

yolo v3使用測試

yolov3 測試影象新增置信度與訓練bmp影象格式 2.yolo cfg檔案中各個引數的含義 3 批量測試並新增到自己的資料夾 參考部落格 其中第乙個存在的問題是,儲存的資料夾中影象沒有標記 問題是沒有新增畫框函式 void test detector char datacfg,char cfgf...

Yolov3訓練筆記

1 使用標註工具對影象進行標註 標註的資料是目標的左上和右下的座標 xmin,ymin,xmax,ymax 2 對已標註的資料進行轉換,轉換為目標的中心座標及寬高 xc,yc,wc,hc 並歸一化 box xc xmax xmin 2 yc ymax ymin 2 wc xmax xin hc ym...