深度学习笔记6-数据增强

深度学习笔记6-数据增强

一般而言,神经网络有数以万计的参数,这需要大量的数据集来进行训练。但数据是宝贵的,实际情况下数据是有限的。为了增加训练的数据量,提高模型的泛化能力,同时增加噪声数据,提升模型的鲁棒性,这就需要用到数据增强(data augmentation)。

数据增强有两种方式:一种是离线增强,它预先进行所有必要的变换,从根本上增加数据集的规模,一般适用于相对较小的数据集,因为无法负担数据量爆炸性增长;另一种是动态增强的方式,仅仅在输入机器学习模型之前对数据执行变换,主要应用于规模较大的数据集。

常用的增强方式包括以下几种方式:
(1)翻转:水平或垂直翻转图像。可用tensorflow实现

image = tf.image.random_flip_left_right(image)#左右翻转
image = tf.image.random_flip_left_right(image)#上下翻转

(2)旋转:一般是顺时针或逆时针旋转90度,实现方式如下:

image = tf.image.rot90(image,k=1)    #逆时针旋转90度
image = tf.image.rot90(image,k=2)   #逆时针旋转180度

当然,也可以任意角度旋转,但此时需要用到插值

image = tf.contrib.image.rotate(image,angles=3.14)
#或者用skimage
image = skimage.transform.rotate(image,angle=45,mode='reflect')

(3)缩放:放大原图像然后进行裁切

image = skimage.transform.rescale(image,scale=2.0,mode='constant')   #放大2倍
image = skimage.transform.rescale(image,scale=0.5,mode='constant')   #缩小2倍

(4)裁剪:与缩放不同,这里随机从原始图像中采样一部分。然后将这部分图像调整为原始图像大小。

image =  tf.image.central_crop(image, 0.8)
image = tf.image.resize_images(image,original_shape)

(5)平移:这一数据增强方法非常有用,因为大多数对象有可能分布在图像的任何地方。这迫使你的卷积神经网络需要看到所有地方。

temp = tf.image.pad_to_bounding_box(image,pad_top,pad_left,height+pad_bottom+pad_top,width+pad_right+pad_left)
image = tf.image.crop_to_bounding_box(temp,pad_bottom,pad_right,height,width)

(6)调整对比度、亮度、色度、饱和度

image = tf.image.random_brightness(image,max_delta=30)  #随机设置图片的亮度  
image = tf.image.random_contrast(image,lower=0.2,upper=1.8)  #随机设置图片的对比度  
image = tf.image.random_hue(image,max_delta=0.3)  #随机设置图片的色度
image = tf.image.random_saturation(image,lower=0.2,upper=1.8)  #随机设置图片的饱和度  

(7)高斯噪声:

noise = tf.random_normal(shape=tf.shape(image),mean=0,stddev=1.0,dtype=tf.float32)
image = tf.add(image,noise)

(8)利用生成对抗网络(GAN)来增强数据集。

参考:
数据增强:数据有限时如何使用深度学习 ?
tensorflow实现数据增强(随机裁剪、翻转、对比度设置、亮度设置)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值