九、初识卷积

news2024/11/26 7:34:14

文章目录

  • 1、通过边缘检测认识卷积
  • 2、Padding
  • 3、Strid Convelution
  • 4、RGB图像的卷积
  • THE END

1、通过边缘检测认识卷积

\qquad 在使用神经网络进行图像识别时,神经网络的前几层需要完成对图像的边缘检测任务,所谓的边缘检测就是让计算机识别出一张图片的垂直边缘和水平边缘,如下图所示:
在这里插入图片描述
\qquad 加入当前有一张661的灰度图像,图像中的数字越小,表示图像的颜色越深,则通过以下卷积(符号为*)计算,可以得到一张新的441的图像,新图像中的中间部分便可以直观表现出原始图像的垂直边缘。
在这里插入图片描述
\qquad 其中,中间参与卷积运算的331的矩阵称为卷积核(kernal)或者过滤器(filter)。

2、Padding

\qquad 设定原图像的尺寸为 n ∗ n n*n nn,卷积核的维度为 f ∗ f f*f ff,则经过卷积计算只有的输出图像的尺寸为 ( n − f + 1 ) ∗ ( n − f + 1 ) (n-f+1)*(n-f+1) (nf+1)(nf+1)。从上述卷积计算过程可以发现,原图像边缘的像素点使用的次数远低于中间像素点的使用次数,为了充分利用边缘像素点的信息,可以通过Padding操作,在原图像的边缘添加额外的 p p p层像素点,之后使用 Padding之后的图像进行卷积操作,操作过程如下图所示:
在这里插入图片描述
\qquad Padding到原图像上的图像的层数 p = f − 1 2 p=\frac{f-1}{2} p=2f1时,Padding之后的图像经过 f ∗ f f*f ff卷积层的卷积操作之后,得到的结果图像恰好和原图像的尺寸相同,为 n ∗ n n*n nn。卷积核的维度 f f f通常为奇数。

3、Strid Convelution

\qquad 在进行卷积操作时,卷积核每一次移动的步长(strid)不一定为1,也可以为大于1的其他数。则考虑了移动步长 s s s之后,一幅 n ∗ n n*n nn的图像,经过 p p p层padding操作,经过 f ∗ f f*f ff维度的卷积核进行卷积操作之后,可以得到结果图像的维度为: ⌊ n + 2 p − f s + 1 ⌋ ∗ ⌊ n + 2 p − f s + 1 ⌋ \lfloor{\frac{n+2p-f}{s}+1} \rfloor * \lfloor{\frac{n+2p-f}{s}+1}\rfloor sn+2pf+1sn+2pf+1。 Stride convelution的示意图如下图所示:
在这里插入图片描述

4、RGB图像的卷积

\qquad 对于RGB图像,令一幅RGB图像的输入维度为 n ∗ n ∗ n c n*n*n_c nnnc其中,前两个 n n n分别表示图像的高度和宽度,最后一个 n c n_c nc维度表示图像的通道(channel)数量;对于RGB图像的卷积操作使用的卷积核的维度为 f ∗ f ∗ n c f*f*n_c ffnc。最终输出的图像维度为: ( n − f + 1 ) ∗ ( n − f + 1 ) (n-f+1)*(n-f+1) (nf+1)(nf+1)。可以使用不同类型的多个卷积核,从而增加输出图像的通道数,如使用2个不同的卷积核,则输出图像的维度为: ( n − f + 1 ) ∗ ( n − f + 1 ) ∗ 2 (n-f+1)*(n-f+1)*2 (nf+1)(nf+1)2
在这里插入图片描述

THE END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【智能计算数学】微积分

高数问题解决流程引例:回归回归引例:分类分类线性可分FLD线性不可分智能计算讨论范围下降法为什么要用下降法?- 解析解很难写出公式或很复杂难计算有哪些常用的下降法?- 梯度下降&高斯-牛顿法梯度下降(Gradient De…

初步认识操作系统(Operator System)

操作系统一,冯诺依曼体系结构内存的重要作用二,操作系统的概念三,设计操作系统的目的三,操作系统在计算机体系中的定位四,操作系统是如何进行管理的一,冯诺依曼体系结构 在众多计算机相关的书籍中&#xff…

linux安装docker和Docker Compose

1、安装环境 此处在Centos7进行安装,可以使用以下命令查看CentOS版本 lsb_release -a 在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上,可以使用以下命令查看 uname -r 2、用yum源安装 2.1 查看是否已安装docker列表 yum list inst…

Doom流量回放工具导致的测试环境服务接口无响应的排查过程

Doom流量回放工具导致的测试环境服务接口无响应的排查过程 现象描述: a)部分接口(A组接口)无响应 b)部分接口(B组接口)正常响应 c)还有一部分接口(C组接口),场景1无响应,场景2正常响…

ChatGPT 桌面应用程序 for macOS, Linux, Windows v0.10

请访问原文链接:https://sysin.org/blog/chatgpt/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org ChatGPT 是什么 ChatGPT 是 OpenAI 公司开发的一种基于对话优化的语言模型。用俗话说就是“人工智障”聊天机器…

三次握手-升级详解-注意问题

TCP建立连接的过程就是三次握手(Three-way Handshake),在建立连接的过程实际上就是客户端和服务端之间总共发送三个数据包。进行三次握手主要是就是为了确认双方都能接收到数据包和发送数据包,而客户端和服务端都会指定自己的初始…

Tomcat构建

软件架构C/S:Client/Server.需要安装才能使用。B/S:Brower/Server。有浏览器就可以。资源分类动态资源:每个用户访问相同的资源后,得到的结果可能不一样,称为动态资源。动态资源被访问后,先转换为静态资源,再被浏览器解…

ESP-IDF: 基于计数型信号量的生产者和消费者模型代码

ESP-IDF: 基于计数型信号量的生产者和消费者模型代码 SemaphoreHandle_t freeBowl NULL;//初始状态有5个空碗 SemaphoreHandle_t Mantou NULL;//初始状态没有馒头,从零开始计数 int queue[5]; //用数组模拟空碗,对数组取余操作,模拟循环链…

如何利用 ESLint 规范 TypeScript 代码

ESLint 是一种 JavaScript linter,可以用来规范 JavaScript 或 TypeScript 代码,本文教你怎么在项目中快速把 ESLint 安排上。 前导 怎么写出优雅的代码是一个老生常谈的话题,这其中包含了太多内容可聊,但搞一套标准规范绝对是万…

opencv锁定鼠标定位

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

【MySQL进阶】 存储引擎 索引

😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享Java相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…

如何编译和运行C++程序?

C 和C语言类似,也要经过编译和链接后才能运行。在《C语言编译器》专题中我们讲到了 VS、Dev C、VC 6.0、Code::Blocks、C-Free、GCC、Xcode 等常见 IDE 或编译器,它们除了可以运行C语言程序,还可以运行 C 程序,步骤是一样的&#…

SpringMvc的请求和响应

SpringMvc的数据响应 1.springmvc的数据相应方式 &#xff08;1&#xff09;页面跳转 直接返回字符串 通过ModelAndView对象返回 &#xff08;2&#xff09;回写数据 直接返回字符串 返回对象或集合 页面跳转 jsp页面 <% page contentType"text/html;charsetUTF-8&q…

ChatGPT的出现,为我们展现出来的是智能社会来临的美好图景

ChatGPT&#xff0c;的确是当下最炙手可热的一个话题。然而&#xff0c;人们对于ChatGPT的认识&#xff0c;依然还是仅仅停留在ChatGPT本身&#xff0c;而没有将它与它的「前任」——元宇宙、web3.0&#xff0c;乃至NFT联系在一起。如果在看待ChatGPT的时候&#xff0c;将它放置…

KDJ日周月金叉共振指标

昨天介绍了MACD多周期共振指标公式&#xff0c;KDJ通过类似的写法&#xff0c;也可以共振。本文介绍的KDJ日周月金叉共振指标包含日周金叉共振、日月金叉共振、周月金叉共振、日周月金叉共振四种类型。 需要注意的问题依然是周、月金叉的信号漂移&#xff0c;接近周末月末的信…

如何用Redis实现延迟队列

背景前段时间有个小项目需要使用延迟任务&#xff0c;谈到延迟任务&#xff0c;我脑子第一时间一闪而过的就是使用消息队列来做&#xff0c;比如RabbitMQ的死信队列又或者RocketMQ的延迟队列&#xff0c;但是奈何这是一个小项目&#xff0c;并没有引入MQ&#xff0c;我也不太想…

企业级信息系统开发学习1.1 初识Spring——采用Spring配置文件管理Bean

文章目录一、Spring容器演示——采用Spring配置文件管理Bean&#xff08;一&#xff09;创建Maven项目&#xff08;二&#xff09;添加Spring依赖&#xff08;三&#xff09;创建杀龙任务类&#xff08;四&#xff09;创建勇敢骑士类&#xff08;五&#xff09;采用传统方式让勇…

IDEA设置方法注释模板

IDEA设置方法注释模板 类注释模板方法注释模板 效果步骤 补充 类注释模板 类注释模板是IDEA创建类时生成的注释&#xff0c;之前发文章跟大家分享过了&#xff0c;而且这也不是本篇文章的重点&#xff0c;文章的链接附在下面&#xff0c;需要的朋友可以去看看。 Intellij ID…

从码农到开发攻城狮,我经历了什么?

对于很多想从事或者刚进入开发岗位的伙伴们来说&#xff0c;对于开发这个职位的了解并不多&#xff0c;甚至已经有些迷茫&#xff0c;感觉总有敲不完的代码和无尽的加班赶项目&#xff0c;一眼望不到头。今天就借用朋友的故事讲述一个普普通通的开发蜕变之路&#xff0c;可能会…

mybatis-plus 源码解析

序 没错&#xff0c;又是需求导致我 需要研究下 mybatis-plus了。。。。 本来我想直接网上百度出来一篇&#xff0c;看看得了&#xff0c;就不自己从头研究了 我都看了一遍&#xff0c;但是很可惜 &#xff0c;没一个能用的。。。。 有一个掘金的写的&#xff0c;我看了下他…