数据增强:对训练集进行一系列的处理变换,使训练集更丰富,从而让模型更具泛化能力。
transforms----裁剪
1.transforms.CenterCrop(size)
功能:从图像中心裁剪指定尺寸的图片。当裁剪尺寸大于原始尺寸时,会使用0值填充,效果就是黑色像素填充
2.transforms.RandomCrop(size, padding)
功能:从原始图片中随机裁剪出尺寸为size的图片。
注:此方法处理流程为首先按padding设置的大小对原图像进行填充,再按照size大小随机从填充完的图像上裁剪出目标图像。
参数与功能:
3.transforms.RandomResizedCrop
scale:随机裁剪面积比例范围,比如0.6的含义是从图像中随机裁剪一个面积占原图像60%面积的区域出来。 裁剪之后图像尺寸可能会小于设定的目标尺寸,因此需要进行插值。
transforms----Flip翻转
expand:图片旋转之后会有部分超出目标尺寸区域,如果不扩大图片,超出的部分图片信息将会丢失(左图为False,右图为True)。
注:expand是根据中心旋转来计算扩大的尺寸的,因此使用其他的旋转中心expand仍会丢失部分信息。
transforms----填充
x(y)轴错切:平行于x(y)轴的边错切之后仍然平行于x(y)轴,但y(x)轴发生扭曲。
- 注:随机遮挡操作输入数据为tensor形式,value(R,G,B)三者范围都为0-1(需要同时除以255),因此比如说红色为(254/255,0/255,0/255)
- scale(0.02,0.33)和ratio(0.3,3.3)都为论文推荐设置,长:宽,宽:长 最大都在3倍左右。
Transforms操作方法
自定义transforms要素:
- 仅接收一个参数,返回一个参数
- 注意上下游的输出与输入:当前的transforms输入为上一个transforms操作的输出,当前的输出是下一个transforms操作的输入
transforms方法总结
本文为深度之眼Pytorch课程的学习笔记,仅供自己学习使用,如有问题欢迎讨论!关于课程可以扫描下图二维码