Data Augmentation.

今天做深度学习实验,由于是关于医学图像处理的的,所以数据集非常少。因此进行Data Augmentation十分有必要。keras里自带的ImageDataGenerator进行Data Augmentation十分方便,它实现了图像几何变换方法:旋转,平移,缩放,水平翻转等。由于实验原因,我的网络输出是对应的groundTruth图像(二值图像),所以在进行数据变换扩充时,原始图像和groundTruth图像要进行相同的变换。捣鼓半天,没能利用ImageDataGenerator将原始图像和groundTruth图像同时进行相同变换,后来发现了一个小技巧,能同时将输入图像和groundTruth图像进行相同变换。

做法是:将原始图像和groundTruth图像 作为一个图像的多通道,然后利用ImageDataGenerator进行变换,实现Data Augmentation, 这样就使得原始图像和groundTruth图像同时进行相同的变换。

from keras.preprocessing.image import ImageDataGenerator

images=np.ones((1,80,80,3));#输入图像是1,3,4通道,没有2通道。所以我采用3通道,将第一通道为原始图像,第二通道为groundTruth图像,第三通随机。

images[0,:,:,0]=image #第一通道为原始图像

images[0,:,:,1]=groundTruth #第二通道为groundTruth图像

dataAugmentation = ImageDataGenerator(width_shift_range=.6) #只进行平移变换
for X_batch in dataAugmentation.flow(im):
    #这里就进行一次变换,如进行多次变换,添加一个循环即可

    break

imshow(X_batch[0,:,:,0])
imshow(X_batch[0,:,:,1])   

未变换前的图片:


变换后的图片:












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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值