当前位置: 首页 > news >正文

Pytorch 实战 LESSON 16 深度学习视觉入门 上

文章目录

  • 深度视觉行业综述
  • 卷积与卷积神经网络的基本元素
  • Pytorch复现LeNet5与AlexNet
  • 构筑自己的卷积神经网络

在这里插入图片描述
在这里插入图片描述

深度视觉行业综述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

卷积与卷积神经网络的基本元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
高度,宽度,通道数

通道数绝对色彩空间。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
0-255.越接近0越暗。越接近255越接近颜色通道颜色本身。3个都是255,是纯白色。

在这里插入图片描述
因为颜色的明亮程度不同,也就构成了图像的纹理不同。所以通道本身决定了图片的颜色和纹理等所有构成。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
孔雀的颜色变了。因为opencv在读取图像,是BGR,不是我们以为的RGB。

#OpenCV默认读取后的图像通道是BGR,因此我们需要将图像的通道顺序转换为RGB
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)

在这里插入图片描述
在这里插入图片描述
uint8限制像素是0-255.

在这里插入图片描述
255+10->9这不符合常识,255不能再亮了之后,不是让它变黑。所以我们需要调整它。通过先将像素转成float,然后用np.clip限制。

在这里插入图片描述
在这里插入图片描述

img = img/255
#所有像素值都在0-255范围内,通过除以255,我们将图像归一化,并让像素的范围被压缩到[0,1]之间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
乘法和加法对于图像来说,是不太一样的。乘法是控制对比度,加法控制敏感程度。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这和我一开始学的不一样。才知道为什么叫卷积。
在这里插入图片描述

在这里插入图片描述
这里特别关键,我们之前说过,对图像像素进行数学运算,并且不超出图像的像素范围,就可以生成新的图像。而卷积就是一种从2个矩阵中得出新数值的方式。这个操作正好就是图像变换。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么要找个矩阵才旋转呢,为什么不直接找一个矩阵呢。所以从今天的眼光来说,旋转对于卷积已经是不太有意义的操作了。但是从卷积的发源来看,是有一个180度旋转的(数学线性加权)。在今天的深度学习当中,我们都不需要旋转了。很多人不知道卷积的卷怎么来的,卷就是旋转,但是目前不用旋转了。直接去求扫描区域和卷积核来进行点积。

在这里插入图片描述
在这里插入图片描述

感受野就是卷积核能够看到的区域。卷积核和感受野轮流得到的新的矩阵,叫特征图feature map。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
sobel和laplace已经不能很好的凸显原始图像了。我们需要用不同的卷积核,去提取图像的特征。假设计算机可以自己判断图像需要什么样的卷积核算子,知道自己需要把特征提取道什么程度就ok,我们希望让计算机自己做。这就是深度学习,神经网络自己学习kernal的weight。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
真实情况,反而是越浅的图片,越容易理解。但是对于人类看到的,浅层的,更容易理解。

Pytorch复现LeNet5与AlexNet

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
聚合了9个像素到中间那个点,保证图像的信息不断向中心进行压缩的。
在这里插入图片描述
2*2,没法向中心点压缩,而是往一个角进行压缩,可能造成图像的扭曲失真。有些像素往右边聚合,有的往左边聚合。那么多来几轮卷积操作,图像就失真了。

在这里插入图片描述
没有失真的feature map,对于原图来说只是缩放了比例。这对于anchor机制的目标检测很关键。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
为什么需要扫描多次,因为图像有很多特征,一次扫描不能扫出全部特征。
在这里插入图片描述
比如说孔雀脖子,一个卷积核可能就可以扫出来了,但是尾巴那里,这个卷积就无法扫出来,需要别的卷积参数来提取特征。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当像素不足够的时候,卷积核是不会扫描出去的。它会舍弃右边最后一列。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面功能是tensorflow的。pytorch没有这个功能。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
卷积kernel参数就是weight,需要loss反传学习。另外卷积是线性操作,一般都会后面跟激活函数,达到非线性变换目的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
BN的输入也就是out_channels。
在这里插入图片描述
在这里插入图片描述
batchnorm2d是对每一张特征图进行归一化。总参数量=特征图的数量*2。2是gama和beta。

构筑自己的卷积神经网络

相关文章:

  • 10.VScode下载---Windows64x
  • java计算机毕业设计互联网保险网站源码+数据库+系统+lw文档+mybatis+运行部署
  • Linux14 NAT网络配置原理 查看网络ip和网关 修改ip地址 指定ip方法 主机名与hosts映射 主机名解析过程
  • SPDK Vhost在线恢复:让I/O飞一会儿
  • 如何判断一个低代码平台是否专业?
  • 达利欧《原则》读书思考笔记
  • C语言动态内存管理、柔性数组(超详细版)
  • 【USB设备设计】-- CDC 设备开发(虚拟串口设备)
  • 用ARM进行汇编语言编程(3)逻辑移位和轮换,条件与分支
  • maltab datenum函数与正则表达式巧用:逐日数据转为逐月数据、日序转月序
  • PTA JAVA02 基础语法1
  • C++ 语言学习 day06 string , 异常
  • Linux命令`ll`的结果解析
  • 查题校园公众号查题系统
  • git分布式版本控制系统
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [译]如何构建服务器端web组件,为何要构建?
  • learning koa2.x
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Sass Day-01
  • Terraform入门 - 1. 安装Terraform
  • Vim Clutch | 面向脚踏板编程……
  • 闭包--闭包作用之保存(一)
  • 彻底搞懂浏览器Event-loop
  • 大整数乘法-表格法
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 聊一聊前端的监控
  • 那些被忽略的 JavaScript 数组方法细节
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 手机app有了短信验证码还有没必要有图片验证码?
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 昨天1024程序员节,我故意写了个死循环~
  • #DBA杂记1
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #pragma data_seg 共享数据区(转)
  • #预处理和函数的对比以及条件编译
  • ( 10 )MySQL中的外键
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (2020)Java后端开发----(面试题和笔试题)
  • (C语言)字符分类函数
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (接口自动化)Python3操作MySQL数据库
  • (转载)Linux 多线程条件变量同步
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Net - 类的介绍
  • .NET : 在VS2008中计算代码度量值
  • .NET Core 中的路径问题
  • .NET Framework杂记
  • .Net FrameWork总结
  • .NET HttpWebRequest、WebClient、HttpClient
  • .Net Memory Profiler的使用举例
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • @我的前任是个极品 微博分析
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell