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

本文详细介绍了YOLO目标检测算法的数据集格式,包括图像文件、标注文件(含类别ID、位置信息)和类别文件(类别名称及其编码)。同时提出使用classes.json文件管理类别信息以便于训练和呈现中文标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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用于训练,呈现时使用中文标签。

### 部署 Stable Diffusion 的准备工作 为了成功部署 Stable Diffusion,在本地环境中需完成几个关键准备事项。确保安装了 Python Git 工具,因为这些对于获取源码管理依赖项至关重要。 #### 安装必要的软件包支持库 建议创建一个新的虚拟环境来隔离项目的依赖关系。这可以通过 Anaconda 或者 venv 实现: ```bash conda create -n sd python=3.9 conda activate sd ``` 或者使用 `venv`: ```bash python -m venv sd-env source sd-env/bin/activate # Unix or macOS sd-env\Scripts\activate # Windows ``` ### 下载预训练模型 Stable Diffusion 要求有预先训练好的模型权重文件以便能够正常工作。可以从官方资源或者其他可信赖的地方获得这些权重文件[^2]。 ### 获取并配置项目代码 接着要做的就是把最新的 Stable Diffusion WebUI 版本拉取下来。在命令行工具里执行如下指令可以实现这一点;这里假设目标路径为桌面下的特定位置[^3]: ```bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ~/Desktop/stable-diffusion-webui cd ~/Desktop/stable-diffusion-webui ``` ### 设置 GPU 支持 (如果适用) 当打算利用 NVIDIA 显卡加速推理速度时,则需要确认 PyTorch 及 CUDA 是否已经正确设置好。下面这段简单的测试脚本可以帮助验证这一情况[^4]: ```python import torch print(f"Torch version: {torch.__version__}") if torch.cuda.is_available(): print("CUDA is available!") else: print("No CUDA detected.") ``` 一旦上述步骤都顺利完成之后,就可以按照具体文档中的指导进一步操作,比如调整参数、启动服务端口等等。整个过程中遇到任何疑问都可以查阅相关资料或社区支持寻求帮助。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老狼IT工作室

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

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

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

打赏作者

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

抵扣说明:

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

余额充值