ubuntu20下yolov4训练多目标实战

news/2024/10/26 15:18:10/

1、安装nvidia驱动和cudnn,不熟悉的小伙伴请移步:Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制_ubuntu20.04安装显卡驱动_BetterJason的博客-CSDN博客

2、编译opencv,不熟悉的小伙伴请移步:ubuntu20.04 和centos8平台opencv4.5.3&opencv_contrib编译_BetterJason的博客-CSDN博客

3、编译yolov4,不熟悉的小伙伴请移步:ubuntu20下yolov4的编译_BetterJason的博客-CSDN博客

4、使用Labelimg工具标注文件,每个图片文件将会产生一个对应的xml文件

5、建立训练文件的目录结构:在darkent目录下建立如下文件夹:

将标注产生的xml文件复制到Annotations目录下

将训练图片复制到JPEGImages目录下

6、使用 genfiles.py(脚本文件在文末给出)将标注的xml文件转换为yolov4标注格式的txt文件,执行genfile.py之前,请打开genfiles.py将如下内容改为自己训练类的内容:

然后执行: python3 genfiles.py

执行genfiles.py后的文件布局:

在darkent目录下产生:2007_test.txt  2007_train.txt

2007_train.txt:用于训练

2007_test.txt :用于测试

最终训练使用到文件:

darkent/2007_train.txt   (训练文件信息)

darkent/2007_test.txt    (测试文件信息)

/darknet/VOCdevkit/VOC2007/JPEGImages (训练的图片文件)

darknet/VOCdevkit/VOC2007/labels   (yolov4格式的标注有文件)

7、训练参数设置:

在darknet/data目录下修改文件

将 voc.names 复制为 voc-xxx.names,  voc-xxx.names是你自己重新命名的配置文件

sudo vim voc-xxx.names

 将voc.data 复制为voc-xxx.data,voc-xxx.data是你自己重新命名文件

sudo vim voc-xxx.data

8、下载训练的权重文件 yolov4.conv.137 (下载地址文末给出)

9、修改训练的cfg文件

darknet/cfg目录下

将 yolov4-custom.cfg 复制为 yolov4-xxx.cfg , yolov4-xxx.cfg是你自己命名的训练配置文件名字

修改 yolov4-xxx.cfg

sudo vim /cfg/ yolov4-xxx.cfg

ps:

batch要能够被subdivisions整除

 width 和height是训练时把训练图片resize的大小,就是把训练图片resize为width和height在送往训练器,其中width和height必须能被32整除。

修改三个yolo层前面的卷积层参数:

 10、开始训练

cd darknet
./darknet detector train data/voc-xxx.data  cfg/yolov4-xxx.cfg  yolov4.conv.137 -map

 11、训练完成后,在darknet/backup目录下保存训练的权重用带best的权重

12、测试修改 darknet/cfg/yolov4-xxx.cfg

# 对图片进行测试
./darknet detector test data/voc-xxx.data data/yolov4-xxx.cfg backup/yolov4-xxx_final.weights data/dog.jpg
# 对视频进行测试
./darknet detector test data/voc-xxx.data data/yolov4-xxx.cfg backup/yolov4-xxx_final.weights  test.mp4
# 对摄像头进行测试
./darknet detector test data/voc-xxx.data data/yolov4-xxx.cfg backup/yolov4-xxx_final.weights -c 0

相关文件下载:

链接:https://pan.baidu.com/s/1eGL616eVGWeHCuRpDqqSTQ?pwd=31wq
提取码:31wq
--来自百度网盘超级会员V6的分享


http://www.ppmy.cn/news/527916.html

相关文章

Fateboard界面进不去

尝试了很多办法,在浏览器输入虚拟机IP:8080,localhost:8080都进不去 后来灵光一闪,发现fateboard没有启动,然后启动就可以啦 在浏览器输入虚拟机IP:8080

echarts官网进不去,处理DNS了还是进不去

最近我的谷歌浏览器进不去echarts官网,按照网上的方法处理了DNS缓存,也还是进不去,这时候只需要把电脑连接的网络从WiFi换成手机热点即可,具体啥原因还不太明白!

vulfocus靶场进不去

docker是开启的,运行vulfocus的指令也没问题,ip,id都是正确的。但主机连接的时候就是失败。尝试手动关闭防火墙,发现连接成功。

英伟达账户一直登陆不进去解决办法

浏览器报错信息,验证程序加载失败,请检查您的浏览器设置,例如广告拦截程序 操作办法: 1. 然后改DNS——控制面板——网络和共享中心——更改适配器设置——找到当前连的网(无线或者以太)——右键属性——网络选项卡找到“Internet 协议版本4 (TCP / IPv4)”双击或 …

神佑释放服务器正在维护,神佑释放进不去怎么回事 服务器进不去解决办法分享...

导 读 神佑释放进不去咋回事,目前游戏进入了公测阶段了,为什么进不去,还出现了派对情况,但是最后还是失败了,为什么出现这样的问题,下面就来介绍下神佑释放进不去为什么。 神佑释放进不去解决方法 1、... 神…

原神手游显示无法连接服务器,原神手游进不去怎么办 游戏无法登录解决方法...

原神手游终于迎来公测了,相信不少小伙伴们已经开始了提瓦特大陆的冒险之旅,不过还有一部分小伙伴们却被卡在了登录上,原神手游进不去怎么办呢,这里就来和各位分享一下游戏无法登录的解决方法。 1、小伙伴们如果在登录游戏的时候&a…

7.延时消息与原理探究

highlight: arduino-light 4.3 延时消息 延迟消息对应的Topic是SCHEDULETOPICXXXX,注意就是SCHEDULETOPICXXXX,XXXX不是某某某的意思。 SCHEDULETOPICXXXX的队列名称是从2开始到17,对应的delayLevel为3到18,3对应10s,18对应2h,在类…

edge浏览器ie模式设置方法介绍

1、打开edge浏览器,点击右上角的三个点,进入设置 2、选择默认浏览器 3、开启允许在internet explorer模式下重新加载网站 4、重启浏览器后,点击edge浏览器右上角的三个点,在更多工具中,可选择在internet explorer模式下…