如何训练你自己的yolov3标注数据

Submitted by Lizhe on Fri, 10/09/2020 - 05:51

这里我使用的是猫狗图片集

20201009015241

1 安装vott

https://github.com/Microsoft/VoTT/releases

2 创建vott项目

20201009015934

3 导出格式设置为 csv

20201009020346

 

4 打开自动检测,这样可以省下不少手动标注工作

这里只是一个演示,如果是自己的项目,这里还是需要手动做标注的

20201009020452

20201009020624

 

5 克隆

git clone https://github.com/AntonMu/TrainYourOwnYOLO.git

然后别忘了安装一下依赖包 pip install -r requirements.txt

6 拷贝到处的 图片文件夹到

TrainYourOwnYOLO/Data/Source_Images/Training_Images

这里需要拷贝的是 vott-csv-export ,这个文件夹的根路径下应该包含

dogcat-export.csv 和 若干 jpeg 图片

 

7 对图片进行处理

把vott生成的 vott-csv-export 文件夹拷贝到 Training_Images 下,然后调用

python Convert_to_YOLO_format.py

会得到 Data/Model_Weights/data_classes.txt文件

20201009055248

20201009055436

 

8 下载默认权重

cd 到 TrainYourOwnYOLO/2_Training

python Download_and_Convert_YOLO_weights.py

脚本启动之后会在/2_Training/src/keras_yolo3 路径下 下载 yolov3.weights

下载完成之后会拷贝成 yolo.h5

20201009054457

9 然后就可以使用 文件夹2 中的

python Train_YOLO.py 

来进行训练了

( 这里由于我之前的文件路径带了 - 减号,会发生找不到文件 )

把 减号 去掉之后,重新依次调用

python Convert_to_YOLO_format.py

python Download_and_Convert_YOLO_weights.py ( 其实不用 )

python Train_YOLO.py 

20201009061521

 

最终会生成一个 trained_weights_final.h5

然后就可以使用

python Detector.py

进行预测了

20201012114023

 

 

一共2000张图片,使用

RTX6000 24GB 显存的话,100秒每 epoch

CPU 就慢多了, 540秒每 epoch 

要使用 gpu的话

conda install cudatoolkit=10.1

conda install cudnn  ( 当前是 默认 7.6 )

20201012143130

20201012143217

 

20201012024902

 

20201012150224