其他类数据集格式要求
除文本、图片、视频、气象、预测类数据集外,用户训练模型时如果使用较特殊的数据集,ModelArts Studio大模型开发平台支持导入用户自定义的数据集。
例如,在训练CV类算法(如图片分类、图片分割、图片检测等任务)时,用户需使用“其他”类型的数据集。
其他类数据集可直接执行发布操作,但暂不支持数据加工、标注、评估等操作。
具体格式要求详见表1。
文件内容 |
文件格式 |
文件要求 |
---|---|---|
图片+CV标注 |
图片+分割标注(图片+xml格式) |
|
图片+分类标注(图片+txt格式) |
|
|
图片+二分类标注(图片+txt格式) |
|
|
图片+检测标注(图片+xml格式) |
|
|
图片+语义分割标注 |
|
|
图片+骨骼关键点坐标标注(图片+json) |
|
|
视频+CV标注 |
视频+分类标注 |
|
视频+事件起止时间与类别标注 |
|
图像分割数据集标注文件说明
图像分割的数据支持格式为ModelArts image segmentation 1.0。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应。如标注对象文件名为“IMG_20180919_114746.jpg”,那么标注文件的文件名应为“IMG_20180919_114746.xml”。
图像分割的标注文件基于PASCAL VOC格式增加了字段mask_source和mask_color,格式详细说明请参见表2。
具体示例如下:
├─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 version="1.0" encoding="UTF-8" standalone="no"?> <annotation> <folder>NA</folder> <filename>image_0006.jpg</filename> <source> <database>Unknown</database> </source> <size> <width>230</width> <height>300</height> <depth>3</depth> </size> <segmented>1</segmented> <mask_source>obs://xianao/out/dataset-8153-Jmf5ylLjRmSacj9KevS/annotation/V001/segmentationClassRaw/image_0006.png</mask_source> <object> <name>bike</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <mask_color>193,243,53</mask_color> <occluded>0</occluded> <polygon> <x1>71</x1> <y1>48</y1> <x2>75</x2> <y2>73</y2> <x3>49</x3> <y3>69</y3> <x4>68</x4> <y4>92</y4> <x5>90</x5> <y5>101</y5> <x6>45</x6> <y6>110</y6> <x7>71</x7> <y7>48</y7> </polygon> </object> </annotation>
字段 |
是否必选 |
说明 |
---|---|---|
folder |
是 |
表示数据源所在目录。 |
filename |
是 |
被标注文件的文件名。 |
size |
是 |
表示图像的像素信息。
图像的通道数是指图像中每个像素的颜色信息的维度。常用的RGB图像默认有3个通道。3通道表示彩色图像,每个像素有三个值表示红、绿、蓝三个色彩通道的亮度。常用的还有1通道,表示灰度图像,每个像素只有一个值表示亮度或灰度级别。4通道表示带有透明度的彩色图像,每个像素有四个值表示红、绿、蓝三个色彩通道的亮度以及透明度。 |
segmented |
是 |
表示是否用于分割。“是”取值为1,“否”取值为0。 |
mask_source |
否 |
表示图像分割保存的mask路径。 |
object |
是 |
表示物体检测信息,多个物体标注会有多个object体。
|
图像分类数据集标注文件说明
图像分类数据集支持格式为ModelArts image classification 1.0。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应,标注文件txt中可以放单标签,也可以放多标签。
物体检测数据集标注文件说明
物体检测数据集支持格式为ModelArts PASCAL VOC 1.0。
要求用户将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件名应为“IMG_20180919_114745.xml”。
物体检测的标注文件需要满足PASCAL VOC格式,PASCAL_VOC是一个公开的图像标注数据集,它提供了一个统一的XML格式来存储标注信息。PASCAL_VOC文件格式包含图像目录、图像文件、图像尺寸、图像中目标信息等元素,详细格式说明请参见表4。
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> |
骨骼关键点坐标标注json文件说明
骨骼关键点坐标标注基于开源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)的连线。 |