跳至正文
返回首页

指南 01

数据标注:权威指南

机器学习模型的表现取决于数据与标注的质量。本指南将帮助你建立高质量的数据标注流程。

阅读约 73 分钟

面向机器学习的数据标注

机器学习彻底改变了我们解决计算机视觉和自然语言处理问题的方式。借助海量数据,机器学习算法能够学习和识别数据中的规律,并作出有用的预测,而无需人工逐一编写规则。

通过大量图像数据的训练,计算机模型能够以很高的准确率识别物体。它们可以识别人脸、汽车和水果,无需工程师明确编写识别每种物体的程序。

同样,我们日常使用的语音助手和聊天机器人也由自然语言处理模型驱动。这些模型经过海量音频和文本数据的训练,能够识别语音、理解文本的上下文,并在不同语言之间进行翻译。

工程师不再尝试通过手工编码实现这些能力,而是使用大量相关且经过清洗的数据来训练模型。数据需要经过标注,才能帮助模型作出有价值的预测。数据标注是机器学习中最关键、也最容易被忽视的工作之一。

什么是数据标注?

数据标注是为数据赋予上下文或明确含义的过程,使机器学习算法能够从标注中学习,进而得到预期结果。

为了更好地理解数据标注,我们先介绍机器学习的主要类型,以及需要标注的不同数据类型。机器学习主要分为监督学习、无监督学习和强化学习三类。我们将在为什么数据标注很重要?一节中进一步介绍。

监督学习算法利用大量已标注数据来“训练”神经网络或其他模型,使其识别与具体应用相关的数据规律。标注员为数据制作真值标注(Ground Truth),机器学习工程师再将这些数据输入学习算法。例如,为了训练自动驾驶车辆的目标识别模型,标注员会标出给定场景中的所有汽车。模型随后学习已标注数据集中的规律,并对从未见过的数据作出预测。

数据类型

结构化数据与非结构化数据

结构化数据具有明确、规整的组织形式,例如关系数据库管理系统(RDBMS)或电子表格中的信息。客户信息、电话号码、社会保障号码、收入、序列号和产品描述等,都可以是结构化数据。

非结构化数据没有按预先定义的数据模式组织,包括图像、视频、激光雷达数据、雷达数据、部分文本数据和音频数据。

图像

相机传感器最初输出原始格式的数据,随后可转换为 PNG 或 JPG 文件。原文更推荐 JPG,因为其压缩后通常比 PNG 占用更少的存储空间;训练机器学习模型需要处理海量数据,存储开销因此是重要考量。图像也可以通过互联网抓取或第三方服务采集,应用范围从人脸识别、制造缺陷检测到医学影像分析。

用于计算机视觉模型训练的图像数据示例

视频

视频数据同样可由相机传感器以原始格式采集,由一系列连续帧组成,存储为 MP4、MOV 或其他视频格式。与图像中的 JPG 类似,MP4 因文件体积较小而常用于机器学习场景。视频数据能够支持自动驾驶、健身应用等多种用途。

三维数据:激光雷达与雷达

传统 RGB 相机等二维传感器缺少直接的深度信息。三维数据能够弥补这一不足,帮助机器学习模型更深入地理解场景。

展示场景深度与空间结构的三维点云数据

激光雷达(LiDAR,Light Detection and Ranging)是一种利用光进行探测与测距的遥感技术,可生成精确的三维场景表示。激光雷达数据通常以原始点云或 LAS 格式存储,并常被转换为 JSON,以便机器学习应用处理。

雷达(Radar,Radio Detection and Ranging)利用无线电波测量目标相对于雷达源的距离、角度和径向速度。

音频

音频通常以 MP3 或 WAV 格式存储,可用于智能语音助手中的语音识别,以及实时多语言机器翻译。

音频数据示例

文本

文本数据由表达信息的字符组成,通常存储为 TXT、DOCX 或 HTML 等文件。文本是自然语言处理(NLP)应用的基础,支持虚拟助手问答、自动翻译、文本转语音、语音转文本和文档信息抽取等功能。

为什么数据标注很重要?

海量高质量数据使许多突破性的机器学习应用成为可能。要理解数据标注的重要性,需要先了解监督学习、无监督学习和强化学习这三类方法。

强化学习通过算法在环境中采取行动,以最大化获得的奖励。例如,DeepMind 的 AlphaGo 利用强化学习与自我对弈掌握围棋,并成为当时最强的棋手。强化学习不依赖预先标注的数据,而是通过最大化奖励函数实现目标。

监督学习与无监督学习

监督学习支撑着许多常见且强大的机器学习应用,从垃圾邮件检测,到自动驾驶汽车识别行人、车辆和其他障碍物。监督学习使用大量已标注数据来训练模型,使其准确地进行分类或预测结果。

无监督学习用于分析和聚类未标注数据,支持推荐引擎等系统。这类模型从数据集本身的特征中学习,无需使用标签来“告诉”算法预期输出。常见方法之一是 K 均值聚类(K-means):将 n 个样本划分为 k 个簇,并将每个样本分配到距离最近的簇中心。

无监督学习有许多出色的应用,而监督学习凭借较高的准确率和预测能力,推动了许多影响深远的应用落地。

机器学习从业者逐渐将注意力从改进模型转向改进数据,形成了“以数据为中心的人工智能”(Data-centric AI)这一新范式。在真实的机器学习系统中,模型代码只占很小的一部分。要构建更强的 AI,需要更多高质量数据和准确的标注。随着工作重心向数据转移,理解从数据采集、标注到数据整理与筛选的完整流程变得尤为重要。

本指南重点介绍常见的标注类型,以及提高标注质量的实践方法,帮助你充分发挥数据价值,进而改善模型表现。

如何标注数据

构建高质量的监督学习模型,需要大量带有优质标注的数据。那么,应当如何开展数据标注?首先要确定由谁来完成标注。组建标注团队有多种方式,各有优势、局限和需要权衡的因素。我们先讨论人工标注、自动标注,以及将二者结合的方式。

1. 选择人工、自动化或人机协同

自动数据标注

对于包含已知目标的大型数据集,可以实现自动或半自动标注。经过专门训练、面向特定数据类型的机器学习模型,能够自动为数据集添加标签。

自动标注的前提,是先建立高质量的真值数据集。即使具备可靠的真值,仍然很难覆盖所有边界情况,也难以完全依赖自动标注来获得最高质量的结果。

纯人工标注

在视觉、自然语言处理等机器学习关注的模态上,人类具有很强的理解能力。在许多领域,人工能够提供比自动标注更高质量的结果。

但人的判断难免带有不同程度的主观性,培训标注员对同一数据作出一致标注并不容易。此外,对于同一任务,人工标注通常比自动标注更慢,也可能更昂贵。

人机协同标注(HITL)

人机协同(Human-in-the-loop,HITL)利用人的专业判断能力增强自动标注。既可以由人工审核自动标注结果,也可以通过交互式辅助工具提高标注效率和质量。将自动化与人在回路相结合,在准确性和效率上通常优于单独使用其中一种方式。

人工审核与机器自动标注协作的工作流程

2. 组建标注团队

如果选择让人工参与标注——这也是原文推荐的方式——就需要考虑如何组织人员:建立内部团队,请亲友协助,还是借助第三方标注公司扩大产能?下面的比较可作为决策参考。

内部团队

小型初创企业可能缺乏足够资金投入数据标注,因此从 CEO 到其他团队成员,都可能亲自参与。对于小规模原型,这种方式可行,但很难持续扩展。

资金充足的大型组织可能建立内部标注团队,以掌控整个数据流程。这种方式控制力强、灵活性高,但成本和管理工作量也较大。

涉及隐私或敏感数据的公司,也可能选择内部团队。这是一种合理选择,但扩大规模仍然困难。

优势:具备领域知识,能够严格掌控数据流程。

局限:成本较高,培训和管理标注员需要额外投入。

众包

众包平台能快速调动大量人员完成多种任务。对于没有隐私顾虑、标注规则简单明确的公开数据集,这种方式可以适用。但如果任务复杂或涉及敏感数据,缺乏培训的众包人员往往并不合适。人员培训不足、缺少领域知识,也容易造成标注质量不佳。

优势:可以获得更大的标注人员池。

局限:质量难以保证,培训和管理负担较重。

第三方数据标注合作伙伴

第三方标注公司能够高效交付高质量标注,并且通常具有较深的机器学习经验。它们可以作为技术合作伙伴,提供贯穿机器学习生命周期的建议,包括如何采集、整理和标注数据。通过训练有素的团队,以及先进的自动化流程和工具,这类公司能够以较低的单位成本提供高质量结果。

要在大型数据集上达到很高的标注质量(99% 以上),可能需要庞大的团队,例如单个项目投入 1,000 名以上标注员。内部团队和众包平台很难在扩大到这一规模的同时保持质量。不过,第三方服务也可能价格较高;如果合作方没有发挥可信顾问的作用,还可能建议你标注超出实际应用需要的数据。

优势:技术经验丰富,单位成本低,质量高。

局限:需要将部分流程控制权交给合作方;处理敏感数据时,需要选择具备相应资质、值得信赖的伙伴。

3. 选择数据标注平台

确定由谁标注之后,还需要选择标注平台。常见选择包括自研工具、开源工具和商业平台。

开源工具

开源工具通常可以免费使用,但部分工具对商业用途有限制。它们适合学习机器学习与人工智能、开展个人项目,或验证早期商业应用。相应的代价是,扩展能力与功能成熟度可能不及商业平台,本指南介绍的某些标注类型也未必得到支持。

以下列举的是原文中的代表性工具,并非完整清单,许多优秀的开源替代方案未包含在内。

  • CVAT:最初由 Intel 开发,是免费开源的 Web 数据标注平台,支持矩形框、多边形和三维框等常见类型,适合入门、小型项目及协作。原文所述 Web 版本限制为每位用户 500 MB 数据和 10 个任务,这会影响协作功能的适用性;本地部署可避开这些数据限制。
  • LabelMe:由麻省理工学院计算机科学与人工智能实验室(CSAIL)开发,支持围绕计算机视觉研究数据集开展社区协作。可以参与公开项目的标注,也可以下载工具标注自己的数据。相较于 CVAT,其功能较有限;原文所述 Web 版本已不再接受新账户。
  • Stanford CoreNLP:功能丰富的开源自然语言处理工具,支持命名实体识别(NER)、实体关联和文本处理等能力。

高质量数据标注

无论使用哪一种平台,提高标注质量都是充分发挥机器学习应用价值的关键。

计算机科学中的“垃圾进,垃圾出”(Garbage in, garbage out)在机器学习中尤为明显,因为数据是学习过程的主要输入。低质量数据或标注会带来不理想的结果。本节介绍关键质量指标,以及提高标注质量的方法。

如何衡量标注质量

我们先介绍重要的质量指标,再讨论如何在标注流程中保障质量。

标注准确性

需要检查标注是否遵循规范、符合预期。例如,任务要求标注行人,并明确规定应包括随身携带的物品,如手机、背包,但不包括推拉的物品。抽查时,就应确认标注员是否遵守规则,是否错误地把婴儿车或行李箱也包含在内。

标注员在基准任务上的准确性如何?基准任务可用于测试整体标注能力,并增强对其他任务结果的信心。不同标注员、不同数据类型之间,结果是否一致?如果差异较大,可能说明规范不够清楚,或需要进一步培训。

模型性能的改善

模型在目标任务上的表现如何?这一结果指标并非只由标注质量决定,数据的数量与质量同样重要;但标注质量是必须关注的因素。

下面介绍几个关键的模型性能指标。

精确率(Precision)

精确率衡量模型判定为正类的样本中,实际为正类的比例。计算公式为:

精确率 = 真正例(TP)÷[真正例(TP)+ 假正例(FP)]

当模型没有假正例,且存在正类预测时,精确率为 1.0。

召回率(Recall)

召回率衡量所有实际正类样本中,被模型正确识别的比例。计算公式为:

召回率 = 真正例(TP)÷[真正例(TP)+ 假负例(FN)]

当模型没有假负例,且存在实际正类样本时,召回率为 1.0。

真正例、假正例与假负例在精确率和召回率中的关系

精确率—召回率曲线(PR 曲线)

召回率高、精确率低的模型会返回许多结果,但其中不少预测与真值不符。相反,精确率高、召回率低的模型返回结果较少,但大部分是正确的。理想模型同时具备较高精确率与召回率,既能找出足够多的目标,也能正确标识它们。

相比单一指标,PR 曲线能更细致地反映模型表现。精确率与召回率之间通常需要权衡,具体目标取决于模型及其应用场景。

例如,在检测恶性肿瘤的医学影像应用中,通常更重视召回率:与将恶性肿瘤误判为良性相比,将良性肿瘤判为可疑恶性的代价一般更容易接受。

而垃圾邮件过滤器通常需要较高精确率,以避免重要邮件被误判为垃圾邮件,即使这可能使少量真正的垃圾邮件进入收件箱。

不同分类阈值下精确率与召回率的权衡曲线

交并比(IoU)

在计算机视觉应用中,可以通过交并比(Intersection over Union,IoU)间接评估标注质量。

IoU 将预测区域与真值区域的重叠面积,除以两者的并集面积,用于衡量预测与真值的吻合程度。

这一比值越接近 1,说明模型预测与真值越吻合。

预测框与真值框的交集、并集和交并比计算示例

如前所述,高质量数据与标注是训练模型的关键,因此 IoU 可以间接反映标注质量。不同目标类别可能采用不同阈值。例如,面向人机交互的增强现实应用,可能要求人脸识别的 IoU 达到 0.95,而识别狗时只需达到 0.70。

同时也要记住,数据偏差、样本不足等其他因素同样会影响 IoU。

混淆矩阵

混淆矩阵是一种简单而有效的工具,用于理解模型在不同类别间的误判。矩阵按类别对比预测结果与实际真值,可以直观看出错误,例如模型把火车预测成交通标志。

用于说明类别误判的火车与交通标志样本

将这类误判与置信度结合,可以优先处理模型“很有把握却预测错误”的样本。类别混淆可能来自错误或缺失的标签,也可能是交通标志、火车等类别的数据量不足。

对比真实类别与预测类别的混淆矩阵

获得高质量标注的实践方法

  1. 尽可能采集优质数据。在避免降低模型实用性的数据偏差的同时,保证数据质量与一致性。理想情况下,数据采集流程应与标注流程衔接,以提高效率、缩短交付周期。
  2. 选择适合任务的标注员。根据任务要求,选择掌握相关语言、来自特定地区或熟悉特定领域的人员,并建立激励高质量工作的机制。
  3. 结合人工与机器。使用机器学习辅助工具,并让人工参与审核与修正,以获得更准确的标注。机器辅助工具与人工协同提高标注质量
  4. 提供清晰、完整的标注规范。帮助不同标注员保持一致。标注规范与交互式辅助工具的动态演示
  5. 持续整理与筛选数据。改善模型时,也要同步改进数据。使用数据整理工具,发现漏标和错标;检查 IoU、受试者工作特征曲线(ROC 曲线)与混淆矩阵,分析性能问题。好的工具还能通过图表定位具体样本,并将其送回团队修正。如果发现某类数据缺失,就需要继续采集和标注。
  6. 利用基准任务筛选人员。为部分任务建立高可信度的标准答案,用于评估标注员质量。将这些任务混入日常任务中,判断标注员是否理解规范、能否达到质量要求。未通过基准的人员可以重新培训,或退出项目。通过基准任务评估、筛选和培训标注员的流程
  7. 分析特定样本的常见答案。这有助于发现标注错误的规律。如果所有人都误判某类目标,问题可能并不在个人,而在真值、规范或培训流程。重新检查预期是否传达清楚,并把已发现的典型错误加入规范,避免再次发生。
  8. 遇到边界情况时,及时更新规范和金标准数据集。
  9. 先进行小批量校准。在扩大任务规模前,用小样本确认规范清晰、质量达标。
  10. 建立共识流程。对主观性较强的分类或文本任务,采用共识机制,例如多数投票,或根据个人及小组经验、已验证质量建立分级裁决流程。
  11. 设置多层复核。对计算机视觉任务建立分级审核机制,尽可能提高标注准确性。
  12. 随机抽样,进行人工审查。亲自审核已标注数据的随机样本。抽检不能保证全量结果完全准确,但能帮助了解整体表现。
  13. 重新培训或移除持续不达标的标注员。如果经过培训和一段时间后表现仍未改善,可能需要调整其项目安排。
  14. 衡量模型性能。模型表现的改善或下降,往往与标注质量有关。可使用验证工具,评估精确率、召回率、IoU 及其他关键指标。

计算机视觉数据标注

计算机视觉是人工智能的一个领域,研究如何理解二维图像、视频或三维输入中的数据,并据此作出预测或建议。人类视觉系统高度发达,在视觉理解任务上具有很强的能力。

本节介绍计算机视觉中常见的标注类型,并给出各类型的实践方法。

1. 边界框(Bounding Box)

边界框是最常见、最简单的标注形式,用矩形框标出目标在图像或视频中的位置。

标注员围绕汽车、路牌等目标绘制矩形框,以确定目标在 X、Y 方向的位置。

用紧贴目标边缘的矩形边界框标注物体

使用框限定目标范围后,模型可以从更明确的特征区域中提取目标属性,从而节省计算资源,更准确地检测特定类型的物体。

目标检测不仅需要判定目标类别,还要确定其在图像中的位置。这些 X、Y 坐标可以输出为 JSON 等机器可读格式。

典型应用

  • 自动驾驶与机器人:检测车辆、行人、房屋等目标。
  • 识别制造产品的损伤或缺陷。
  • 增强现实应用中的家居物体检测。
  • 医学诊断影像中的异常检测。

最佳实践

  1. 尽可能贴紧目标边缘。完整覆盖目标,同时让框尽量贴合其边界,减少对模型的干扰。
  2. 尽量避免目标之间大面积重叠。考虑到 IoU 等因素,目标重叠较少时边界框通常效果更好。严重重叠时,可考虑多边形或分割标注。
  3. 考虑目标尺寸。较小目标通常适合边界框,较大目标可考虑实例分割;极小目标可能需要更先进的方法。
  4. 注意斜向或细长结构。步道、桥梁、铁轨等目标难以用矩形紧密包围,此时多边形或实例分割通常更合适。

2. 图像分类(Classification)

图像分类依据预定义类别,为整张图像赋予标签。例如,将图像标为“狗”“连衣裙”或“汽车”,帮助模型在新数据中识别相同类别。

将不同图像归入预先定义的目标类别

典型应用

  • 行为分类。
  • 商品分类。
  • 图像情感分析。
  • 区分“热狗”与“非热狗”。

最佳实践

  1. 定义清晰、易理解且与数据集相关的类别。
  2. 提供充分示例和培训,明确要求,尽量减少类别间的歧义。
  3. 设置基准测试,保障标注质量。

3. 三维框(Cuboid)

三维框是一种三维标注,用于表示目标的位置、宽度、高度和深度。

标注员围绕建筑物、汽车或家居物品等目标绘制三维框,确定其 X、Y、Z 坐标,再输出为 JSON 等机器可读格式。

三维框帮助模型准确理解目标在三维空间中的位置,对自动驾驶、室内机器人和三维空间规划至关重要。将目标抽象为几何基元,也能让整体场景理解更加高效。

在图像中标出目标三维位置和尺寸的立体框

典型应用

  • 为行人和车辆制作三维框,训练自动驾驶预测与规划模型,推断其行为和意图。
  • 为室内空间规划标注家具等物体。
  • 制造场景中的抓取、安全与缺陷检测。

最佳实践

  1. 准确标出角点与边缘。与边界框类似,既要包含完整目标,也要尽可能紧密贴合。
  2. 尽量避免标注重叠。清晰、相互独立的三维框有助于模型预测和定位空间中的目标。
  3. 保持坐标轴对齐规则一致。同类目标应采用一致的轴向定义。
  4. 考虑相机内参与透视关系。理解相机几何十分重要。如果忽略相机位置,目标相对相机的位置发生变化后,预测可能变差。真实三维框在图像中的正面通常不会呈现为四角均为 90° 的矩形,特别是在目标没有正对相机时。与地面平行的边在透视投影中应朝消失点收敛;上图右侧标注的上下边平行,则是需要注意的示例。
  5. 将二维图像与三维深度数据配合使用。二维图像本身缺少深度信息,与激光雷达等深度数据结合,更适合对深度精度要求较高的应用。详见下一节的三维传感器融合。

4. 三维传感器融合

三维传感器融合将多个传感器的数据结合,以弥补单个传感器的局限。仅凭二维图像,模型往往难以完整理解场景。从二维图像估计深度具有挑战性,遮挡和有限视场也会增加难度。虽然部分自动驾驶方案仅使用相机,但通过激光雷达、雷达等三维传感器补充二维信息,可以构建更稳健的方案。

相机图像与激光雷达点云对齐融合的三维场景

激光雷达(LiDAR)通过激光测量目标距离,获取场景深度,并构建三维表示。

雷达(Radar)利用无线电波测量目标距离、角度和径向速度。

这个交互演示展示了三维传感器融合场景;下面的视频提供了类似场景的整体介绍。

三维传感器融合

典型应用

  • 自动驾驶车辆。
  • 地理空间分析与地图测绘。
  • 机器人与自动化。

最佳实践

  1. 确保标注平台能够依据传感器内参进行标定;更理想的是工具兼容不同传感器,并支持鱼眼、全景相机等镜头和传感器类型。
  2. 选择支持大型场景的平台,最好能够处理持续延伸的长时序场景。
  3. 保证整个场景中的目标跟踪一致,即使目标离开后又重新出现,也应保持身份关联。
  4. 支持目标属性及关联关系,例如牵引车头与挂车之间的对应关系。
  5. 使用关联的实例 ID,统一标识二维与三维模态中的同一目标。

5. 椭圆标注(Ellipse)

椭圆标注用椭圆表示图像中目标的位置,适用于车轮、人脸、眼睛、水果等形状。标注员围绕目标绘制椭圆,确定其二维空间位置。椭圆四个极值点的 X、Y 坐标可输出为 JSON 等格式,以完整表示其位置。

使用椭圆紧密包围圆形或椭圆形目标的示例

典型应用

  • 人脸检测。
  • 医学影像诊断。
  • 车轮检测。

最佳实践

  1. 仅对适合椭圆或圆形表示的目标使用椭圆标注。对于矩形物体,边界框通常更合适。
  2. 如果边界框会产生大量重叠,或目标密集、部分遮挡,例如成簇水果,椭圆能够更紧密地贴合目标,提供更有针对性的几何表示。

6. 线标注(Line)

线标注用于定位道路标线等线性结构。标注员沿目标绘制线条,确定各顶点的位置,帮助模型更准确地识别边界。顶点的 X、Y 坐标可输出为 JSON。

用线条标注道路车道线和线性边界

典型应用

  • 为自动驾驶标注直线或曲线形式的道路标线。
  • 为增强现实与虚拟现实(AR/VR)应用标注地平线。
  • 确定运动场地边界。

最佳实践

  1. 只标注对具体应用有意义的线条。
  2. 尽可能贴合图像中线条的真实形状。
  3. 根据应用要求,避免不应相交的线发生交叉。
  4. 将标注线放在图像中实际线条的中心,以改善模型表现。

7. 点标注与关键点(Point)

点标注用图像中的空间位置表示目标的重要特征。标注员在关注位置放置点,记录其 X、Y 坐标。这些点可以相互关联,例如标注肩、肘、腕,以表示手臂的主要运动结构。此类标注有助于姿态估计,以及目标关键特征的检测。

人体关节关键点及其骨架连接关系

典型应用

  • 健身、健康或行为识别应用中的姿态估计。
  • 人脸检测中的面部关键点定位。

最佳实践

  1. 只标注对应用最关键的位置。例如,人脸检测可以关注眼睛、鼻子、嘴、眉毛和面部轮廓上的显著点。
  2. 将点组织为手部、面部或人体骨架等结构,标注界面应便于理解和查看这些点之间的连接关系。

8. 多边形(Polygon)

边界框绘制快速、操作简单,但难以准确贴合不规则形状,可能在目标周围包含大量无关区域。边界框与多边形之间存在精度和效率的权衡:许多应用使用边界框即可满足需求;另一些应用则需要更精细的多边形,代价是更高成本和更低标注效率。

标注员沿目标轮廓点击一系列位置,将它们连接为闭合多边形。这些点构成多边形的顶点,其 X、Y 坐标可以输出为 JSON。

沿不规则物体轮廓绘制闭合多边形

典型应用

  • 自动驾驶中的建筑物、车辆、树木等不规则目标。
  • 卫星影像中的房屋、泳池、工业设施、飞机和地标。
  • 农业应用中的水果检测。

最佳实践

  1. 对带孔洞的目标,或被遮挡而分成多个可见部分的目标(例如树后的汽车),作特殊处理,并从目标区域中扣除孔洞。
  2. 避免相邻多边形产生细微重叠。
  3. 充分放大目标,确保顶点尽量贴近真实边缘。
  4. 关注曲线边缘,通过增加顶点让轮廓尽可能平滑。
  5. 使用 Auto Annotate Polygon 等自动多边形工具提高效率。先用粗略边界框指出目标,即可快速生成较精确的多边形。
多边形自动标注

使用自动多边形工具时,可遵循以下步骤:

  • 完整包含目标的所有部分。
  • 尽量排除重叠的其他实例和无关物体。
  • 让初始边界框紧贴目标边缘。
  • 通过点击添加或排除区域,对自动生成的多边形进行局部修正。
  • 根据需要增减顶点密度,进一步平滑曲线边缘。

9. 分割(Segmentation)

图像分割为像素赋予标签,常见类型包括语义分割、实例分割和全景分割。

语义分割(Semantic Segmentation)

为图像中每个像素分配类别,如汽车、行人或植被。这也称为“密集预测”,通常是一项细致且耗时的工作。

语义分割不区分同一类别的不同个体;如需区分,应使用实例分割。

以不同类别颜色标识每个像素的语义分割示例

实例分割(Instance Segmentation)

为图像中每个独立目标的所有像素赋予标签。与语义分割不同,实例分割会区分同类目标中的不同个体,例如把汽车 1 与汽车 2 分开。

使用独立颜色区分同类车辆不同实例的分割标注

全景分割(Panoptic Segmentation)

全景分割结合语义分割与实例分割,为图像中的像素赋予类别信息,并对可数目标赋予实例身份。它既描述汽车、行人等独立物体,也覆盖道路、天空等区域。相较于实例分割,它提供更完整的场景上下文;相较于语义分割,它又能区分具体目标,因而适合更深入的场景理解。

典型应用

  • 自动驾驶与机器人:识别行人、汽车和树木。
  • 医学诊断影像:标注肿瘤、脓肿等区域。
  • 服装与时尚零售。

最佳实践

  1. 仔细描绘每个形状的轮廓,确保目标的所有像素都被正确标注。
  2. 使用机器学习辅助的边界工具,快速勾画目标及其边缘。
  3. 确定边界后,使用泛洪填充工具(Flood Fill)快速完成分割掩码。
  4. 使用交互式辅助工具,提高效率与准确性。
交互式分割标注

10. 视频标注的特殊考虑

许多标注类型可同时用于图像和视频,但视频还需要考虑一些额外问题。

标注的时序关联

视频为输入模型的数据增加了时间维度,因此需要让模型理解不同帧中的目标及标注之间的关系。

三维框视频标注

在大量视频帧中手工跟踪目标、逐帧添加标签,既费时又耗费资源。可以采用以下方法,提高时序关联标注的效率和准确性:

  1. 使用视频插值,在关键帧之间推算中间帧的标注,使位置变化更平滑,便于连续跟踪。
  2. 选择能够在帧间自动传播或复制标注的工具,减少人工修正错位标注的工作。
  3. 确保工具能够处理视频文件的存储需求,并衔接长达数小时的视频,持续保留同一上下文。

视频中的目标可能离开视野,随后再次出现。应使用能够自动跟踪目标的工具,或确保重新出现时仍使用相同的唯一 ID。

多模态

多模态机器学习尝试结合二维图像、音频、文本等相关模态理解世界。

在丰富的场景中,可以将人体关键点、边界框、音频转写和实体识别等多种标注关联起来。

多模态标注

典型应用

  • AR/VR 中对视频、GIF 和图像的完整场景理解:目标检测、人体关键点、音频转写与实体识别相结合。
  • 结合视频中的手势与声音信息进行情感分析。

最佳实践

  1. 建立时序关联,帮助模型理解整个场景随时间变化的完整信息。
  2. 选择与应用最相关的模态。例如,AR/VR 情感分析除二维视频目标或人体关键点外,还可以结合音频转写、实体识别与情感分类,理解场景及人物行为如何共同表达情绪。如果一个人大声喊叫、激烈挥手,模型就能结合多种线索判断其处于“生气”状态。
  3. 保留人工参与,确保不同模态之间保持一致;复杂场景应交由最有经验的标注员处理。

合成数据(Synthetic Data)

合成数据是以数字方式生成、模拟真实世界的数据。它可以由美术人员使用计算机图形工具制作,也可以通过生成对抗网络(GAN)、变分自编码器(VAE)或神经辐射场(NeRF)等模型生成。生成过程能够同时给出精确的真值标签,无需再次进行人工标注。

利用数字场景生成带有真值标注的合成数据

典型应用

  • 自动驾驶和机器人中的数字人,尤其是行人走在路肩等长尾边界场景。
  • 健身与健康应用中的数字人。真实人体姿态数据采集困难、成本高,而合成数据相对容易生成,成本也较低。
  • 制造缺陷检测。

最佳实践

  • 混合使用合成数据与真实数据时,要尽可能保证真实数据标注准确。合成数据可直接提供精确标签,真实数据中的标注误差会影响模型预测能力。
  • 对涉及隐私、罕见边界情况、数据偏差,或采集标注成本过高的场景,可借助合成数据补充样本。
  • 将合成数据接入现有流程,提高投入产出比。
  • 使用成熟的数据整理工具发现仍需补充数据的边界情况。理想情况下,数据整理工具还应与标注流程打通。

自然语言处理数据标注

文本标注帮助自然语言处理算法理解、交互和生成文本,支持聊天机器人、机器翻译、商品评论情感分析等多种应用。

与计算机视觉一样,文本也有多种标注类型。本节介绍最常见的几类。

1. 词性标注(POS)

根据词义和上下文,为文本或语料库中的词分配词性。这类基础标注能帮助机器学习模型更好地理解自然语言。

词性标注使聊天机器人和虚拟助手更准确地理解交互内容,并开展更贴切的对话。

为句子中的词语标注名词、动词等词性

2. 命名实体识别(NER)

命名实体识别与词性标注相似,但侧重于将文本中的实体归入人名、组织、地点、时间表达等预定义类别。进一步建立实体之间的关联关系,例如“Ada Lovelace 是 Byron 勋爵夫妇的女儿”,能够加深模型对文本的理解。

识别人名、地点、组织等命名实体及其关系

典型应用

  • 改进搜索词的理解。
  • 广告投放模型。
  • 识别客服对话、聊天机器人交互、社交媒体帖子中的实体,并映射到具体主题、品牌等信息。

3. 文本分类

将文本归入预定义类别,用于客户情感分析、聊天机器人,以及品牌资产和趋势监测等任务。

依据文本内容进行情感和类别标注

典型应用

  • 客户情感分析。
  • GPT-3 微调。
  • 社交媒体或聊天机器人中的意图识别。
  • 持续监测品牌资产。

结语

希望本指南能帮助你进一步理解机器学习,并将这些方法应用于自己的标注流程。

随着机器学习市场发展,对高质量数据与标注的需求也在增长。我们建议从整体出发,贯通核心业务问题的识别、数据采集与数据标注。

如果需要外部标注人员,请联系Alpha Hao。

开始构建数据底座。