關于這兩個模型的環境配置,如何跑通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\路徑下
然後準備運作voc2yolo3.py檔案,但是可能會報錯提示找不到檔案路徑,自己根據情況修改路徑即可,運作之後會修改ImageSets\Main\train.txt檔案中的資料,其實就是存放訓練檔案名字的地方。
需要注意的是,在model_data檔案夾中有一個voc_classes.txt,需要根據自己的類别作相應修改
最後準備運作voc_annotation.py生成一個資料的映射關系,同樣需要先做修改,classes需要修改
運作之後,可以檢視2007_train中的資料映射關系,其實就是資料的絕對路徑
這樣資料的處理就完成了
Step3:啟動訓練
修改train.py中的一些參數,位置在代碼134行main函數後
如果是按照上面的步驟來設定檔案夾的名稱,路徑基本上不用修改
這裡再提示一下,給的資料集必須大于10張才能正常訓練
Step4:啟動預測
将log檔案中儲存的權重檔案last1.h5拿出來放到model_data中,然後修改yolo.py中的model_path為last1.h5對應的路徑和名稱以及classes_path,最後就可以運作predict.py來測試一幅圖像的預測結果了。