数据增强(噪声,模糊,缩放,色域变换,均衡化,色彩抖动)

本篇为处女作,请大家多多指教。

在做深度学习时,数据的处理是重中之重。在做自己的数据集时,可能会面临数据图像数目不均衡,数据量少的困扰。本篇文章就是介绍图像增强的方法,对图像进行增强,增加图像的数目。

一、增加噪声

在图像中增加适量噪声可以增强学习能力。噪声有很多种,常见的有椒盐噪声,高斯噪声等。

1.椒盐噪声:一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。

#添加椒盐噪声
def sp_noise(image):
      output = np.zeros(image.shape,np.uint8)
      prob=rand(0.0005,0.001)  #随机噪声比例
      thres = 1 - prob 
      for i in range(image.shape[0]):
          for j in range(image.shape[1]):
              rdn = random.random()
              if rdn < prob:
                output[i][j] = 0
              elif rdn > thres:
                output[i][j] = 255
              else:
                output[i][j] = image[i][j]
      return output

2.高斯噪声:概率密度函数服从高斯分布。

def gasuss_noise(image, mean=0, var=0.001):

    '''
        添加高斯噪声
        mean : 均值
        var : 方差
    '''
    image = np.array(image/255, dtype=float)
    noise = np.random.normal(mean, var ** 0.5, image.shape)
    out = image + noise
    if out.min() < 0:
        low_clip = -1.
    else:
        low_clip = 0.
    out = np.clip(out, low_clip, 1.0)
    out = np.uint8(out*255)
    return out

     

                                          

            

二、滤波(模糊)处理

滤波处理主要是让图像变得模糊,提取图像的重要信息。常见的模糊处理有:高斯模糊,中值模糊,均值(椒盐)模糊。

卷积核大小一般为奇数:(3,3)、(5,5)、(7,7)

#利用opencv模块
img1 = cv2.blur(img,(5,5))  #中值滤波
img2 = cv2.medianBlur(img,5)  #椒盐滤波
img3 = cv2.GaussianBlur(img,(5,5),0)  #高斯滤波

                    

三、旋转

图像的大小不变,可以将图像进行上下旋转,左

  • 46
    点赞
  • 202
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
噪声模糊、随机擦除、颜色变换、Mosaic、SamplePairing和Mixup是常用的图像数据增强方式,它们具有以下特点: 1. 噪声(Noise):噪声是指在图像中添加随机像素值的过程。常见的噪声类型包括高斯噪声、椒盐噪声等。噪声可以增加图像的复杂度和真实感,使模型更具鲁棒性。 2. 模糊(Blur):模糊是通过对图像进行模糊处理来降低图像的细节和锐度。常见的模糊方法包括高斯模糊、均值模糊等。模糊可以模拟物体运动模糊或镜头焦距调整等情况,增加数据的多样性。 3. 随机擦除(Random Erasing):随机擦除是在图像中随机选择一个区域并用随机像素值进行覆盖。随机擦除可以模拟图像中存在遮挡或缺失的情况,增加模型对部分遮挡的鲁棒性。 4. 颜色变换(Color Transformation):颜色变换是通过调整图像的色彩空间或改变色彩分布来改变图像的外观。常见的颜色变换包括亮度调整、对比度调整、色相偏移等。颜色变换可以增加图像的多样性,使模型对不同光照条件下的物体具有更好的适应性。 5. Mosaic:Mosaic将多个图像拼接在一起形成一个新的图像。它可以增加图像中存在多个物体的情况,提供更复杂的背景和场景信息,增加数据的多样性。 6. SamplePairing:SamplePairing是指将两个不同的训练样本组合在一起,形成一个新的训练样本。通过将两个样本进行混合,可以增加样本之间的关联性,提高模型对复杂样本的泛化能力。 7. Mixup:Mixup是一种将两个不同样本的特征和标签进行线性插值的方法。通过将两个样本进行混合,可以产生具有类别间模糊边界的新样本,增加数据的多样性。 这些数据增强方式可以单独使用,也可以组合使用,以增加数据的多样性和丰富性,提升模型的泛化能力和鲁棒性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值