更新时间:2025-01-23 GMT+08:00
分享

图片类数据集格式要求

ModelArts Studio大模型开发平台支持创建图片类数据集,创建时可导入多种形式的数据,具体格式要求详见表1

表1 图片类数据集格式要求

文件内容

文件格式

文件要求

仅图片

tar、图片目录

  • 图片:支持jpg、jpeg、png、bmp类型。

  • tar:tar包内图片支持jpg、jpeg、png、bmp图片类型。

  • 单个文件大小不超过50GB,单个压缩包大小不超过50GB,文件数量最多1000个。

图片+Caption

图片支持tar,Caption支持jsonl

  • 图片:图片以tar包格式存储,可以多个tar包。tar包存储原始的图片,每张图片命名要求唯一(如abc.jpg)。图片支持jpg、jpeg、png、bmp格式。
  • jsonl:图片描述jsonl文件放在最外层目录,一个tar包对应一个jsonl文件,文件内容中每一行代表一段文本,形式为:
    {"image_name":"图片名称(abc.jpg)","tar_name":"tar包名称(1.tar)","caption":"图片对应的文本描述"}
  • 单个文件大小不超过50GB,单个压缩包大小不超过50GB,文件数量最多1000个。

图片+QA对

图片支持tar,QA对支持jsonl

  • 图片:图片以tar包格式存储,可以多个tar包。tar包存储原始的图片,每张图片命名要求唯一(如abc.jpg)。图片支持jpg、jpeg、png、bmp格式。
  • jsonl:图片描述jsonl文件放在最外层目录,一个tar包对应一个jsonl文件,文件内容中每一行代表一段文本,形式为:
    {"image_name":"图片名称(abc.jpg)","tar_name":"tar包名称(1.tar)","conversations":[{"question":"问题1","answer":"回答1"},{"question":"问题2","answer","回答2"}]} 
  • 单个文件大小不超过50GB,单个压缩包大小不超过50GB,文件数量最多1000个。

物体检测

PASCAL VOC

  • 由图片文件和对应的标注文件构成,标注文件需要满足PASCAL VOC文件格式。要求用户将标注对象和标注文件存储在同一目录,并且相互对应,如标注对象文件名为“IMG_2.jpg”,那么标注文件的文件名应为“IMG_2.xml”
  • 图片支持jpg、jpeg、png、bmp格式,标注文件为xml格式,标注文件说明请参见物体检测数据集标注文件说明
  • 单个文件大小不超过50GB,文件数量最多1000个。

图像分类

图片+txt

  • 由图片文件和对应的标注文件构成,要求用户将标注对象和标注文件存储在同一目录,并且相互对应。
  • 图片支持jpg、jpeg、png、bmp格式,标注文件为txt格式,标注文件说明请参见图像分类数据集标注文件说明
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

异常检测

图片+txt

  • 文件存放方式要求满足异常检测格式,即标注文件和图片存于同一文件夹,正常和异常分文件夹创建。
  • 图片支持jpg、jpeg、png、bmp格式,标注文件为txt格式,标注文件说明请参见异常检测数据集标注文件说明
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

语义分割

图片+png

  • 文件存放方式要求满足语义分割格式,即原图为jpg文件,标注图采用同名同尺寸的png文件。其中,标注图上的每个像素值对应原图中像素的类别,且每个类别的值需连续且从0开始,表示不同的物体或区域类别。例如,假设有一张原图为IMG_20180919_114732.jpg,对应的标注图为IMG_20180919_114732.png,其中标注图的不同像素值代表不同的类别,标注图的每个像素值直接对应原图中相应位置的类别信息,类别需连续并从0开始。
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

姿态估计

图片+json

  • 由图片文件和对应的标注文件构成,图片支持jpg、jpeg、png、bmp格式,标注文件为json格式。
  • 基于开源COCO人物关键点标注格式对数据集进行标注,需包含annotations,train,val文件夹,annotations文件夹下用train.json和val.json记录训练集和验证集标注,train和val文件夹下保存具体的图片。
  • json标注文件的详细说明请参见姿态估计标注json文件说明
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

实例分割

图片+xml

  • 文件存放方式要求满足万物分割/实例分割格式。
  • 图片格式支持:jpg、jpeg、png、bmp,标注格式支持:xml
  • 基于PASCAL VOC矩形框格式进行标识,标注和图片同名并放在同一文件夹下。
  • xml标注文件的详细说明请参见实例分割数据集标注文件说明
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

变化检测

图片+png

  • 文件存放方式要求满足变化检测格式。图片格式支持:jpg、jpeg、bmp,标注格式支持:png
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

    其中,before文件夹:包含变化前的图片,每幅图片需与变化后的图片同名、同尺寸。

    after文件夹:包含变化后的图片,每幅图片需与变化前的图片同名、同尺寸。

    label文件夹:包含与变化前和变化后图片同名、同尺寸的PNG文件。每个像素值代表该位置对应的类别信息,类别应是连续的且从0开始。

视频分类

图片

  • 导入为目录,每个数据集目录下有train和test两个目录,目录结构一致,train目录下是多个二级目录,每个二级目录代表相应的类别,例如cls1表示类别1。
  • 单个文件大小不超过50GB,文件数量最多1000个,示例如下所示:

    其中,单个cls类别目录下的每个三级目录为一个样本,例如cls1文件的样本为aa和bb。

    所有样本文件夹(如 aa)包含的图片数量相等,例如cls1样本aa和bb、cls1样本aa和cls2的样本cc。

    每个样本文件夹(如 aa)可以视为一个视频片段,其中每张图片代表视频的一个帧,将这些帧作为一个序列来学习视频分类,有助于模型学习视频的时序特征,从而进行准确的分类。

物体检测数据集标注文件说明

该说明适用于表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>
表2 PASCAL VOC格式说明

字段

是否必选

说明

folder

表示图像所在的目录名称。

filename

被标注文件的文件名。

size

表示图像的像素信息。

  • width:必选字段,图像的宽度。
  • height:必选字段,图像的高度。
  • depth:必选字段,图像的通道数。

segmented

表示是否用于分割,取值为0或1。0表示没有分割标注,1表示有分割标注。

object

目标对象信息,包括被标注物体的类别、姿态、是否被截断、是否识别困难以及边界框信息,多个物体标注会有多个object体。

  • name:必选字段,标注内容的类别。
  • pose:必选字段,标注内容的拍摄角度。
  • truncated:必选字段,取值0或1,表示标注内容是否被截断(0表示被截断、1表示没有截断)。
  • occluded:必选字段,取值0或1,表示标注内容是否被遮挡(0表示未遮挡、1表示遮挡)
  • difficult:必选字段,取值0或1,表示标注目标是否难以识别(0表示容易识别、1表示难易识别)。
  • confidence:可选字段,标注目标的置信度,取值范围0-1之间,越接近1,表示标注越可信。
  • bndbox:必选字段,标注框的类型,可选值请参见表3
表3 标注框类型描述

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中可以放单标签,也可以放多标签。

  • 当目录下存在对应的txt文件时,以txt文件内容作为图像的标签。

    示例如下所示,import-dir-1和import-dir-2为导入子目录。

    dataset-import-example 
    ├─import-dir-1
    │      10.jpg
    │      10.txt    
    │      11.jpg 
    │      11.txt
    │      12.jpg 
    │      12.txt
    └─import-dir-2
            1.jpg 
            1.txt
            2.jpg 
            2.txt

    单标签的标签文件示例,如1.txt文件内容如下所示。

    多标签的标签文件示例,如2.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
                ]
            ]
        }
    ]
}
表4 COCO格式说明

字段

是否必选

说明

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>
表5 PASCAL VOC格式说明

字段

是否必选

说明

folder

表示图像所在的目录名称。

filename

被标注文件的文件名。

size

表示图像的像素信息。

  • width:必选字段,图像的宽度。
  • height:必选字段,图像的高度。
  • depth:必选字段,图像的通道数。

segmented

表示是否用于分割,取值为0或1。0表示没有分割标注,1表示有分割标注。

object

目标对象信息,包括被标注物体的类别、姿态、是否被截断、是否识别困难以及边界框信息,多个物体标注会有多个object体。

  • name:必选字段,标注内容的类别。
  • pose:必选字段,标注内容的拍摄角度。
  • truncated:必选字段,取值0或1,表示标注内容是否被截断(0表示被截断、1表示没有截断)。
  • occluded:必选字段,取值0或1,表示标注内容是否被遮挡(0表示未遮挡、1表示遮挡)
  • difficult:必选字段,取值0或1,表示标注目标是否难以识别(0表示容易识别、1表示难易识别)。
  • confidence:可选字段,标注目标的置信度,取值范围0-1之间,越接近1,表示标注越可信。
  • bndbox:必选字段,标注框的类型,可选值请参见表6
表6 标注框类型描述

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>

相关文档