【目标检测】yolo的三种数据集格式

目标检测中数据集格式之间的相互转换--coco、voc、yolohttps://zhuanlan.zhihu.com/p/461488682?utm_medium=social&utm_psn=1825483604463071232&utm_source=wechat_session【目标检测】yolo的三种数据集格式https://zhuanlan.zhihu.com/p/525950939?utm_medium=social&utm_psn=1825483832641581056&utm_source=wechat_session

在YOLO目标检测中,常用的标签格式主要有三种:voc(xml)、coco(json)和yolo(txt)。每种格式都有其独特的优点和适用场景。

  • voc(xml)格式 :XML格式因其良好的可读性和扩展性,在目标检测领域得到了广泛应用。它不仅能够存储目标的边界框信息,还能包含其他元数据信息,如图像来源、拍摄时间等。
  • coco(json)格式:JSON格式以其轻量级和易于解析的特点,成为许多现代目标检测数据集的首选。它支持多层嵌套结构,能够更灵活地表示复杂的目标关系。
  • yolo(txt)格式:YOLO算法专用的txt格式标签,简洁明了,直接包含目标的类别和边界框坐标。这种格式在YOLO系列算法的训练中非常高效。

因为我以后的项目大概率继续用的是txt格式,所以本文只写txt格式的相关内容,其他格式参考上面的两个链接。

1、yolo的txt格式

yolov5的比较简单,就是图片和标签分别两个文件夹中,并且自己分类,将图片与标签按照一定的比例区分成训练集和验证集。

txt的标签如下图所示:

第一列为目标类别,后面四个数字为**[x_center, y_center, w, h]**,可以看到都是小于1的数字,是因为对应的整张图片的比例,所以就算图像被拉伸放缩,这种txt格式的标签也可以找到相应的目标。

使用makesense.ai(上一篇文章说过的一个超级强大的在线标注工具)标注之后直接输出的就是txt标签文件,分一下文件夹即可训练。

2、划分数据集

代码请教GPT

3、修改代码

自己的数据集标注好,分好之后当然是用模型进行训练啦。

1、custom.yaml文件

仿照./data/文件夹下的yaml文件,自己写一个

这边的"path" 和"names"改成自己的,这里笔者的train_data放在和yolov5相同目录下。

然后按照官方用例跑,data 参数改为自己的custom.yaml:

复制代码
python train.py --data custom.yaml --epochs 300 --weights ./weights/yolov5s.pt --cfg yolov5s.yaml  --batch-size 128
相关推荐
rengang668 分钟前
10-支持向量机(SVM):讲解基于最大间隔原则的分类算法
人工智能·算法·机器学习·支持向量机
用户51914958484523 分钟前
如何通过内核版本检查判断FreeBSD是否需要重启
人工智能·aigc
聚客AI24 分钟前
🥺单智能体总是翻车?可能是你缺了这份LangGraph多Agent架构指南
人工智能·llm·agent
szxinmai主板定制专家1 小时前
RK3588+AI算力卡替代英伟达jetson方案,大算力,支持FPGA自定义扩展
arm开发·人工智能·分布式·fpga开发
ccut 第一混1 小时前
c# 使用yolov5模型
人工智能·深度学习
PHOSKEY1 小时前
应用案例丨3D工业相机如何实现「焊接全工序守护」
人工智能
喜欢吃豆2 小时前
从指令到智能:大型语言模型提示词工程与上下文工程的综合分析
人工智能·语言模型·自然语言处理·大模型·提示词工程·上下文工程
Fuly10242 小时前
prompt构建技巧
人工智能·prompt
智驱力人工智能2 小时前
使用手机检测的智能视觉分析技术与应用 加油站使用手机 玩手机检测
深度学习·算法·目标检测·智能手机·视觉检测·边缘计算
XXX-X-XXJ2 小时前
二:RAG 的 “语义密码”:向量、嵌入模型与 Milvus 向量数据库实操
人工智能·git·后端·python·django·milvus