PASCAL VOC标注格式

内容分享2周前发布
0 0 0

PASCAL的全称是Pattern Analysis, Statistical Modelling and Computational Learning
VOC的全称是Visual Object Classes
第一届PASCAL VOC举办于2005年,然后每年一届,于2012年终止
PASCAL VOC数据集的官网地址:http://host.robots.ox.ac.uk/pascal/VOC/
当前最完整的是PASCAL VOC 2012数据集,包括:20类物体,train/val 数据集有11,530张图片,包括 27,450 目标检测标记和 6,929 分割标记,可用于图像分类、目标检测和分割。
其标注文件为.xml格式,其关键字段的意义:

  • folder: 文件夹
  • filename:文件名
  • database: 数据库名
  • annotation: 标记文件格式
  • size:图像尺寸,width宽、height高,depth通道数
  • segmented: 分割
  • object, name: 标签名;pose:是否是姿势;truncated:是否被截断;difficult:是否识别困难。
  • bndbox, 边界框位置

    PASCAL VOC标注格式

标注文件中的关键信息,用xml.etree.ElementTree模块来读取,范例代码如下

import os
import numpy as np 
import xml.etree.ElementTree as ET

xml_filename = r D:PASCAL VOC2012VOCdevkitVOC2012Annotations2007_000042.xml 
tree = ET.parse(xml_filename)
objs = tree.findall( object )
for i, obj in enumerate(objs):
    x1 = float(obj.find( bndbox ).find( xmin ).text)
    y1 = float(obj.find( bndbox ).find( xmax ).text)
    x2 = float(obj.find( bndbox ).find( ymin ).text)
    y2 = float(obj.find( bndbox ).find( ymax ).text)
    name = str(obj.find( name ).text)
    print(name, x1, y1, x2, y2)

输出结果:

train 263.0 500.0 32.0 295.0
train 1.0 235.0 36.0 299.0

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...