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

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

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

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.rhkb.cn/news/258768.html

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

相关文章

CF1845 D. Rating System [思维题+数形结合]

传送门:CF [前题提要]:自己在做这道题的时候思路完全想错方向,导致怎么做都做不出来,看了题解之后感觉数形结合的思考方式挺好的(或者这种做法挺典的),故写篇题解记录一下 题目很简单,不再解释.先不考虑 k k k,想想是一种什么情况?很显然应该是跟下图一样是一个折线图的变化.…

ubuntu 22.04.3 live serveran图文安装

ubuntu 22.04.3 live server图文安装 一、在Vmware里安装ubuntu 22.04.3 live server操作系统 选择第一个选项开始安装 选择English语言 选择中间选项不更新安装,这是因为后续通过更换源之后再更新会比较快 键盘设计继续选择英文,可以通过语言选择…

TenorFlow多层感知机识别手写体

文章目录 数据准备建立模型建立输入层 x建立隐藏层h1建立隐藏层h2建立输出层 定义训练方式建立训练数据label真实值 placeholder定义loss function选择optimizer 定义评估模型的准确率计算每一项数据是否正确预测将计算预测正确结果,加总平均 开始训练画出误差执行结…

Spring Boot 笔记 012 创建接口_添加文章分类

1.1.1 实体类添加校验 package com.geji.pojo;import jakarta.validation.constraints.NotEmpty; import lombok.Data;import java.time.LocalDateTime;Data public class Category {private Integer id;//主键IDNotEmptyprivate String categoryName;//分类名称NotEmptypriva…

【MySQL】多表关系的基本学习

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-3oES1ZdkKIklfKzq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

【Linux】Framebuffer 应用

# 前置知识 LCD 操作原理 在 Linux 系统中通过 Framebuffer 驱动程序来控制 LCD。 Frame 是帧的意思, buffer 是缓冲的意思,这意味着 Framebuffer 就是一块内存,里面保存着一帧图像。 Framebuffer 中保存着一帧图像的每一个像素颜色值&…

17.3.1.3 灰度

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 灰度的算法主要有以下三种: 1、最大值法: 原图像:颜色值color(R,G,B&a…

【python】网络爬虫与信息提取--requests库

导学 当一个软件想获得数据,那么我们只有把网站当成api就可以 requests库:自动爬取HTML页面,自动网络请求提交 robots协议:网络爬虫排除标准(网络爬虫的规则) beautiful soup库:解析HTML页面 工具&…

nginx2

mkdir /usr/local/develop cd /usr/local/develop 下载 wget http://nginx.org/download/nginx-1.17.4.tar.gz yum install git git clone https://github.com/arut/nginx-rtmp-module.git 解压文件 tar zxmf nginx-1.17.4.tar.gz 进入解压目录 cd nginx-1.17.4/ 安装编译…

《Go 简易速速上手小册》第9章:数据库交互(2024 最新版)

文章目录 9.1 连接数据库 - Go 语言的海底宝藏之门9.1.1 基础知识讲解安装数据库驱动数据库连接 9.1.2 重点案例:用户信息管理系统准备数据库Go 代码实现连接数据库添加新用户查询用户信息用户登录验证主函数 9.1.3 拓展案例 1:批量添加用户准备数据库Go…

【刷题】牛客— NC21 链表内指定区间反转

链表内指定区间反转 题目描述思路一(暴力破解版)思路二(技巧反转版)思路三(递归魔法版)Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见&…

IIC--集成电路总线

目录 一、IIC基础知识 1、设计IIC电路的原因: 2、上拉电阻阻值怎么确定 3、IIC分类 4、IIC协议 二、单片机使用IIC读写数据 1、 IIC发送一个字节数据: 2、IIC读取一个字节数据: 一、IIC基础知识 1、设计IIC电路的原因: (…

【机器学习案例5】语言建模 - 最常见的预训练任务一览表

自监督学习 (SSL) 是基于 Transformer 的预训练语言模型的支柱,该范例涉及解决有助于建模自然语言的预训练任务 (PT)。本文将所有流行的预训练任务放在一起,以便我们一目了然地评估它们。 SSL 中的损失函数 这里的损失函数只是模型训练的各个预训练任务损失的加权和。 以BE…

selenium定位元素报错:‘WebDriver‘ object has no attribute ‘find_element_by_id‘

Selenium更新到 4.x版本后,以前的一些常用的代码的语法发生了改变 from selenium import webdriver browser webdriver.Chrome() browser.get(https://www.baidu.com) input browser.find_element_by_id(By.ID,kw) input.send_keys(Python)目标:希望通…

IP地址+子网掩码+CIDR学习笔记

目录 一、IP地址 1、表示方法: 2、特殊IP地址 二、子网掩码 1、判断网络位和主机位 2、子网划分 三、无分类编址CIDR 1、CIDR路由汇聚 汇聚规则: 汇聚ID: 2、最佳路由匹配原则 一、IP地址 1、表示方法: 机器中存放的…

STM32F1 - 中断系统

Interrupt 1> 硬件框图2> NVIC 中断管理3> EXTI 中断管理3.1> EXTI与NVIC3.2> EXTI内部框图 4> 外部中断实验4.1> 实验概述4.2> 程序设计 5> 中断向量表6> 总结 1> 硬件框图 NVIC:Nested Vectored Interrupt Controller【嵌套向量…

家庭动态网络怎么在公网访问主机数据?--DDNS配置(动态域名解析配置)

前言 Dynamic DNS是一个DNS服务。当您的设备IP地址被互联网服务提供商动态变更时,它提供选项来自动变更一个或多个DNS记录的IP地址。 此服务在技术术语上也被称作DDNS或是Dyn DNS 如果您没有一个静态IP,那么每次您重新连接到互联网是IP都会改变。为了避免每次IP变化时手动更…

WebStorm | 如何修改webstorm中新建html文件默认生成模板中title的初始值

在近期的JS的学习中&#xff0c;使用webstorm&#xff0c;总是要先新建一个html文件&#xff0c;然后再到里面书写<script>标签&#xff0c;真是麻烦&#xff0c;而且标题也是默认的title&#xff0c;想改成文件名还总是需要手动去改 经过小小的研究&#xff0c;找到了修…

【复现】Supabase后端服务 SQL注入漏洞_48

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Supabase是什么 Supabase将自己定位为Firebase的开源替代品&#xff0c;提供了一套工具来帮助开发者构建web或移动应用程序。 Sup…

Spring Boot3自定义异常及全局异常捕获

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 目的 主要步骤 定义自定义异常类 创建全局异常处理器 手动抛出自定义异常 前置条件 已经初始化好一个…