卷积池化尺寸计算公式
卷积层[Conv]:
卷积CNN是我们最常使用的,但是有时候需要观察他的输出前后的差异,这里描述下计算方式,具体如下:
图片大小:WxHxD W:宽 H:高 D:通道(RGB) 例:320x320x3
卷积核:NxNx3 卷积核大小 后面的3是和图片的通道对应,如果图片是灰度的那么就是1
卷积核个数:C
步长:S 每次一卷积的时候跨越的步长
填充:P 外网填充多少行和列,一般是图片保留特征或者是维持图片大小
公式计算:
输出数据的高度:OH = (H - N + 2P) / S + 1
输出数据的宽度:OW = (W - N + 2P) / S + 1
输出数据的深度:OD = 卷积核的个数C
*如果输出数据的尺寸不是整数,会对输出数据进行四舍五入或者向下取整等操作。
例子:
输入数据为:3x320x320
我们这里是BGR的图片,一般cv默认处理就是BGR图片,通道是3,宽和高都是320,也可以理解为三张320x320的图片,方便神经网络的处理
卷积参数:卷积个数:16,卷积核:3x4x4 (由于通道是3,卷积核宽和高都是4,当然卷积核默认都是奇数,这里测试写了个偶数4,选择偶数会导致特征偏移不建议)、步长:3 填充:2
根据公式计算:
输出图片宽:((320 - 4 + 2x2)/ 3 )+ 1 = 107.6666 ≈ 107(选择向下取整,也可以四舍五入,看算法)
输出图片高:((320 - 4 + 2x2)/ 3 )+ 1 = 107.6666 ≈ 107(选择向下取整,也可以四舍五入,看算法)
通道数:16(直接为卷积核个数)
输出的数据为:16x107x107
池化层[Pool]:
池化也是提取特征,可以达到快速缩小特征,比如最大池化、平均池化
里面包含的也是 滤波器 步长
图片大小:WxHxD W:宽 H:高 D:通道(RGB) 例:320x320x3
滤波器:NxN 滤波器的宽高
公式:(和卷积差不多没有填充)
输出数据的高度:OH = (H - N ) / S + 1
输出数据的宽度:OW = (W - N ) / S + 1
例子
图片输入:3x320x320
池化层:3x3 步长 2
根据公式计算:
输出图片宽:((320 - 3)/ 2 )+ 1 = 159.5≈ 159(选择向下取整,也可以四舍五入,看算法)
输出图片高:((320 - 3)/ 2 )+ 1 = 159.5≈ 159(选择向下取整,也可以四舍五入,看算法)
通道数:3
输出数据为:3x159x159
膨胀卷积【Conv】
卷积的一种,在卷积核中插入空洞(dilation)来扩大感受野,从而捕捉更广泛的上下文信息。膨胀卷积通常用于处理具有较大空间范围的输入数据,(个人理解,其实就是特征图太紧凑了,比如鼻子嘴巴都黏到一起了,通过添加一些空白值把鼻子和嘴巴隔开些,更好的观察分析,如果离得太近可能在某次池化或者卷积就把特征卷没了),用途如图像分割、语义分割,包含膨胀卷积、扩张卷积、空洞卷积。
根常规的卷积比,增加了一个膨胀因子R,具体如下
图片大小:WxHxD W:宽 H:高 D:通道(RGB) 例:320x320x3
卷积核:NxNx3 卷积核大小 后面的3是和图片的通道对应,如果图片是灰度的那么就是1
卷积核个数:C
膨胀因子:R (增加视野的参数)
步长:S 每次一卷积的时候跨越的步长
填充:P 外网填充多少行和列,一般是图片保留特征或者是维持图片大小
首先需要根据膨胀卷积计算出感受野,其实就是相当正常卷积的卷积核宽高(N)
感受野假设为D,感受野大小 = (卷积核大小 - 1) * 膨胀率 + 1
感受野D的计算公式:D = (N-1)*(R-1) +N
输出数据的高度:OH = (H - D + 2P) / S + 1
输出数据的宽度:OW = (W - D + 2P) / S + 1
输出数据的深度:OD = 卷积核的个数C
例子
输入数据为:3x320x320
我们这里是BGR的图片,一般cv默认处理就是BGR图片,通道是3,宽和高都是320,也可以理解为三张320x320的图片,方便神经网络的处理
卷积参数:卷积个数:16,卷积核:3x4x4 (由于通道是3,卷积核宽和高都是4,当然卷积核默认都是奇数,这里测试写了个偶数4,选择偶数会导致特征偏移不建议)、膨胀因子为2(1为默认卷积)、步长:3 填充:2
根据公式计算:
感受野计算:D= (4-1)*(2-1)+4 =7
输出图片宽:((320 - 7 + 2x2)/ 3 )+ 1 = 106.6666 ≈ 106(选择向下取整,也可以四舍五入,看算法)
输出图片高:((320 - 7 + 2x2)/ 3 )+ 1 = 106.6666 ≈ 106(选择向下取整,也可以四舍五入,看算法)
通道数:16(直接为卷积核个数)
输出的数据为:16x106x106
相关文章:
卷积池化尺寸计算公式
卷积层[Conv]: 卷积CNN是我们最常使用的,但是有时候需要观察他的输出前后的差异,这里描述下计算方式,具体如下: 图片大小:WxHxD W:宽 H:高 D:通道(RGB) 例:320x320x3 卷积核&…...
前端框架原理自测题:根据 JSX / Vue 模板写出 render 函数 / VNode
JSX <div className"container"><p onClick{onClick} data-name"p1">hello <b>{name}</b></p><img src{imgSrc}/><MyComponent title{title}></MyComponent> </div>Vue 模板 <div class"co…...
RabbitMQ启动报错:Error during startup: {error, {schema_integrity_check_failed,
报错信息如下: Error during startup: {error,{schema_integrity_check_failed,[{table_attributes_mismatch,rabbit_user,[username,password_hash,tags,hashing_algorithm,limits],[username,password_hash,tags,hashing_algorithm]},{table_attributes_mismatch…...
操作系统入门系列-MIT6.828(操作系统工程)学习笔记(三)---- xv6初探与实验一(Lab: Xv6 and Unix utilities)
系列文章目录 操作系统入门系列-MIT6.S081(操作系统)学习笔记(一)---- 操作系统介绍与接口示例 操作系统入门系列-MIT6.828(操作系统工程)学习笔记(二)----课程实验环境搭建&#x…...
Java核心: 为图片生成水印
今天干了一件特别不务正业的事,做了一个小程序用来给图片添加水印。事情的起因是需要将自己的身份证照片分享给别人,手边并没有一个趁手的工具来生成图片水印。很多APP提供了水印的功能,但会把我的图片上传到他们的服务器,身份证太…...
Spark MLlib 机器学习详解
目录 🍉引言 🍉Spark MLlib 简介 🍈 主要特点 🍈常见应用场景 🍉安装与配置 🍉数据处理与准备 🍈加载数据 🍈数据预处理 🍉分类模型 🍈逻辑回归 &a…...
MySQL报ERROR 2002 (HY000)解决
今天在连接客户服务器时MySQL的时候报: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql/mysql.sock’ (2) [rootXXX ~]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket…...
【校招】【社招】字节跳动UG营销算法工程师招聘
【校招】【社招】字节跳动UG营销算法工程师招聘 需要营销、广告、搜索、推荐等领域的人才加入 岗位简介 字节跳动增长智能-激励中台团队负责公司国内字节所有主要App(包含但不仅限于抖音/抖音极速版/抖音火山版/今日头条/头条极速版/番茄小说/番茄畅听/西瓜视频&…...
Go实战 | 使用Go-Fiber采用分层架构搭建一个简单的Web服务
前言 📢博客主页:程序源⠀-CSDN博客 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 一、环境准备、示例介绍 Go语言安装,GoLand编辑器 这个示例实现了一个简单的待办事项(todo…...
Web自动化测试框架+PO模式分层实战(超细整理)
前言 PO模式 在UI级的自动化测试中,对象设计模式表示测试正在交互的web应用,程序用户界面中的一个区域,这个是减少了代码的重复,也就是说,如果用户界面发生了改变,只需要在一个地方修改程序就可以了。 优…...
光猫、路由器的路由模式、桥接模式、拨号上网
下面提到的路由器都是家用路由器 一、联网条件 1.每台电脑、路由器、光猫想要上网,都必须有ip地址。 2.电脑获取ip 可以设置静态ip 或 向DHCP服务器(集成在路由器上) 请求ip 电话线上网时期,猫只负责模拟信号和数字信号的转换,电脑需要使…...
iOS--工厂设计模式
iOS--工厂设计模式 设计模式的概念和意义类族模式UIButton作为类族模式的例子总结 三种工厂设计模式简单工厂模式(Simple Factory Pattern):代码实例 工厂方法模式(Factory Method Pattern):代码实例 抽象工…...
[Python]用Qt6和Pillow实现截图小工具
本文章主要讲述的内容是,使用python语言借助PyQt6和Pillow库进行简单截图工具的开发,含义一个简单的范围裁剪和软件界面。 主要解决的问题是,在高DPI显示屏下,坐标点的偏差导致QWidget显示图片不全、剪裁范围偏差问题。 适合有一点…...
Podman和Docker的区别
Podman 和 Docker 都是用于容器化的工具,但它们在架构、安全性、容器编排以及一些设计理念上有显著的区别: 架构设计: Docker 使用客户端-服务器(C/S)架构,包含一个名为 dockerd 的守护进程,该进程以 root …...
Go微服务: 分布式Cap定理和Base理论
分布式中的Cap定理 CAP理论 C: 一致性,是站在分布式的角度,要么读取到数据,要么读取失败,比如数据库主从,同步时的时候加锁,同步完成才能读到同步的数据,同步完成,才返回数据给程序&…...
Mysql学习(四)——SQL通用语法之DQL
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 DQLDQL-语法基本查询条件查询聚合函数分组查询排序查询分页查询 DQL DQL数据查询语言,用来查询数据库中表的记录。 DQL-语法 select 字段列表 from 表…...
【ARFoundation自学05】人脸追踪(AR Face manager)实现
1. 修改摄像机朝向渲染方式-选中user 这个方式就会调用前置摄像头 2 创建 AR Session、XR Origin,然后在XR Origin上面添加组件 注意:XR Origin 老版本仍然叫 AR Session Origin 接下来在XR Origin上面添加AR Face Manager组件,如下图&am…...
Vulnhub-DC-2
靶机IP:192.168.20.135 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) kaliIP:192.168.20.128 扫描靶机端口及服务版本 发现开放了80和7744端口 并且是wordpress建站 dirsearch扫描目录 访问前端界面,发现存在重定向 在hosts文件中增加192.168.2…...
VNC server ubuntu20 配置
介绍 最近想使用实验室的4卡服务器跑一些深度学习实验,因为跑的是三维建图实验,需要配上可视化界面,本来自带的IPMI可以可视化,但分辨率固定在640*480,看起来很别扭,就捣鼓服务器远程可视化访问了两天&…...
c++--priority_queue和仿函数
目录 1.priority_queue 实现: 2.仿函数 priority_queue仿函数 实现代码 1.priority_queue 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的,其实就是个堆,默认是大根堆。…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
