时间:2022-10-21 12:49:29
作者:星辉注册科技
浏览: 次
图像数据标注推动了计算机视觉的飞速发展,随着各类图像检测、识别算法的商业化落地,市场对图像标注精准度愈发严格,同时针对不同的应用场景,也衍生出了不同的图像标注方法。
图像数据标注是监督机器学习任务中必不可少的步骤。Garbage In Garbage Out是 机器学习界常用的一句话,意思是训练数据的质量决定了模型的质量。用于数据标注的注释也是如此。如果你给孩子看一个西红柿并说它是土豆,那么下次孩子看到西红柿时,他很可能会把它归类为土豆。由于机器学习模型以类似的方式学习,通过查看示例,模型的结果取决于我们在训练阶段输入的标签。
在这篇文章中,我们将介绍图像的标注类型、常用的标注格式以及一些可用于图像数据标注的工具。
在进入图像数据标注之前,了解存在的不同图像标注类型很有用,以便为您的用例选择正确的类型。以下是几种不同类型的标注:
1.1、边界框
边界框是计算机视觉中最常用的标注类型。边界框是用于定义目标对象位置的矩形框。它们可以由矩形左上角的x和y轴坐标以及矩形右下角的x和y轴坐标确定。边界框通常用于目标检测和定位任务。
检测到的汽车的边界框(Patricia Jekki在Unsplash上的原始照片)
边界框通常由两个坐标 (x1, y1) 和 (x2, y2) 或边界框的一个坐标 (x1, y1) 和宽度 (w) 和高度 (h) 表示。(见下图)
边界框显示坐标 x1、y1、x2、y2、宽度 (w) 和高度 (h)(照片来自Unsplash上的an_vision)
1.2、多边形分割
多边形标注较为精确,与矩形框标注不同,避免了大量白色空间和额外噪音导致的视觉模型偏差。当然,多边形绘制需要更多的工作量,所以其价格也会有所不同。常见的多边形标注应用包括机器人抓取、医学影像识别、卫星图片识别等。
来自 COCO 数据集的图像多边形分割(来源)
1.3、语义分割
对分割后的图像加上语义标签(用不同的颜色代表不同类别的物体),就是给分割后图像中的每一类物体加上标签,这些类可以是行人、汽车、公共汽车、道路、人行道等,每个像素都带有语义,输入一般是彩色深度(RGB-D)图像。
语义分割主要用于环境上下文非常重要的情况。例如,它用于自动驾驶汽车和机器人技术,因为模型可以了解它们所处的环境。
来自 Cityscapes 数据集的图像语义分割(来源)
1.4、3D长方体标注
3D 长方体类似于具有关于对象的附加深度信息的边界框。因此,使用 3D 长方体,您可以获得对象的 3D 表示,允许系统区分 3D 空间中的体积和位置等特征。
3D 长方体的一个用例是在自动驾驶汽车中,它可以使用深度信息来测量物体与汽车的距离。
图像上的 3D Cuboid 标注(原始照片由Jose Carbajal在Unsplash上提供)
1.5、关键点标注
关键点标注用于通过在图像上创建点来检测小物体和形状变化。这种类型的标注对于检测面部特征、面部表情、情绪、人体部位和姿势很有用。
来自 COCO 数据集的关键点标注示例(来源)
1.6、线条标注
直线标注主要用于自动驾驶车辆的道路识别,定义车辆,自行车,相反方向交通灯,分叉路等不同道路。
道路上的线标注(原始照片由Karsten Würth在Unsplash上提供)
在图像标注方面没有单一的标准格式。以下是几种常用的标注格式:
2.1COCO
COCO 有五种标注类型:用于对象检测、关键点检测、素材分割、全景分割和图像字幕。标注使用JSON存储。
对于物体检测,COCO 遵循以下格式:
注解{“id”:整数,“image_id”:int,“category_id”:int,“分割”:RLE 或 [多边形],“区域”:浮动,"bbox": [x,y,width,height],"iscrowd": 0 或 1,}类别[{“id”:int,“名称”:str,“超类别”:str,}]Pascal VOC: Pascal VOC 将标注存储在 XML 文件中。以下是用于对象检测的 Pascal VOC 标注文件示例。
<annotation>
<folder>Train</folder>
<filename>01.png</filename>
<path>/path/Train/01.png</path>
<source>
<database>Unknown</database>
</source >
<size>
<width>224</width>
<height>224</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>36</name >
<pose>正面</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<occluded>0</occluded>
< bndbox>
<xmin>90</xmin>
<xmax>190</xmax>
<ymin>54</ymin>
<ymax>70</ymax>
</bndbox>
</object>
</annotation>
2.2YOLO
在YOLO标签格式中,.txt为同一目录下的每个图像文件创建一个同名文件。每个.txt文件都包含相应图像文件的标注,即对象类别、对象坐标、高度和宽度。
<object-class> <x> <y> <width> <height>
对于每个对象,都会创建一个新行。
下面是 YOLO 格式的标注示例,其中图像包含两个不同的对象。
0 45 55 29 67
1 99 83 28 44
以下是可用于标注图像的工具列表:
1.知乎
2.标签图像
3.VGG 图像标注器
4.标签
5.可扩展
6.矩形标签
概括
在这篇文章中,我们介绍了什么是/标签以及为什么它对机器学习很重要。我们查看了 6 种不同类型的图像标注:边界框、多边形分割、语义分割、3D 长方体、关键点和地标、线条和样条,以及 3 种不同的标注格式:COCO、Pascal VOC 和 YOLO。我们还列出了一些可用的图像标注工具。