参考文档:(tiny) YOLOv4 详细训练指南(附下载链接)_yolov4_tiny 预训练模型下载-CSDN博客
由于需要在gazebo上识别仿真平台提供的iris四旋翼无人机,需要对其建立数据集并训练自己的.weights文件
下载编译darknet
cd ~
git clone https://github.com/AlexeyAB/darknet.git
编辑Makefile
cd ~/darknet
gedit Makefile
以下是我的设置:
其中,GPU和CUDNN是GPU加速,CUDNN_HALF是特定硬件加速,OPENCV是否使用OpenCV,AVX和OPENMP是CPU加速。
make -j8
#or
make
准备训练环境
截取gazebo平台中的iris模型用作识别(其他数据集亦可自行仿照标注)
点击右上角照相机截图,或是利用系统自带的截图工具截图
安装labelme进行标注
sudo apt-get install labelme
# or
sudo pip3 install labelme
labelme #打开labelme进行标注
准备的数据文件应如下:
----VOCdevkit\
|----VOC2007\ # 目录
| |----Annotations\
| | |----00000001.xml # 图片标注信息
| |----ImageSets\
| | |----Main\ # 训练:验证:测试=1:1:2
| | | |----test.txt # 测试集
| | | |----train.txt # 训练集
| | | |----val.txt # 验证集
| |----JPEGImages\
| | |----00000001.jpg # 对应图片
于darknet文件夹中创建训练数据文件夹
cd ~/darknet
mkdir -p train_data/VOCdevkit/VOC2007/Annotations train_data/VOCdevkit/VOC2007/ImageSets/Main train_data/VOCdevkit/VOC2007/JPEGImages
将截图的文件放到~/darknet/train_data/VOCdevkit/VOC2007/JPEGImages
由于labelme生成的文件为.json,训练需要的是.xml格式文件,需要将.json转换为.xml
mkdir -p ~/darknet/train_data/VOCdevkit/VOC2007/Json #建立Json文件夹保存.json文件