实战案例 | 数据去重---ModelArts在数据处理上的应用技巧

coldsheep 发表于 2020/08/07 16:44:49 2020/08/07
【摘要】 在ModelArts平台立预置了很多数据处理能力,其中一项就是数据去重。例如用户拍摄了很多段视频,对视频进行抽帧,采集出来的数据可能存在大量重复数据,重复数据对模型精度提升并没有太大作用,反而需要花费很多时间对其进行标注。如果用户有这种场景,就可以使用ModelArts的数据去重能力,根据相似度去删除一些重复度比较高的数据,从而节约用户的标注量。数据处理技术简介:目前业界常用的数据去重手段是...

在ModelArts平台里预置了很多数据处理能力,其中一项就是数据去重。

例如用户拍摄了很多段视频,对视频进行抽帧,采集出来的数据可能存在大量重复数据,重复数据对模型精度提升并没有太大作用,反而需要花费很多时间对其进行标注。如果用户有这种场景,就可以使用ModelArts的数据去重能力,根据相似度去删除一些重复度比较高的数据,从而节约用户的标注量。

数据去重技术简介:

如何判断是同一张图片呢?最简单的方法是使用加密哈希(例如MD5, SHA-1)判断。但是局限性非常大。例如一个txt文档,其MD5值是根据这个txt的二进制数据计算的,如果是这个txt文档的完全复制版,那他们的MD5值是完全相同的。但是,一旦改变副本的内容,哪怕只是副本的缩进格式,其MD5也会天差地别。因此加密哈希只能用于判断两个完全一致、未经修改的文件,如果是一张经过调色或者缩放的图片,根本无法判断其与另一张图片是否为同一张图片。

那么如何判断一张被PS过的图片是否与另一张图片本质上相同呢?常用的数据去重手段是将图像抽象出一些特征,然后计算特征之间的相似度距离,根据相似度距离对数据去重。

常见的特征包含:

  • 将图像抽象成平均值ahash,平均散列,如果该像素是大于或等于平均值,每个像素输出1,否则为0;然后根据hash值、汉明距离计算两张图片的相似性

  • 将图像抽象成感知哈希phash,通过离散余弦变换(DCT)降低图片频率,相比aHash有更好鲁棒性。将每个DCT值,与平均值进行比较。大于或等于平均值,记为1,小于平均值,记为0,由此生成二进制数组;然后根据hash值、汉明距离计算两张图的相似性

  • 将图像抽象成差异值哈希dhash,如果每一行前一个像素大于后一个像素为1,否则为0然后根据hash值、汉明距离计算两张图片的相似性

  • 将图像用深度学习模型抽象成n维的高阶特征;例如使用预训练好的resnet_v1_50抽取全连接层前一层的特征,然后对这些特征进行余弦相似度计算


如下操作步骤,以识别斑马线和停车标志的分类数据集为例,指导如何从数据处理模块中使用数据去重功能。

1.准备工作

2.数据准备

3.创建任务

4.参数设置

5.开启任务

6.查看去重结果

准备工作

参考  准备工作 ,完成ModelArts准备工作。包括ModelArts全局配置和OBS相关操作。

数据准备

下载数据集

本案例采用的数据集包含两种物体:斑马线和停车标志点击 数据集下载 可以下载数据到本地,crossing_parking文件夹中包含斑马线和停车标志图片

上传数据至OBS

使用OBS客户端上传本地的数据集文件夹至一个"华北-北京四"区域的OBS桶,数据存放在自定义的目录下。

创建数据集

登陆华为云ModelArts平台 ModelArts创建数据集,切换区域到“华北-北京四”。

点击页面上的 创建数据集 按钮,创建一个叫dataset-deduplication的数据集,创建数据集页面填写示例:

数据集输入位置即crossing_parking文件夹存放在OBS中的目录

创建完成后可以预览,可以看到有很多相似度非常高的图片。

发布数据集

回到数据集创建页面,点击发布按钮,发布训练集。数据集发布之后,就可以在后面的步骤中使用了。

创建任务

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

start_task

参数设置

设置参数,其中 similarity_threshold 为图片相似程度阈值,设置为0.8时表示过滤掉相似程度大于0.8的图片。

para

开启任务

数据去重的输入、输出都可以指定为数据集或obs目录形式。例如选择 dataset-deduplication 分类数据集作为输入,去重过后的数据保存到指定的obs桶目录中。确定了输入、输出后,点击 创建 开启数据去重任务,

create_task

等待几分钟任务完成

finished

查看去重结果

最后将去重过后的数据再次导入数据集,可以看到保留下来的图片相似程度都比较低



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/193412   数据校验--给你的数据做个体检吧

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

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

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



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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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