1 数据集标注工具

1.1 labelme

github:https://github.com/labelmeai/labelme

Labelme 是一个图像标注工具,允许用户对图像进行像素级别的标注,包括绘制矩形框来识别和定位图像中的对象,以及对图像进行多边形分割。Labelme 支持导出多种数据格式,比如 PASCAL VOC 和简单的图像标记格式,这些格式可以直接用于机器学习模型的训练。它是一个开源项目,具有用户友好的界面,使得即使是没有编程背景的用户也能轻松上手进行数据标注。

只支持本地部署,不支持协同

1.2 CVAT

github:https://github.com/cvat-ai/cvat

CVAT(Computer Vision Annotation Tool)是一个用于计算机视觉任务的数据标注工具。它支持对图像和视频数据进行标注,包括但不限于目标检测、图像分割、关键点检测等。CVAT 提供了一个直观的图形用户界面,使得用户可以方便地创建和编辑标注任务。它还支持多种标注格式,包括 PASCAL VOC、YOLO、COCO 等,能够满足不同项目的需求。此外,CVAT 还具备协作功能,允许多个用户同时工作在一个项目上,提高了团队的工作效率。

CVAT 是英特尔开发的开源软件,虽然入门难度相对较高,但它具有非常丰富的标注工具和各种自动化功能,基于 Chrome 运行,支持包围框、多边形、线和关键点的标注,同时CVAT 支持复制粘贴标注对象、目标自动跟踪和关键帧标注,由 TensorFlow OD API 提供支持。在CVAT 中的多人协作很容易,可以拆分和分配工作。

支持在线使用和本地化部署,支持多人协同

1.3 LableStudio

github:https://github.com/HumanSignal/label-studio

Label Studio 是一款开源的数据标注工具,它支持多种类型的数据标注,包括文本、图像、音频和视频。Label Studio 旨在简化数据标注的过程,提高标注效率,并且支持自定义标注模板,以适应不同的项目需求。

支持本地化部署,支持多人协同

1.4 X-AnyLabeling

github:https://github.com/CVHub520/X-AnyLabeling

X-AnyLabeling 是一个先进的数据标注平台,专门设计用于支持各种复杂的数据标注任务,特别是在自然语言处理(NLP)和计算机视觉领域。该平台提供了一套全面的标注工具,包括文本、图像、音频和视频的标注功能,以及定制化的标注模板,以适应不同的数据类型和项目需求。 X-AnyLabeling 的特点包括但不限于其高效的项目管理系统、协作功能和机器学习集成。它允许团队成员在同一个项目上协作,提高了标注工作的效率和质量。此外,该平台支持自动化标注流程,可以通过预训练模型来辅助标注,减少人工标注的工作量,同时保证标注的一致性和准确性。 X-AnyLabeling 还提供了强大的API接口,可以与现有的机器学习工作流程无缝集成,使得从数据标注到模型训练的整个流程更加流畅。它支持多种输出格式,方便用户将标注数据直接用于机器学习模型的训练和验证。作为一个灵活且功能丰富的标注工具,X-AnyLabeling 适用于企业级的数据标注需求,帮助用户高效地准备和处理数据,以支持各种机器学习和人工智能应用的开发。

只支持本地化部署,不支持多人协同

参考

2 目标检测数据集标注原则

数据和算力是影响深度学习应用效果的两个关键因素,在算力条件满足的情况下,为了达到更好的效果,我们需要将海量的、高质量的数据喂给神经网络,训练出高质量的网络模型,在算力满足要求的前提下,模型效果会随着素材数量的增多而变好,数据集的数量和数据集的质量对最终模型的效果影响都特别大。

如果仅仅是追求数据集的数量而不顾数据集的质量,即使数据集数量越来越多,数据集质量得不到保证,那么模型效果只会越来越差。

为了保证目标检测数据集数据标注质量,我们应该遵守以下原则:

2.1 标注每一个对象,应标尽标

如果图片中包含多个在标签中的对象,必须标注所有对象,如果没有对所有对象添加标签,那么模型的准确性会降低。

2.2 标签必须一一对应

比如person和dog标签,不能把person标成dog,也不能把dog标成person,在标注需要特别注意。

为什么要注意这个问题?

在训练的时候,如果出现上述的问题,那么你一边告诉神经网络person是person,一般告诉它dog也是person,到最后模型也无法分清楚什么是person、什么是dog,那么很显然最后面也会影响模型推理结果。

## 2.3 贴边原则,标注方框大小和位置合适

标注矩形方框应该刚好将目标包围住,之间的间隙不能太大,也不能太小,如果太大或者太小,模型会学习到所标注的信息,会导致最后推理时的结果出现太大或者太小的问题;

2.4 目标被遮挡也需要标注

在图片中除了完整的目标,那些被遮挡的目标只要人眼能看清是什么就应该标注,标注矩形框只需要包含可见的部分即可,这样可以训练模型处理遮挡的情况。

2.5 小目标也应该被标注

即使图片上的目标再小,只要人眼能看清是什么,则都应该标注。

2.6 人眼难以分辨的目标不要标注

如果人眼也无法清楚辨别的目标,则不需要标注,避免误导模型。

2.7 独立原则

每一个目标物体均需要单独标框。例如,图中有三瓶水不能只标一个框,而是要将三个目标分别标框。

2.8 不框原则

图像模糊不清、太暗、曝光过度或不符合项目特殊规则的不框。这样可以保证标注质量,避免误导模型。

参考

3 数据集采集原则

数据集采集原则:

  1. 多样性:采集的数据集应该涵盖各种不同的场景和情况,以便算法能够更好地适应不同的环境和任务。
  2. 准确性:采集的数据集应该准确无误,以便算法能够准确地学习和预测。
  3. 完整性:采集的数据集应该尽可能地包含所有的信息,以便算法能够更好地了解任务和环境。
  4. 规范性:采集的数据集应该符合一定的规范和标准,以便算法能够更好地处理和利用数据。