前言
很多用户数据上传后,会存在一些常见问题,例如:
- 图片本身损坏无法解码
- 图片格式不在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.cn/blogs/193413
2. 数据增强: https://bbs.huaweicloud.cn/blogs/189148使用数据增强,解决数据不足和数据集不均衡的情况
3. 数据生成域迁移:https://bbs.huaweicloud.cn/blogs/193405数据风格变换:ModelArts的数据域迁移功能
4. 数据去重:https://bbs.huaweicloud.cn/blogs/193420数据去重---ModelArts在数据处理上的应用技巧-免费,欢迎大家体验
5. 数据清洗:https://bbs.huaweicloud.cn/blogs/193421数据清洗---ModelArts在数据处理上的应用技巧-免费,欢迎大家体验
6. 难例筛选:https://bbs.huaweicloud.cn/blogs/193422如何加速AI模型迭代:Modelarts的难例筛选功能
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)