卷积池化尺寸计算公式
卷积层[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 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的,其实就是个堆,默认是大根堆。…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
