图片类数据集格式要求
ModelArts Studio大模型开发平台支持创建图片类数据集,创建时可导入多种形式的数据,具体格式要求详见表1。
|
文件内容 |
文件格式 |
文件要求 |
|---|---|---|
|
图片 |
图片+jsonl(可选) tar+jsonl(可选) |
|
|
图片+Caption |
tar+jsonl |
|
|
图片+QA对 |
tar+jsonl |
|
|
物体检测 |
PASCAL VOC |
|
|
图像分类 |
图片+txt |
|
|
异常检测 |
图片+txt |
|
|
语义分割 |
图片+xml |
|
|
原始图片+标注图片+json |
||
|
原始图片+标注图片+txt |
||
|
原始图片+标注图片 |
||
|
图片+png; |
||
|
姿态估计 |
图片+json(一对一) |
|
|
图片+json(多对一) |
|
|
|
实例分割 |
图片+xml |
|
|
变化检测 |
图片+xml |
|
|
原始图片+标注图片+json |
||
|
原始图片+标注图片 |
|
|
|
旋转检测 |
图片+xml |
物体检测数据集标注文件说明
该说明适用于表1中的物体检测标注文件格式。
物体检测数据集支持格式为ModelArts PASCAL VOC 1.0。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件名应为“IMG_20180919_114745.xml”。
物体检测的标注文件需要满足PASCAL VOC格式,PASCAL_VOC是一个公开的图像标注数据集,它提供了一个统一的XML格式来存储标注信息。PASCAL_VOC文件格式包含图像目录、图像文件、图像尺寸、图像中目标信息等元素,详细格式说明请参见表2。
OBS文件上传示例:
├─dataset-import-example │ IMG_20180919_114732.jpg │ IMG_20180919_114732.xml │ IMG_20180919_114745.jpg │ IMG_20180919_114745.xml │ IMG_20180919_114945.jpg │ IMG_20180919_114945.xml
标注文件(.xml文件)示例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<annotation>
<folder>NA</folder>
<filename>IMG_20180919_114745.jpg</filename>
<source>
<database>Unknown</database>
</source>
<size>
<width>554</width>
<height>606</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>Dog</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<occluded>0</occluded>
<bndbox>
<xmin>279</xmin>
<ymin>52</ymin>
<xmax>474</xmax>
<ymax>278</ymax>
</bndbox>
</object>
<object>
<name>Cat</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<occluded>0</occluded>
<bndbox>
<xmin>279</xmin>
<ymin>198</ymin>
<xmax>456</xmax>
<ymax>421</ymax>
</bndbox>
</object>
</annotation>
|
字段 |
是否必选 |
说明 |
|---|---|---|
|
folder |
是 |
表示图像所在的目录名称。 |
|
filename |
是 |
被标注文件的文件名。 |
|
size |
是 |
表示图像的像素信息。
|
|
segmented |
是 |
表示图像是否附带分割标注信息。
|
|
object |
是 |
目标对象信息,包括被标注物体的类别、姿态、是否被截断、是否识别困难以及边界框信息,多个物体标注会有多个object体。
|
|
type |
形状 |
标注信息 |
|---|---|---|
|
point |
点 |
点的坐标。 <x>100<x> <y>100<y> |
|
line |
线 |
各点坐标。 <x1>100<x1> <y1>100<y1> <x2>200<x2> <y2>200<y2> |
|
bndbox |
矩形框 |
左上和右下两个点坐标。 <xmin>100<xmin> <ymin>100<ymin> <xmax>200<xmax> <ymax>200<ymax> |
|
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> |
图像分类数据集标注文件说明
该说明适用于表1中的图片分类标注文件格式。
图像分类数据集支持格式为ModelArts image classification 1.0。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应,标注文件txt中可以放单标签,也可以放多标签。
姿态估计标注json文件说明
该说明适用于表1中的姿态估计标注文件格式。
姿态估计标注基于开源coco人物关键点标注格式对数据集进行标注,需包含annotations,train,val文件夹。annotations文件夹下用train.json和val.json记录训练集和验证集标注,train和val文件夹下保存具体的图片,示例如下所示:
├─annotations │ train.json │ val.json ├─train │ IMG_20180919_114745.jpg ├─val │ IMG_20180919_114945.jpg
具体的json标注文件具体示例:
{
"images": [
{
"license": 2,
"file_name": "IMG_20180919_114745.jpg",
"coco_url": "",
"height": 426,
"width": 640,
"date_captured": "2018-09-19 11:47:45",
"flickr_url": "",
"id": 139
}
],
"annotations": [
{
"num_keypoints": 15,
"area": 2913.1104,
"iscrowd": 0,
"keypoints": [
427,
170,
1,
429,
169,
2,
0,
0,
0,
434,
168,
2,
0,
0,
0,
441,
177,
2,
446,
177,
2,
437,
200,
2,
430,
206,
2,
430,
220,
2,
420,
215,
2,
445,
226,
2,
452,
223,
2,
447,
260,
2,
454,
257,
2,
455,
290,
2,
459,
286,
2
],
"image_id": 139,
"bbox": [
412.8,
157.61,
53.05,
138.01
],
"category_id": 1,
"id": 230831
}
],
"categories": [
{
"supercategory": "person",
"id": 1,
"name": "person",
"keypoints": [
"nose",
"left_eye",
"right_eye",
"left_ear",
"right_ear",
"left_shoulder",
"right_shoulder",
"left_elbow",
"right_elbow",
"left_wrist",
"right_wrist",
"left_hip",
"right_hip",
"left_knee",
"right_knee",
"left_ankle",
"right_ankle"
],
"skeleton": [
[
16,
14
],
[
14,
12
],
[
17,
15
],
[
15,
13
],
[
12,
13
],
[
6,
12
],
[
7,
13
],
[
6,
7
],
[
6,
8
],
[
7,
9
],
[
8,
10
],
[
9,
11
],
[
2,
3
],
[
1,
2
],
[
1,
3
],
[
2,
4
],
[
3,
5
],
[
4,
6
],
[
5,
7
]
]
}
]
}
|
字段 |
是否必选 |
说明 |
|---|---|---|
|
images |
是 |
图片信息。 |
|
license |
否 |
图像的许可证标识符。 |
|
file_name |
是 |
图像的文件名。 |
|
coco_url |
否 |
图像在COCO官方数据集中的URL。 |
|
height |
是 |
图像的高度,以像素为单位。 |
|
width |
是 |
图像的宽度,以像素为单位。 |
|
date_captured |
否 |
图像捕获的日期和时间。 |
|
flickr_url |
否 |
图像在Flickr网站上的URL。 |
|
id |
是 |
图像的唯一标识符。 |
|
annotations |
是 |
标注信息。 |
|
num_keypoints |
是 |
标注的关键点数量。 |
|
area |
是 |
边界框的面积,以像素平方为单位。 |
|
iscrowd |
是 |
表示标注是否为复杂的群体场景(如拥挤的人群)。0表示不是拥挤场景,1表示是拥挤场景。 |
|
keypoints |
是 |
标注的关键点坐标及其可见性,按顺序列出所有关键点,每个关键点用三个数值表示 [x, y, v]。x和y是关键点的像素坐标,v是可见性(0:不可见且不在图像中;1:不可见但在图像中;2:可见且在图像中)。 |
|
image_id |
是 |
与该标注相关联的图像的ID,必须与images字段中的id对应。 |
|
bbox |
是 |
目标物体的边界框,用[x, y, width, height]表示,其中,x,y是边界框左上角的坐标,width和height是边界框的宽度和高度。 |
|
category_id |
是 |
标注类别的ID,对于人体姿态估计,通常为1(表示person)。 |
|
id |
是 |
标注的唯一标识符。 |
|
categories |
是 |
标注类型信息。 |
|
supercategory |
是 |
类别的上级分类,通常为person。 |
|
id |
是 |
类别的唯一标识符,对于人体姿态估计,通常为1。 |
|
name |
是 |
类别的名称,通常为person。 |
|
keypoints |
是 |
关键点的名称列表,COCO格式中通常定义了17个关键点,如nose、left_eye、right_eye、left_ear、right_ear、left_shoulder、right_shoulder、left_elbow、right_elbow、left_wrist、right_wrist、left_hip、right_hip、left_knee、right_knee、left_ankle、right_ankle。 |
|
skeleton |
是 |
定义骨架连接的列表,用于表示关键点之间的连接关系。每个连接用一对关键点索引表示,如 [1, 2],表示鼻子(nose)到左眼(left_eye)的连线。 |
姿态估计-图片+json(一对一):文件格式为图片+json。图片格式支持:jpg、jpeg、png、bmp,标注格式支持:json,图片与标注文件一一对应。
示例如下所示:
│ IMG_20180919_114732.jpg │ IMG_20180919_114732.json │ IMG_20180919_114745.jpg │ IMG_20180919_114745.json │ IMG_20180919_114945.jpg │ IMG_20180919_114945.json
具体的json标注文件具体示例:
{
<annotation>
<folder>images</folder>
<filename>IMG_20180919_114945.jpg</filename>
<path>E:/images/IMG_20180919_114945.jpg</path>
<source>
<database>Unknown</database>
</source>
<size>
<width>700</width>
<height>354</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>right eye</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<keypoint id="0" x="285.28301886792457" y="130.39622641509433"/>
</object>
<object>
<name>left eye</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<keypoint id="0" x="436.6037735849057" y="179.0754716981132"/>
</object>
<object>
<name>nose</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<keypoint id="0" x="329.0566037735849" y="233.41509433962264"/>
</object>
<object>
<name>head</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<keypoint id="0" x="468.67924528301893" y="272.66037735849056"/>
</object>
</annotation>
实例分割数据集标注文件说明
该说明适用于表1中的实例分割标注文件格式。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件名应为“IMG_20180919_114745.xml”。
实例分割的标注文件需要满足PASCAL VOC格式,PASCAL_VOC是一个公开的图像标注数据集,它提供了一个统一的XML格式来存储标注信息。PASCAL_VOC文件格式包含图像目录、图像文件、图像尺寸、图像中目标信息等元素,详细格式说明请参见表5。
OBS文件上传示例:
├─dataset-import-example │ IMG_20180919_114732.jpg │ IMG_20180919_114732.xml │ IMG_20180919_114745.jpg │ IMG_20180919_114745.xml
标注文件(.xml文件)示例:
<annotation> <folder>NA</folder> <filename>IMG_20180919_114745.jpg</filename> <source> <database>Unknown</database> </source> <size> <width>2560</width> <height>1440</height> <depth>3</depth> </size> <segmented>1</segmented> <mask_source></mask_source> <object> <name>aggregate</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <mask_color>238,130,238</mask_color> <occluded>0</occluded> <polygon> <x1>657.0</x1> <y1>357.0</y1> <x2>645.0</x2> <y2>351.0</y2> <x3>624.0</x3> <y3>352.0</y3> <x4>616.0</x4> <y4>353.0</y4> </polygon> </object> </annotation>
|
字段 |
是否必选 |
说明 |
|---|---|---|
|
folder |
是 |
表示图像所在的目录名称。 |
|
filename |
是 |
被标注文件的文件名。 |
|
size |
是 |
表示图像的像素信息。
|
|
segmented |
是 |
表示是否用于分割,取值为0或1。0表示没有分割标注,1表示有分割标注。 |
|
object |
是 |
目标对象信息,包括被标注物体的类别、姿态、是否被截断、是否识别困难以及边界框信息,多个物体标注会有多个object体。
|
|
type |
形状 |
标注信息 |
|---|---|---|
|
point |
点 |
点的坐标。 <x>100<x> <y>100<y> |
|
line |
线 |
各点坐标。 <x1>100<x1> <y1>100<y1> <x2>200<x2> <y2>200<y2> |
|
bndbox |
矩形框 |
左上和右下两个点坐标。 <xmin>100<xmin> <ymin>100<ymin> <xmax>200<xmax> <ymax>200<ymax> |
|
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> |


















