导入数据增强包:
from imgaug import augmenters as iaa #引入数据增强的包
sometimes = lambda aug: iaa.Sometimes(0.5, aug) #建立lambda表达式,
这里定义sometimes意味有时候做的操作,然而实际上在深度学习的模型训练中,数据增强不能喧宾夺主,如果对每一张图片都加入高斯模糊的话实际上是毁坏了原来数据的特征,因此,我们需要“有时候”做,给这个操作加一个概率。
下面建立一个图像增强流程,有详细注释:
seq = iaa.Sequential(
[
iaa.Fliplr(0.5), # 对50%的图像进行上下翻转
iaa.Flipud(0.2), # 对20%的图像做镜像翻转
sometimes(iaa.Crop(percent=(0, 0.1))),
#这里沿袭我们上面提到的sometimes,对随机的一部分图像做crop操作
# crop的幅度为0到10%
sometimes(iaa.Affine( #对一部分图像做仿射变换
scale={"x": (0.8, 1.2), "y": (0.8, 1.2)},#图像缩放为80%到120%之间
translate_percent={"x": (-0.2, 0.2), "y": (-0.2, 0.2)}, #平移±20%之间
rotate=(-45, 45), #旋转±45度之间
shear=(-16, 16), #剪切变换±16度,(矩形变平行四边形)
order=[0,