当前位置:   article > 正文

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

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文件来描述数据集的类别信息:

  1. {
  2. "categories": [
  3. {
  4. "id": 0,
  5. "name": "black_hole",
  6. "zh_name": "黑孔"
  7. },
  8. {
  9. "id": 1,
  10. "name": "bubble",
  11. "zh_name": "气泡"
  12. },
  13. {
  14. "id": 2,
  15. "name": "dip",
  16. "zh_name": "凹陷"
  17. },
  18. {
  19. "id": 3,
  20. "name": "normal",
  21. "zh_name": "正常",
  22. },
  23. {
  24. "id": 4,
  25. "name": "others",
  26. "zh_name": "其它"
  27. },
  28. {
  29. "id": 5,
  30. "name": "unclean",
  31. "zh_name": "研磨不净"
  32. }
  33. ],
  34. "info": {
  35. "year": 2023,
  36. "version": "1.0"
  37. }
  38. }

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/85181
推荐阅读
相关标签
  

闽ICP备14008679号