在基于图像的深度学习中如何做数据的自动标注以及自动标注的等级介绍

作者:Tobias Schaffrath Rosario

编译:ronghuaiyang

原文:在基于图像的深度学习中如何做数据的自动标注以及自动标注的等级介绍_ronghuaiyang的博客-CSDN博客

导读

数据的关键性在深度学习中至关重要,而标注又非常的贵,如果能够做到自动标注,那就太好了。

这篇文章是对基于图像的深度学习的最常见方法、基本标注方法、标注类型和该任务的自动化级别的一个高级探索。

这篇文章可以作为人们基于图像构建人工智能的一个有用的指南。为了便于理解,我们简化了下面的一些概念。

标注的介绍

基于图像的AI需要使用标注图像进行训练。这些标注也被称为“ground truth”、“labeled”或“annotated”数据。不同的数据科学模型有多种类型的“标注”。它们各不相同,包括"关键点","插值" ,"姿态估计"等等。在这篇文章中,我们将重点讨论四种最常用的标注类型:

分类

这对于快速获得图像属性非常有用。它包括图像中的物体、表情或背景。这是最简单的标注形式,也是我们在Google-captcha中看到的。然而,这种方法的功能有限,因为物体的位置、形状和属性都是未知的,而且需要对数百万张图像进行标注,才能可靠地了解这些细节。

物体检测

这对于定位图像中的物体很有用。标注相对简单,只需在目标周围画一个紧凑的框即可。这样做的好处是,存储这些信息和所需的计算相对较轻。缺点是框里的“噪音” —— 捕捉到的“背景” —— 经常会干扰模型对物体形状和大小的学习。因此,当存在高度的“遮挡”或物体形状的高度差异时,这种方法就会遇到困难,而这些信息是很重要的 ——想想生物细胞或服装的类型。

语义分割

这在标记数量不重要的物体的形状时很有用,比如天空、道路或简单的背景。这样做的好处是,当标注每个像素时,整个图像的信息就会丰富得多。你的目标是准确地知道区域的位置和它们的形状。这种方法的挑战是每个像素都需要标注,这个过程很耗时而且容易出错。

实例分割

这在指示不同的物体的时候很有用,如车1、车2、花a、花b等。这样做的好处是,我们可以更快地了解物体的形状和属性,而且与物体检测相比,我们可以更好地处理遮挡问题。挑战在于,这种方法非常耗时而且容易出错。

分割的挑战

正如你所看到的,实例和语义分割是非常耗时的,因为你需要手动勾勒出精确的目标对象 —— 点对点的“多边形”,甚至像素对像素的“mask”。这就是为什么它如此容易出错。事实上,世界上最好的标注者有4-6%的错误率,而一般人的错误率在8-9%左右。这种错误率会对最终AI的性能产生显著影响,并且通常会阻碍项目通过概念证明阶段。

现在想象一下目标物体是复杂的,比如有机细胞或机械物品。此外,如果错误的余地很小,因为模型导致错误的决策的后果可能是可怕的,甚至是致命的。通常,在这些非一般情况下,分割具有最大的实用性,是实现高性能模型的必要条件。

构建基于图像的人工智能所需的70%工作是标注工作。如果做AI的实践工作的时候(如自动驾驶),如果有数百万个小时的人工标注数据来训练神经网络,团队才有足够的信心把它投入生产。即使这样,在部署模型之后,通常也需要重新标注或标注额外的数据。

当需要专家对这些图像进行标注时,自动化手工工作的好处是最大的。典型的用例包括医学和生物成像、机器人技术、质量保证、先进材料和农业。想想这样的例子:你正在构建一个人工智能来帮助一个花了很多年才成为该领域专家的人。

标注的等级

机器视觉自动化的目标是通过尽可能少的输入来确定物体的轮廓。在本节中,我们将主要介绍自动化分割任务,因为这通常是劳动密集型的工作。

这种情况下的自动化水平是评估:

级别1:单个图像中的单个目标

级别2:单个的图像中的多个目标

级别3:估计多幅图像中多个物体的轮廓

目标是准确估计一个给定项目的所有图像中所有目标的轮廓。

Level 1 — 在秒级标注一个物体

使用从著名的“OpenCV”框架中流行的经典计算机视觉方法,Photoshop中的工具,甚至一些基于新颖的人工智能方法,这些工具旨在尽可能自动化单个目标的标注。1级工具的例子包括:

  • Contour 基于对比的轮廓 — 在对比度很高的背景上效果很好

  • GrabCut 从背景中在一个预定义好的区域上提取前景

  • Magic wand 选择一个区域在给定范围内通过寻找在附近的相似像素来逼近目标

  • DEXTR 使用在大型通用数据集上训练的模型,试图识别一个定义区域内的目标轮廓

注:通常标注工具声称具有“自动标记”的功能,如DEXTR。然而,它仍然是一个手动工具,依赖于之前对通用数据集的训练,为每个目标提供建议。不要误解我们,这个工具是伟大的,它的用途达到一级自动化,但它距离完全的“自动标注”还很远。

Level 2 — 在秒级标注一幅完整的图像

在这个级别上,你尝试在一个操作中标注图像中的所有目标。这接近当前深度学习的前沿。与第1级相比,节省的时间是巨大的,因为人力投入大幅减少。然而,这种自动化需要比级别1更高的置信度级别。这意味着,在部署第2级工具之前,可以使用第1级工具启动标注项目。

2级自动化是通过人工智能辅助实现的。这些AI在你标注的时候在后台学习。当它们达到一定的置信度分数时,作为用户,你可以开始使用它们,并获得建议,不仅针对单物体,而且针对完整的图像。随着更多的图像完成,AI助手将重新训练并进行改进。

Level 3 — 在秒级标注完整的图像组/项目

当标注自动化到这个级别时,作为用户,你应该能够在几秒钟内标注一组图像,甚至是一个完整的项目。这里所期望的是,作为用户,你只需单击一个按钮,项目中的所有图像就会得到标注。

虽然非常强大,但使用3级工具也会带来挑战。例如,如果你标注了一个数据集,包含10 000动物图片,其中的1 000已经标注过了,但是这个3级工具很难区分青蛙和蟾蜍,9 000汽车图片工具的标注可能有严重的质量问题。应该被归类为青蛙的现在变成了蟾蜍,反之亦然,这样所做的标注是无用的。这是一种分类错误 —— 只有四种类型的错误会发生。其他的则是产生人造痕迹、不准确的分割或完全漏掉对象。

因此,要使用3级工具,你需要非常确定结果是准确的,并且误差百分比非常低(0.5%)。这种确定性可以通过将用户行为考虑到第2级自动化中来实现,例如对第2级的建议进行轻微调整或不进行调整,并查看诸如可信度级别之类的内容。

你可能感兴趣的:(图象处理,深度学习,python,计算机视觉,开发语言)