一、Imgaug简介
imgaug 是一个比torchvision更强大的数据增强工具包,这不仅体现在数据增强类别上,也包括数据增强方法的使用。比如,imgaug不仅提供了一些常见的shape增强方法和color增强方法,例如旋转、对比度等,也提供了加雨、加雾这些增强方法。此外,imgaug也可以设置keypoint等,对比数据增强前后关键点未知的变化。
我在调研该工具包的时候实现了相关的代码,在对某一算法进行增强的时候,只需配置算法的增强方式,即可使用,同时支持图像分类和目标检测,增强效果相当,区别是对目标检测增强的时候产生的增强图会同时生成label标签文件。
二、Imgaug实践
2.1、原始图像
import imgaug.augmenters as iaa
import imgaug as ia
2.2、仿射变换
iaa.Affine(
scale={"x": (0.6, 1.4), "y": (0.6, 1.4)},
translate_percent={"x": (-0.2, 0.2), "y": (-0.2, 0.2)},
rotate=(-20, 20),
shear=(-16, 16),
order=[0, 1],
cval=(0, 255),
mode="edge"
)
2.3、高斯模糊
iaa.GaussianBlur((2, 11)),
2.4、均值模糊
iaa.AverageBlur(k=(2, 11)),
2.5、中值模糊
iaa.MedianBlur(k=(11, 11)),
2.6、锐化
iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)),
2.7、丢弃像素
iaa.Dropout((0.1, 0.5), per_channel=False),
2.8、丢弃像素2
iaa.CoarseDropout(
(0.02,0.10), size_percent=(0.15, 0.55),
per_channel=False
),
2.9、改变亮度
iaa.AddToBrightness((-100, 100)),
2.10、改变亮度2
iaa.Multiply((0.6,1.4),per_channel=0.2),
2.11、生成遮挡
iaa.Cutout(nb_iterations=(1, 11), size=0.1, squared=False, fill_mode="constant", cval=0),
2.12、调整对比度
iaa.contrast.LinearContrast((0.5, 3.0), per_channel=False),
2.13、左右翻转
iaa.Fliplr(0.5),
2.14、上下翻转
iaa.Flipud(0.5),
2.15、大小缩放
iaa.Resize({"height": 100, "width": 100}),
2.16、HSV对比度变换
iaa.WithColorspace( to_colorspace="HSV",
from_colorspace="RGB",
children=iaa.WithChannels(0, iaa.Add((30, 100)))),
2.17、色相调整
iaa.AddToHue((-50, 50)),
2.18、饱和度及色相调整
iaa.AddToHueAndSaturation((-100, 100), per_channel=True),
2.19、饱和度调整
iaa.AddToSaturation((-100, 100)),
2.20、剪切
iaa.Crop(px=(0,150)),
2.21、剪切和填充
iaa.CropAndPad(px=None,
percent=None,
pad_mode='constant',
pad_cval=0,
keep_size=True,
sample_independently=True,
name=None,
deterministic=False,
random_state=None),
2.22、添加高斯噪声
iaa.AdditiveGaussianNoise(loc=0,scale=(0.0,0.05*255),per_channel=False),
2.23、伽马变换
iaa.GammaContrast(gamma=2*random2+1),
2.24、sigmoid变换
iaa.SigmoidContrast(gain= random2+0.5),
2.25、log变换
iaa.LogContrast(gain=2*random2+1),
2.26、CLAHE
iaa.CLAHE(clip_limit=(1, random3*10)),
2.27、散焦模糊
iaa.imgcorruptlike.DefocusBlur(severity=1),
2.28、运动模糊
iaa.MotionBlur(k=16),
2.29、添加马赛克
iaa.CoarseSaltAndPepper(0.06, size_percent=(0.01, 0.1)),
2.30、浮雕效果锐化
iaa.Emboss(alpha=(0, 1.0), strength=(0, 2.0)),
2.31、像素移动
iaa.ElasticTransformation(alpha=(0.5, 3.5), sigma=0.25),
2.32、超像素
iaa.Superpixels(
p_replace=(0, 1.0),
n_segments=(20, 200)
)
2.33、翻转像素
iaa.Invert(0.15, per_channel=True),
2.34、转换为一定比例的灰度图
Grayscale(alpha=(0.0, 1.0)),
2.35、边缘叠加
iaa.EdgeDetect(alpha=(0.2, 0.9)),
2.36、图形扭曲
iaa.PiecewiseAffine(scale=(0.01, 0.05)),
2.37、下雨
iaa.Rain(drop_size=(0.025, 0.05), speed=(0.25, 0.05)), # 雨
iaa.imgcorruptlike.Spatter(severity=1), # 溅 123水滴、45泥
iaa.MotionBlur(k=3), # 运动模糊
2.38、下雪
iaa.imgcorruptlike.Snow(severity=2),
2.39、起雾
iaa.Clouds(),
2.40、卡通
iaa.Cartoon(blur_ksize=3, segmentation_size=1.0, saturation=2.0, edge_prevalence=1.0),
文章来源:https://www.toymoban.com/news/detail-635612.html
2.41、多种效果叠加
文章来源地址https://www.toymoban.com/news/detail-635612.html
到了这里,关于「详解」imgaug 图像增强方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!