miniimagenet的图像预处理代码_图像数据扩增技术

545bece463cd0208c9c8077dfb3d1b83.png

数据扩增的概念

数据扩增是指不实际增加原始数据,只是对原始数据做一些变换,从而创造出更多的数据。

数据扩增的目的

数据扩增的目的是增加数据量、丰富数据多样性、提高模型的泛化能力。

数据扩增的基本原则

  • 不能引入无关的数据
  • 扩增总是基于先验知识的,对于不同的任务和场景,数据扩增的策略也会不同。
  • 扩增后的标签保持不变

数据扩增的方法

数据扩增方法可分为单样本扩增和多样本扩增

单样本扩增包括:图像翻转、图像旋转、图像扭曲、图像仿射变换、图像缩放、图像压缩、图像随机crop、图像随机padding、图像对比度调整、亮度调整、色度调整、饱和度调整、色彩抖动、添加噪声、图像模糊、图像区域随机擦除、风格转换、生成对抗网络生成等。

多样本扩增包括:SamplePairing和mixup,二者思路很相近

SamplePairing的扩增如下图所示:

4e4a7b7a7178aac88c727df2f66a7e08.png

非常简单直观,两幅图像分别做基本扩增后,取均值做融合,但是标签还是A的标签

mixup可以说是对SamplePairing的改进,将均值融合扩展成随机线性融合,标签也相应的做线性插值。

SamplePairing和mixup与传统扩增方法比,生成的图像近乎是一副不合理的图像,其标签取的似乎也很难理解,但是效果非常好。其实这样的融合操作与其说是数据扩增,不如说是一种正则化方法,只是是从数据的角度去做正则。可以理解为模型不光要能正确预测f(Xa)和f(Xb),同时还要有预测下式的能力。

b892bffb892eb81b3751ed0ff31d6a28.png

显然只有当f是线性函数时才成立。我们知道学到的模型很复杂,且网络越深越复杂、非线性越多越复杂,越复杂的网络越容易过拟合,而mixup就是希望模型尽可能的简单,降低模型复杂度,避免模型过拟合。

最后:

数据扩增的方法很多,但并不是所有的方法都要一股脑的使用,这需要结合应用场景的实际情况,增加不合理的扩增数据或实际不可能发生的扩增数据,对模型训练都是无益的。

附几种常见网络数据扩增及预处理方案(主要来自tensorflow官网实现代码)

cifarnet数据预处理

转成float型、padding、随机crop、随机左右翻转、随机色彩变换、归一化

lenet数据预处理

转成float型、padding、随机crop、resize、归一化

Inception数据预处理

转成float型、padding、随机crop、缩放、随机左右翻转、随机色彩变换、归一化

vgg数据预处理

随机缩放、随机crop、转成float型、随机左右翻转、去均值

SSD数据预处理

图像随机旋转、随机padding、转成float型、随机crop、随机色彩变换、颜色随机翻转、去均值

YOLO数据预处理

随机贴图、随机缩放、随机色彩变换、随机左右翻转、随机crop、随机平移

deeplab数据预处理

转成float型、去均值、图像左右翻转、随机padding、随机crop、随机缩放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值