华为云AI开发平台ModelArts数据增强(数据扩增)_云淘科技
数据扩增算子概述
数据扩增主要用于训练数据集不足或需要仿真的场景,能通过对已标注的数据集做变换操作来增加训练图片的数量,同时会生成相应的标签。在深度学习领域,增强有重要的意义,能提升模型的泛化能力,增加抗扰动的能力。数据扩增过程不会改动原始数据,扩增后的图片或xml文件保存在指定的输出路径下。
ModelArts提供以下数据扩增算子:
算子 |
算子说明 |
高级 |
---|---|---|
AddNoise |
添加噪声,模拟常见采集设备在采集图片过程中可能会产生的噪声。 |
noise_type:添加噪声的分布类型,Gauss为高斯噪声,Laplace为拉普拉斯噪声,Poisson是泊松噪声,Impulse是脉冲噪声,SaltAndPepper为椒盐噪声。默认值为Gauss scale:噪声分布的标准差,仅在Gauss和Laplance生效。默认值为1 p:对于每个像素点,出现脉冲噪声或椒盐噪声的概率,仅在Impulse和SaltAndPepper有效。默认值为0.01 |
Blur |
模糊,使用滤波器对图像进行滤波操作,有时用于模拟成像设备的成像。 |
blur_type:可选Gauss和Average两种模式,分别为高斯和均值滤波。默认值为Gauss |
Crop |
图片裁剪,随机裁剪图片的一部分作为新的图片。 |
crop_percent_min:各边裁剪占比的随机取值范围的最小值。默认值为0.0 |
CutOut |
随机擦除,在深度学习中常用的方法,用于模拟物体被障碍物遮挡。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
Flip |
翻转,沿图片水平轴或竖直轴做翻转,是非常常见的增强方法。 |
lr_ud:选择翻转的方向,lr为水平翻转,ud为竖直翻转。默认值为lr do_validation:数据扩增前是否做数据校验。默认值为True。 |
Grayscale |
图片灰度化,将三通道的彩色图像转换到三通道的灰度图像。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
HistogramEqual |
直方图均衡化,多半是使用于让图片的视觉效果更加好,在某些场景下会使用。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
LightArithmetic |
亮度增强 ,对亮度空间做线性增强操作。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
LightContrast |
亮度对比度增强,使用一定的非线性函数改变亮度空间的亮度值。 |
func:默认值为gamma gamma为常见方法伽马矫正,公式为255*((v/255)**gamma)’) do_validation:数据扩增前是否做数据校验。默认值为True。 |
MotionBlur |
运动模糊,模拟物体运动时产生的残影现象。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
Padding |
图片填充,在边缘添加黑色的边。 |
px_top:图像顶端增加的像素行数。默认值为1 |
Resize |
调整图片大小。 |
height:变换后的图片高度。默认值224 |
Rotate |
旋转,将图像围绕中心点旋转的操作,操作完成之后保持图片原本的形状不变,不足的部分用黑色填充。 |
angle_min:旋转角度随机取值范围的最小值,每张图片会从范围中随机取值作为自己的参数。默认值为90° |
Saturation |
色度饱和度增强,对图片的HSV中的H和S空间做线性的变化,改变图片的色度和饱和度。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
Scale |
图片缩放,将图片的长或宽随机缩放到一定倍数。 |
scaleXY:缩放方向,X为水平,Y为垂直。默认值为X |
Sharpen |
图像锐化,用于将边缘清晰化,让物体边缘更加明显。 |
do_validation:数据扩增前是否做数据校验。默认值为True。 |
Shear |
图片错切,一般用于图片的几何变换,通过线性函数将像素点进行映射。 |
shearXY:错切方向,X为水平,Y为竖直。默认值为X |
Translate |
图片平移,将图片整体像X轴或Y轴平移,超出原图部分舍弃,丢失部分用黑色填充。 |
translateXY:平移的方向,X为水平,Y为竖直。默认值为X |
Weather |
添加天气,模拟天气效果。 |
weather_mode:添加天气的模式,默认值为Rain。 Rain:下雨 do_validation:数据扩增前是否做数据校验。默认值为True。 |
输入要求
算子输入分为两种,“数据集”或“OBS目录”。
选择“数据集”,请从下拉框中选择ModelArts中管理的数据集及其版本。要求数据集类型与您在本任务中选择的场景类别一致。
选择“OBS目录”,存放结构支持“包含图片和标注信息”模式。
“包含图片和标注信息”,根据不同场景类型,结构不同。
图像分类场景,其目录结构如下所示。如下目录结构,仅支持单标签场景。
input_path/ --label1/ ----1.jpg --label2/ ----2.jpg --../
物体检测场景,其目录结构如下所示。支持jpg、jpeg、png、bmp格式的图片,xml为标准的PACAL VOC格式标注文件。
input_path/ --1.jpg --1.xml --2.jpg --2.xml ...
输出说明
由于算法中有些操作将会舍弃一些数据,输出文件夹里可能不包含全量数据集。例如,“Rotate”会舍弃标注框超出原始图片边界的图片。
输出目录结构如下所示。其中“Data”文件夹用于存放新生成的图片和标注信息,“manifest”文件存储文件夹中图片的结构,可直接导入到数据管理的数据集中。
|----data_url |----Data |----xxx.jpg |----xxx.xml(xxx.txt) |----output.manifest
其中manifest文件内容示例如下所示。
{ "id": "xss", "source": "obs://home/fc8e2688015d4a1784dcbda44d840307_14.jpg", "usage": "train", "annotation": [ { "name": "Cat", "type": "modelarts/image_classification" } ] }
父主题: 预置算子说明
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家