想了解一下VOC格式数据标签各个字段的含义,搜了一圈没看到,懒得去官网了,直接问了GPT-4o,以下回答字段解析来自GPT-4o,例子我自己写的
VOC (Visual Object Classes) 数据标签格式主要用于目标检测任务。VOC格式的标签文件是以 XML 格式存储的,每个文件对应一张图像,包含该图像中目标对象的信息。以下是 VOC 标签文件中各个字段的解释:
-
annotation: 根节点,包含整个标签文件的信息。
-
folder: 图像所在的文件夹名称。
-
filename: 图像文件的名称。
-
path: 图像文件的路径。
-
source: 图像来源信息,包括:
- database: 数据库名称。
- annotation: 注释信息来源。
- image: 图像信息来源。
-
size: 图像尺寸信息,包括:
- width: 图像宽度(像素)。
- height: 图像高度(像素)。
- depth: 图像深度(通常为 3,表示 RGB 图像)。
-
segmented: 图像是否分割过,通常为 0(表示没有分割)。
-
object: 图像中的目标对象信息,可以有多个 object 节点,每个对象包含以下字段:
- name: 目标对象的类别名称。
- pose: 目标对象的姿态(不常用,通常为 unspecified)。
- truncated: 对象是否被截断,0 表示没有截断,1 表示截断。
- difficult: 对象是否为困难样本,0 表示不是,1 表示是。
- bndbox: 目标对象的边界框信息,包括:
- xmin: 边界框左上角的 x 坐标。
- ymin: 边界框左上角的 y 坐标。
- xmax: 边界框右下角的 x 坐标。
- ymax: 边界框右下角的 y 坐标。
一个简单的 VOC 格式标签文件示例如下:
<annotation>
<folder>VOC2007</folder>
<filename>000001.jpg</filename>
<source>
<database>The VOC2007 Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
<flickrid>341012865</flickrid>
</source>
<owner>
<flickrid>Fried Camels</flickrid>
<name>Jinky the Fruit Bat</name>
</owner>
<size>
<width>353</width>
<height>500</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>dog</name>
<pose>Left</pose>
<truncated>1</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>48</xmin>
<ymin>240</ymin>
<xmax>195</xmax>
<ymax>371</ymax>
</bndbox>
</object>
<object>
<name>person</name>
<pose>Left</pose>
<truncated>1</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>8</xmin>
<ymin>12</ymin>
<xmax>352</xmax>
<ymax>498</ymax>
</bndbox>
</object>
</annotation>
在这个示例中,有一个文件夹名称为 “VOC2007”,文件名为 “000001.jpg” 的图像,图像尺寸为 353x500 像素,深度为 3。
图像中包含一个类别为 “dog” 的目标对象,其边界框左上角坐标为 (48, 240),右下角坐标为 (195, 371),该目标存在遮挡,但并不是困难样本;还包含一个“person”目标,左上角坐标为 (8, 12),右下角坐标为 (352, 498),存在遮挡,不是困难样本