图片类数据集格式要求
ModelArts Studio大模型开发平台支持创建图片类数据集,创建时可导入多种形式的数据,具体格式要求详见表1。
文件内容 |
文件格式 |
文件要求 |
---|---|---|
仅图片 |
tar、图片目录 |
|
图片+Caption |
图片支持tar,Caption支持jsonl |
|
图片+QA对 |
图片支持tar,QA对支持jsonl |
|
物体检测 |
PASCAL VOC |
|
图像分类 |
图片+txt |
|
异常检测 |
图片+txt |
|
语义分割 |
图片+png |
|
姿态估计 |
图片+json |
|
实例分割 |
图片+xml |
|
变化检测 |
图片+png |
|
视频分类 |
图片 |
物体检测数据集标注文件说明
该说明适用于表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>bike_1_1593531469339.png</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 |
是 |
表示是否用于分割,取值为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> |
图像分类数据集标注文件说明
该说明适用于表1中的图片分类标注文件格式。
图像分类数据集支持格式为ModelArts image classification 1.0。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应,标注文件txt中可以放单标签,也可以放多标签。
异常检测数据集标注文件说明
该说明适用于表1中的异常检测标注文件格式。
要求用户将标注文件和图片存于同一文件夹,正常和异常分文件夹创建。
- 当目录下存在对应的txt文件时,以txt文件内容作为正常或异常的标签。
示例如下所示,import-dir-1和import-dir-2为导入子目录。
dataset-import-example ├─abnormal │ IMG_20180919_114732.jpg │ IMG_20180919_114732.txt │ IMG_20180919_114745.jpg │ IMG_20180919_114745.txt └─normal │ IMG_20180919_114945.jpg │ IMG_20180919_114945.txt │ IMG_20180919_114949.jpg │ IMG_20180919_114949.txt
异常标签的标签文件示例,如IMG_20180919_114732.txt文件内容如下所示。
abnormal
正常标签的标签文件示例,如IMG_20180919_114945.txt文件内容如下所示。
normal
姿态估计标注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": "000000000139.jpg", "coco_url": "", "height": 426, "width": 640, "date_captured": "2013-11-21 01:34:01", "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)的连线。 |
实例分割数据集标注文件说明
该说明适用于表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>0001.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> |