Keras下實現yolov2並使用自己的資料集

2021-10-02 16:03:09 字數 1012 閱讀 6317

在windows下想嘗試弄個yolo試試,先從v2版本開始吧,本文主要記錄復現**出現的問題,以及使用自己資料庫測試出現的問題。

一.**復現

環境:windows10下使用anaconda + pycharm  顯示卡1080ti

為了用gpu肯定是conda install keras-gpu,一定要保證有cuda和cudnn

另外還需要imgaug、opencv-python、h5py 

環境配置可參見

下好的資料集有四個資料夾,就訓練和測試來說,images存放的是訓練,annodations存的是label,data中是做好的csv檔案。

接下來我們需要調整設定檔案config.json

,

"train": ,

"valid":

}

最關鍵的幾個點:

設定label為「raccoon」,如果使用自己的資料集就換成自己對應的label

資料集的位址設定,設定好train_image_folder和train_annot_folder才能順利讀取和label

最後需要執行gen_anchors.py(python gen_anchors.py -c config.json)獲取anchors,將輸出得結果複製到config.json相應位置即可

完成以上這些設定後,就可以啟動訓練程式了。

python train.py -c config.json

測試程式

python predit.py -c config.json -w /path/best_weight.h5 -i -/path/image

那麼使用自己的資料集時,最簡單的方法就是將的名字按照作者這樣命名,寫乙個python指令碼就可以實現,並且作者在資料集的**中給出了做label的程式(draw boxes.ipynb)以及xml和csv的轉化檔案,非常方便!

YOLO v2 檢測原理

v2版本的優化目標 改善召回率,提公升定位精度,保證分類準確度。yolov2相比yolov1的改進 v2在每乙個卷積之後增加了bn層,提高了網路訓練的速度,加快了收斂,消除了對其他正則化的依賴,且正則化效果更好,使調參更簡單,即使去掉dropout層也不會產生過擬合。v1先使用224 224的解析度...

YOLOV2演算法筆記

yolov2演算法詳解部落格 一 better 1.對每一層都做了歸一化 2.先利用分類資料對網路進行訓練,然後遷移學習。3.不再和yolov1那樣直接 bounding box,yolov2中開始利用ancher box,4.dimension clusters,利用k means聚類的方式,發現...

Yolo v2 多版本安裝

1 vs2015 opencv3.2 geforce gt 1030 c 編譯 github vs2015安裝 opencv3.2配置 cuda選擇9.0,cudnn配套 配置和編譯 雙擊 darknet master build darknet darknet.sln 如果沒有gpu採用darkn...