我喜欢使用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),]
在阅读博客时我感到困惑,并陷入困境,如何进一步在每个图像中应用此更改并将其保存在单独的目录中。
任何帮助,谢谢
答案 0 :(得分:1)
我认为您做的事几乎是正确的,但是您对它们的工作方式感到困惑。
从一个例子中我可以得出(基本上与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)
这将启用这些数据操作(旋转,缩放等),但是这些操作不用于创建和保存新图像!相反,它们在您每次获得一批图像时都会应用,从而有效地为您提供了数据的无限变化。保存其中一些变体会使您的数据集变重,并且不会以任何方式帮助您。
请注意,这些操作用于训练中,但通常不用于推断(当您需要预测真实的,看不见的数据时)。 (有一项先进的技术可以对原始图像的微型转换进行推断。)