Meet YOLO26: next-gen vision AI.

Link to this section计算机视觉的数据收集与标注策略#

数据收集与标注是每个计算机视觉项目的两个基础步骤:你需要收集具有代表性的图像或视频,然后进行标注,以便模型从中学习。数据的质量直接决定了模型的表现,这就是为什么在开始训练之前,类定义、无偏见的来源以及一致的标注至关重要。



Watch: How to Build Effective Data Collection and Annotation Strategies for Computer Vision 🚀

本指南涵盖了设置类和收集数据什么是数据标注以及可选择的标注类型和格式,还有高效的标注策略——每一项决策都与你的项目目标相一致。

Link to this section设置类别与收集数据#

为计算机视觉项目收集图像和视频归结为三个决定:定义多少个类、从哪里获取数据,以及如何确保数据集没有偏见。

Link to this section为你的项目选择合适的类别#

开启计算机视觉项目时,首要问题之一是包含多少个类别。你需要确定类别成员,这涉及到你希望模型识别和区分的不同类别或标签。类别的数量应根据你的项目具体目标来确定。

例如,如果你想监控交通,你的类别可能包括“汽车”、“卡车”、“公交车”、“摩托车”和“自行车”。另一方面,如果是在商店中追踪物品,你的类别可以是“水果”、“蔬菜”、“饮料”和“零食”。根据项目目标定义类别有助于保持数据集的相关性和针对性。

当你定义类别时,另一个重要的区分是选择粗略还是精细的类别数量。'数量'指的是你感兴趣的不同类别的个数。这个决定会影响数据的颗粒度和模型的复杂度。以下是每种方法的考量点:

  • 粗略类别计数:这些是更广泛、更具包容性的类别,例如“车辆”和“非车辆”。它们简化了标注并需要较少的计算资源,但提供的信息较少,可能会限制模型在复杂场景中的有效性。
  • 精细类别计数:类别更多且区分更细致,例如“轿车”、“SUV”、“皮卡车”和“摩托车”。它们能捕捉到更详细的信息,从而提高模型准确度和性能。然而,它们标注起来更耗时、更费力,并需要更多的计算资源。

从更具体的类别开始通常非常有帮助,特别是在细节很重要的复杂项目中。更具体的类别让你能收集到更详尽的数据,获得更深入的见解,并建立类别之间更清晰的区分。这不仅能提高模型准确度,而且在需要时更容易对模型进行调整,节省时间和资源。

Link to this section数据来源#

你可以使用公共数据集或收集自己的自定义数据。像 KaggleGoogle Dataset Search Engine 上的公共数据集提供了标注良好、标准化的数据,是训练和验证模型的绝佳起点。

另一方面,自定义数据收集允许你根据特定需求定制数据集。你可以通过摄像头或无人机捕获图像和视频,从网络上抓取图像,或者使用组织内部现有的数据。自定义数据让你能更好地控制其质量和相关性。结合公共和自定义数据来源有助于创建多样化且全面的数据集。

Link to this section在数据收集过程中避免偏见#

偏见发生在某些群体或场景在你的数据集中被代表不足或过度代表时。这会导致模型在某些数据上表现良好,但在其他数据上表现不佳。至关重要的是避免 AI 偏见,以便你的计算机视觉模型能在各种场景中表现良好。

以下是你如何在收集数据时避免偏见的方法:

  • 多样化的来源:从多个来源收集数据,以捕捉不同的观点和场景。
  • 平衡的代表性:包括来自所有相关群体的平衡代表性。例如,考虑不同的年龄、性别和种族。
  • 持续监控:定期审查和更新你的数据集,以识别并解决任何新出现的偏见。
  • 偏见缓解技术:使用诸如对代表性不足的类别进行过采样、数据增强 和公平感知算法等方法。

遵循这些做法有助于创建一个更健壮、更公平的模型,使其在现实应用中具有良好的泛化能力。

Link to this section什么是数据标注?#

数据标注是为数据贴上标签的过程,使其可用于训练 机器学习 模型。在计算机视觉中,这意味着用模型学习所需的信息来标注图像或视频。如果没有经过适当标注的数据,模型就无法准确地学习输入和输出之间的关系。

Link to this section数据标注的类型#

根据 计算机视觉任务 的具体要求,有不同类型的数据标注。以下是一些示例:

  • 边界框 (Bounding Boxes):在图像中物体周围绘制的矩形框,主要用于目标检测任务。这些框由它们的左上角和右下角坐标定义。
  • 多边形 (Polygons):物体的详细轮廓,比边界框提供更精确的标注。多边形用于 实例分割 等任务,其中物体的形状很重要。
  • 掩码 (Masks):二进制掩码,其中每个像素要么是物体的一部分,要么是背景。掩码用于 语义分割 任务,以提供像素级的细节。
  • 关键点 (Keypoints):在图像内标记的特定点,用于识别感兴趣的位置。关键点用于 姿态估计 和面部特征点检测等任务。

Data annotation types including bounding boxes, polygons, and masks

Link to this section常见标注格式#

在选择了一种标注类型后,选择合适的格式来存储和共享标注非常重要。最常见的格式包括:

格式文件结构常用于
COCO单个 JSON 文件目标检测、实例分割、关键点检测、物体和全景分割、图像描述
Pascal VOC每张图像一个 XML 文件目标检测
YOLO每张图像一个 .txt 文件目标检测、分割和姿态估计

YOLO 格式每行存储一个对象,类索引从 0 开始。对于目标检测,该行为 class x_center y_center width height,包含归一化的 0-1 坐标,而分割会附加归一化的多边形点,姿态估计会在框之后附加关键点坐标以及可选的可见性值。

Link to this section设置标注准则#

选定标注类型和格式后,下一步是建立清晰且客观的标注规则。这些规则是确保整个标注过程中一致性和准确性的蓝图。这些规则的关键方面包括:

  • 清晰与细节:确保你的说明清晰明了。使用示例和插图来展示期望的效果。
  • 一致性:保持你的标注统一。为标注不同类型的数据设定标准准则,确保所有标注遵循相同的规则。
  • 减少偏见:保持中立。训练自己保持客观,最小化个人偏见以确保标注公平。
  • 效率:工作要更聪明,而不是更努力。使用能自动化重复任务的工具和工作流,使标注过程更快、更高效。

定期审查和更新你的标注规则将有助于保持标注的准确、一致,并与你的项目目标保持一致。

Link to this section标注工具#

一个优秀的标注工具可以让你标注任务所需的每种类型,强制执行一致的指南,并以可直接用于训练的格式导出标签。Ultralytics Platform 提供了一个内置的标注编辑器,涵盖检测、实例分割、姿态估计、OBB 和分类任务,并具备SAM 驱动的智能标注功能,只需点击一下即可为检测、分割和 OBB 任务生成遮罩。由于每个标注都以YOLO 格式保存,你的标注数据集可以直接进入训练阶段,无需进行转换。

Link to this section标注质量:准确度、精密度和异常值#

在大规模标注之前,了解准确度、精密度、异常值和质量控制非常有帮助,这样你就不会以适得其反的方式标注数据。

Link to this section理解准确性和精度#

理解准确性和精度之间的区别以及它们如何与标注相关非常重要。准确性指的是标注数据与真实值之间的接近程度。它帮助我们衡量标签反映真实世界场景的程度。精度表示标注的一致性。它检查你是否在整个数据集中为相同的物体或特征给出了相同的标签。高准确性和精度通过减少噪声并提高模型从 训练数据 中泛化的能力,从而带来训练更好的模型。

Accuracy vs precision comparison for data annotation

Link to this section识别异常值#

异常值是偏离数据集中其他观察结果的数据点。就标注而言,异常值可能是标注错误的图像或与数据集其余部分不符的标注。异常值令人担忧,因为它们会扭曲模型的学习过程,导致预测不准确和泛化能力差。

你可以使用各种方法来检测和纠正异常值:

  • 统计技术:要检测像像素值、边界框 坐标或对象大小等数值特征中的异常值,你可以使用箱线图、直方图或 Z-分数等方法。
  • 可视化技术:要发现像对象类别、颜色或形状等分类特征中的异常,请使用绘图图像、标签或热力图等可视化方法。
  • 算法方法:使用诸如聚类(例如 K-means 聚类、DBSCAN)和 异常检测 算法等工具,根据数据分布模式识别异常值。

Link to this section标注数据的质量控制#

就像其他技术项目一样,质量控制对于标注数据来说是必不可少的。定期检查标注以确保其准确且一致是一种好的做法。这可以通过几种不同的方式完成:

  • 审查标注数据的样本
  • 使用自动化工具来发现常见错误
  • 让另一个人复核标注

如果你与多人合作,不同标注者之间的一致性很重要。良好的标注者间一致性意味着指南很清晰,每个人都以同样的方式遵循它们。它让每个人保持同步,并保持标注的一致性。

在审查时,如果发现错误,请纠正它们并更新指南以避免将来犯错。为标注者提供反馈,并提供定期培训以帮助减少错误。拥有处理错误的强大流程可以保持数据集的准确和可靠。

Link to this section高效的数据标记策略#

为了使数据标记过程更顺畅、更有效,请考虑实施以下策略:

  • 清晰的标注指南:提供带有示例的详细说明,以确保所有标注者对任务的理解一致。例如,在标记鸟类时,明确是包含整只鸟还是仅包含特定部分。
  • 定期质量检查:设定基准并使用特定的指标来审查工作,通过持续反馈维持高标准。
  • 使用预标注工具:许多现代标注平台提供 AI 辅助的预标注功能,通过自动生成人工随后可以优化的初始标注,从而显著加快过程。
  • 实施主动学习:这种方法优先标记最具有信息量的样本,可以在保持模型性能的同时减少所需的总标注量。
  • 批处理:将相似的图像分组在一起进行标注,以保持一致性并提高效率。

这些策略有助于在减少标记过程所需时间和资源的同时,保持高质量的标注。

Link to this section与社区分享你的想法#

与其它 计算机视觉 爱好者交流你的想法和疑问,有助于加速你的项目。以下是一些学习、排查问题和交流的好方法:

Link to this section获取帮助与支持的途径#

  • GitHub Issues: 访问 YOLO26 GitHub 存储库,并使用 Issues 选项卡 提出问题、报告错误并建议功能。社区成员和维护者都在那里为你解决遇到的问题。
  • Ultralytics Discord 服务器:加入 Ultralytics Discord 服务器 与其他用户和开发者交流、获取支持、分享知识并交流灵感。

Link to this section官方文档#

  • Ultralytics YOLO26 文档: 请参考 官方 YOLO26 文档,获取关于众多计算机视觉任务和项目的详细指南及宝贵见解。

Link to this section结论#

收集多样化、无偏见的数据并使用合适的工具进行一致的标注,是构建可靠计算机视觉模型的基石。数据集收集并标注完成后,请继续阅读计算机视觉项目步骤指南,进入训练和评估阶段。

Link to this section常见问题解答#

Link to this section在计算机视觉项目中,避免数据收集偏见的最好方法是什么?#

为了最大限度地减少偏见,请从多样化的来源收集数据,确保所有相关群体(如不同的年龄、性别和种族)具有均衡的代表性,定期审查和更新数据集以捕捉新出现的偏见,并应用如过采样欠代表类、数据增强和公平感知算法等缓解技术。通过这种方式避免偏见,可以保持你的计算机视觉模型在各种现实场景中表现良好,并提高其泛化能力。

Link to this section我该如何确保数据标注的高度一致性和准确性?#

建立清晰、客观的标注准则,包含详细的说明、示例和图解,然后将其统一应用于所有数据类型,以便每个标注都遵循相同的规则。培训标注员保持中立以减少个人偏见,定期审查和更新准则,并使用自动化一致性检查和标注员间的反馈,以保持高准确度并与你的项目目标保持一致。

Link to this section训练 Ultralytics YOLO 模型需要多少张图像?#

每类几百个标注对象足以开始尝试迁移学习,但为了获得可靠的实际表现,Ultralytics 建议每类至少 1,500 张图像和 10,000 个标注实例。将足够大的数据集与合理的训练计划搭配使用——约 300 个 epoch 是一个常见的起点,如果模型过早过拟合,则减少 epoch 数——并确保你的标注严谨且与项目的具体目标一致。在 YOLO26 训练指南中探索详细的训练策略。

Link to this sectionUltralytics 是否提供数据标注工具?#

是的。Ultralytics Platform 包含一个内置的标注编辑器,在同一个工作区内支持边界框、多边形、关键点、旋转框和分类标签。SAM 驱动的智能标注功能通过单击生成遮罩,加快了检测、分割和 OBB 任务的标注速度,且每个标注都存储为YOLO 格式,可随时用于训练

Link to this section计算机视觉中通常使用哪些类型的数据标注?#

计算机视觉中最常见的数据标注类型是边界框、多边形、遮罩和关键点,每种类型都适用于不同的任务:

  • 边界框:主要用于目标检测,是图像中物体周围的矩形框。
  • 多边形:提供更精确的物体轮廓,适用于实例分割任务。
  • 掩码:提供像素级的细节,用于语义分割以区分物体和背景。
  • 关键点:识别图像内特定的感兴趣点,适用于姿态估计和面部特征点检测等任务。

选择合适的标注类型取决于你的项目需求。在我们的 数据标注指南 中详细了解如何实现这些标注及其格式。

评论