Pytorch和MONAI中的transforms¶
pytorch中的transforms¶
torchvision是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms主要是用于常见的一些图形变换, 常见的图像变换有以下四类
裁剪¶
transforms.CenterCrop
:中心裁剪transforms.RandomCrop
:随机裁剪transforms.RandomResizedCrop
:随机长宽比裁剪transforms.FiveCrop
:上下左右中心裁剪transforms.TenCrop
:上下左右中心裁剪后翻转
翻转和旋转¶
transforms.RandomHorizontalFlip(p=0.5)
:依概率p水平翻转transforms.RandomVerticalFlip(p=0.5)
:依概率p垂直翻转transforms.RandomRotation
:随机旋转
图像变化¶
transforms.Normalize
:标准化transforms.ToTensor
:转为tensor,并归一化至[0-1]transforms.Pad
:填充transforms.ColorJitter
:修改亮度、对比度和饱和度transforms.Grayscale
:转灰度图transforms.LinearTransformation
:线性变换transforms.RandomAffine
:仿射变换transforms.RandomGrayscale
:依概率p转为灰度图transforms.ToPILImage
:将数据转换为PILImagetransforms.Lambda
:将lambda应用作为变换
对transforms的操作¶
transforms.RandomChoice
:从给定的一系列transforms中选一个进行操作transforms.RandomApply
:给一个transform加上概率,依概率进行操作transforms.RandomOrder
:将transforms中的操作随机打乱
MONAI中的transforms¶
基础transforms接口¶
Transform
:Transform 的抽象类,其他Transform的基类MapTransform
:假设要处理的数据是MutableMapping,例如dict
Randomizable
:用于在本地处理随机状态的接口RandomizableTransform
:用于在本地处理随机状态的接口Compose
: 同Pytorch中的ComposeInvertibleTransform
:此类存在以便可以实现反转方法。例如,这允许在训练和推理期间对图像进行裁剪、旋转、填充等,并在保存到文件以在外部查看器中进行比较之前恢复到其原始大小。TraceableTransform
:维护一堆应用的变换BatchInverseTransform
:对一批数据执行逆运算。如果您已经推断出一批图像并想要将它们全部反转,这将很有用Decollated
:整理一批数据OneOf
:OneOf 提供了从可调用列表中随机选择一个转换的能力,每个转换具有预定义的概率
Vanilla Transforms(怎么翻译?)¶
裁剪和填充¶
PadListDataCollat
: