Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
Ultralytics YOLO

探索计算机视觉项目的数据标注

了解数据标注对计算机视觉的重要性、从边界框到关键点的主要标注类型,以及如何使用 YOLO 格式标注图像。

Abirami VinaAbirami Vina6 分钟阅读
计算机视觉项目的数据标注

人工智能 (AI) 致力于赋予机器类似人类的能力,而实现这一目标最常见的方法之一是监督学习。换句话说,通过向 AI 模型展示带标签的示例来训练模型,可以帮助模型从模式中学习并提升任务表现。这与人类通过经验学习的方式非常相似。那么,这些带标签的示例是如何创建的呢?

数据标注是指为数据添加标签或标记,以帮助机器学习算法理解数据。在计算机视觉中,这意味着标记图像或视频,使模型能够准确识别和分类物体、动作或场景。数据标注至关重要,因为 AI 模型的成功很大程度上取决于其训练数据的标注质量。

研究表明,AI 项目超过 80% 的时间都花在数据管理上,从收集和汇总数据到清理和标注数据。这充分体现了数据标注在 AI 模型开发中的重要性。使用高质量的标注数据,可以让 AI 模型在现实场景中更准确、更可靠地执行人脸识别和目标检测等任务。

为什么需要数据标注#

数据标注奠定了计算机视觉模型性能的基础。标注数据是真实参考数据,模型会用它来学习并进行预测。真实参考数据至关重要,因为它代表了模型试图理解的现实世界。没有这个可靠的基准,AI 模型就像一艘没有指南针的船。

真值与预测结果对比

图 1。真实参考数据与预测结果对比。

准确的标注有助于模型理解所看到的内容,从而做出更好的判断。如果数据标注有误或不一致,模型就难以做出正确的预测和判断,就像学生依据错误的教材学习一样。借助标注数据,模型可以学习图像和视频中对象的实例分割、图像分类和姿态估计等任务。

优质数据集资源#

在创建全新数据集并细致标注图像和视频之前,最好先看看项目能否使用现有数据集。有多个开源代码仓库提供可免费获取的高质量数据集。以下是一些最受欢迎的数据集:

  • ImageNet:常用于训练图像分类模型。
  • COCO:该数据集用于目标检测、分割和图像描述任务。
  • PASCAL VOC:支持目标检测和分割任务。

COCO 数据集中的数据示例

图 2。 COCO 数据集中的数据示例。

选择数据集时,务必考虑它与项目的匹配程度、数据集规模、多样性和标签质量等因素。此外,记得查看数据集的许可条款,避免法律风险,并确认数据格式适合你的工作流和工具。

如果现有数据集不完全符合你的需求,创建自定义数据集是个不错的选择。你可以根据项目需求,使用网络摄像头、无人机或智能手机等工具采集图像。理想情况下,自定义数据集应当具有多样性、保持均衡,并能真实代表你要解决的问题。这可能意味着要在不同光照条件下、从不同角度以及在多种环境中采集图像。

如果你只能采集少量图像或视频,数据增强是一种实用的技术。它通过对现有图像进行旋转、翻转或调整颜色等变换来扩充数据集。这能增加数据集的规模,让模型更稳健,更好地应对数据变化。结合使用开源数据集、自定义数据集和增强数据,可以显著提升计算机视觉模型的性能。

图像标注技术的类型#

开始标注图像之前,了解不同类型的标注很重要。这有助于你为项目选择合适的标注方式。接下来,我们将介绍几种主要的标注类型。

边界框#

边界框是计算机视觉中最常见的标注类型。它们是用于标记图像中对象位置的矩形框。边界框由各个角点的坐标定义,可帮助 AI 模型识别和定位对象。边界框主要用于目标检测。

边界框标注一名行人和四个交通锥,每个目标都带有类别名称和置信度分数

图 3。边界框示例。

分割掩码#

有时,仅用绘制在对象周围的边界框进行检测还不够准确。你可能需要了解图像中对象的边缘。在这种情况下,分割掩码可以勾勒出复杂对象的轮廓。分割掩码能以像素级方式进行更细致的表示。

这些掩码可用于语义分割和实例分割。语义分割会根据每个像素所代表的对象或区域为图像中的每个像素添加标签,例如行人、汽车、道路或人行道。实例分割则更进一步,会单独识别并区分每个对象,例如区分图像中的每辆汽车,即使它们都属于同一类型。

语义分割(左)和实例分割(右)示例

图 4。语义分割(左)和实例分割掩码(右)示例。

3D 长方体#

3D 长方体与边界框类似,但增加了深度信息,可以表示对象的三维形态。这些额外信息让系统能够理解三维空间中对象的形状、体积和位置。自动驾驶汽车常用 3D 长方体测量对象与车辆之间的距离。

高速公路上卡车和汽车周围的 3D 立方体标注,呈现每辆车的深度和体积

图 5。3D 长方体示例。

关键点和特征点#

另一种有趣的标注类型是关键点标注,即在对象上标记眼睛、鼻子或关节等特定点。关键点标志更进一步,通过连接这些点来捕捉更复杂形状(例如面部或身体姿势)的结构和运动。这类标注可用于人脸识别、动作捕捉和增强现实等应用。它们还能提升 AI 模型在手势识别或运动表现分析等任务中的准确率。

田径跑道上一名跑步者的姿态关键点标记其关节,并连接成骨架

图 6。关键点示例。

如何使用 LabelImg 标注数据#

现在我们已经介绍了不同的标注类型,接下来看看如何使用常见工具 LabelImg 标注图像。LabelImg 是一款开源工具,可简化图像标注,并用于创建 YOLO(You Only Look Once)格式的数据集。对于刚开始开展小型 Ultralytics YOLOv8 项目的用户来说,这是一个很好的选择。

LabelImg 的安装过程很简单。首先,确保你的电脑已安装 Python 3。然后,只需运行一条命令即可安装 LabelImg:

pip3 install labelImg

安装完成后,你可以使用以下命令启动工具:

labelImg

LabelImg 支持 Windows、macOS 和 Linux 等多个平台。如果在安装过程中遇到问题,可以查看官方 LabelImg 代码仓库中的详细说明。请注意,维护者已将 LabelImg 归档;如需使用浏览器进行标注并借助 AI 辅助工具,请参阅 Ultralytics Platform 标注编辑器。

使用 LabelImg 进行图像标注

图 7. 使用 LabelImg 标注图像。

启动工具后,按照以下简单步骤开始为图像添加标签:

  • 设置类别:首先,在名为“predefined_classes.txt”的文件中定义你要标注的类别列表。该文件会告知软件需要在图像中标注哪些物体。
  • 切换为 YOLO 格式: 默认情况下,LabelImg 使用 PASCAL VOC 格式,但如果你使用 YOLO,就需要切换格式。只需点击工具栏上的“PascalVOC”按钮即可切换为 YOLO。
  • 开始标注: 使用“Open”或“OpenDIR”选项加载图像。然后,围绕要标注的对象绘制边界框,并为其分配正确的类别标签。为每张图像完成标注后,保存工作。LabelImg 会创建一个与图像同名的文本文件,其中包含 YOLO 标注。
  • 保存并检查: 标注会以 YOLO 格式保存在 .txt 文件中。软件还会保存一个“classes.txt”文件,其中列出所有类别名称。

高效的数据标注策略#

为了让数据标注流程更顺畅,有几项关键策略值得牢记。例如,清晰的标注指南至关重要。没有指南,不同标注人员可能会对同一任务产生不同理解。

假设任务是用边界框标注图像中的鸟。一位标注人员可能会标出整只鸟,而另一位可能只标注鸟头或翅膀。这种不一致会让模型在训练时产生困惑。通过提供明确的定义(例如“标注整只鸟,包括翅膀和尾巴”),并附上示例以及针对棘手情况的说明,你就能确保数据得到准确、一致的标注。

定期进行质量检查对于维持高标准同样重要。通过设定基准并使用具体指标检查工作,你可以确保数据准确,并通过持续反馈不断完善流程。

数据标注简述#

数据标注是一个简单的概念,却能对计算机视觉模型产生重大影响。无论你是使用 LabelImg 等工具标注图像,还是在开源数据集上训练模型,了解数据标注都至关重要。数据标注策略有助于简化整个流程,提高效率。花时间完善标注方法,可以让 AI 结果更好、更可靠。

继续探索,不断提升技能!加入我们的社区,持续学习 AI 知识!访问我们的 GitHub 代码仓库,了解我们如何利用 AI 为制造业和医疗保健等行业打造创新解决方案。

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来