一、准备工作
1、通过下面的网站下载tensorflow文件包
https://github.com/wizyoung/YOLOv3_TensorFlow
2、下载权重文件:https://pjreddie.com/media/files/yolov3.weights
3、把下载好后的文件放在 ./data/darknet_weights/ 目录下,然后进行权重转换,在/YOLOv3_TensorFlow-master/目录下运行如下代码:
python3 convert_weight.py
4、运行 demos
在 ./data/demo_data/ 目录里有一些图像和视频的 demos 可以运行。
单个图像测试 demo:
python test_single_image.py ./data/demo_data/messi.jpg
视频测试 demo:
python video_test.py ./data/demo_data/video.mp4
二、训练自己的数据集
1、制作VOC数据集,并将文件夹放在 ./data目录下
2、运行/YOLOv3_TensorFlow-master/misc/目录下的parse_voc_xml.py文件。其中把代码中的voc_12与有关代码删除。
注意代码第14行的voc_07一定用绝对路径来表示,不然训练时会报错。修改代码93和94行的路径为…/data/my_data/train.txt和…/data/my_data/val.txt
3、./data/my_data/ 目录下生成 data.names 文件,每一行代表一个类别名称。
4、运行/YOLOv3_TensorFlow-master/目录下的get_kmeans.py文件生成一串数字,并修改第142行的路径为annotation_path = “./data/my_data/train.txt”(此路径根据你实际的路径来写)。将生成的数字复制到./data/目录下的yolo_anchors.txt中,覆盖原数字
5、在/YOLOv3_TensorFlow-master/目录下目录下建文件夹checkpoint用来存放训练模型,然后执行train.py就可以训练yolov3模型行。注意,在训练模型之前需要在args.py文件中修改路径,例如第17行修改成./data/my_data/voc.names。