juary 2020-09-10
本文将从如下方面和您讨论图像标注的相关概念与类型:
什么是计算机视觉?
作为AI研究和开发的一个重要领域,计算机视觉旨在使计算机能够“看到”并解释所处的环境和状态。从自动驾驶汽车,到无人机勘察,再到医疗诊断,以及面部识别与辨认等场景,计算机视觉在实际应用领域发挥着巨大的作用。
为了成功地模仿或超越人类的视觉功能,计算机视觉在对目标设备进行开发和处理的过程中,需要通过对大量模型的训练,实现对图像的标注。
什么是图像标注?
图像标注是一个将标签添加到图像上的过程。其目标范围既可以是在整个图像上仅使用一个标签,也可以是在某个图像内的各组像素中配上多个标签。一个简单的例子是:我们在向幼儿提供各种动物的电子图像时,可以通过将正确的动物名称标记到每个图像上,以方便幼儿在点触图像时能够获悉其名称。当然,具体标注的方法取决于实际项目所使用到的图像标注类型。有时候,我们可以将那些通过地图APP采集的地面实况数据(ground truth data),作为带标注的图像,馈入计算机视觉的对应算法。通过反复训练,模型便可以将已标注的实体与那些未标注的图像区分开来。
最常见的图像标注类型
上述示例非常简单,我们在诸如汽车自动驾驶等领域,则会用到更加复杂的图像标注和计算机视觉技术。那么,我们该如何知道哪一种图像标注类型更适合自己手头的项目呢?下面我将向您介绍五种常见的图像标注类型,及其相关应用。
1.2D边界框
2D边界框标注是指:为那些人类标注器(human annotator)提供图像,并负责在图像中的某些对象周围绘制框。该边框应尽可能地靠近对象的每个边缘。此项工作通常是在不同公司的自定义平台上完成的。如果某个项目有着独特的要求,那么服务公司则可以通过调整其现有平台,以符合此类需求。
边界框的一种典型应用是针对汽车自动驾驶的开发。标注器需要在捕获到的交通图像内识别车辆、行人和骑车人等实体,并在其周围绘制边界框。因此,开发人员通过为机器学习模型提供带有边界框标注的图像,以帮助正在进行自动驾驶的车辆,实时地区分出各类实体,并避免触碰到它们。
2.3D长方体
与边界框非常相似,3D长方体标注是在立体图像中的识别对象,并在其周围绘制边框。与仅描绘长和宽的2D边界框不同,3D长方体则标注了对象的长、宽和近似深度。
使用3D长方体标注,人类标注器可以绘制一个框,将感兴趣的对象封装起来,并将锚点(anchor points)放置在对象的每个边缘。如果对象的一个边缘不可见、或被图像中的另一个对象所遮挡,那么标注器就会根据该对象的大小、高度、以及图像的角度,来估算其边缘的位置。
3.多边形
有时候,图像中的对象由于光照或角度等原因,其形状、大小或方向无法被很好地适配上2D边界框或3D长方体。同时,开发人员希望对图像中的对象,进行更加精确的标注,例如:交通图像中的汽车、空中图像中的地标性建筑物等。在这些情况下,我们可能需要选择多边形进行标注。
在使用多边形时,标注器会通过在需要标注的对象的外边缘,放置许多个点来绘制成线。这个过程有点类似我们小时候玩过的“连点成线,勾勒轮廓”的练习。在此基础上,我们使用一组预定的实体类别(例如:汽车、自行车、卡车),对由这些点和线所包围的区域内的空间进行标注。此外,当我们分配了多个类别时,它们就被称为多类标注(multi-class annotation)。
4.线和样条线
尽管线和样条线可以被用于多种用途,但它们在此主要被用于训练驾驶系统,以识别车道及其边界。顾名思义,标注器将会简单地沿着既定的机器学习方式,去绘制出边界线。通过标注出车行道和人行道,它能够训练自动驾驶系统,了解所处的边界,并保持在某条车道内,以避免压线或转向行驶。
此外,线和样条线也可以被用于训练仓库里的机器人,让它们能够整齐地将箱子挨个摆放,或是将物品准确地放置到传送带上。
5.语义分割
和上述主要着眼于绘制对象的外部边缘(或边界)分类不同,语义分割要更加精确和具体一些。它是一个将整个图像中的每个像素与标签相关联的过程。在需要用到语义分割的项目中,我们通常会为人类标注器提供一系列预定义的标签,以便它能够从中选择需要标记的内容。
语义分割使用的是和多边形标注类似的平台,能够让标注器在需要标记的一组像素周围绘制线条。当然,这些操作可以在AI辅助平台上完成,例如,处理程序虽然可以近似地绘制出汽车的轮廓边界,但是为了避免错误,需要在分割过程中剔除掉汽车下方的阴影部分。
在实际应用中,标注器一旦接收到自动驾驶的训练数据,就需要按照道路、建筑物、骑车人、行人、障碍物、树木、人行道、以及车辆等,对图像中的所有内容,进行分类分割。而且,人类标注器会使用单独的工具,裁剪掉不属于主体的像素。