问题背景:1月份写了一个数据增广软件,好久了,然后有买家问我iaa.Sequential()模块里面的augmenter是随机选择一个增强还是都选,还是选1到n个?
# 产生一个处理图片的Sequential,里面定义各种用于数据增强的方法
seq = iaa.Sequential([
iaa.Flipud(0.5), # flip up and down (vertical)
iaa.Fliplr(0.5), # flip left and right (horizontal)
# iaa.Multiply((1.2, 1.5)), # change brightness, doesn't affect BBs(bounding boxes)
iaa.GaussianBlur(sigma=(0, 3.0)), # 标准差为0到3之间的值
iaa.Affine( # 仿射变换
translate_px={"x": 15, "y": 15}, # 平移
scale=(0.8, 0.95), # 尺度变换
rotate=(-30, 30) # 旋转
) # translate by 40/60px on x/y axis, and scale to 50-70%, affects BBs(bounding boxes)
]) # 对每个图像batch应用不同顺序的augmenter
问题答案:顺序增强,每一种都可能用到,只是设置的概率大小不同,比如iaa.Flipud(0.5)只有50%的概率执行上下翻转,然后依次向下执行其他增强方式,结果如下图:
做个笔记~