如何使用 DDS 进行协同标注

DDS Team大约 8 分钟

如何使用 DDS 进行协同标注

引言

为了帮助用户构建高质量的数据集,DDS(DeepDataSpace)为计算机视觉领域的目标检测、图片分割、姿态估计等算法场景提供了丰富而便捷的标注工具。目前,我们已经实现了矩形、多边形和人体关键点的标注功能。 同时,针对不同的使用场景,DDS提供了两种入口:

  • 快速模式:体验开箱即用的标注工具,支持上传、标注、导出结果,适用于个人完成小批量数据的标注。

  • 协同模式:帮助用户创建项目和标注工作流程,支持任务分发、进度监控、质量审核等功能,适用于团队协作完成大批量数据标注。

本文主要介绍如何使用协同模式

协同模式设计

协同模式工作流程如下图所示:

Cooperative Mode
Cooperative Mode

项目

项目是一个容器,包含一个或者多个数据集的所有标注任务。
由项目Owner负责创建项目,并可以实现:

  • 绑定一个或多个数据集作为标注任务的目标对象;
  • 设置项目的工作流;
  • 根据数据集或图片数目进行任务拆分;
  • 设置项目是否需要审核员;
  • 设置项目的管理员,负责进行任务的分配管理;
  • 查看和进行项目的状态流转;

任务

任务是项目的组成,一个标注项目可以拆分成多个标注任务。
你可以为每个任务进行以下操作:

  • 把任务的不同角色分配给具体的协同账号;
  • 不同的角色账号有不同的任务权限;
  • 查看任务的进度;
  • 查看和进行任务的状态流转;

角色说明

  • Owner (项目所有者):负责创建项目并指派项目经理。
  • Manager (项目经理):负责配置工作流进行任务初始化,并指派任务的标注组长及审核组长。也负责对任务进行抽样检查,对任务结果进行流转。
  • Label Leader (标注组长):负责指派标注员,若任务被拒绝,可与项目经理进行协商流转结果。
  • Review Leader (审核组长):负责指派审核员。
  • Labeler (标注员):负责具体的标注任务。
  • Reviewer (审核员):负责对标注员的标注结果进行审核。

协同账号

协同标注模式依赖账号系统,目前暂时只支持命令行创建账号。

1. 生成协同账号

# 在 dds services 被启动后执行以下命令生成账号
# 1. 生成账号,会自动分配密码
ddsop useradd user1
# 2. 设置账号属性为staff(赋予创建项目权限)
ddsop useredit user1 --staff y

2. 登录账号

Login
Login

进入协同标注模式

点击DeepDataSpace首页导航栏中的标注,并选择协同模式,进入标注页面。

Enter cooperative mode annotation
Enter cooperative mode annotation

项目设置

1. 生成项目

账号属性为staff才有生成项目权限。

  • 点击 +新建项目 按钮
  • 填写项目基础信息表单
    • 项目名称
    • 项目描述
    • 数据集 (可选择1个或多个数据集作为项目标注对象)
    • 预标注 (可填写数据集已有的标注集名称,系统匹配到会将对应标注集作为预标注导入)
    • 类别 (填写标签类别,标注时可选择其中类别进行标注)
    • 项目经理
  • 点击 下一步
  • 填写工作流信息表单(若不设置自己为Manager,则不填写直接提交即可)
  • 点击 提交 开始创建项目

2. 设置项目工作流程

项目Manager负责设置工作流程,可以在 新建项目 流程中设置,也可以创建项目后,点击对应项目的 初始化 按钮进行设置。

具体表单项如下:

  • 选择任务分割方式
    • 按数据集分割
    • 按图片数目分割
  • 审核配置
    • 无审核员
    • 1个审核员

3. 项目状态

创建项目成功后,可在项目列表页面查看项目整体任务进度以及项目状态。
项目一共有6个状态:

  • 等待中: 项目已创建但为进行工作流程设置
  • 初始化中: 项目正在按工作流设置分割任务中
  • 进行中: 项目已进入任务分配及执行阶段
  • 审核中: 项目所有任务已完成时会自动进入审核中 状态
  • 已拒绝: 项目owner可将审核中的状态流转到 已拒绝
  • 已通过: 项目owner可将审核中的状态流转到 已通过

项目创建过程具体演示如下:

任务管理

1. 任务分配

项目初始化成功后,点击具体项目的 详情 可进入项目的任务列表。

  • 项目经理 负责分配标注组长和审核组长;
  • 标注组长 负责分配标注员,分配完成后标注员可开始标注工作。
  • 审核组长 负责分配审核员,分配完成后审核员可开始审核工作,可对标注完成的具体对象进行审核。

2. 标注

标注员在任务列表页面,可查看到自己的所有任务。

进入任务工作站

任务处于 进行中 状态,可点击 开始标注 进行标注。

进入标注任务详情页面后,可以看到目前自己的角色为Labeler。
可以看到页面顶部有4个tab item,点击显示对应状态下的任务对象:

  • 待标注:未开始标注的对象
  • 待审核:已提交标注结果的对象
  • 已驳回:已提交标注结果且被审核员拒绝的对象
  • 已完成:已提交标注结果且被审核员审核通过的对象

开始标注

待标注 tab,点击 开始标注 可进入标注编辑器。
具体标注工具使用说明可阅读:标注工具使用说明

标注完成后,点击右上角的‘保存’即可提交标注结果。
提交成功后会自动跳转到下一个标注对象进行标注。

更改标注结果

待审核 tab,可以点击具体的标注对象,点击 编辑 ,对原有标注结果进行更改。

被驳回处理

当你存在被驳回的对象时,可点击顶部的 处理驳回 ,对被驳回的任务进行重新标注。

3. 审查

审查员在任务列表页面,可查看到自己的所有任务。

进入任务工作站

任务处于 进行中 状态,可点击 开始审核 进行审核。

进入标注任务详情页面后,可以看到目前自己的角色为Reviewer。

开始审核

点击 开始审核 可进入标注编辑器审核状态

可对标注对象结果进行审核,查看具体标注结果,并提交审核结果:

  • 拒绝:会将对象打回给标注员进行重新标注,进入到标注员任务的 已驳回 队列中;
  • 通过:审核通过,对象会进入 已完成 队列中;

提交成功后,会自动跳转至下一个对象进行审核。

4. 任务状态

任务一共有6个状态:

  • 等待中: 任务等待进行人员分配;
  • 进行中: 任务人员分配完毕,已进入标注&审核阶段;
  • 审核中: 任务中所有对象已被标注且审核完成(若设置1个审核员), 会自动转成该状态;
  • 已拒绝: 项目经理可对任务结果进行手动抽样检查,将审核中的任务状态流转到‘已拒绝’;
  • 已通过: 项目经理可对任务结果进行手动抽样检查,将审核中的任务状态流转到‘已通过’;

任务进度
在任务列表页面,可以看到每个任务具体的进度:

Task status & progress
Task status & progress

重新指派人员

  • 项目经理可对标注组长和审核组长进行重新指派
  • 标注组长/审核组长可对标注员/审核员进行重新指派,重新指派后原任务进度会移交到新指派人员中

拒绝任务

  • 任务中所有对象已被标注完成且审核完成(若设置1个审核员)时,任务会自动流转到 审核中 状态。
  • 此时项目经理可对该任务进行抽样检查,如果任务整体质量不高,可进行任务的 拒绝 操作。
  • 任务被 拒绝 后,标注组长可进行协商,同意该结果后,加入任务中所有的对象均会进入 已驳回 队列中,需重新标注和审核。

注意

  • Owner可将所有角色分配为自己进行快速体验。
  • 上面情况说明均为工作流程设置了1个审核员的场景,若设置无审核员,则不需分配审核组长及审核员。
  • 若你兼任多个角色,可以在工作站顶部切换角色以使用不同角色的操作权限。
上次编辑于:
贡献者: zhuyuanhao