Ultralytics YOLO27:
Get Started

CVAT 集成#

CVAT 直接导入功能即将登陆 Ultralytics Platform,届时 CVAT 图像目标检测或分割导出文件无需选择格式即可原样上传。

在此之前,你现在就可以通过一个简单流程完成导入,因为 CVAT 已支持导出 Platform 可读取的 Ultralytics YOLO 格式。

现在从 CVAT 导入#

  1. 从 CVAT 导出。打开任务,选择 操作 > 导出任务数据集(如果从作业进入,则选择 菜单 > 导出作业数据集)。
  2. 选择格式。选择与你的任务相匹配的 Ultralytics YOLO 条目 — CVAT 会分别列出 Ultralytics YOLO Detection 1.0、Ultralytics YOLO Detection Track 1.0、Ultralytics YOLO Segmentation 1.0、Ultralytics YOLO Oriented Bounding Boxes 1.0、Ultralytics YOLO Pose 1.0 和 Ultralytics YOLO Classification 1.0。
  3. 启用“保存图像”,为 .zip 命名,然后点击 确定。“保存图像”是 CVAT Online 的付费功能;如果不启用,压缩包中只会包含标签,因此请在上传前将图像添加到一个与 labels/ 目录结构相同的 images/ 文件夹中。
  4. 下载压缩包。导出任务会在后台运行 — 完成后,请前往 CVAT 的请求页面获取压缩包。
  5. 上传到 Platform。从 ZIP 创建新数据集。
  6. 开始训练。无需离开工作区,即可编辑标注、训练并部署。

Ultralytics Platform CVAT 数据集导入

使用 CLI 导出#

CVAT 的 CLI 可以在终端中导出相同的压缩包:

pip install cvat-cli
cvat-cli project export-dataset --format "Ultralytics YOLO Detection 1.0" --with-images yes 104 dataset.zip

将 104 替换为你的项目 ID,并将格式字符串替换为与你的任务相匹配的变体。--with-images yes 等同于 CLI 中的 保存图像开关;如果不启用,压缩包中只会包含标签,因此请在上传前添加一个与 labels/ 目录结构相同的 images/ 文件夹。

CVAT 的 Ultralytics YOLO 导出会生成 Platform 所需的目录结构,因此无需转换:

archive.zip/
├── data.yaml          # class names Platform reads
├── images/train/
└── labels/train/

各类导出保留的内容#

每种 Ultralytics YOLO 格式只会写入 CVAT 任务所支持的形状,因此请选择与你的标注方式相匹配的格式:

  • 目标检测保留矩形,但会跳过旋转矩形 — 请用 有向边界框格式导出这类标注
  • 目标检测跟踪保留矩形和跟踪 ID;Platform 会将其导入为边界框,并忽略跟踪 ID
  • 分割保留多边形和掩码,将掩码转换为多边形,并舍弃矩形
  • 姿态仅保留骨架;不会导出独立点
  • 分类保留标签,没有标签的图像会归入 no_label 类别

这些格式都不会写入折线。

选择导出格式#

CVAT 提供多种导出格式。与此处相关的格式如下:

CVAT 格式是否可用备注
Ultralytics YOLO最佳包含 data.yaml,因此标签名称会完整保留
COCO 1.0是也可读取;多边形和边界框混合的标注会作为分割导入,而仅含边界框的标注会被舍弃
COCO Keypoints 1.0是会作为姿态数据集导入,关键点数量取自最常见的形状
YOLO 1.1部分支持边界框可以导入,但不会读取其 obj.names 文件 — 类别会以 class0、class1、……的形式导入
CVAT for images否目前不会读取 XML 标注;CVAT for video 也一样

每条 COCO 标注都必须包含 bbox 才能被读取,众数区域("iscrowd": 1)会被跳过。CVAT 会将掩码作为众数区域写入 COCO,因此请改用 Ultralytics YOLO Segmentation 导出掩码。类别名称会成为类别名称,类别 ID 会在压缩包中的所有 JSON 文件之间统一,因此按数据集划分分别导出时也能保持类别 ID 一致。存储为多个多边形的对象会合并为一个多边形。

CVAT XML 和 Pascal VOC 导入后没有标注

Platform 不会读取 CVAT for images、CVAT for video 或 Pascal VOC XML 标签;这些导出会静默失败,而不是明确报错:图像会导入,但标注不会导入,并且导出五张或更多图像时,还会将图像文件夹名称添加为类别。请改用 Ultralytics YOLO 或 COCO。

集成将带来的功能#

集成将省去选择正确导出格式这一步。集成上线后,你可以导出任何 CVAT 图像目标检测或分割格式并上传,Platform 会自动将标注映射到匹配的 YOLO 任务。

  • 无需选择格式 — CVAT 的图像目标检测和分割导出会映射为 YOLO 数据集,并保留标签名称
  • 统一工作区 — 标注、训练和部署不再需要跨多个工具操作或使用转换脚本
  • 继续标注 — 导入的数据集可在 Platform 的标注编辑器中打开,包括由 SAM 驱动的智能标注功能
  • 立即训练 — 数据集处理完成后即可用于云端训练
现已推出

Labelbox 和 Roboflow 集成现已可用;Platform 还可直接导入 YOLO、COCO、LabelMe JSON,以及 Ultralytics 或 Labelbox NDJSON 数据集。

常见问题#

  • 选择与你的任务匹配的 Ultralytics YOLO 条目,并开启 Save images。该格式会附带 data.yaml,因此类别名称会完整保留。COCO 1.0 和 COCO Keypoints 1.0 也可以导入,而 YOLO 1.1 会丢失类别名称,CVAT XML 和 Pascal VOC 导入后则没有标注。

  • Save images 开关处于关闭状态,或者 CLI 导出时没有使用 --with-images yes。这样生成的压缩包就只包含标签。如果你使用的是不支持 Save images 的 CVAT Online 计划,请重新导出并包含图像;或者在 ZIP 中添加一个 images/ 文件夹,其目录结构与 labels/ 一致。

  • 支持。使用 Ultralytics YOLO Segmentation 1.0 或 Ultralytics YOLO Pose 1.0,也可以使用 COCO 格式。掩码需要通过 Ultralytics YOLO Segmentation 导出,该格式会将掩码转换为多边形;姿态则需要 CVAT 骨架。混合导出多边形和框的 COCO 文件会作为分割数据集导入,并丢弃仅包含框的标注。

  • 你可以按原样上传任何 CVAT 图像检测或分割导出文件,Platform 会自行将其映射到对应的 YOLO 任务。你现在使用 Ultralytics YOLO 导出格式导入的数据集仍可照常使用。

评论