天天看點

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料

關于這兩個模型的環境配置,如何跑通demo來檢測一張圖檔等内容,在我之前的部落格有詳細介紹

https://blog.csdn.net/hesongzefairy/article/details/105228434 (Windows10下快速複現keras yolov3)

https://blog.csdn.net/hesongzefairy/article/details/105238349(Windows10下快速複現Keras Faster RCNN)

keras下的代碼比較簡潔,我就以YOLOv3訓練自己的資料來舉個例子,Faster RCNN與之類似

訓練方法參考了up主的視訊,非常感謝https://www.bilibili.com/video/BV1XJ411D7wF

友善起見采用其提供的項目位址來實作訓練自己的資料集https://github.com/bubbliiiing/yolo3-keras

Step1:使用labelimg标記資料

up主的視訊有很詳細的介紹如何标記資料,不再贅述如何使用labelimg

Step2:處理資料集

使用的是VOC2007資料集格式,我們将标記好的檔案以及原圖資料分别存放在\VOCdevkit\VOC2007\路徑下

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料

然後準備運作voc2yolo3.py檔案,但是可能會報錯提示找不到檔案路徑,自己根據情況修改路徑即可,運作之後會修改ImageSets\Main\train.txt檔案中的資料,其實就是存放訓練檔案名字的地方。

需要注意的是,在model_data檔案夾中有一個voc_classes.txt,需要根據自己的類别作相應修改

最後準備運作voc_annotation.py生成一個資料的映射關系,同樣需要先做修改,classes需要修改

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料

運作之後,可以檢視2007_train中的資料映射關系,其實就是資料的絕對路徑

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料

這樣資料的處理就完成了

Step3:啟動訓練

修改train.py中的一些參數,位置在代碼134行main函數後

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料

如果是按照上面的步驟來設定檔案夾的名稱,路徑基本上不用修改

這裡再提示一下,給的資料集必須大于10張才能正常訓練

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料
Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料

Step4:啟動預測

将log檔案中儲存的權重檔案last1.h5拿出來放到model_data中,然後修改yolo.py中的model_path為last1.h5對應的路徑和名稱以及classes_path,最後就可以運作predict.py來測試一幅圖像的預測結果了。

Win10下手把手教你在Keras版YOLOv3、Faster RCNN上訓練自己的資料