YOLOv3训练自定义数据【超级简明,亲测有效】

1 篇文章 0 订阅
1 篇文章 0 订阅

手动收集一批手机图片,然后训练一个能够识别手机的YOLOv3模型,最终效果如下图所示:

 

感谢untilyouydc博主提供的轮子,可以很方便的爬取百度图片

https://blog.csdn.net/qq_40774175/article/details/81273198

????????????????????????

 

 

????????????????????????

 


 

本次测试在服务器上的目录为/data_1/git/

  • 下载darknet工程
cd /data_1/git/

git clone https://github.com/pjreddie/darknet

cd darknet

 

  • 修改相应配置
vim Makefile

将GPU=0改为GPU=1,使用GPU进行训练

 

  • 执行
make

 

  • 准备训练数据集及相关配置文件 (该目录)
cd /data_1/git/darknet/test/


  • JPEGImages 文件夹保存用于训练的图片

  • labels 文件夹保存训练图片对应的标注结果

(采用labelImg标注工具: 参考 https://github.com/tzutalin/labelImg )

 

  • 将labels下的标注文件拷贝到JPEGImages目录下
cd /data_1/git/darknet/test/labels

scp * ../JPEGImages

cd ../JPEGImages

ls

 

  • lxp.names 保存类别对应的标签名称 

 

  • tain.txt & val.txt 保存训练集和验证集图片的绝对路径清单

 

  • backup_big 用于保存模型权重文件的中间结果,名称可以随意取
cd /data_1/git/darknet/test/

mkdir backup_big

 

  • lxp.data 保存训练相关参数

(classes对应类别数量,train对应训练集图片路径集合,valid对应验证集训练图片路径集合,names对应类别标签名称文件,backup对应训练过程中保存模型权重文件的中间结果的文件夹)

  • yolov3-lxp.cfg

文件详细解释 ???YOLO - YOLOV3 .cfg 配置文件 参数含义

关闭测试模式、开启训练模式,根据需要调整最大迭代次数

vim /data_1/git/darknet/test/yolov3-lxp.cfg

在文件中搜索yolo层,将前一个网络层中filters参数进行修改,文件总共有3处需要修改

 

  • 下载预训练模型权重
cd /data_1/git/darknet/test/

wget https://pjreddie.com/media/files/darknet53.conv.74
  • 开始训练模型
cd /data_1/git/darknet/

./darknet detector train test/lxp.data test/yolov3-lxp.cfg test/darknet53.conv.74

  • 开始测试模型
cd /data_1/git/darknet/

./darknet detector test test/lxp.data test/yolov3-lxp.cfg test/backup_big/yolov3-lxp_final.weights test/JPEGImages/hold_phone_1.jpg

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值