项目任务类型
这个概念解决什么问题
创建项目时第一个要决定的事,就是这个项目要解决什么视觉任务。任务类型一旦定下来,后面标注工具集、标签格式、训练脚本、模型架构、推理后处理全部跟着定。选错了,整套数据都白标。
VortLab 支持 4 种任务类型,覆盖绝大多数视觉检测场景。这一页解释它们的差异、怎么选,以及为什么类型一旦定下就改不了。
4 种任务类型对比
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
目标检测 (detection) | 任务类型 | 可选 | 最常用 | 用矩形框(bbox)框出目标位置。标注最快、推理最快、最容易上手。绝大多数「找到目标在哪」的场景都选它。标签格式 class x y w h,归一化坐标。 |
实例分割 (segmentation) | 任务类型 | 可选 | — | 用多边形掩码描绘目标轮廓,像素级精度。适合需要精确边界(裂缝、缺陷、不规则区域)的场景。标注耗时显著高于检测,训练更慢。标签格式 class x1 y1 x2 y2 ... xn yn。 |
OBB 旋转框 (obb) | 任务类型 | 可选 | — | 带角度的矩形框,能表达目标的方向。适合航拍、遥感、零件检测等目标有显著朝向的场景。标签格式 class x1 y1 ... x4 y4,4 个角点。 |
关键点 (pose) | 任务类型 | 可选 | — | 矩形框加关键点序列,用于姿态估计。典型场景是人体骨架、手势、动物姿态。标签格式为 bbox 加归一化的关键点 xy + 可见性。 |
分类任务在视觉 AI 平台里通常用目录结构就能搞定,不需要标注工作台、版本管理、AI 辅助这些重型能力。VortLab 聚焦需要精细标注的检测类任务,所以 4 种类型都围绕「定位 + 描述目标」展开。
怎么选
- 不确定就用检测。覆盖 80% 以上的实际场景,标注和推理都快,效果不好再换也不亏。
- 需要轮廓精度用分割。比如缺陷检测、医学影像,矩形框框不住的形状,必须用多边形。
- 目标有明显方向用 OBB。航拍车辆、遥感船只、流水线零件这种斜放的目标,轴对齐框会框进大量背景。
- 需要骨架 / 姿态用关键点。人体动作识别、手势识别、动物行为分析是典型场景。
detection / segmentation / obb / pose 的标签文件格式各不相同,不能混用。一个数据集从头到尾只能用一种格式。如果你想把检测数据改成分割,唯一办法是新建一个分割项目,重新标注。详见数据导入格式说明。
任务类型锁定规则
项目类型一旦满足以下任意一个条件,就永久锁定,前端后端都不允许修改:
- 项目下有图片(images)
- 项目下有数据集版本(versions)
- 项目下有标注(annotations)
- 项目下有训练任务(training)
- 项目下有模型(models)
哪怕只有一张原始图片,类型都改不了。这不是 bug,是设计如此。
类型决定了标签格式、训练脚本、模型架构。中途改类型,意味着所有现有标签作废、所有训练好的模型报废、所有版本快照失去意义。平台宁可让你新建项目重新来过,也不让你误操作毁掉整个项目。
如果业务确实需要换任务类型(比如从检测升级到分割),正确做法是:
- 新建一个分割类型的项目。
- 把原数据集的图片重新导入(标注不能复用,要重标)。
- 在新项目里从头开始。
不要试图改原项目的类型,改不动。
YOLO 命名对应关系
VortLab 用两套命名:项目类型(用户面,4 选 1)和 Ultralytics task(运行时,训练脚本读这个)。后端会自动做归一化,但理解对应关系有助于你读懂训练日志和模型文件。
| 项目类型 | Ultralytics task | 标签格式简述 | 典型架构 |
|---|---|---|---|
| detection | detect | class x y w h | YOLOv8n / YOLO11s / YOLOv26n |
| segmentation | segment | class x1 y1 ... xn yn | YOLOv8n-seg / YOLO11s-seg |
| obb | obb | class x1 y1 ... x4 y4 | YOLOv8n-obb / YOLO11s-obb |
| keypoints | pose | bbox + 关键点序列 | YOLOv8n-pose / YOLO11s-pose |
创建训练任务时,「模型架构」下拉只显示与项目类型匹配的架构。比如项目类型是 segmentation,下拉里只出现 -seg 后缀的架构,不会让你误选检测模型。SAM 系列模型是标注辅助工具,不在可训练架构列表里。