用于对象检测、对象识别和分割任务的自动注释解决方案。
在这篇博客文章中,我想分享我们在使用人工智能技术自主生成数据标签方面所做的工作。
在我们了解我们的方法之前,首先让我们了解一下外行术语中的数据标签是什么。在机器学习中,数据标签只是识别原始数据并添加一个或多个有意义的和信息丰富的标签以提供上下文的过程,以便机器学习模型可以从中学习和推断。大多数最先进的机器学习模型高度依赖于大量标记数据的可用性,这是监督任务中的一个重要步骤。各种用例都需要数据标签,包括计算机视觉、自然语言处理和语音识别。
为了帮助人类最大限度地减少从头开始的疯狂的数据标记工作和努力,我们建议一种自动化的算法解决方案,旨在减少大量的人工工作。
在这里,我将谈谈计算机视觉任务。计算机视觉简单地说就是复制人类视觉的复杂性,以及对周围环境的理解。计算机视觉任务包括用于获取、处理、分析和理解数字图像的方法,以及从真实世界提取高维数据以便产生数字或符号信息的方法。在计算机视觉领域,有许多不同的任务。但是,下面的图表提供了这些任务的简明概述和目标,并提供了一个上下文中对象的示例-“香蕉”。
标记数据的上下文需求示例
为了监督模型检测对象-“香蕉”,注释的标签被馈送给模型,使得它可以学习香蕉像素的表示,并且将它们定位在上下文中,然后可以使用该上下文来推断未见/新的数据。实例分割任务的目的是检测对象,定位这些对象,并提供它们的数量、大小和形状信息。
我们使用了最先进的实例细分模型-“Mask R-CNN”作为我们框架的核心骨干。我们坚持使用掩模R-CNN,因为它在检测图像中的目标的同时为每个目标生成高质量的分割掩模。对于我们检测COVID感染的特定测试用例来说,感染区域的精确定位是至关重要的,因此像素级检测在这种情况下更合适。
我们的方法
我们的工具流水线如下所示,主要由探测器跟踪器、自动标签模块和将机器标注标签输出并保存到磁盘的I/O模块组成。
步骤1:-目标检测和跟踪以进行像素级分类
自定义弱训练MASK-RCNN模型用于检测COVID感染,标记实例很少。为了标记感染区域,我们使用了VIA图像标注工具。VIA在Web浏览器中运行,不需要任何安装或设置。VIA是一个完全基于HTML、JavascRIPt和CSS的开源项目。检测器用于获取定位的掩码、边界框和类。其次,采用中心跟踪算法对输入视频数据流上的多个感染区域进行统一跟踪和标记。
第2步:-逐帧标记数据
来自预先训练的检测器模型的推断被用来获得边界框的位置,并创建JSON元数据。一旦使用Mask-RCNN分割帧,就会生成相应的感兴趣区域。此外,生成每个ROI的掩码,然后在整个图像帧上进行轮廓检测。然后,从等高线中提取坐标。最后,这些属性逐帧保存到磁盘。
示例-冠状病毒感染检测和自动标记
我们测试了我们的方法,目标是为COVid感染区域生成自动计算机标签。机器生成标签和人工注释标签的结果如下所示。可以看出,自动注释引擎生成可用于重新训练对象检测模型或生成可用于不同任务的更多注释数据的合成标签的相当好的质量。
数据标注是一项不平凡的任务,也是有监督学习管道的关键组成部分之一。这是一项需要大量手工工作的任务。那么,我们可以让这些平凡、劳力密集和耗时的大部分工作由机器自动驱动,目的是将大量的人类任务降到最低。我们用直观的方法关注这一普遍存在的问题,以在很大程度上缓解标签有限或需要自己从头开始标记大量实例的瓶颈。
注意:-我们的工具目前处于阿尔法测试阶段。目前,我们设计的框架是基于MASK R-CNN和VIA注释格式的。我们还打算推广我们的原型,使其包含不同的最新检测器,例如YOLO和相应的YOLO兼容注释格式。此外,我们还计划集成COCO注释格式。它值得集成所有不同的图像注释作为我们框架的一部分,同时为工具提供不同的库,即ToRch、TensoRFlow、CaFFe等。