一、数据增强
数据增强又称为数据增广,数据扩增,它是对训练集进行变换,使训练集更丰富,从而让模型更具泛化能力
二、transforms——裁剪
2.1. transforms.CenterCrop
transforms.CenterCrop(size)
功能: 从图像中心裁剪图片
- size: 所需裁剪图片尺寸
2.2 transforms.RandomCrop
transforms.RandomCrop(size,
padding=None,
pad_if_needed=False,
fill=0,
padding_mode=' constant')
功能: 从图片中随机裁剪出尺寸为size的图片
- size: 所需裁剪图片尺寸
- padding: 设置填充大小
- 当为a时,上下左右均填充a个像素
- 当为(a, b)时,上下填充b个像素,左右填充a个像素
- 当为(a, b, c, d)时,左,上,右,下分别填充a, b, c, d
- pad-if-need: 若图像小于设定size ,则填充
- padding_mode: 填充模式,有4种模式
- constant: 像素值由fill设定
- edge: 像素值由图像边缘像素决定
- reflect: 镜像填充,最后一个像素不镜像, eg: [1,2,3,4] → [3,2,1,2,3,4,3,2]
- symmetric: 镜像填充,最后一个像素镜像, eg: [1.2.3.4] → [2,1,1,2,3,4,4,3]
- fill: constant时,设置填充的像素值,即填充颜色
2.3. RandomResizedCrop
RandomResizedCrop (size,scale=(0.08, 1.0),ratio=(3/4, 4/3),interpolation)
功能: 随机大小、长宽比栽剪图片
- size: 所需裁剪图片尺寸
- scale: 随机裁剪面积比例,默认(0.08, 1)
- ratio: 随机长宽比,默认(3/4, 4/3)
- interpolation: 插值方法
- PIL.Image.NEAREST
- PIL.Image.BILINEAR
- PIL.Image.BICUBIC
2.4 FiveCrop
transforms.FiveCrop(size)
功能: 在图像的上下左右以及中心裁剪出尺寸为size的5张图片
2.5 TenCrop
transforms.TenCrop(size,vertical_flip=False)
功能:先获得FiveCrop处理的5张图片,对这5张图片进行水平或者垂直镜像获得10张图片
- size: 所需裁剪图片尺寸
- vertical_flip: 是否垂直翻转
三、transforms——翻转和旋转
3.1 RandomHorizontalFlip
RandomHorizontalFlip(p=0.5)
功能: 依概率垂直(上下)翻转图片
- p: 翻转概率
3.2 RandomVerticalFlip
RandomVerticalFlip(p=0.5)
功能: 依概率水平(左右)翻转图片
- p: 翻转概率
3.3 RandomRotation
RandomRotation(degrees,resample=False,expand=False