torchvision0.13版官方文档链接
集合
import torchvision.transforms as pose(transform1,transform2,...)transforms.RandomApply(torch.nn.ModuleList([transform1,transform2,...]), p=0.3)# 概率使用
注:transforms预期输入为[…,H,W] ;示例图源自官方文档
i.e.
center_crops = [T.CenterCrop(size=size)(orig_img) for size in (30, 50, 100, orig_img.size)]plot(center_crops)
1.Resize(尺寸缩放)
transforms.Resize(size[, interpolation, max_size, ...])
2.RandomCrop(随机裁剪)
transforms.RandomCrop(size[, padding, pad_if_needed, ...])
3.RandomResizedCrop(随机裁剪+缩放)
transforms.RandomResizedCrop(size[, scale, ratio, ...])
4.CenterCrop(中心裁剪)
若图像小于设定输出尺寸,则用0填充。
transforms.CenterCrop(size)
5.FiveCrop(四角+中心裁剪)
transforms.FiveCrop(size)
6.TenCrop(FiveCrop+翻转)
transforms.TenCrop(size, vertical_flip=False)
7.Pad(填充)
transforms.Pad(padding, fill=0, padding_mode='constant')
8.RandomRotation(按角度随机旋转)
transforms.RandomRotation(degrees, interpolation=InterpolationMode.NEAREST, expand=False, center=None, fill=0)
9.RandomAffine(随机仿射变换[中心不变])
仿射变换:二维的线性变换,由五种基本原子变换构成,分别是旋转、平移、缩放、错切和翻转。
transforms.RandomAffine(degrees, translate=None, scale=None, shear=None, interpolation=InterpolationMode.NEAREST, fill=0, center=None)
10.RandomPerspective(随机视角)
transforms.RandomPerspective(distortion_scale=0.5, p=0.5, interpolation=InterpolationMode.BILINEAR, fill=0)
11.ElasticTransform(弹性变换)
transforms.ElasticTransform(alpha=50.0, sigma=5.0, interpolation=InterpolationMode.BILINEAR, fill=0)
12.RandomHorizontalFlip(随机水平翻转)
transforms.RandomHorizontalFlip(p=0.5)
13.RandomVerticalFlip(随机垂直翻转)
transforms.RandomVerticalFlip(p=0.5)
14.RandomAdjustSharpness(随机清晰度)
transforms.RandomAdjustSharpness(sharpness_factor, p=0.5)
15.RandomErasing(随机擦除)
transforms.RandomErasing(p=0.5, scale=(0.02, 0.33), ratio=(0.3, 3.3), value=0, inplace=False)
16.Grayscale/RandomGrayscale(转灰度图/随机转)
transforms.Grayscale(num_output_channels=1)transforms.RandomGrayscale(p=0.1)
17.GaussianBlur(随机高斯模糊)
transforms.GaussianBlur(kernel_size, sigma=(0.1, 2.0))
18.RandomPosterize(随机减少图像通道bits)
transforms.RandomPosterize(bits, p=0.5)
19.RandomAutocontras(随机自动调对比度)
transforms.RandomAutocontrast(p=0.5)
20.RandomEqualize(随机均衡)
transforms.RandomEqualize(p=0.5)
ps:
更多可视化效果请参考:总结一些transforms,数据增强的方式