Pytorch之图像预处理transforms(常用操作汇总)

本文详细介绍了PyTorch的torchvision.transforms模块,包括数据增强、图像裁切、翻转、旋转、变换等功能,如RandomCrop、RandomHorizontalFlip、RandomRotation、Normalize等,这些方法用于提升模型的泛化能力。
摘要由CSDN通过智能技术生成

Pytorch Transforms操作汇总

数据增强(Data Augmentation)

数据增强又称为数据增广,数据扩增,它是对训练集进行变换,使训练集更
丰富,从而让模型更具泛化能力,在pytorch中我们使用transforms这一工具包对图像数据进行增强

torchvision计算机视觉工具包

  • 该工具包主要包含以下三种常用的类
    torchvision.transforms :常用的图像预处理方法
    torchvision.datasets :常用数据集的dataset实现,MNIST, CIFAR-10, ImageNet等
    torchvision.model :常用的模型预训练,AlexNet, VGG, ResNet, GoogLeNet等

  • 本文主要对第一种类torchvision.transforms进行介绍

torchvision.transforms :常用的图像预处理方法

数据中心化
数据标准化
缩放
裁剪
旋转
翻转
填充
噪声添加
灰度变换
线性变换
仿射变换
亮度、饱和度及对比度变换

下面介绍几种常用的transforms方法,以后遇到会再补充

transforms.Compose (transforms)

功能:将多个变换方式逐步实现。
例:transforms.Compose(transforms.ToTensor(), transforms.Normalize())

1.图像裁切(Crop)

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中模式
    1、constant :像素值由fill设定
    2、edge:像素值由图像边缘像素决定
    3、reflect :镜像填充,最后一个像素不镜像,eg : [1,2,3,4] → [3,2,1,2,3,4,3,2]
    4、symmetric :镜像填充,最后一个像素镜像,eg : [1,2,3,4] → [2,1,1,2,3,4,4,3]
  • fill constant时, 设置填充的像素值

transforms.CenterCrop(size)

功能:从图像中心裁剪图片

  • size:所需裁剪图片尺寸

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:插值方法
    PIL. Image. NEAREST
    PIL. Image. BILINEAR
    PIL. /mage. BICUBIC

transforms.FiveCrop(size)

功能:在图像的上下左右以及中心裁剪出尺寸为size的5张图片

  • size:所需裁剪图片尺寸

transforms.TenCrop(size,vertical_ flip=False)

功能:在图像的上下左右以及中心裁剪出尺寸为size的5张图片,TenCrop对这5张图片进行水平或者垂直镜像获得10张图片

  • size:所需裁剪图片尺寸
  • vertical_ flip: 是否垂直翻转

2.图片翻转、旋转(Flip, Rotation)

  • 17
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值