**一、数据增强**

数据增强:叫数据增广,数据扩增,他是对训练集进行变换,使训练集更丰富从而让模型更具泛化能力。
二、transforms——裁剪
1)transforms.Centercrop
功能:从图像中心裁剪图片
size:所需裁剪图片尺寸
2)

功能:从图片中随机裁剪出尺寸为size的图片
padding:设置填充大小
当为a时,上下左右均填充a个像素
当为(a,b)时,上下填充b个像素,左右填充a个像素
当为(a,b,c,d)时,左、上、右、下(顺时针)分别填充a,b,c,d
padding_if_need:若图像设定size,则填充
padding_mode:填充模式,有4种模式
• constant:像素值由fill设定
• edge:像素值由图像边缘像素决定
• reflect:镜像填充,最后一个像素不镜像,如[1,2,3]—>[2,1,2,3,2]
• symmetric:镜像填充,最后一个像素镜像,如[1,2,3]—>[1,1,2,3,3]
3)

功能:随机大小、长宽比裁剪图片
• size:所需裁剪图片尺寸
• scale:随机裁剪面积比例, 默认(0.08, 1)
• ratio:随机长宽比,默认(3 /4, 4/3)
• interpolation:插值方法
PIL.Image.NEAREST
PIL.Image.BILINEAR
PIL.Image.BICUBIC
4)

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

功能:对这5张图片进行水平或者垂直镜像获得10张图片
• size:所需裁剪图片尺寸
• vertical_flip:是否垂直翻转
三、transforms——翻转和旋转
1)
RandomHorizontalFlip(p=0.5)
RandomVerticalFlip(p=0.5)
功能:依概率水平(左右)或垂直(上下)翻转图片
• p:翻转概率
2)

功能:随机旋转图片
• degrees:旋转角度
当为a时,在( -a, a)之间选择旋转角度
当为(a, b)时,在(a, b)之间选择旋转角度
• resample:重采样方法
• expand:是否扩大图片,旋转时图片会相应的扩大
• center:旋转点设置,默认中心旋转
三、transforms——图像变换
1)

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

功能:调整亮度、对比度、饱和度和色相
• 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
3)

功能:依概率将图片转换为灰度图
• num_ouput_channels:输出通道数
只能设1或3
• p:概率值,图像被转换为灰度图的概率
4)

功能:对图像进行仿射变换,仿射变换是二维的线性变换,由五种基本原子变换构成,分别是旋转、 平移、 缩放、 错切和翻转。
• degrees:旋转角度设置
• translate:平移区间设置,如(a, b), a设置宽(width), b设置高(height)
图像在宽维度平移的区间为 -img_width * a < dx < img_width * a
• scale:缩放比例(以面积为单位)
• fill_color:填充颜色设置
• shear:错切角度设置,有水平错切和垂直错切
若为a,则仅在x轴错切,错切角度在(-a, a)之间
若为(a, b),则a设置x轴角度, b设置y的角度
若为(a, b, c, d),则a, b设置x轴角度, c, d设置y轴角度
• resample:重采样方式,有NEAREST 、 BILINEAR、 BICUBIC
5)

功能:对图像进行随机遮挡
• p:概率值,执行该操作的概率
• scale:遮挡区域的面积
• ratio:遮挡区域长宽比
• value:设置遮挡区域的像素值, (R, G, B) or (Gray)
6)

功能:用户自定义lambda方法
• lambd: lambda匿名函数
lambda [arg1 [,arg2, … , argn]] : expression
如:
transforms.TenCrop(200, vertical_flip=True),
transforms.Lambda(lambda crops:torch.stack([transforms.Totensor()(crop) for crop in crops])),

四、transforms——transforms方法操作

五、自定义transforms方法
自定义transforms要素:
1、仅接收一个参数,返回一个参数
2、注意上下游的输出与输入

通过类实现多参数传入:

举例:添加椒盐噪声
椒盐噪声又称为脉冲噪声,是一种随机出现的白点或者黑点, 白点称为盐噪声,黑色为椒噪声。
信噪比(Signal-Noise Rate, SNR)是衡量噪声的比例,图像中为图像像素的占比。信噪比越大图像的噪声越多。
代码:

总结:

数据增强实战应用
原则:让训练集与测试集更接近

pytorch(7)——二十二种transforms数据预处理方法相关推荐

  1. matlab预处理光谱数据,一种近红外光谱数据预处理方法与流程

    本发明公开了属于近红外光谱分析技术领域,尤其涉及一种近红外光谱数据预处理的新方法,主要用于建立近红外定量和定性模型时对近红外光谱数据的预处理. 背景技术: 近红外光谱技术具有分析速度快.样本制作简单的 ...

  2. PyTorch框架学习十二——损失函数

    PyTorch框架学习十二--损失函数 一.损失函数的作用 二.18种常见损失函数简述 1.L1Loss(MAE) 2.MSELoss 3.SmoothL1Loss 4.交叉熵CrossEntropy ...

  3. 2021年大数据Hadoop(二十二):MapReduce的自定义分组

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 MapReduce的自定义分组 需求 分析 实现 第一步: ...

  4. 37种传感器(二十二)之倾斜开关模块+Stduino NanoUNO

    37种传感器(二十二)之倾斜开关模块+Stduino Nano&UNO 本文转载自:http://www.stduino.com/forum.php?mod=viewthread&ti ...

  5. 【点云预处理】N种点云数据数据预处理方法 — 持续总结和更新(二)

    1~10种点云预处理方法请参考:10种点云数据数据预处理方法 - 持续总结和更新(一)_Coding的叶子的博客-CSDN博客_点云预处理.深度学习中点云基本数据处理和增强方式,包括点云归一化.随机打 ...

  6. 插入DLL和挂接API——Windows核心编程学习手札之二十二

    插入DLL和挂接API --Windows核心编程学习手札之二十二 如下情况,可能要打破进程的界限,访问另一个进程的地址空间: 1)为另一个进程创建的窗口建立子类时: 2)需要调试帮助时,如需要确定另 ...

  7. OpenCV学习(二十二) :反向投影:calcBackProject(),mixChannels()

    OpenCV学习(二十二) :反向投影:calcHist(),minMaxLoc(),compareHist() 参考博客: 反向投影backproject的直观理解 opencv 反向投影 颜色直方 ...

  8. Android开发笔记(一百二十二)循环器视图RecyclerView

    RecyclerView RecyclerView是Android在support-v7库中新推出控件,中文别名为循环器视图,它的功能非常强大,可分别实现ListView.GridView,以及瀑布流 ...

  9. 【白话设计模式二十二】解释器模式(Interpreter)

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# 白话设计模式 工厂模式 单例模式 [白话设计模式一]简单工厂模式(Simple Factory) [白话设计模式二] ...

最新文章

  1. android:HTTP通信 .
  2. 先庆祝一下,冠军的心博客园诞生了!!
  3. HarmonyOS之常用组件RoundProgressBar的功能和使用
  4. ShopEx customSchema 定制可以根据客户的需求对网站进行相应功能的添加修改或者删除
  5. Ubuntu下部署zabbix 开源监控系统
  6. 知道端口号如何查看应用位置
  7. android和webview交互,android webview与原生交互
  8. mysql——时间字段类型与C#中datetime
  9. 自学 6 个月 Java 找到了一份 15K 的工作,师弟的方式值得推荐给大家
  10. Excel_使用条件格式制作甘特图
  11. 认识移动基站通信设备
  12. 计算机输出科学计数法,python不用科学计数法
  13. NC单据模板公式(6大类)
  14. Android WebView下载apk
  15. ModHOMM3 使用说明
  16. 使用 Envoy 和 AdGuard Home 阻挡烦人的广告
  17. SMAP: Single-Shot Multi-Person Absolute 3D Pose Estimation
  18. 名帖07 赵宧光 篆书《篆书四箴册》
  19. dep和rpm的安装
  20. POI pdf ppt word excel

热门文章

  1. 嵌入式应用软件任务划分的原则
  2. java下载图片到本地,例如从网上下载图片,下载淘宝图片,下载百度图片等
  3. 瑞萨RL78系列单片机报内存溢出故障的解决过程。RA78K0R error E3206: Segment ‘@@CODEL‘ can‘t allocate to memory - ignored
  4. TSC 打印机开发TSPL黑底白字的打印以及一些问题
  5. C语言初步入门学习大略
  6. TM4C12x学习笔记(1)-初识TM4C12x
  7. 【软件】串口助手小软件,无需安装下载即可使用
  8. Spring学习详细代码+图片解释笔记
  9. java赋值运算的类型转换出新的问题_Java中byte、short、char、int、long运算时自动类型转化问题...
  10. 【Linux】基础:进程的概念