YOLOv2训练DOTA数据集
环境准备
- 安装darknet
darknet是小众的深度学习框架,它易于安装,没有任何依赖项,源代码结构清晰,便于修改,可移植性强。 - developmert kit
- cuda-10.0 and cudnn-7.6.4 on Ubuntu 16.04.1 LTS
- 下载预训练卷积层权重
- 下载数据集DOTA-v1.5或DOTA-v1.0
数据处理
- 图片和标签分割
图片和标签分割成统一的尺寸, 在本实验中将图片分割成 1024*1024 - 格式转换
在 DOTA 数据集中,标注的格式是“x1 y1 x2 y2 x3 y3 x4 y4 category difficult”
而 Darknet 需要的格式是“category-id x y width height” - 修改cfg/dota.data文件
classes=15
train = /home/yh/dota/dota_data/YOLO/train/train.txt#训练集文件路径
valid = /home/yh/dota/dota_data/YOLO/test/test.txt#测试集文件路径
names = data/dota.names#标签分类
backup = /home/yh/dota/darknet/dota-backup#权重文件保存路径
- 修改cfg/dota.cfg网络配置文件
文件末尾: classes=A;filters=(A+5)*5
分为train、test双模式
https://blog.csdn.net/hrsstudy/article/details/65447947
- 修改Makefile文件
配置GPU、CUDA、Opencv等
训练
./darknet detector train cfg/dota.data cfg/yolo-dota.cfg darknet19_448.conv.23 -gpu | tee log.txt
使用GPU加速,并将训练日志保存在log.txt
测试
./darknet detector test cfg/dota.data cfg/yolo-dota.cfg dota-backup/yolo-dota_450000.weights /test/images/P0017__1__0___0.jpg -thresh 0.1
测试权重文件,并设置置信度
参数调试
- 减少nan训练发散
调高batch;增加数据集规模 - 每batch个样本更新一次参数,根据设备性能设置subdivision
- can’t load image
txt文件格式修改为Unix - 参考
https://blog.csdn.net/hrsstudy/article/details/65447947