数据增强往往需要考虑图像的边界之外的元素,通常需要插入一些值。
1、翻转(Flip)
水平和垂直翻转,翻转后的图像大小与原来的图像大小相同,不需要对图像的边界进行插值或者其他操作。
2、旋转(Rotation)
旋转很可能会导致图像的大小前后不一致(一些精细角度的旋转)。
3、缩放比例(Scale)
向外缩放时,最终的图像尺寸将大于原始的图像尺寸,需要进项裁剪操作;向内缩放时,图像尺寸将小于原来的尺寸,需要进行边界的填充。
4、裁剪(Crop)
从原来的图像中随机抽样一部分,然后将此部分的大小重新调整为原始图像的大小。
5、移位(Translation)
移位只涉及X或者Y方向移动图像,使得大多数对象可以位于图像的任何位置,使得卷积神经网络可以看到图像中的所有角落。
6、高斯噪声(Gaussian Noise)
当神经网络开始学习无用的高频的噪声特征时,通常容易发生过拟合。均值为零的高斯噪声基本上在所有频率中具有数据点,从而有效的扭曲高频特征,意味着较低频率的组件(一般是预期的数据)也会失真,适量增加噪声可以使神经网络超越噪声,增强学习能力。
7、错切(shearing)
图像以它的中心垂直轴不变动的变形方式,是特殊类型的线性变换。
对于增强后的图像,最简单的插值方法有(1)常数(2)边界值 (3)反射,图像像素沿着图像的边界反射 (4)对称 ,与反射类似
-----------------------------------------------------------------------------------------------------------------------------------------------------------
一些高级图像增强技术,比如条件GAN和风格转移,可以增强对光照和季节的变化, 但是计算量比较大。
总的来说,原来非常相似的图像经过增强后,会变得非常不同,增加了数据的多样性,有助于算法的鲁棒性。即使数据集本身的数据量已经很大,经过数据增强后,算法的效果依然能够得到提升。
注: 如果数据集中有部分图像质量较差,如分辨率低,或者 噪声明显,建议剔除这部分数据,否则可能会影响模型效果。