准备物体检测数据
使用ModelArts自动学习构建模型时,您需要将数据上传至对象存储服务(OBS)中。OBS桶需要与ModelArts在同一区域。
数据集要求
- 保证图片质量:不能有损坏的图片;目前支持的格式包括jpg、jpeg、bmp、png。
- 不要把明显不同的多个任务数据放在同一个数据集内。
- 为了保证模型的预测准确度,训练样本跟真实使用场景尽量相似。
- 为保证模型的泛化能力,数据集尽量覆盖可能出现的各种场景。
- 物体检测数据集中,如果标注框坐标超过图片,将无法识别该图片为已标注图片。
数据上传至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>
- 物体检测数据集要求用户将标注对象和标注文件存储在同一目录,并且一一对应。例如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件名应为“IMG_20180919_114745.xml”。
上传OBS的操作步骤:
执行如下操作,将数据导入到您的数据集中,以便用于模型训练和构建。
- 登录OBS管理控制台,在ModelArts同一区域内创建桶。如果已存在可用的桶,需确保OBS桶与ModelArts在同一区域。
- 参考上传文件,将本地数据上传至OBS桶中。如果您的数据较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。
- 在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。
- 用于训练的图片,至少有1种以上的分类,每种分类的图片数不少50张。
创建数据集
数据准备完成后,需要创建相应项目支持的类型的数据集,具体操作请参考创建ModelArts数据集。