AI开发平台ModelArts-数据增强(数据扩增):数据扩增算子概述

时间:2023-11-01 16:16:40

数据扩增算子概述

数据扩增主要用于训练数据集不足或需要仿真的场景,能通过对已标注的数据集做变换操作来增加训练图片的数量,同时会生成相应的标签。在深度学习领域,增强有重要的意义,能提升模型的泛化能力,增加抗扰动的能力。数据扩增过程不会改动原始数据,扩增后的图片或xml文件保存在指定的输出路径下。

ModelArts提供以下数据扩增算子:

表1 数据扩增算子介绍

算子

算子说明

高级

AddNoise

添加噪声,模拟常见采集设备在采集图片过程中可能会产生的噪声。

  • noise_type:添加噪声的分布类型,Gauss为高斯噪声,Laplace为拉普拉斯噪声,Poisson是泊松噪声,Impulse是脉冲噪声,SaltAndPepper为椒盐噪声。默认值为Gauss
  • loc:噪声分布的均值,仅在Gauss和Laplace生效。默认值为0
  • scale:噪声分布的标准差,仅在Gauss和Laplance生效。默认值为1
  • lam:泊松分布的lambda系数,仅在Poisson有效。默认值为2
  • p:对于每个像素点,出现脉冲噪声或椒盐噪声的概率,仅在Impulse和SaltAndPepper有效。默认值为0.01
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Blur

模糊,使用滤波器对图像进行滤波操作,有时用于模拟成像设备的成像。

  • blur_type:可选Gauss和Average两种模式,分别为高斯和均值滤波。默认值为Gauss
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Crop

图片裁剪,随机裁剪图片的一部分作为新的图片。

  • crop_percent_min:各边裁剪占比的随机取值范围的最小值。默认值为0.0
  • crop_percent_max:各边裁剪占比的随机取值范围的最大值。默认值为0.2
  • do_validation:数据扩增前是否做数据校验。默认值为True。

CutOut

随机擦除,在深度学习中常用的方法,用于模拟物体被障碍物遮挡。

do_validation:数据扩增前是否做数据校验。默认值为True。

Flip

翻转,沿图片水平轴或竖直轴做翻转,是非常常见的增强方法。

  • lr_ud:选择翻转的方向,lr为水平翻转,ud为竖直翻转。默认值为lr
  • flip_p:做翻转操作的概率。默认值为1。
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Grayscale

图片灰度化,将三通道的彩色图像转换到三通道的灰度图像。

do_validation:数据扩增前是否做数据校验。默认值为True。

HistogramEqual

直方图均衡化,多半是使用于让图片的视觉效果更加好,在某些场景下会使用。

do_validation:数据扩增前是否做数据校验。默认值为True。

LightArithmetic

亮度增强 ,对亮度空间做线性增强操作。

do_validation:数据扩增前是否做数据校验。默认值为True。

LightContrast

亮度对比度增强,使用一定的非线性函数改变亮度空间的亮度值。

func:默认值为gamma

  • gamma为常见方法伽马矫正,公式为255*((v/255)**gamma)')
  • sigmoid为函数为S型曲线,公式为255*1/(1+exp(gain*(cutoff-I_ij/255)))')
  • log为对数函数,公式为255*gain*log_2(1+v/255)
  • linear为线性函数,公式为127 + alpha*(v-127)')

do_validation:数据扩增前是否做数据校验。默认值为True。

MotionBlur

运动模糊,模拟物体运动时产生的残影现象。

do_validation:数据扩增前是否做数据校验。默认值为True。

Padding

图片填充,在边缘添加黑色的边。

  • px_top:图像顶端增加的像素行数。默认值为1
  • px_right:图像右侧增加的像素行数。默认值为1
  • px_left:图像左侧增加的像素行数。默认值为1
  • px_bottom:图像底侧增加的像素行数。默认值为1
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Resize

调整图片大小。

  • height:变换后的图片高度。默认值224
  • width:变换后的图片宽度。默认值224
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Rotate

旋转,将图像围绕中心点旋转的操作,操作完成之后保持图片原本的形状不变,不足的部分用黑色填充。

  • angle_min:旋转角度随机取值范围的最小值,每张图片会从范围中随机取值作为自己的参数。默认值为90°
  • angle_max:旋转角度随机取值范围的最大值,每张图片会从范围中随机取值作为自己的参数。默认值为-90°
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Saturation

色度饱和度增强,对图片的HSV中的H和S空间做线性的变化,改变图片的色度和饱和度。

do_validation:数据扩增前是否做数据校验。默认值为True。

Scale

图片缩放,将图片的长或宽随机缩放到一定倍数。

  • scaleXY:缩放方向,X为水平,Y为垂直。默认值为X
  • scale_min:缩放比例随机取值范围的最小值。默认为0.5
  • scale_max:缩放比例随机取值范围的最大值。默认值为1.5
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Sharpen

图像锐化,用于将边缘清晰化,让物体边缘更加明显。

do_validation:数据扩增前是否做数据校验。默认值为True。

Shear

图片错切,一般用于图片的几何变换,通过线性函数将像素点进行映射。

  • shearXY:错切方向,X为水平,Y为竖直。默认值为X
  • shear_min:错切角度随机取值范围的最小值。默认值为-30
  • shear_max:错切角度随机取值范围的最大值。默认值为30
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Translate

图片平移,将图片整体像X轴或Y轴平移,超出原图部分舍弃,丢失部分用黑色填充。

  • translateXY:平移的方向,X为水平,Y为竖直。默认值为X
  • do_validation:数据扩增前是否做数据校验。默认值为True。

Weather

添加天气,模拟天气效果。

weather_mode:添加天气的模式,默认值为Rain。

  • Rain:下雨
  • Fog:雾
  • Snow:雪
  • Clouds:云

do_validation:数据扩增前是否做数据校验。默认值为True。

support.huaweicloud.com/engineers-modelarts/modelarts_23_0321.html