数据增强--学习笔记(图像类,cnn)

  1. 原因:
    1. cnn的高表达能力有过度适应的风险,所以提出了在丰富数据集的同时防止过度拟合的数据增强技术。
    2. cnn的性能与训练样本的数量成对数关系,但如果没有足够的训练样本,具有许多参数的cnn会有过拟合的风险,因为会记住训练图像的细节特征,但这些特征不能被概括。
  2. 数据增强通过多种方式增加图像的多样性,例如翻转,调整大小,随机裁减等,包括以下方法:
    1. 随机图像裁剪和修补(RICAP):
      1. 随机对四幅图像进行裁减,并进行修补已生成新的训练图像。且混合了四幅图像的类标签,从而产生了类似于标签平滑的优势
      2. 随机剪切可以防止cnn过拟合到特定的特征
      3. 将混合图像的类标签以λ:1-λ混合,与标签平滑有相似的作用
      4. 虽然裁减和mask都会改变图像的明显特征,但mask只会减少每个样本中可用特征的数量
    2. 颜色抖动:

      1. 改变亮度、对比度和饱和度
      2. 颜色抖动是尝试使用较低的颜色位深度获得更丰富的视觉效果

      3. 相似的:半调:用尺寸不同的各个离散点来表示有连续灰度变化的图像的方式

      4. 4种技术:

        1. 均匀量化:直接根据固定的灰度阈值将图像二值化

        2. ordered dither(有序抖动算法):

          1. 使用特殊设计的数字矩阵,如:

          2. 对于每个像素,先将像素灰度值 I(x,y) 映射到[0,4)的范围得到 M(x,y),随后分别对像素的坐标 xy 对2取余得到 mx,my,再比较 M(x,y) 与矩阵 D_2 中对应位置元素的大小,比如 M(x,y)> D_2[mx][my],则将像素置为255,反之为0。但是矩阵较小时,得到的质量不好,Bayer 等人提出了一种递归方法,可以获得更大的数字矩阵(

        3. random dither(随机抖动算法):在原图上叠加一层白噪声再执行均匀量化
        4. 误差扩散:将当前像素的误差以一定权重分配到邻近像素。从左到右从上到下遍历到某个像素时,先找到与此像素最接近的颜色(比如二值化,就根据固定阈值来取0或者255),随后将误差分配到邻近像素去,比如右边像素分配7/16的误差,以此类推,直至遍历完图像所有像素
    3. 使用主成分分析(PCA)对RGB通道进行颜色转换交替。这种方法对于五颜六色的物体很有用(如:花)
      1. alexnet中介绍了一种基于PCA的色彩增强方法:图片的明亮程度会发生整体的变化,但没有发生图片结构的改变或色差的明显变化,表现为:
        1. 主要事物的轮廓依旧清晰
        2. 主导颜色没有发生变化
        3. 相对色差没有发生变化(即对比度还存在)
      2. PCA主成分的作用:找出图片中的主要色系,大幅改动主要色系的值,使得整张图像的整体的色调不发生改变
      3. PCA主成分分析会按照原图像中三个通道内数据的信息量进行权重划分(即协方差的特征值大小)。
      4. 实际对图像的处理:
        1. 将图片按照RGB三通道进行normalization处理,均值为0,方差为1。(按照RGB三通道进行处理是因为我们进行的是色彩增强,在RGB 三通道的图片中,决定图像色彩的是RGB之间的相对关系,我们不能改变三通道内部的像素值分布。)
        2. 将图片按照channel展平成大小为(?, 3)的array
        3. 求上述array的协方差矩阵
        4. 对协方差矩阵进行特征分解
        5. 下式的p是特征向量,λ是特征值, α即为我们添加的抖动系数 :
    4. dropout:通过向图像中注入噪声来降低像素。
    5. cutout:随机决定是否mask一个区域以及mask区域的大小和高宽比
    6. mixup:图像之间线性组合,将图像标签根据组合参数混合,类似标签平滑
    7. 水平翻转:使具有特定方向的图像中的变化加倍
  3. 知识补充:
    1. 标签平滑:在分类任务中,类标签通常表示为0和1的概率,深层cnn通常使用softmax函数。标签平滑将类概率设置为中间值,防止了对估计类的hard0和1概率的无止境追求,并使权重参数能够收敛到某些值,而不影响正确的分类。
    2. 数字图像是对三个维度的量化:

      1. 采样帧率:单位时间内采样的图像数量

      2. 图像空间分辨率:图像的宽高,反映图像有多少像素

      3. 颜色位深度:如真彩色为24位,灰度图为8位,体现每个像素可以表示多少种颜色

参考:https://blog.csdn.net/CSDNJERRYYAO/article/details/120068107 

你可能感兴趣的:(deeplearning,深度学习,计算机视觉,机器学习)