Fastai 中的图像增强

Image augumentation in Fastai

我想使用Fastai的图像数据集。

tfms = get_transforms(max_rotate=25)
data = ImageDataBunch.from_folder("/content/drive/My Drive/Colab Notebooks/images", valid_pct=0.2, size=224)
data.normalize()

我成功加载了图像,但现在我不知道如何使用 Fastai 进行增强和保存生成的图像。

增强可以是改变亮度、水平转动图像等。例如,改变亮度可以通过以下方式完成:

tfms = [brightness(change=(0.1, 0.9), p=1.0),]

阅读博客时我感到困惑。我被困住了,我不知道如何继续。我想将此更改应用于每个图像并将它们保存到单独的目录中。

任何帮助,谢谢

我认为你做的事情几乎是正确的,但你对它们应该如何工作感到困惑。

来自我的一个例子(基本上与 first lesson in Fastai 做的一样):

transforms = get_transforms(max_rotate=20, max_zoom=1.3, max_lighting=0.4, max_warp=0.4, p_affine=1., p_lighting=1.)

不要忘记将这些转换传递给您的数据加载器!

data = ImageDataBunch.from_name_re(path_img, fnames, pat, ds_tfms=transforms, size=224, bs=64).normalize(imagenet_stats)

这将启用这些数据操作(旋转、缩放等),但这些操作不用于创建和保存新图像!相反,每次您获得一批图像时都会应用它们,从而有效地为您提供无限的数据变化。保存其中的一些变体会使您的数据集变得更重,对您没有任何帮助。

请注意,这些操作用于训练,但通常不用于推理(当您需要对真实的、看不见的数据进行预测时)。 (有一种高级技术可以推断原始图像的小批量转换。)