0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于学习的数据增强策略扩充你的数据集!

nlfO_thejiangme 来源:lq 2019-08-02 15:00 次阅读

数据对于深度学习来说至关重要,而数据增强策略对于提升训练样本数据量、改善模型稳定性和鲁棒性,提高对于真实世界的适应性和泛化性具有重要的作用。

虽然在图像分类中数据增强有着广泛的使用,但将数据增强用于目标检测的系统性研究还较少。此外由于目标检测数据的标记成本比图像分类更高,数据增强策略在有限数据的情况下除了能提高模型表现同时还能节省数据成本。

来自谷歌的研究人员针对目标检测任务提出了一种基于学习的数据增强策略,通过在训练数据上进行增强策略搜索和验证集的性能测试来寻找最优的数据增强方法,有效地提升了模型的表现,同时学习到的数据增强策略对于不同数据、基础网络和模型架构都具有效的泛化性和适应性。值得一提的是,文章的作者来自提出著名的神经架构搜索及其相关方法的研究团队。

通用高效的目标检测数据增强策略

数据增强广泛是机器学习中常用的数据处理手段,不同的数据集通常会利用针对性的数据处理手段来处理。例如MNIST大多使用尺度、旋转和平移的操作,也有加入颜色、噪声等变换,而针对自然图像,更多采用进行和随机裁剪的方法来进行。还包括以对象为中心的裁剪、针对图像片的增减和变换等,但这些方法大都针对特定的数据来处理并集中于图像分类问题。

但由于数据标记的成本很高,数据增强对于目标检测有着更为重要的实际意义。由于目标检测的复杂性使得有效的数据增强策略难以获取。为了得到有效的数据增强策略并应用于目标检测任务中,研究人员希望利用算法搜索到一套新颖的检测数据增强策略,并能够有效地应用于不同的数据集、数据尺寸、基础网络和检测架构上,有效提升算法的性能。

基于离散优化增强策略搜索

对于目标检测来说通常需要考虑目标框(bounding box, bbox)与变换后图像连续性,研究人员针对bbox内部的图像提出了一系列变换,同时探索了图像整体变化时如何调整bbox的策略。通过定义一系列子策略集和多个图像操作变换,最终将这一问题归结为离散空间中的优化问题来进行求解。首先研究人员将图像增强策略定义为K个子策略的无序集合,在训练时从中随机选取策略对图像进行数据增强。而其中每一个策略则包含了N个图先变换,这些图像变换将依次作用于被增强的数据,研究的目的在于从中搜索出最有效的策略。这些变量共同定义了一个离散优化问题的搜索空间,针对目标检测任务的数据增强,研究人员将设置K=5,N=2。其中搜索空间总共包含了五个子策略,每个子策略包含了2种图像操作,而每个操作同时包含了这个操作对应的概率p和操作的具体数值m两个参数。这里的概率定义的增强策略在数据样本上进行的随机性,而m则定义了增强的幅度。

具体来说,研究人员从实验中总结了22中有利于检测的数据增强算法,分别是颜色操作、几何变换和bbox操作。

颜色操作:针对图像的颜色通道进行操作,包括直方图均衡、对比图调整和亮度调整等;

几何操作:对于图像进行几何变换,包括位置变换,bbox的大小和位置、旋转、剪切变换等,需要指出的是在进行几何变换时需要对bbox进行调整;

bbox操作:仅针对bbox内部的内容进行操作,而不改变外部的背景,可以综合使用前面的颜色和几何变换。

在使用过程中,研究人员将每种操作的幅度都归一化到[0,10],对应L=6等间距的空间,对应概率也是一个M=6的等间距空间,这一取值平衡了强化学习算法计算的可追溯性和学习能力。

针对这样的数值定义可以计算出每个策略需要搜索的空间包含(22LM)^2,而五个策略对应的空间为(22*6*6)^10~9.6*10^18如此大的搜索空间一定需要高效的方法才能进行有效的处理。在这篇文章中研究人员采用了基于RNN输出空间表示离散值,同时利用RL算法来更新模型权重。其中PPO(proximal policy optimization)被用于搜索策略。RNN每次需要进行30步来预测输出,这来自于5个子策略,每个子策略两个操作,每个操作包含概率、幅度和操作本身三个参数,其乘积即为30。在训练过程中,研究人员为了减小整体计算量从COCO数据集中选取了5K图像来训练增强算法。算法利用了ResNet-50作为主干网络、RetinaNet检测器来从零开始构建目标检测器,并利用在7392张COCO子验证集上的mAP作为奖励信号来更新控制器迭代搜索空间参数。

这一算法需要消耗巨大的算力,在400个TPUs上训练了48个小时完成了20K增强策略的训练,最终得到的数据增强策略使得目标检测得到了较大的提升,其中最好的几个策略能够广泛应用到不同的数据集、大小和架构上去。

结果

训练后的结果显示,算法通过验证集的测试得到最多的图像增强操作是旋转操作,同时图像均衡和bbox在Y方向上的平移操作也是排名较为靠前的操作。研究人员首先将学习到的策略进行了整体评测,在Res-Net和RetinaNet检测器上都实现了较大幅度的提升:

为了探索哪些操作对于目标检测算法带来的优势较大,研究人员将增强操作拆解成了颜色、几何与bbox相关操作,并分别测试了对于基准网络的提升,下表显示了不同操作叠加下对于目标检测性能的影响。

此外研究人员还探索了不同模型下数据增强策略的有效性,并通过增加图像分辨率和锚的数量实现了50.7mAP!

同时也在不同的数据上验证了这一算法的有效性。研究人员还探索了用于训练数据增强策略数据集的大小对于目标检测算法提升的效果,虽然随着训练数据的增加,数据增强的效果逐渐减弱。

但这种方法针对小数据集和小物体的检测却具有明显的效果。同时对于较为困难的AP75任务也有较好的表现,这意味着数据增强策略帮助算法学习到了bbox位置出更细粒度的空间细节特征,这也同时改善了小物体的检测性能。下表中mAPs显示了小物体检测提升的情况。

在改进模型正则化方面,研究人员发现了训练数据大的情况下损失会提升,同时随着数据量的增加L2会变小,数据增强策略进一步减少了权重的衰减。研究人员发现在使用有效数据增强策略的同时,就不需要正则化技术来帮助网络更好的训练了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4448

    浏览量

    90719
  • 机器学习
    +关注

    关注

    66

    文章

    8095

    浏览量

    130514
  • 数据集
    +关注

    关注

    4

    文章

    1176

    浏览量

    24340

原文标题:目标检测数据不够用?快来试试数据增强新方法!

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    #硬声创作季 #深度学习 深度学习基础-1.2.1 数据及其拆分

    数据深度学习
    水管工
    发布于 :2022年10月27日 17:48:02

    计算机视觉/深度学习领域常用数据汇总

    经历总结的目前深度学习视觉领域研究人员常用数据。由于个人学识有限,难免有疏漏和不当的地方,望读者朋友们不吝赐教。如果以上数据还不能满足
    发表于 08-29 10:36

    深度学习中开发和测试的定义

    算法性能。换而言之,开发和测试的使命就是引导的团队对机器学习系统做出最重要的改变​。所以应当这样处理:合理地选择开发
    发表于 11-30 16:58

    开发和测试应该有多大?

    的开发将无法检测出这 0.1% 的差异。与我所遇到的机器学习问题相比,一个样本容量仅为 100 的开发,规模太小了。通常来说,开发的规模应该在 1,000 到 10,000 个样
    发表于 12-10 10:23

    建立开发和测试(总结)

    • 被选择作为开发和测试数据,应当与未来计划获取并对其进行良好处理的数据有着相同的分布,而不一定和训练
    发表于 12-14 10:56

    PTB数据建立语言模型

    《实战Google深度学习框架》之RNN学习笔记2 LSTM对PTB数据的建模
    发表于 09-26 16:21

    知识转移策略的跨域故障诊断方法是什么

    知识转移策略的跨域故障诊断背景转移学习概述转移学习方法研究动机和问题设置跨域方法在故障诊断中的应用开源故障数据背景
    发表于 07-12 07:37

    浅析C51的基本数据类型和扩充数据类型

    基本数据类型:扩充数据类型:
    发表于 11-22 06:05

    详解各种图像数据增强技术

    机器学习或深度学习模型的训练的目标是成为“通用”模型。这就需要模型没有过度拟合训练数据,或者换句话说,我们的模型对看不见的数据有很好的了解
    发表于 10-26 16:29

    卷积神经网络长尾数据识别的技巧包介绍

    1、卷积神经网络长尾数据识别的技巧包  最近,长尾识别持续引起关注,产生了很多不同的方法,这些方法属于不同的范式,度量学习,元学习和知识迁移。尽管这些方法在长尾
    发表于 11-30 15:26

    Python在音频(Audio)领域中,如何进行数据扩充呢?

    经典的深度学习网络AlexNet使用数据扩充(Data Augmentation)的方式扩大数据集,取得较好的分类效果。在深度学习的图像领域
    的头像 发表于 04-15 10:35 1w次阅读

    研究人员们提出了PBA的方法来获取更为有效的数据增强策略

    数据增强策略通常包括剪切、填充、翻转和旋转等,但这些基本策略对于深度网络的训练还是太简单,在对于数据增强
    的头像 发表于 08-02 15:56 5200次阅读

    51单片机学习笔记(9)——C51的基本数据类型和扩充数据类型

    基本数据类型:扩充数据类型:
    发表于 11-14 13:36 1次下载
    51单片机<b class='flag-5'>学习</b>笔记(9)——C51的基本<b class='flag-5'>数据</b>类型和<b class='flag-5'>扩充数据</b>类型

    NLP数据增强的最新综述

    作为一种有效的策略数据增强 (data augmentation, DA) 缓解了深度学习技术可能失败的数据稀缺情况。
    的头像 发表于 03-16 09:13 494次阅读

    深度学习的七种策略

    深度学习的七种策略 深度学习已经成为了人工智能领域的热门话题,它能够帮助人们更好地理解和处理自然语言、图形图像、语音等各种数据。然而,要想获得最好的效果,只是使用深度
    的头像 发表于 08-17 16:02 1288次阅读