yolov4训练自己的数据集(详细)

之前说了好几个目标检测的模型了,今天我们就来讲讲如何运用yolov4来训练自己的数据集。
在开始之前我们需要准备好所需的环境:

# 系统环境
centos=7.9.2009
python=3.7.0
cuda=10.2.89
cudnn=7.6.5
# 自己安装
CMake >= 3.12: 
CUDA >= 10.0;
OpenCV >= 2.4:
cuDNN >= 7.0;
GPU with CC >= 3.0:
GCC or Clang;

1.数据准备

前期的数据标注可以参考yolov3
我们将准备好的数据放入下载完的darknet下,其最终的目录结构如下:

darknet
----VOCdevkit
--------VOC2007
------------Annotations
------------ImageSets
------------JPEGImages
------------- labels

注意voc_label.py一定要在所在的训练数据集的服务器上运行来生成labels

2.源码下载

在开始我们的训练之前的环境需要满足:

git clone https://github.com/AlexeyAB/darknet.git
cd darknet

3.相关文件的参数修改

    1.修改darknet/Makefile

GPU=1  # 修改为1
CUDNN=1 # 修改为1
CUDNN_HALF=0
OPENCV=1 # 修改为1
AVX=0
OPENMP=0
LIBSO=0
ZED_CAMERA=0
ZED_CAMERA_v2_8=0

    2.编译:

make # 或者make -j8
./darknet

如果出现usage: ./darknet <function>怎说明编译成功。
如果遇到No package 'opencv' found ./src/image_opencv.cpp:16:36: fatal error: opencv2/core/version.hpp:可以使用一下命令:

cmake . && make

相关的参数解释可以参考yolov3
至此我们就可以使用模型给定的权重文件放在darknet/yolov4.weights来进行demo的测试了:

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

如果之前都成功的话就会在darknet下出现predictions.jpg:

    2.修改`darknet/cfg/coco.data`:
classes= 4 # 自己的类别
train  = /root/xxx/darknet/2007_train.txt # 由voc_label.py生成
valid  = /root/xxx/darknet/2007_test.txt # 由voc_label.py生成
#valid = data/coco_val_5k.list
names = data/coco.names
backup = backup/ #模型的存放位置
eval=coco

    3.修改darknet/data/coco.namesdarknet/data/coco.names修改为自己的类:

person
car 
dog
airplane

    4.修改darknet/cfg/yolov4-custom.cfg在文件中搜索yolo,并修改其中的3个地方:

filters=27 # (len(classes)+5)*3
activation=linear


[yolo]
mask = 0,1,2
anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401
classes=4 # 自己的类别数

同时如果在训练的过程中出现了mosaic=1 - compile Darknet with OpenCV for using mosaic=1 Segmentation fault:则还需修改:mosaic=1

4.训练和测试

    1.训练:
我们先下载预训练模型darknet/yolov4.conv.137(点击下载):

./darknet detector train cfg/coco.data cfg/yolov4-custom.cfg yolov4.conv.137

训练的模型存放在darknet/backup

    2.测试:

./darknet detector test cfg/coco.data cfg/yolov4-custom.cfg backup/yolov4-custom_last.weights

需要输入数据集的路径(path)
    3.demo测试:

./darknet detect cfg/yolov4-custom.cfg backup/yolov4-custom_last.weights data/imgpath.jpg
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值