数据标注

使用 DataMate 进行数据标注

数据标注模块集成 Label Studio,提供专业级的数据标注能力。

功能概述

数据标注模块提供:

  • 多类型标注:支持图像、文本、音频等多种数据类型
  • 标注模板:丰富的标注模板和配置
  • 质量控制:标注审核和一致性检查
  • 团队协作:多人协作标注
  • 标注导出:导出标注结果

标注类型

图像标注

类型说明适用场景
图像分类对整个图像分类场景识别、质量判断
目标检测标注目标位置和类别物体识别、缺陷检测
语义分割像素级分类医学影像、自动驾驶
实例分割区分同类目标细粒度识别
关键点标注标注关键点位置姿态估计、人脸识别

文本标注

类型说明适用场景
文本分类对文本分类情感分析、主题分类
命名实体识别标注实体边界信息抽取、知识图谱
文本摘要生成摘要文档理解
机器翻译翻译文本多语言处理
问答标注标注问答对对话系统

音频标注

类型说明适用场景
音频分类对音频分类音频事件检测
语音识别 (ASR)转写语音文本语音助手
说话人分离识别说话人会议记录

快速开始

1. 部署 Label Studio

使用 Docker Compose

make install-label-studio

访问 Label Studio

  • 地址:http://localhost:30001
  • 用户名:admin@demo.com
  • 密码:demoadmin

2. 创建标注任务

步骤 1:进入数据标注页面

在左侧导航栏选择 数据标注

步骤 2:创建任务

点击右上角 创建任务 按钮。

步骤 3:配置基本信息

  • 任务名称:例如 image_classification_task
  • 任务描述:描述标注任务(可选)
  • 源数据集:选择要标注的数据集
  • 标注类型:选择标注类型(如图像分类)

步骤 4:配置标注模板

选择或创建标注模板:

图像分类模板示例

<View>
  <Image name="image" value="$image"/>
  <Choices name="choice" toName="image">
    <Choice value="cat"/>
    <Choice value="dog"/>
    <Choice value="bird"/>
  </Choices>
</View>

目标检测模板示例

<View>
  <Image name="image" value="$image"/>
  <RectangleLabels name="label" toName="image">
    <Label value="cat" background="blue"/>
    <Label value="dog" background="red"/>
  </RectangleLabels>
</View>

步骤 5:配置标注规则

  • 标注方式:单标签 / 多标签
  • 最少标注数:每个样本最少标注次数(用于一致性)
  • 审核机制:是否启用审核
  • 标注人员:分配标注人员

步骤 6:创建任务

点击 创建 按钮完成创建。

3. 开始标注

步骤 1:进入标注界面

在任务列表页,点击任务名称进入标注界面。

步骤 2:进行标注

  1. 查看当前待标注样本
  2. 根据标注类型进行标注
  3. 点击 提交 完成标注
  4. 自动加载下一个样本

步骤 3:查看标注进度

在标注界面可以看到:

  • 总样本数:待标注的样本总数
  • 已标注数:已完成标注的样本数
  • 完成进度:标注完成百分比
  • 我的标注数:当前用户标注的数量

4. 标注审核

查看待审核标注

  1. 进入任务详情页
  2. 点击 审核 标签
  3. 查看待审核的标注结果

审核标注

  1. 查看标注结果
  2. 选择 通过拒绝
  3. 如果拒绝,可以修改标注
  4. 提交审核结果

5. 导出标注结果

导出为 JSON

[
  {
    "id": 1,
    "image": "image1.jpg",
    "label": "cat",
    "annotator": "user1",
    "created_at": "2024-01-15T10:30:00"
  }
]

导出为 CSV

id,image,label,annotator,created_at
1,image1.jpg,cat,user1,2024-01-15 10:30:00
2,image2.jpg,dog,user1,2024-01-15 10:31:00

导出到数据集

将标注结果导出到新的数据集,用于后续处理。

高级功能

标注模板定制

自定义标签

在模板中定义标签及其属性:

<Choices name="choice" toName="image">
  <Choice value="cat" alias="feline"/>
  <Choice value="dog" alias="canine"/>
  <Choice value="other"/>
</Choices>

添加属性

为标签添加额外属性:

<RectangleLabels name="label" toName="image">
  <Label value="person" background="blue">
    <Attribute name="gender" type="radio">
      <Value value="male"/>
      <Value value="female"/>
    </Attribute>
    <Attribute name="age" type="number"/>
  </Label>
</RectangleLabels>

质量控制

标注一致性

检查不同标注员的一致性:

  • Cohen’s Kappa:评估标注一致性
  • 多数投票:使用多数标注结果
  • 专家审核:专家审核争议标注

标注指南

创建详细的标注指南:

  1. 明确标注标准
  2. 提供标注示例
  3. 说明边界情况
  4. 定期更新指南

团队协作

角色分配

角色权限
管理员全部权限
审核员审核、修改标注
标注员仅标注

任务分配

  • 手动分配:管理员手动分配样本
  • 自动分配:系统自动分配待标注样本
  • 认领模式:标注员主动认领样本

预标注

使用模型进行预标注:

  1. 训练或使用现成模型
  2. 对数据集进行预标注
  3. 标注员修正预标注结果

优势:

  • 提高标注效率
  • 降低标注成本
  • 保持标注一致性

最佳实践

1. 标注指南

制定清晰的标注指南:

  • 明确标准:清晰定义标注标准
  • 提供示例:给出正例和反例
  • 边界情况:说明如何处理边界情况
  • 培训标注员:确保标注员理解指南

2. 质量控制

建立质量控制流程:

  1. 预标注:使用模型预标注
  2. 标注:标注员进行标注
  3. 审核:审核员抽检
  4. 反馈:提供反馈并改进

3. 标注效率

提高标注效率:

  • 使用快捷键:使用键盘快捷键
  • 批量操作:支持批量标注
  • 智能推荐:使用 AI 辅助标注
  • 合理分工:根据难度分配任务

常见问题

Q: 标注质量不理想怎么办?

A: 改进建议:

  1. 完善标注指南:更详细的标注说明
  2. 加强培训:培训标注员
  3. 增加审核:提高审核比例
  4. 使用预标注:使用模型辅助
  5. 提供反馈:及时反馈问题

Q: 标注速度慢怎么办?

A: 提高效率:

  1. 使用预标注:减少从零开始标注
  2. 优化界面:使用快捷键和批量操作
  3. 合理分工:根据难度分配任务
  4. 激励标注员:设置激励机制

Q: 如何处理标注不一致?

A: 处理方法:

  1. 明确标准:制定明确的标注标准
  2. 多数投票:使用多个标注员投票
  3. 专家裁决:专家处理争议标注
  4. 计算一致性:使用 Cohen’s Kappa 等指标

Q: 支持哪些标注格式?

A: 导出格式:

  • JSON
  • CSV
  • COCO (用于目标检测)
  • YOLO (用于目标检测)
  • Pascal VOC (用于目标检测)
  • 自定义格式

相关文档