图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化

图像卷积、步长、填充特征图、多通道卷积权重共享、感受野、池化

卷积神经网络的一些基本概念:图像卷积、步长、填充特征图、多通道卷积权重共享、感受野、池化

1.图像卷积、步长、填充

图像卷积:卷积核矩阵在一个原始图像矩阵上 “从上往下、从左往右”滑动窗口进行卷积计算,然后将所有结果组合到一起得到一个新的矩阵的过程。(图1.13)

图1.13
  • 用一个相同的卷积核对整幅图像进行进行卷积操作,相当于对图像做一次全图滤波符合卷积核特征的部分得到的结果比较大不符合卷积核特征的部分得到的结果比较小,因此卷积操作后的结果可以较好地表征该区域符合卷积核所描述的特征的程度

  • 一次完整的卷积会选出图片上所有符合这个卷积核特征

    如果将大量图片作为训练集,则卷积核最终会被训练成有意义的特征。例如,识别飞机,卷积核可以是机身或者飞机机翼的形状等。

步长(Stride):卷积核在图像上移动的步子,不同的步长会影响输出图的尺寸。

更大的步长意味着空间分辨率的快速下降。

图1.14

图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.13展示的是单个图像的卷积,而一个卷积神经网络,其每一层都是由多个图组成的,将其成为特征图或者特征平面,如图1.16所示。

图1.16

特征平面(Frature Map)包含高度、宽度和通道共三个维度,形状为C×H×W。

多通道卷积

在卷积神经网络中,要实现的是多通道卷积,假设输入特征图大小是Ci×Hi×Wi,输出特征图大小是C0×H0×W0,则多通道卷积如图1.17所示。

图1.17

其中,每个出书特征图都由Ci个卷积核与通道数为Ci 的输入特征图进行逐通道卷积,然后将结果相加,一共需要Ci×C0个卷积核,每Ci 个为一组,共C0组。

3.权重共享

当对每组进行卷积时,不同的通道使用不同的卷积核。但当卷积核在同一幅图的不同空间位置进行卷积时,采取的是权重共享的模式,这是卷积神经网络非常重要的概念。

局部连接:思想来自生理学的感受野机制和图像的局部统计特性

权重共享:可以使得图像在一个局部区域学习到的信息应用到其他区域,使同样的目标在不同的位置能够提取到同样的特征

局部连接和权重共享结构大大降低了参数量

卷积神经网络某一层的参数量由输入通道数N、输出通道数M和卷积核的大小r决定。

一层连接的参数量=N×M×r×r

4.感受野(Receptive Field)

可以将感受野理解为视觉感受区域的大小。

在卷积神经网络中,感受野是特征平面上的一个点(即神经元)在输入图上对应的区域,如图1.18所示。

图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=[(inputfilterSize+2padding)/stride]+1
PS:公式是向下取整

参考文献:
1.《深度学习之图像识别 核心算法与实战案例 (全彩版)》言有三 著

出版社:清华大学出版社 ,出版时间:2023年7月第一版(第一次印刷)

ISBN:978-7-302-63527-7

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MessageQueue --- RabbitMQ

MessageQueue --- RabbitMQ RabbitMQ IntroRabbitMQ 核心概念RabbitMQ 分发类型Dead letter (死信)保证消息的可靠传递 RabbitMQ Intro 2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,…

35岁转行,是我人生中最正确的选择

前言 经常听到有人说,35岁是职场的分水岭,但我觉得我的35岁,人生才刚刚开始。 35岁前后,我生二胎,考研,跳槽,转行,从传统行业到服务业,从服务业到新能源行业&#xff0…

【简写MyBatis】01-简单映射器

前言 新开一个坑,为了学习一下MyBatis的源码,写代码是次要的,主要为了吸收一下其中的思想和手法。 目的 关联对象接口和映射类的问题,把 DAO 接口使用代理类,包装映射操作。 知识点 动态代理简单工厂模式Invocati…

嵌入式Linux平台大文件生成以及处理方法

在日常工作中,为了验证某些场景下的功能,经常需要人为构造一些大文件进行测试,有时需要用大文件来测试下载速度,有时需要用大文件来覆盖磁盘空间;偶尔会看到一些网络博文会教大家如何构造大文件;但是当需要…

大整数因数分解工具——yafu

一、安装 yafu--下载链接 二、配置环境变量,直接从cmd打开 1.找到yafu-x64.exe 所在的文件路径 2.点击设置——系统——系统信息——高级系统设置——环境变量——点击PATH(上下都可以)——新建 添加yafu-x64.exe 所在路径——点击确定 3…

《Go 简易速速上手小册》第1章:Go 语言基础(2024 最新版)

文章目录 1.1 Go 语言的安装与环境配置1.1.1 基础知识讲解案例 Demo:简单的 Go 程序 1.1.2 重点案例:搭建一个 Go Web 服务准备工作步骤 1:创建项目目录步骤 2:编写 Web 服务代码步骤 3:运行你的 Web 服务步骤 4&#…

迟到的2023年终总结

前言 转眼间就进入工作的第三年了,过去的一年,过的格外的快。回身一想,也确实,毕竟有半年都是在值班室度过的,五六场HW演练,从春夏交接忙到到秋冬交接。但生活绝不只有工作,工作只是为了更好的…

Linux下的自动化任务与计划任务:让你的系统更智能

在日常的Linux系统管理中,你是否经常需要定时执行某些任务,或者希望在系统启动时自动运行某些脚本?如果是的话,那么自动化任务和计划任务将是你的得力助手。它们可以帮助你提高系统效率、减少人工干预,并确保任务能够按…

机顶盒晶晨s905l3b芯片刷第三方系统+安卓9 root教程+armbian写入EMMC教程

机顶盒s905l3b芯片刷第三方系统安卓9 root教程刷armbian写入EMMC教程 机顶盒s905l3b芯片刷第三方系统 最近我在装修房子,看抖音刷到了HAOS系统(全屋智能-安装homeassistant),就心血来潮到咸鱼市场购买了一个机顶盒,机…

【JVM篇】怎么解决内存泄漏问题

文章目录 🔎什么是内存泄漏🛸解决内存泄漏⭐发现问题⭐诊断原因⭐修复问题 🔎什么是内存泄漏 在Java中如果不再使用一个对象,但是这个对象仍然在GC Root的引用链上,这个对象就不会被垃圾回收器回收,这种情…

学习笔记17:AtCoder Beginner Contest 340

C C - Divide and Divide (atcoder.jp) 1e17暴力肯定不行 模拟暴力的过程我们发现很多运算是重复的 记忆化一下 #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<vector> #incl…

VM和Linux安装

VM和Linux安装 一、下载VM 1.官网地址&#xff1a;https://www.vmware.com/cn.html 2.其他地址&#xff1a;http://ww7.nocmd.com/windows/740.html 许可证这个&#xff0c;大家可以自己上网搜索&#xff0c;很容易就搜索到就可以使用了 上面内容就是安装VM的步骤 安…