原作者 : YunYang1994
论文: YOLOv3
环境: win7 + anaconda + python3.6 ( 建议用anaconda,方便一些)
下载代码之前,请先装好环境和相关依赖。
pip install -r docs/requirements.txt
git clone [email protected]:sowei728/tensorflow_for_YOLOv3.git
wget https://pjreddie.com/media/files/yolov3.weights
windows 没有wget命令就直接找个浏览器把URL输进去就好了
使用labelImg脚本,下载地址: http://tzutalin.github.io/labelImg/
脚本使用非常简单,自己看看就会了,最后脚本生成的xml文件放入dataset文件夹的anno文件夹中,原jpg的图片放入images文件夹中
自己新建3个txt文件:
labels.txt 存放所有图片的标注信息
train.txt 存放训练图片的标注信息(总图片的80%)
test.txt 存放测试图片的标注信息(总图片的20%)
文件内容:(以空格隔开)
图片路径 x1min y1min x1max y1max cls1_id x2min y2min x2max y2max cls2_id ........
运行脚本即可:
python scripts/load_xml_into_txt.py
python convert_tfrecord.py --dataset_txt ./apple_dataset/train.txt --tfrecord_path_prefix ./apple_dataset/apple_train
python convert_tfrecord.py --dataset_txt ./apple_dataset/test.txt --tfrecord_path_prefix ./apple_dataset/apple_test
apple_test.tfrecords 和 apple_train.tfrecords会生成在dataset目录下
python show_input_image.py
如果正常出现图像及标注信息则代表文件标注无问题
python kmeans.py
会输出准确率和k个anchor box的长宽信息,本实验中确定的k值为9
长宽信息需要填入到data/apple_anchors.txt中
python convert_weight.py --convert
python quick_train.py
python convert_weight.py -cf ./checkpoint/yolov3.ckpt-2500 -nc 5 -ap ./data/apple_anchors.txt --freeze
这里面的2500表示实际模型的迭代次数,要根据实际模型来更改
5表示具体的分类总数
具体分类信息见data/apple.names文件
python quick_test.py
python evaluate.py
evaluate1.py是我根据我论文重写的一个评估函数,有兴趣可以和我讨论。