更新时间:2024-10-24 GMT+08:00

准备物体检测数据

使用ModelArts自动学习构建模型时,您需要将数据上传至对象存储服务(OBS)中。OBS桶需要与ModelArts在同一区域。

数据集要求

  • 保证图片质量:不能有损坏的图片;目前支持的格式包括jpg、jpeg、bmp、png。
  • 不要把明显不同的多个任务数据放在同一个数据集内。
  • 为了保证模型的预测准确度,训练样本跟真实使用场景尽量相似。
  • 为保证模型的泛化能力,数据集尽量覆盖可能出现的各种场景。
  • 物体检测数据集中,如果标注框坐标超过图片,将无法识别该图片为已标注图片。

数据上传至OBS

在本文档中,采用通过OBS管理控制台将数据上传至OBS桶。

上传OBS的文件规范:
  • 文件名规范,不能有中文,不能有+、空格、制表符。
  • 如不需要提前上传训练数据,请创建一个空文件夹用于存放工程后期生成的文件。如:“/bucketName/data-cat”
  • 如需要提前上传待标注的图片,请创建一个空文件夹,然后将图片文件保存在该文件夹下,图片的目录结构如:“/bucketName/data-cat/cat.jpg”
  • 如您将已标注好的图片上传至OBS桶,请按照如下规范上传。
    • 物体检测数据集要求用户将标注对象和标注文件存储在同一目录,并且一一对应。例如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件名应为“IMG_20180919_114745.xml”

      物体检测的标注文件需要满足PASCAL VOC格式,格式详细说明请参见 表1

      数据存储示例:
      ├─<dataset-import-path> 
            │      IMG_20180919_114732.jpg 
            │      IMG_20180919_114732.xml 
            │      IMG_20180919_114745.jpg 
            │      IMG_20180919_114745.xml 
            │      IMG_20180919_114945.jpg 
            │      IMG_20180919_114945.xml
    • 只支持JPG、JPEG、PNG、BMP格式的图片,在OBS管理控制台上传时,单张图片的大小不能超过5MB,单次上传的图片总大小不能超过8MB,数据量大时推荐使用OBS Browser+上传 。
    • 标签名是由中文、大小写字母、数字、中划线或下划线组成,且不超过32位的字符串。
      表1 PASCAL VOC格式说明

      字段

      是否必选

      说明

      folder

      表示数据源所在目录。

      filename

      被标注文件的文件名。

      size

      表示图像的像素信息。

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

      segmented

      表示是否用于分割。

      object

      表示物体检测信息,多个物体标注会有多个object体。

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

      type

      形状

      标注信息

      bndbox

      矩形框

      左上和右下两个点坐标。

      <xmin>100<xmin>

      <ymin>100<ymin>

      <xmax>200<xmax>

      <ymax>200<ymax>

      标注文件示例:
      <annotation>
         <folder>test_data</folder>
         <filename>260730932.jpg</filename>
         <size>
             <width>767</width>
             <height>959</height>
             <depth>3</depth>
         </size>
         <segmented>0</segmented>
         <object>
             <name>bag</name>
             <pose>Unspecified</pose>
             <truncated>0</truncated>
             <occluded>0</occluded>
             <difficult>0</difficult>
             <bndbox>
                 <xmin>108</xmin>
                 <ymin>101</ymin>
                 <xmax>251</xmax>
                 <ymax>238</ymax>
             </bndbox>
         </object>
      </annotation>

上传OBS的操作步骤:

执行如下操作,将数据导入到您的数据集中,以便用于模型训练和构建。

  1. 登录OBS管理控制台,在ModelArts同一区域内创建桶。如果已存在可用的桶,需确保OBS桶与ModelArts在同一区域。
  2. 参考上传文件,将本地数据上传至OBS桶中。如果您的数据较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。
  • 在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。
  • 用于训练的图片,至少有1种以上的分类,每种分类的图片数不少50张。

创建数据集

数据准备完成后,需要创建相应项目支持的类型的数据集,具体操作请参考创建ModelArts数据集