解析Pascal VOC文件
解析xml文件支持本地和OBS,如果是OBS,需要Session信息。
PascalVoc.parse_xml(xml_file_path, session=None)
示例代码
from modelarts.dataset.format.voc.pascal_voc import PascalVoc from modelarts.session import Session path = "obs://your-obs-bucket/voc/test.xml" session = Session() pascal_voc = PascalVoc.parse_xml(path, session=session) print(pascal_voc) # 打印解析结果
参数说明
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
xml_file_path | 是 | String | xml文件路径。 |
session | 否 | Object | 会话对象,初始化方法请参见Session鉴权。 当需要操作OBS时必填。 |
参数 | 参数类型 | 描述 |
|---|---|---|
folder | String | 文件夹名称。 |
file_name | String | 文件名称。 |
source | Object | 数据源信息,详细请见表3。 |
width | Long | 图片长度。 |
height | Long | 图片高度。 |
depth | Long | 图片深度。 |
segmented | String | 分割。 |
mask_source | String | 图像分割得到的mask文件的云存储路径,目前只支持PNG格式。 |
voc_objects | JSON Array | 标注对象列表,详细请见表4。 |
参数 | 参数类型 | 描述 |
|---|---|---|
database | String | 数据集名称,比如“The VOC2007 Database”。 |
annotation | String | 标注,比如“PASCAL VOC2007”。 |
image | String | 图片信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 文件夹名称。 |
properties | JSON Array | 标注对象属性,为key-value列表格式,其中key和value的值均为String类型。 |
pose | String | 标注内容的拍摄角度。 |
truncated | String | 标注内容是否被截断(0表示完整)。 |
occluded | String | 标注内容是否被遮挡(0表示未遮挡)。 |
difficult | String | 标注目标是否难以识别(0表示容易识别)。 |
confidence | Double | 置信度,数值类型,范围0<=confidence<=1,表示机器标注的置信度。 |
position | Object | 标注对象的位置信息,详细请见表5。 |
parts | Object | 子标注对象列表,即嵌套的voc_object列表,详细请见表4。 |
mask_color | String | 图像分割mask图像的颜色。 |
type | 形状 | 标注信息 |
|---|---|---|
point | 点 | 点的坐标 <x>100<x> <y>100<y> |
line | 线 | 各点坐标 <x1>100<x1> <y1>100<y1> <x2>200<x2> <y2>200<y2> |
bndbox | 矩形框 | 左下和右上两个点坐标 <x_min>100<x_min> <y_min>100<y_min> <x_max>200<x_max> <y_max>200<y_max> |
polygon | 多边形 | 各点坐标 <x1>100<x1> <y1>100<y1> <x2>200<x2> <y2>100<y2> <x3>250<x3> <y3>150<y3> <x4>200<x4> <y4>200<y4> <x5>100<x5> <y5>200<y5> <x6>50<x6> <y6>150<y6> |
circle | 圆形 | 圆心坐标和半径 <cx>100<cx> <cy>100<cy> <r>50<r> |

