[YOLOv8] - YOLO数据集格式介绍和案例

YOLO (You Only Look Once) 是一种目标检测算法,它使用了一个单独的神经网络来同时识别图像中的多个对象。它可以支持一下多种的训练数据集的格式。其中YOLO数据集格式是非常常用的一种。

YOLO DataSet Format - Ultralytics YOLOv8 Docs

YOLO数据集格式

YOLO数据集的格式主要包括以下几部分:

  • 图像文件: 这是数据集中的图像文件,通常是jpg或png格式。
  • 标注文件: 这是一个文本文件,包含了每张图像中目标对象的类别和位置信息。
  • 类别文件: 这是一个文本文件,包含了数据集中所有目标对象的类别信息。

 注意:除扩展名外,标注文件的名称必须和图像的名称保持一致哦。

标注文件格式

主要包含了以下内容:

  • 每个目标对象的类别编号
  • 目标对象在图像中的中心位置 (x,y)
  • 目标对象的宽度和高度 (w,h)

备注:

1) 列1 - 目标类别id ,  列2 - 目标中心位置x, 列3 - 目标中心位置y, 列4 - 目标宽度w,列5 - 目标高度h。

2)x,y,w,h是小于1的浮点数,因为是经过对图像进行了归一化处理得到的值,也就是目标的真实的x,w值除以图像的宽度,y,h除以图像的高度。

类别文件格式

主要包含了以下内容:

  • 每个类别的编号
  • 每个类别的名称

 备注:一行代表一个类别,行号代表类别id,比如normal是类别名称,它在第四行,那么它的类别id为3(索引从0开始),比如上面的显示的图像的标注文件,有2个类别为normal的目标。

一点小思考

YOLO的类别文件一行代表一个类别名称,行号代表类别id,这样似乎不能够很好的描述数据集的类别信息。我们可以考虑使用classes.json文件来描述数据集的类别信息:

{
  "categories": [
    {
      "id": 0,
      "name": "black_hole",
      "zh_name": "黑孔"
    },
    {
      "id": 1,
      "name": "bubble",
      "zh_name": "气泡"
    },
    {
      "id": 2,
      "name": "dip",
      "zh_name": "凹陷"
    },
    {
      "id": 3,
      "name": "normal",
      "zh_name": "正常",
    },
    {
      "id": 4,
      "name": "others",
      "zh_name": "其它"
    },
    {
      "id": 5,
      "name": "unclean",
      "zh_name": "研磨不净"
    }
  ],
  "info": {
    "year": 2023,
    "version": "1.0"
  }
}

这样方便我们通过classes.json文件生成classes.txt用于训练,呈现时使用中文标签。

  • 22
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
您好!关于使用YOLOv5训练YOLO数据集,您可以按照以下步骤进行操作: 1. 准备数据集:首先,您需要准备一个包含标记边界框的数据集。确保每个图像都有对应的标签文件,该文件包含对象的类别和位置信息。 2. 数据预处理:使用YOLOv5提供的脚本对数据集进行预处理,以便符合模型的输入要求。您可以使用`python -m yolov5.tools.datasets`命令来完成这一步骤。 3. 划分数据集:将数据集划分为训练集和验证集,一般采用80%的数据作为训练集,20%的数据作为验证集。可以使用工具如`train_test_split`来实现。 4. 配置模型:根据您的需求,选择一个适合的YOLOv5模型。YOLOv5提供了多个预训练模型,您可以选择其中一个作为起点,然后根据您的数据集进行微调。 5. 训练模型:使用训练数据集对模型进行训练。您可以使用`python -m yolov5.train`命令来启动训练过程。在训练过程中,您可以调整超参数、学习率、迭代次数等来优化模型性能。 6. 评估模型:在训练过程结束后,使用验证集对模型进行评估,以了解模型在未见过的数据上的性能表现。YOLOv5提供了评估工具,可以使用`python -m yolov5.test`命令进行评估。 7. 模型推理:训练完成后,您可以使用YOLOv5模型进行目标检测任务。可以使用`python -m yolov5.detect`命令对图像或视频进行目标检测。 希望以上步骤对您有帮助!如果有更多问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老狼IT工作室

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值