人工智能辅助的自动机器驱动的数据标签方法

221 阅读6分钟

用于物体检测、物体识别和分割任务的自动注释解决方案

作者的图片。我们的数据模型无关的自动注解工具的示例表示

你好,朋友们。在这篇博文中,我想分享我们在利用人工智能技术自主生成数据标签方面所做的工作。

我们的文章全文可在这里找到- https://lnkd.in/gJDKQCY

在我们探究我们的方法之前,首先让我们了解一下什么是数据标签,通俗点说就是数据标签。在机器学习中,数据标签只是识别原始数据(图像、视频、音频文件、文本文件等)的过程,并添加一个或多个有意义的、信息丰富的标签提供背景,以便机器学习模型能够从中学习和推理。大多数最先进的机器学习模型高度依赖大量的标签数据,这是监督任务中的一个重要步骤。包括计算机视觉、自然语言处理和语音识别在内的各种用例都需要进行数据标注。传统上,这种繁琐而平凡的数据标注过程至今仍主要由人类完成。为了帮助人类最大限度地减少从头开始的疯狂的辛勤工作和努力,我们提出了一个自动化的算法解决方案,旨在减少大部分的手工工作。让我们去参考一下哪里真正需要这样的标签数据。在这里,我将谈一谈计算机视觉任务。计算机视觉简单来说就是要复制人类视觉(人眼视觉)的复杂性,以及对其周围环境的理解。计算机视觉任务包括获取**、处理、分析和理解数字图像的方法,以及从现实世界中提取高维数据**,以产生数字或符号信息,例如以决策的形式。在计算机视觉领域,有许多不同的任务。我不会去研究它们的细节,例如分类检测分割等等。但是,下图以 "香蕉**"这一对象为例,提供了这些任务的清晰概述和目标。**

一个例子的背景--对标记数据的需求

分类 vs. 检测 vs. 语义分割 vs. 实例分割, [版权和图片改编自www.cloudfactory.com/image-annot…经许可转贴] 。

对于一个监督模型来说,检测对象--"香蕉",注释的标签被送入模型,这样它就可以学习香蕉像素的表示,并在上下文中对其进行定位,然后可以用来推断未见过的/新数据。实例分割任务旨在检测物体,定位这些物体并提供它们的数量、大小和形状信息。我们使用这样一个最先进的实例分割模型--"**Mask R-**CNN "作为我们框架的核心骨干,但在这里,人们可以根据他们的要求和目标使用任何其他网络架构。我们坚持使用掩码R-CNN,因为它在检测图像中的物体的同时为每个物体生成高质量的分割掩码方面很有效。对于我们所测试的COVID感染检测的特定用例,感染区域的精确位置是至关重要的,所以在这种情况下,像素级检测是比较合适的。

我们的方法

我们的工具的管道如下所示,主要包括检测器和跟踪器、自动标签模块和I/O模块,用于输出和保存机器注释的标签到磁盘。

图片由作者提供。自动数据标签流水线

步骤1:--物体检测和跟踪以进行像素级分类

一个自定义的弱训练面具-RCNN模型被用于COVID的感染检测,标注的实例非常少(<10个样本)。为了标记感染区域,我们使用了VGG图像注释器(VIA)图像注释工具。它是一个简单而独立的图像、音频和视频手动注释软件。VIA在网络浏览器中运行,不需要任何安装或设置。完整的VIA软件适合于一个独立的HTML页面,大小不到400KB,在大多数现代网络浏览器中作为一个离线应用程序运行。VIA是一个完全基于HTML、Javascript和CSS的开源项目(不依赖外部库)。VIA是在Visual Geometry Group(VGG)开发的,在BSD-2条款许可下发布,这使得它对学术项目和商业应用都很有用。检测器被用来获得掩码、边界框和被定位的类。接下来,为了统一跟踪和标记沿输入视频数据流的多个感染区域,我们使用了centriod跟踪算法。下面是我们的掩码-RCNN covid检测器的一个片段。

medium.com/media/79bb1…

第2步:--逐帧数据标签化

来自预训练的检测器模型的推断被用来获得边界框的位置,并创建一个json元数据。一旦使用Mask-RCNN对帧进行分割,就会产生相应的感兴趣的区域(ROI)。此外,每个ROI的掩码被生成,然后在整个图像帧上进行轮廓检测。然后,从轮廓线中提取(x,y)坐标。最后,这些形状、区域和坐标属性被逐帧地保存到磁盘上。下面是我们的自动标记算法的片段。

medium.com/media/3bf08…

例子 - Covid-19感染检测和自动标签

我们测试了我们的方法,目的是为Covid感染区域生成自动化的计算机标签。机器生成的标签和人类注释的标签的结果显示如下。可以看出,自动标注引擎生成的合成标签质量相当好,可以用来重新训练对象检测模型或生成更多的标注数据,可以用于不同的任务。

机器生成的标签与肺部CT扫描中Covid感染区的人类注释标签的比较,[图片改编自&版权:doi: 10.1109/TEM.2021.3094544。经许可转发] 。

总结

数据标记是一项非难事,是监督学习管道的关键组成部分之一。它是一项需要大量人工努力的任务。那么,我们能不能让这种平凡的、劳动密集型的、耗时的工作由机器自主驱动,以尽量减少人类的大部分任务。我们专注于这个通用的普遍问题,用我们直观的方法在很大程度上缓解了标签有限的瓶颈,或需要自己从头开始给大量的实例贴标签。

注意:我们的工具目前正处于alpha测试阶段。目前,我们设计的框架是基于面具R-CNN和VIA注释格式。我们的目标是使我们的原型包括不同的最先进的检测器,如YOLO和相应的YOLO兼容注释格式。此外,我们还计划整合COCO注释格式。将所有不同的图像注释整合为我们框架的一部分是值得的,同时提供不同的库,即Torch、TensorFlow、Caffe等的设施。

联系我

你可以通过以下方式联系我 ajay.arunachalam08@gmail.com 或通过Linkedin与我联系

谢谢你的阅读。希望这篇文章能给读者带来启发。

继续学习!!!。查看我的github页面

参考资料:-

标记的数据 - 维基百科

whatis.techtarget.com/definition/…

aws.amazon.com/sagemaker/g…

www.geeksforgeeks.org/object-dete…

www.robots.ox.ac.uk/~vgg/softwa…

github.com/matterport/…

www.telusinternational.com/articles/5-…

engineering.matterport.com/splash-of-c…


人工智能辅助的自动机器驱动数据标签方法最初发表在Medium上的Towards Data Science,在那里人们通过强调和回应这个故事来继续对话。