图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化
图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化
卷积神经网络的一些基本概念:图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化
1.图像卷积、步长、填充
图像卷积:卷积核矩阵在一个原始图像矩阵上 “从上往下、从左往右”滑动窗口进行卷积计算,然后将所有结果组合到一起得到一个新的矩阵的过程。(图1.13)
![]()
用一个相同的卷积核对整幅图像进行进行卷积操作,相当于对图像做一次全图滤波,符合卷积核特征的部分得到的结果比较大,不符合卷积核特征的部分得到的结果比较小,因此卷积操作后的结果可以较好地表征该区域符合卷积核所描述的特征的程度。
一次完整的卷积会选出图片上所有符合这个卷积核的特征。
如果将大量图片作为训练集,则卷积核最终会被训练成有意义的特征。例如,识别飞机,卷积核可以是机身或者飞机机翼的形状等。
步长(Stride):卷积核在图像上移动的步子,不同的步长会影响输出图的尺寸。
更大的步长意味着空间分辨率的快速下降。
![]()
图1.14:输入图都是5×5,卷积核大小都是3×3。
Stride=1,卷积后的结果=3×3
Streide=2,卷积后的结果=2×2
填充(Padding):为了更好地控制输入和输出图的大小,一般会对输入进行填充操作。
填充操作就是在原来输入图的边界外进行扩充,使其变得更大,卷积后的结果也会更大。
通常会设计卷积网络层时小心地进行填充,从而精确地控制输入图和输出图的大小关系。
图1.15:无填充和有填充卷积的对比结果。
没有填充:输入为3×3的图,输出为2×2的图,分辨率降低。
有填充:在原图周围填充一行或一列的0,输出为4×4,分辨率没有降低。
2.特征图与多通道卷积
特征图:
![]()
图1.13展示的是单个图像的卷积,而一个卷积神经网络,其每一层都是由多个图组成的,将其成为特征图或者特征平面,如图1.16所示。
![]()
特征平面(Frature Map)包含高度、宽度和通道共三个维度,形状为C×H×W。
多通道卷积:
在卷积神经网络中,要实现的是多通道卷积,假设输入特征图大小是Ci×Hi×Wi,输出特征图大小是C0×H0×W0,则多通道卷积如图1.17所示。
![]()
其中,每个出书特征图都由Ci个卷积核与通道数为Ci 的输入特征图进行逐通道卷积,然后将结果相加,一共需要Ci×C0个卷积核,每Ci 个为一组,共C0组。
3.权重共享
当对每组进行卷积时,不同的通道使用不同的卷积核。但当卷积核在同一幅图的不同空间位置进行卷积时,采取的是权重共享的模式,这是卷积神经网络非常重要的概念。
局部连接:思想来自生理学的感受野机制和图像的局部统计特性
权重共享:可以使得图像在一个局部区域学习到的信息应用到其他区域,使同样的目标在不同的位置能够提取到同样的特征。
局部连接和权重共享结构大大降低了参数量。
√卷积神经网络某一层的参数量由输入通道数N、输出通道数M和卷积核的大小r决定。
√一层连接的参数量=N×M×r×r
4.感受野(Receptive Field)
可以将感受野理解为视觉感受区域的大小。
在卷积神经网络中,感受野是特征平面上的一个点(即神经元)在输入图上对应的区域,如图1.18所示。
如果一个神经元的大小受到输入层N×N的神经元区域的影响,那么可以说该神经元的感受野是N×N,因为它反映了N×N区域的信息。
图1.18:Conv2中的像素点为5,是由Conv1的2×2的区域得来的,而该2×2区域是由原始图像的5×5区域计算而来,因此该像素的感受野是5×5。可以看出,感受野越大,得到的全局信息就越多。
5.池化(Pooling)
图1.18中,从原图到Conv1再到Conv2,图像越来越小,每过一级项相当于一次降采样,这就是池化。
池化通过步长不为1的卷积来实现,也可以通过插值采样实现,本质上没有区别,只是权重不同。
池化作用:
-
池化层可以对输入的特征图进行压缩,一方面使特征图变小,简化网络计算的复杂度
PS:池化操作会使特征图缩小,有可能影响网络的准确度,对此可以通过增加特征图的深度来弥补精度的缺失
-
另一方面可以提取主要特征,有利于降低过拟合风险
池化层在一定程度上保持尺度不变形。
eg:一辆车图像缩小了50%后仍然能认出这是一辆车,说明处理后的图像仍然包含原始图像的最重要的特征。
图像压缩时去掉的只是一些冗余信息,留下的信息则是具有尺度不变性的特征,其最能表达图像的特征。

| 常见池化分类 (图1.19) | 平均池化(Average Pooling) | 最大池化(Max Pooling) |
|---|---|---|
| 概念 | 计算池化区域所有元素的平均值作为该区域池化后的值 | 池化区域的最大值作为该区域池化后的值 |
| 特点 | 能够保留整体数据的特征,能较好的突出背景信息 | 能更好地保留纹理特征 |
套用卷积通用公式:
o u t p u t = [ ( i n p u t − f i l t e r S i z e + 2 ∗ p a d d i n g ) / s t r i d e ] + 1 output=[(input-filterSize+2*padding)/stride]+1 output=[(input−filterSize+2∗padding)/stride]+1
PS:公式是向下取整
参考文献:
1.《深度学习之图像识别 核心算法与实战案例 (全彩版)》言有三 著出版社:清华大学出版社 ,出版时间:2023年7月第一版(第一次印刷)
ISBN:978-7-302-63527-7
相关文章:
图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化
图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 卷积神经网络的一些基本概念:图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 1.图像卷积、步长、填充 图像卷积:卷积核矩阵在一个原始图像矩阵上 “从上往下、…...
CMake进行C/C++与汇编混合编程
1. 前提 这篇文章记录一下怎么用CMake进行项目管理, 并用C/C和汇编进行混合编程, 为了使用这项技术, 必须在VS的环境中安装好cmake组件 由于大部分人不会使用C/C与汇编进行混合编程的情况。所以这篇文章并不适用于绝大部分人不会对其中具体细节进行过多叙述。只是做一些简单的…...
缓存预热!真香
预热一般指缓存预热,一般用在高并发系统中,为了提升系统在高并发情况下的稳定性的一种手段。 缓存预热是指在系统启动之前或系统达到高峰期之前,通过预先将常用数据加载到缓存中,以提高缓存命中率和系统性能的过程。缓存预热的目…...
VS中设置#define _CRT_SECURE_NO_WARNINGS的原因和设置方式
原因: 在编译老的用C语言的开源项目的时候,可能因为一些老的.c文件使用了strcpy,scanf等不安全的函数,而报警告和错误,而导致无法编译通过。 解决方案: 我们有两种解决方案: 1、在指定的源文件的开头定…...
【网站项目】155在线考试与学习交流网页平台
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板ÿ…...
解决IDEA的Project无法正常显示的问题
一、问题描述 打开IDEA,结果发现项目结构显示有问题: 二、解决办法 File -> Project Structure… -> Project Settings (选Modules),然后导入Module 结果: 补充: IDEA提示“The imported module settings a…...
CDF和PDF的比较
以下内容来自ChatGPT,科技改变生活 Cumulative Distribution Function (CDF)(累积分布函数)和 Probability Density Function (PDF)(概率密度函数)是统计学和概率论中两个重要的概念,用于描述随机变量的性…...
编译基本过程 预处理器
编译基本过程 源代码(main.c)->预处理器(cpp)->编译器(gcc/clang/msvc)->汇编器(as)->链接器(ld)->可执行文件(main.exe) 预处理器 C语言中预处理器:执行预处理命令(文件包含、宏替换、条件编译)处理注释(将所有注释替换为空格)处理续行符(将所有…...
模拟算法.
1.什么是模拟 在信息奥赛中,有一类问题是模拟一个游戏的对弈过程或者模拟一项任务的操作过程.比如乒乓球在比赛中模拟统计记分最终判断输赢的过程等等,这些问题通常很难通过建立数学模型用特定的算法来解决因为它没有一种固定的解法,需要深刻理解出题者对过程的解释一般只能采…...
ClickHouse--10--临时表、视图、向表中导入导出数据
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.临时表1.1 特征1.2 创建一个临时表 2.视图2.1 普通视图2.2 物化视图 3.向表中导入导出数据3.1 案例 1.临时表 1.1 特征 ClickHouse 支持临时表,临时表…...
Python一些可能用的到的函数系列124 GlobalFunc
说明 GlobalFunc是算网的下一代核心数据处理基础。 算网是一个分布式网络,为了能够实现真的分布式计算(加快大规模任务执行效率),以及能够在很长的时间内维护不同版本的计算方法,需要这样一个对象/服务来支撑。Globa…...
python中线程/线程池,进程/进程池的创建
创建子线程 # 创建子线程t1 threading.Thread(targetjob,args(1,))# 执行子线程t1.start()# 等待子线程执行print("waiting threading")t1.join()print("threading done")创建子进程 # 创建子进程p1 multiprocessing.Process(targetjob,args(1,),name&qu…...
【c++】vector的增删查改
1.先定义一个类对象vector 为了防止和库里面发生冲突,定义一个命名空间,将类对象放在命名空间 里面 #include<iostream> using namespace std; namespace zjw {class vector {public:private:}; }2.定义变量,需要一个迭代器ÿ…...
【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——JAVA
1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 1. Java 1. 和 equals的区别 比较基本数据类型是比较的值,引用数据类型是比较两个是不是同一个对象,也就是引用是否指向同 一个对象&…...
JVM-JVM中对象的生命周期
申明:文章内容是本人学习极客时间课程所写,文字和图片基本来源于课程资料,在某些地方会插入一点自己的理解,未用于商业用途,侵删。 原资料地址:课程资料 对象的创建 常量池检查:检查new指令是否能在常量池…...
RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?<= , (?= , (?<! , (?!
RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?< , (? , (?<! , (?! 有好多种称呼 (?< , (? , (?<! , (?! 有好多种称呼 , 我称为: 左限定, 右限定, 左否定, 右否定 (?<左限定) (?右限定)(?<!左否定) (?!右限定) 再…...
相机图像质量研究(30)常见问题总结:图像处理对成像的影响--重影
系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…...
问题记录——c++ sort 函数 和 严格弱序比较
引出 看下面这段cmp函数的定义 //按照vector第一个元素升序排序 static bool cmp(const vector<int>& a, const vector<int>& b){return a[0] < b[0]; }int eraseOverlapIntervals(vector<vector<int>>& intervals) {//按区间左端排序…...
《Go 简易速速上手小册》第9章:数据库交互(2024 最新版)
文章目录 9.1 连接数据库 - Go 语言的海底宝藏之门9.1.1 基础知识讲解安装数据库驱动数据库连接 9.1.2 重点案例:用户信息管理系统准备数据库Go 代码实现连接数据库添加新用户查询用户信息用户登录验证主函数 9.1.3 拓展案例 1:批量添加用户准备数据库Go…...
redis的hash数据结构底层简记
hash:k和v都是string的hash表。 HSET(设置集合数据,4.0之前只能设置1个,之后可以设置多个),HSETNX(若k不存在则设置对应v),HDEL(删除指定kv,可以一次删除多个)…...
测试工程师必知的10个Linux命令:提升工作效率的利器
在软件测试领域,Linux系统是绕不开的重要工具。绝大多数应用后台都部署在Linux服务器上,从环境搭建、日志分析到性能监控,熟练掌握Linux命令能让测试工程师的工作效率大幅提升。不同职级的测试工程师对Linux的需求各有侧重:初级工…...
从单摆到机械臂:拉格朗日方程如何统一描述‘运动与力’?一个思维模型讲透
从单摆到机械臂:拉格朗日方程如何统一描述‘运动与力’?一个思维模型讲透 想象你手中握着一根细绳,末端悬挂着一个小球。轻轻推动它,小球便开始左右摆动——这就是经典的单摆系统。看似简单的运动背后,却隐藏着自然界最…...
别再只调YOLOv8参数了!试试这个DWR注意力模块,让你的小麦病害检测mAP提升5%
突破YOLOv8性能瓶颈:DWR注意力模块在小麦病害检测中的实战应用 当农业遇上人工智能,计算机视觉技术正在彻底改变传统作物病害监测方式。作为目标检测领域的标杆算法,YOLOv8凭借其卓越的实时性能在农业病害检测中广受欢迎。然而,面…...
基于SpringBoot的电影院选座购票系统毕业设计源码
博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在构建一个基于Spring Boot框架的电影院选座购票系统以解决传统影院票务管理中存在的效率低下与用户体验不足等问题。当前电影院票务系统普遍采用单体架…...
ESP32玩转1.8寸LCD屏:用TFT_eSPI库做个桌面小时钟(附完整代码)
ESP32打造高颜值桌面时钟:从TFT_eSPI库到完整项目实战 在创客的世界里,将硬件与代码结合创造出实用又有趣的项目总是令人兴奋。今天我们要用ESP32开发板和1.8寸ST7735驱动的LCD屏幕,打造一个功能完善、界面美观的桌面电子时钟。这个项目不仅适…...
FFXIV TexTools:掌握《最终幻想14》模组制作的终极指南
FFXIV TexTools:掌握《最终幻想14》模组制作的终极指南 【免费下载链接】FFXIV_TexTools_UI 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_TexTools_UI FFXIV TexTools是一款专为《最终幻想14》玩家设计的专业模组制作与管理框架,自2016年…...
MCUXpresso for VS Code集成J-Link脚本的三种工程化方法详解
1. 项目概述:为什么要在IDE里折腾脚本?如果你是一位使用NXP MCU的嵌入式开发者,大概率对MCUXpresso IDE和SEGGER J-Link调试器这对黄金搭档不陌生。在传统的MCUXpresso IDE(基于Eclipse)里,通过图形界面配置…...
保姆级教程:从Solidworks模型到Matlab SimMechanics仿真,搞定你的六轴机械臂动力学分析
六轴机械臂动力学仿真全流程:从Solidworks到Matlab SimMechanics实战指南 在工业自动化与机器人研发领域,机械臂的动力学仿真已成为验证设计合理性的关键环节。本文将手把手带你完成从Solidworks三维建模到Matlab SimMechanics动力学仿真的完整工作流&am…...
告别iTunes!在Ubuntu 22.04上使用libimobiledevice管理你的iPhone文件
告别iTunes!在Ubuntu 22.04上使用libimobiledevice管理你的iPhone文件 当Linux用户第一次将iPhone连接到Ubuntu系统时,往往会遇到一个尴尬的现实——系统无法识别这个世界上最流行的移动设备。不同于Windows和macOS,Linux默认缺乏对iOS设备的…...
盘点6款优质客户销售管理系统:全业务打通到垂直场景适配
前言在数字化转型的深水区,企业对于管理工具的需求已从单一的工具辅助转向全链路的业务协同。面对市场上纷繁复杂的SaaS产品,如何基于“客户信息管理、销售机会管理、表单流程、数据统计、移动端端支持、自动化、权限安全、系统集成”八大核心维度进行精…...

图1.15:无填充和有填充卷积的对比结果。