【ModelArts实战案例】数据校验--给你的数据做个体检吧

举报
lxmbslqm 发表于 2020/08/07 15:51:17 2020/08/07
【摘要】 本文讲解ModelArts数据处理模块的数据校验功能:用户上传数据后,先做一次数据校验,将能转换成有效数据的进行转换,不能转换的问题的数据过滤掉,避免后续的麻烦

前言

    很多用户数据上传后,会存在一些常见问题,例如:

  - 图片本身损坏无法解码
  
  - 图片格式不在ModelArts支持的格式范围内;或者某些格式(如jpg)的图片被人为修改了后缀导致图片无法使用
  
  - 图片通道可能是1通道、2通道或4通道,不是常用的3通道
  
  - 图片分辨率过大导致标注或训练过慢
  
  - 图片标注xml文件中存在超出图片边界的不合理标注框

    Modelarts提供了强大的数据校验功能,能够对用户上传的数据进行批量校验:问题数据→转换成有效数据→保留,问题数据→不能转换或转换失败→丢掉。避免产生后续的麻烦。(强调:校验操作不会改动原始数据,不管是保留还是丢弃都是针对校验的输出保存路径而言)

    目前Modelarts的数据校验模块能实现的功能有:

  1)去掉不能解码的图片
   
  2)转换图片格式至ModelArts支持的格式范围['.jpg','.jpeg','.png','.bmp']内,并将图片后缀与格式不一致的文件转换成一致
  
  3)转换图片成RGB三通道
  
  4)裁剪分辨率太大的图片,当执行目标检测任务时,同时裁剪图片对应的xml文件中的boxes
  
  5)当xml文件中boxes超出图片边界时,裁剪不合理的boxes.当超出边界的框有50%以上在图片内时,保留其在图片边界内的部分,否则此框被舍弃掉
  
 输入数据被检验完成之后会保存为新的图片或xml文件,存放在指定输出路径下

    下列操作步骤,以一个问题数据集为例,手把手的指导你如何从ModelArts的数据处理模块中使用 数据校验 功能。

1.数据准备

    上传样例数据集,使用OBS Browser+ 工具上传数据至OBS桶中,将数据存放在自定义目录下,样例数据目录 validation_yunbao_modified_dataset 包含12张图片及其标准标注xml文件。12张图片皆为jpg格式,其中有5张图片被人为修改了后缀名;另有3个xml文件被人为修改了标注框的值,使其超出图片边界。

   先将数据导入到数据集中预览,可以看到后缀名被修改了的图片还能正常显示,但是标注框超出图片边界的标注信息已经丢失了。

   点击 发布 创建数据集版本,显示创建失败

   对于这类图片或者图片标注信息有误的数据,就需要先经过数据校验来进行数据转换,不能通过转换的就丢弃,以免产生后续的麻烦。

2.创建任务

   创建 数据处理 任务,在 数据校验 模块内选择 数据校验  算法。

3.参数设置

   设置参数,其中 image_max_width 为输入图片的宽度的最大值,若用户输入图片宽度大于该值,则会按比例剪裁,image_max_height 为输入图片的高度最大值,若用户输入图片宽度大于该值,也会按比例剪裁,这两个参数可由用户自定义输入值,如果有标注文件,并且图像被裁剪了,标注框也会被等比例裁剪。 task_summary_path 为输出日志路径,需要用户指定一个obs路径来存放生成的日志,该参数为可选项,可以删除。另外数据校验算法的内置参数会将输入图片统一转换为三通道;若图片格式与后缀不一致时,会根据图片实际格式来修改其后缀;若xml文件中标注框超出了图片边界,超出部分面积小于整个标注框面积50%时,会保留该框在图片内的部分,反之则会被舍弃掉。

4.开启任务

   数据校验的输入、输出都可以指定为数据集或obs目录形式。例如选择输入为obs目录,则指定 validation_yunbao_modified_dataset 数据集的存放路径,因为数据集中包含了标注信息,因此存放结构选择 包含图片和标注信息 ,校验过后的数据保存到指定的obs桶目录中。确定了输入、输出后,点击 创建  开启数据校验任务。

   等待几分钟任务完成

5.查看校验结果

   输出路径会新生成一个 Data 目录,存放检验过后的图片或标注信息,如果图片或标注xml文件在校验过程中被修改过,则会在图片或标注文件名后加上 ‘_checked’ ,在校验过程中未被修改过的文件名保持不变。同时在输出路径下也会生成一个 output.manifest 文件,内含各种数据信息。

   此时再将被检验过后存放在 Data 目录底下的数据导入到数据集中,查看结果,可以看到原本丢失了的标注信息经过校验后被保留了下来,并且能够显示了。原本后缀与图片格式不一致的图片,后缀与格式转换成了一致。其他不能被转换的数据则直接被丢弃掉了。

   点击 发布 按钮,导入的数据能成功发布成新版本了



ModelArts数据处理相关博客:

1.  数据处理简介:https://bbs.huaweicloud.com/blogs/193413

2.  数据增强: https://bbs.huaweicloud.com/blogs/189148使用数据增强,解决数据不足和数据集不均衡的情况

3.    数据生成域迁移:https://bbs.huaweicloud.com/blogs/193405数据风格变换:ModelArts的数据域迁移功能

4.    数据去重:https://bbs.huaweicloud.com/blogs/193420数据去重---ModelArts在数据处理上的应用技巧-免费,欢迎大家体验

5.    数据清洗:https://bbs.huaweicloud.com/blogs/193421数据清洗---ModelArts在数据处理上的应用技巧-免费,欢迎大家体验

6.    难例筛选:https://bbs.huaweicloud.com/blogs/193422如何加速AI模型迭代:Modelarts的难例筛选功能

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。