1、获取Pascal VOC Data并解压
wget https://pjreddie.com/media/files/VOCtrainval_11-May-2012.tar
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-2012.tar
tar xf VOCtrainval_06-Nov-2007.tar
tar xf VOCtest_06-Nov-2007.tar
2、生成VOC标签
现在我们需要生成Darknet使用的标签文件,要生成这些文件,我们将voc_label.py在Darknet的scripts/目录中运行脚本。
python voc_label.py
或者自己下载再运行
wget https://pjreddie.com/media/files/voc_label.py
python voc_label.py
3、运行脚本后,在该目录下生成几个文件,表示运行成功。
2007_test.txt
2007_train.txt
2007_val.txt
2012_train.txt
2012_val.txt
4、修改Pascal Data的Cfg
修改/darknet/cfg/voc.data配置文件来指向你自己的数据
classes= 20
train = <path-to-voc>/train.txt
valid = <path-to-voc>2007_test.txt
names = data/voc.names
backup = /backup
注意:1、backup文件若是不存在需要自己手动创建一个。
5、下载预训练的权重
wget https://pjreddie.com/media/files/darknet19_448.conv.23
6、开始训练
注意:路径要对应(darknet19_448.conv.23)放在cfg同一级目录。
./darknet detector train cfg/voc.data cfg/yolo-voc.cfg darknet19_448.conv.23
7、测试训练模型的效果
cd darknet
./darknet detector test cfg/voc.data cfg/yolo-voc.cfg 你的backup目录/my_final.weights data/测试图片.jpg -thresh 0.05 (可调整设置阈值)
其它数据集如在COCO上训练原理一样。
参考博客:https://pjreddie.com/darknet/yolo/