前提:编译好darknet,教程参考本人链接:
https://blog.csdn.net/qq_34806812/article/details/81167836
<https://blog.csdn.net/qq_34806812/article/details/81167836>

开始:

darknet目录下新建VOC文件夹

VOC 2012和2007数据集下载地址(右键复制链接用迅雷打开,速度很快):

https://pjreddie.com/projects/pascal-voc-dataset-mirror/
<https://pjreddie.com/projects/pascal-voc-dataset-mirror/>

下载好的数据集放到VOC文件夹,解压
tar xf VOCtrainval_11-May-2012.tar tar xf VOCtrainval_06-Nov-2007.tar tar xf
VOCtest_06-Nov-2007.tar
为图片数据集生成txt的标签文件

txt标签文件每行格式如下:(类别,x,y,宽,高)
<object-class> <x> <y> <width> <height>
下载voc_label.py文件并运行,将文件下载到VOCdevkit同级的路径下,生成训练和验证的文件列表
,如果下载好了darknet项目,在darknet/scripts/目录下也有voc_lable.py
wget https://pjreddie.com/media/files/voc_label.py python voc_label.py
执行完后,VOCdevkit/VOC2007/labels/ 和 
VOCdevkit/VOC2012/labels/可以看到生成的标签文件,voc目录下也生成5个txt格式的list文件。



训练除了07测试集外的所有数据集,需要整合为一个大的训练list:
cat 2007_train.txt 2007_val.txt 2012_*.txt > train.txt
修改 cfg/voc.data:2、3行改为自己的路径



在darknet目录下载权重文件:
wget https://pjreddie.com/media/files/darknet53.conv.74
开始训练:
./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg darknet53.conv.74
 

将训练得到的weights文件拷贝到darknet/weights文件夹下面,运行以下命令检测图片:
./darknet detector test cfg/voc.data cfg/yolov3-voc.cfg weights/yolov3.weights
data/dog.jpg