PyTorch 5. Transform预处理

PyTorch 5. Transform预处理

常用数据处理方法

torchvision.transforms:常用的图像预处理方法
数据中心化
数据标准化
缩放
裁剪
旋转
翻转
填充
噪声添加
灰度变换
线性变换
仿射变换
亮度、饱和度及对比度变换

  1. RandomCrop
    功能:依据给定的size随机裁剪
    参数:
    size(sequence or int)
    若为sequence,则为(h,w),若为int,则(size,size)
    padding-(sequence or int, optional),此参数是设置填充多少个pixel
    当为int时,图像上下左右均填充int个,例如padding=4 ,则上下左右均填充4个pixel,若输入图像尺寸为3232,则变为4040.
    当为sequence时,若有2个数,则第一个数表示左右填充多少,第二个数表示上下的。当有4个数时,则为左,上,右,下
  2. transforms.Normalize
transforms.Normalize(mean,
					std,
					inplace=False)

功能:逐channel的对图像进行标准化
output = (input - mean)/std
mean:各通道的均值
std: 各通道的标准差
inplace:是否原地操作
Normalize的目的:加速模型收敛
3. transforms.RandomResizedCrop

transforms.RandomResizedCrop(size,
							scale=(0.08,1.0),
							ratio=(3/4,4/3),
							interpolation)

功能:随机大小,长宽比裁剪图片
size:所需裁剪图片尺寸
scale:随机裁剪面积比例,默认(0.08,1)
ratio: 随机长宽比,默认(3/4,4/3)
interpolation:插值方法
3. transforms.RandomHorizontalFlip§
功能:依概率水平翻转
p;翻转概率
4. transforms.RandomVerticalFlip
功能:依概率垂直翻转图片
p:翻转概率
5. transforms.RandomRotation

transforms.RandomRotation(degrees,
						resample=False,
						expand=False,
						center=None)

功能:随机旋转图片
degrees:旋转角度
当为a时,在(-a,a)之间选择旋转角度
当为(a,b)时,在(a,b)之间选择旋转角度
resample:重采样方法
expand:是否扩大图片,以保持原图信息
6. transforms.Pad

transforms.Pad(padding,
				fill=0,
				padding_mode='constant')

功能:对图片边缘进行填充
padding:设置填充大小
当为a时,上下左右均填充a个像素
当为(a,b)时,上下填充b个像素,左右填充a个像素
当为(a,b,c,d)时,左,上,右,下分别填充a,b,c,d
padding_mode:填充模式,有四种模式,constant,edge,reflect和symmetric
fill:constant时,设置填充的像素值,(R,G,B)or(Gray)
7. transforms.ColorJitter

transforms.ColorJitter(brightness=0,
						contrast=0,
						saturation=0,
						hue=0)

功能:调整亮度、对比度、饱和度和色相
brightness:亮度调整因子
当为a时,从[max(0,1-a),1+a]中随机选择
当为(a,b)时,从[a,b]中选择
contrast:对比度参数,同brightness
saturation:饱和度参数,同brightness
hue:色相参数,当为a时,从[-a,a]中选择参数,注:0<=a<=0.5
当为(a,b)时,从[a,b]中选择参数,注:-0.5<=a<=b<=0.5

  1. transforms.RandomErasing
transforms.RandomErasing(p=0.5,
						scale=(0.02,0.33),
						ratio=(0.3,3.3),
						value=0,
						inplace=False)

功能:对图像进行随机遮挡
p:概率值,执行该操作的概率
scale:遮挡区域的面积
ratio:遮挡区域的长宽比
value:设置遮挡区域的像素值,(R,G,B)or (Gray)
9. 自定义transforms
1仅接受一个参数,返回一个参数
2注意上下游的输出与输入

class YourTransforms(object):
	def __init__(self,...)
		pass
	def __call__(self,img)
		...
		return img
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值