和上一篇yolov3的流程差不多,只是更改yolo的cfg文件和預訓練的權重不同,將操作移至./darknet/build/x64文件夾內,將./darknet/下的darknet執行文件復制到./darknet/build/x64/下
cfg主要更改
1. 分辨率為416*416,如果你的顯卡內存不足可以調整subdivisions,減少每次放入內存圖片的數量
2. max_batches=20000(class的2000倍,class=10), steps= 16000,18000(max_batches的80%和90%)
3. [yolo] 部分,修改class=10,filters = 45 ((class+5)*3)
預訓練權重可在官方github上下載
yolov4.cfg -> yolov4.conv.137(預訓練權重)
yolov4-tiny.cfg --> yolov4-tiny.conv.29
訓練
./darknet detector train data/voc-custom.data cfg/yolov4-custom-visdrone.cfg yolov4.conv.137 2>&1 | tee visualization/train_yolov4.log #yolov4.cfg,
./darknet detector train data/voc.data cfg/yolov4-tiny-visdrone.cfg yolov4-tiny.conv.29 2>&1 | tee visualization/train_yolov4.log #yolov4-tiny.cfg,
暫停后繼續訓練(將backup文件夾下的yolov4-***_last.weights復制到x64文件夾下)
./darknet detector train data/voc.data cfg/yolov4-tiny-visdrone.cfg yolov4-tiny-visdrone_last.weights 2>&1 | tee visualization/train_yolov4.log
./darknet detector train data/voc.data cfg/yolov4-visdrone.cfg yolov4-custom-visdrone_last.weights 2>&1 | tee visualization/train_yolov4.log
測試視頻
./darknet detector demo data/voc-custom.data cfg/yolov4-custom-visdrone.cfg yolov4-custom-visdrone_last.weights -ext_output cardemo.mp4