在面临图像训练,数据集的稀缺很容易令模型出现过拟合,泛化能力差等问题。
以下是利用Pytorch 对有限的图像数据集进行图像增强处理以扩展图像训练集。
环境
Pillow | 8.4.0 | |
torch | 1.8.2+cu111 |
pytorch 的 torchvison - transforms 里面自带的很多对于图像处理的函数,其中常用到有
Resize
from torchvision import transforms as tfs
import matplotlib.pyplot as plt
im_aug = tfs.Compose([
tfs.Resize(1024),
tfs.ToTensor(),
])
# --- load original image
im = Image.open('dataset/IMG_4329.jpg')
# --- transform image
x = im_aug(im)
RandomCrop随机裁剪
RandomCrop可以对照片随机裁剪,有利于模型学习图像特性,此处注意transform的顺序
im_aug = tfs.Compose([
tfs.Resize(1024),
tfs.RandomCrop(512),
tfs.ToTensor(),
])
# --- load original image
im = Image.open(