提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
    • 1.下载数据集
    • https://github.com/ncs-niva/traffic-cone-image-dataset ![在这里插入图片描述](https://img-blog.csdnimg.cn/8edb1eb3b74447d0a1b46459a71b77e0.png) 其中 images 文件夹中为数据集.jpg图片,labels 文件夹中为与每张图片对应的标签 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b84f6822b2ec4bc582138c2f15f51bfa.png)
    • 2.新建数据集目录
    • 3.修改配置文件
    • 5.训练
    • 5.检测目标
    • 6.ZED2i相机实时识别并测距
    • 7.参考
  • 总结

前言

在已经安装配置好yolov4及opencv4.5.5的前提下,想要实现对交通锥筒的识别,下载已标柱好的交通锥筒数据集,yolov4训练

ubuntu 18.04

显卡:GTX1050

CUDA: 11.6

cuDNN: 8.4.1


1.下载数据集

https://github.com/ncs-niva/traffic-cone-image-dataset

其中 images 文件夹中为数据集.jpg图片,labels 文件夹中为与每张图片对应的标签

2.新建数据集目录

位置可自定义,能够与.cfg .data .txt .names 涉及的路径对应上就OK。

我是在data下新建了trafficcone文件夹,并将数据集图片、标签、配置文件都放进去了。

再在trafficcone文件夹下新建 build ,用于存放训练后生存的 .weights 文件。


PS: 可以将 labels 的内容全部复制,都粘贴在数据集图片所在的文件夹,也许配置时简单些

3.修改配置文件

几个配置文件的名称也可以自定义,但要保证文件名后坠正确

1)obj.names
由于只有交通锥筒需要识别,所以只有1类,名称定为trafficcone

trafficcone

2)obj-cone.data
classes:表示数据集中需要检测的物体有几类
train:表示保存训练数据集的地址
names:表示可检测物体的名称地址
backup:表示保存训练权重文件的地址

classes = 1
train = /home/xxx/darknet-master/data/trafficcone/train-cone.txt
names = /home/xxx/darknet-master/data/trafficcone/obj-cone.names
backup = /home/xxx/darknet-master/data/trafficcone/backup/

3)train-cone.txt
数据集中每张图片所在的地址

/home/xxx/darknet-master/data/trafficcone/images-labels/1.jpg
/home/xxx/darknet-master/data/trafficcone/images-labels/10.jpg
/home/hao/darknet-master/data/trafficcone/images-labels/100.jpg
/home/hao/darknet-master/data/trafficcone/images-labels/101.jpg
/home/hao/darknet-master/data/trafficcone/images-labels/102.jpg
...

4)yolov4-obj-cone.cfg

复制 build/darknet/x64/cfg文件下yolov4-custom.cfg,进行修改:

# step1: 修改batch和subdivisions
L2: batch=64                # 原来就是64
L3: subdivisions=64        # 原来是64,如果报错增大这个值# step2: 修改图片的尺寸
L7: width=416             # 越大越吃显卡
L8: height=416           # 越大越吃显卡# step3: ctrl + F搜索yolo,修改classes(每个yolo层都需要修改一次,一共需要修改三次)
L968: classes=1             # 只需要识别1类物体,因此需要修改成1
L1056: classes=1
L1144: classes=1# step4: ctrl + F搜索yolo,修改每个yolo相邻的上一个convolution层的filter
L961: filters=18            # 因为我预测两类物体:18 = 3*(5+**1**)
L1049: filters=18
L1137: filters=18

5.训练

先下载预训练权重: yolov4.conv.137

./darknet detector train data/trafficcone/obj-cone.data data/trafficcone/yolov4-obj-cone.cfg yolov4.conv.137 -dont_show

PS: -dont_show 非常重要, 可能会帮助解决Dbus报警;

训练完在build 文件夹中,会看到生成 的权重文件:

5.检测目标

./darknet detector test data/trafficcone/obj-cone.data data/trafficcone/yolov4-obj-cone.cfg yolov4-obj-cone_final.weights

PS: detector 跟的是test,与demo不同;

运行后,需要输入待识别图片的位置

或者可以直接在命令后加上图片路径,如:

./darknet detector test data/trafficcone/obj-cone.data data/trafficcone/yolov4-obj-cone.cfg yolov4-obj-cone_final.weights data/xxx.jpg

6.ZED2i相机实时识别并测距

C++环境

LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH ./uselib data/trafficcone/obj-cone.names data/trafficcone/yolov4-obj-cone.cfg yolov4-obj-cone_final.weights zed_camera

用zed2i相机拍另一个屏幕的交通锥筒图片,也可以在室外识别真实交通锥筒(如果条件允许):

7.参考

官方说明:
https://gitcode.net/mirrors/alexeyab/darknet

csdn博客:
https://blog.csdn.net/qq_38316300/article/details/106771964
https://blog.csdn.net/qq_44703886/article/details/109555946
https://blog.csdn.net/m0_62114628/article/details/124356097

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

yolov4训练已标柱的数据集相关推荐

  1. 一文多图搞定制作自己的VOC数据集+使用yolov4训练自己的数据集+封装video测试脚本(基于ubuntu)

    一文多图搞定制作自己的VOC数据集+使用yolov4训练自己的数据集+封装video测试脚本(基于ubuntu) 制作VOC数据集 标注自己的数据集 整理数据集路径格式 训练数据集 环境 在Linux ...

  2. Yolov4训练自己的数据集

    Yolov4训练自己的数据集 代码运行环境Ubuntu18.04+python3.6+显卡1080Ti+CUDA10.0+cudnn7.5.1+OpenCV3.4.6+Cmake3.12.2,详细环境 ...

  3. 使用yolov5训练自动驾驶目标检测数据集BDD100K

    文章目录 一.什么是BDD100K 二.数据预处理 三.环境配置 四.修改模型结构 五.迁移学习 六.训练BDD100K 七.评估性能 八.结语 一.什么是BDD100K BDD100K是伯克利发布的 ...

  4. 使用yolov5训练自己的目标检测数据集

    使用yolov5训练自己的目标检测数据集 yolov4出来后不久,又出现了yolov5,没有论文.虽然作者没有放上和yolov4的直接测试对比,但在COCO数据集的测试效果还是很可观的.很多人考虑到Y ...

  5. keras版Mask-RCNN来训练自己的目标检测数据集

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 一.运行环境的安装: 1.下载好cuda9跟cudnn7,然后在安装好后,cuda其会自动添加 ...

  6. 百度aistudio上使用yolov4训练人脸检测模型

    前几天在百度的aistudio上使用yolov4训练了一下人脸检测的模型,今天看见有人留言希望我写一篇在aistudio上如何使用yolov4的教程,纠结了一下,因为这玩意的操作流程其实在我那篇yol ...

  7. 【原创】YOLOV4 训练自己的训练集——人头检测

    [原创]YOLOV4 训练自己的训练集--人头检测 数据集准备 制作yolov4需要的label以及txt 第一步,删除在"sets"里带2012的,在classes数据写入自己的 ...

  8. ML之NB:基于NB朴素贝叶斯算法训练20类新闻文本数据集进行多分类预测

    ML之NB:基于NB朴素贝叶斯算法训练20类新闻文本数据集进行多分类预测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 vec = CountVectorizer() X_trai ...

  9. pytorch每次迭代训练前都重新对数据集进行采样形成平衡数据集

    对于不平衡数据集的训练通常有两种方法: 一种是先用数据平衡的方法形成平衡数据集之后用于每一轮的训练,此时每轮训练的数据集是不变的,这一方法在pytorch的实现比较简单,即先构建好平衡数据集train ...

最新文章

  1. python怎么查找代码位置查询_Python查询IP地址归属完整代码
  2. 解读百度Q4财报:智能云以三大关键词进位“第二引擎”,强势驱动百度未来
  3. Delphi MlSkin v3.9 (2019.4.15)发布啦! 它能让你的程序拥有像QQ一样多彩炫丽的外观...
  4. caffe+opencv3.3.1
  5. c/c++函数指针(3)
  6. 高性能tornado框架简单实现restful接口及运维开发实例
  7. 不变子空间与线性变换的矩阵之间的关系
  8. 图片压缩小工具,jpg,png压缩
  9. python bartender_bartender使用教程 - 卡饭网
  10. [随想感悟] 申论到底是什么 写好申论的要点
  11. 五线谱音名和组别对照表_五线谱最全知识及符号! 太实用了,100%收藏!!!...
  12. 数据分析实战项目练习——物流行业数据分析
  13. Android学生信息管理系统
  14. C语音:输入两个整数,要求输出其中值较大者。要求用函数来找到大数。
  15. SQL 基础知识扫盲
  16. golang中的并发竞争态
  17. win10系统重装(无需u盘)(无需下载第三方软件)(绝对纯净版)(全网最简)
  18. STM32F103(1)
  19. 万变不离其宗之ZYNQ串口介绍
  20. android逆向快手,[原创] 快手签名-Android安全-看雪论坛-安全社区|安全招聘|bbs.pediy.com...

热门文章

  1. 2021年10月29日
  2. java如何驱动z4mplus打印二维码_斑马 Zebra 打印机驱动下载,打印软件下载
  3. ClickHouse基础
  4. CAD加粗文字(网页版)
  5. 2021-2027全球与中国单光束紫外可见分光光度计市场现状及未来发展趋势
  6. 【作业】DPCM+量化图片实验
  7. 充分统计量和因子分解定理
  8. 留学必备物品清单,这3类你一定要带
  9. windows系统更改谷歌浏览器安装位置
  10. 【软件工程理论与实践】Homework(三.1)