在计算机视觉领域,为了训练出准确的模型,收集与实际部署条件相似的图像并进行仔细准确的标注至关重要。本文将解答如何进行图像标注以及在标注过程中需要注意的事项。通过阅读本文,将了解到几个关键的标注技巧,以确保图像标注准确且对模型有帮助。
图像标注是指在图像中标注特定的对象或特征。这些标注教会计算机视觉模型如何在图像中识别特定的对象。例如,在一组航拍图像中,可能需要标注所有的树木。这些标注将帮助模型理解什么是树。
图像标注可以使用多种标注工具完成。这些工具允许在对象周围绘制特定的边界,这些边界被称为“边界框”。每个边界框都会被赋予一个标签,以便模型区分不同的对象。例如,所有的树可能被标记为“树”,所有的房子可能被标注为“房子”。
提供的图像标注质量将直接影响训练出的模型的准确性。使用正确的标注和标注策略,可以产生一个高质量的数据集,帮助模型更好地学习如何识别标注的对象。
虽然下面的最佳实践通常是正确的,但需要注意的是,标注指南高度依赖于手头任务的性质。此外,为一个任务标注的图像可能不适合另一个任务——重新标注并不罕见。最好将数据集及其标签视为一个活生生的东西:不断变化和改进以适应手头的任务。
考虑到这一点,让来讨论一些有效标注图像的技巧。
计算机视觉模型的构建是为了学习对应于感兴趣对象的像素模式。因此,如果正在训练一个模型来识别一个对象,需要在图像中标注该对象的每一次出现。如果没有在某些图像中标注对象,将为模型引入假阴性。
例如,在一个棋盘数据集中,需要标注棋盘上每一块棋子的出现——不会只标注一些,比如说,白兵。
边界框应该包含感兴趣的整个对象。只标注对象的一部分会让模型对完整对象的构成感到困惑。
例如,在棋盘数据集中,注意每一块棋子都被完全包含在一个边界框内。
遮挡是指由于照片中的某物挡住了它,导致对象在图像中部分看不见。最好甚至标注被遮挡的对象。
此外,通常最好的做法是将被遮挡的对象标注为如果它是完全可见的——而不是只为对象的部分可见部分绘制边界框。
例如,在棋盘数据集中,一个棋子经常会遮挡另一个棋子的视线。两个对象都应该被标注,即使框重叠了。
边界框应该紧密地围绕感兴趣的对象。(但是,不应该有一个如此紧密的框,以至于它切断了对象的一部分。)紧密的边界框对于帮助模型精确学习哪些像素构成感兴趣的对象与图像中不相关的部分至关重要。
在确定给定对象的标签名称时,最好倾向于更具体而不是更少。总是更容易将标签类别重新映射为更一般的,而更具体则需要重新标注。
例如,想象正在构建一个狗探测器。虽然每个感兴趣的对象都是狗,但创建一个拉布拉多和贵宾犬的类别可能是明智的。在初始模型构建中,标签可以合并为狗。但是,如果从狗开始,后来意识到拥有个别品种很重要,将不得不重新标注整个数据集。
不可避免地,需要向数据集中添加更多数据——这是模型改进的关键要素。像主动学习这样的策略确保智能地花费时间进行标注。因此,拥有清晰、可共享和可重复的标注说明对于自己和同事创建和维护高质量的数据集至关重要。
这里讨论的许多技术应该被包括在内:标注整个对象,使标签紧密,标注所有对象等。总是最好倾向于更具体而不是更少。
通过Roboflow的外包标注服务,可以直接与专业标注者合作,为各种规模的项目进行标注。Roboflow管理着一支训练有素的专家团队,他们使用Roboflow平台来更快、更便宜地策划数据集。
开始使用外包标注的第一步是填写包含项目细节和要求的intake form
。从那里,将与一个直接在标注项目上工作的标注团队联系。
在与专业标注者合作时,清晰地记录说明是过程的一个重要部分。经常看到,最成功的标注项目是那些在一开始就提供了良好记录的说明,并且在初始批次的图像上与标注者进行了初步反馈,然后显著增加了标注量的项目。阅读guide to writing labeling instructions
,了解更多关于如何编写信息性说明的信息。
Roboflow有一套标注工具,使标注数据的过程更加高效和准确。
使用Roboflow免费管理数据集,标注数据,并转换为26+种格式以使用不同的模型。Roboflow免费提供高达10,000张图像的服务,基于云,易于团队使用。
尝试Roboflow