卷积神经网络中图像池化操作全解析

2023-11-10

一 池化的过程

  卷积层是对图像的一个邻域进行卷积得到图像的邻域特征,亚采样层(池化层)就是使用pooling技术将小邻域内的特征点整合得到新的特征。
  在完成卷积特征提取之后,对于每一个隐藏单元,它都提取到 (r-a+1)×(c-b+1)个特征,把它看做一个矩阵,并在这个矩阵上划分出几个不重合的区域,然后在每个区域上计算该区域内特征的均值或最大值,然后用这些均值或最大值参与后续的训练,这个过程就是池化。

二 池化的优点

1 显著减少参数数量

  通过卷积操作获得了图像的特征之后,若直接用该特征去做分类则面临计算量的挑战。而Pooling的结果可以使得特征减少,参数减少。
例如:对于一个 96X96 像素的图像,假设我们已经学习得到了400个定义在8X8输入上的特征,每一个特征和图像卷积都会得到一个 (96 − 8 + 1) * (96 − 8 + 1) = 7921 维的卷积特征,由于有 400 个特征,所以每个样本都会得到一个 892 * 400 = 3,168,400 维的卷积特征向量。学习一个拥有超过 3 百万特征输入的分类器十分不便,并且容易出现过拟合 (over-fitting)。

2 池化单元具有平移不变性

  pooling可以保持某种不变性(旋转、平移、伸缩等)
  

三 池化的方式

1 一般池化(General Pooling)

1) mean-pooling,即对邻域内特征点只求平均,对背景保留更好;

2) max-pooling,即对邻域内特征点取最大,对纹理提取更好;

3) Stochastic-pooling,介于两者之间,通过对像素点按照数值大小赋予概率,再按照概率进行亚采样;

  特征提取的误差主要来自两个方面:(1)邻域大小受限造成的估计值方差增大;(2)卷积层参数误差造成估计均值的偏移。一般来说,mean-pooling能减小第一种误差,更多的保留图像的背景信息,max-pooling能减小第二种误差,更多的保留纹理信息。在平均意义上,与mean-pooling近似,在局部意义上,则服从max-pooling的准则。

这里写图片描述

  下面给出matlab中max-pooling的代码实现:
  

function [outputMap, outputSize] =  max_pooling(inputMap, inputSize, poolSize, poolStride)
% ==========================================================
% INPUTS:
%        inputMap - input map of the max-pooling layer
%        inputSize - X-size(equivalent to Y-size) of input map
%        poolSize - X-size(equivalent to Y-size) of receptive field
%        poolStride -  the stride size between successive pooling squares.
% OUTPUT:
%        outputMap - output map of the max-pooling layer
%        outputSize - X-size(equivalently, Y-size) of output map
% ==========================================================
outputSize = inputSize/ poolStride;
inputChannel = size(inputMap, 3);

padMap = padarray(inputMap, [poolSize poolSize],0, 'post');
outputMap = zeros(outputSize, outputSize, inputChannel, 'single');

for j = 1:outputSize
    for i = 1:outputSize
        startX = 1 + (i-1)*poolStride;
        startY = 1 + (j-1)*poolStride;
        poolField = padMap(startY:startY+poolSize-1,startX:startX+poolSize-1,:);
        poolOut = max(reshape(poolField, [poolSize*poolSize,inputChannel]),[],1);
        outputMap(j,i,:) = reshape(poolOut,[1 1 inputChannel]);
    end
end
2.重叠池化(Overlapping Pooling)

  重叠池化的相邻池化窗口之间会有重叠区域。该部分详见参考文献[4]

3.空间金字塔池化(Spatial Pyramid Pooling)

  空间金字塔池化拓展了卷积神经网络的实用性,使它能够以任意尺寸的图片作为输入。该部分详见参考文献[3]

四 参考文献

[1]池化 http://ufldl.stanford.edu/wiki/index.php/%E6%B1%A0%E5%8C%96

[2]卷积神经网络初探 - Lee的白板报的个人空间 - 开源中国社区 http://my.oschina.net/findbill/blog/550565

[3]池化方法总结http://blog.csdn.net/mao_kun/article/details/50533788

[4] Krizhevsky, I. Sutskever, andG. Hinton, “Imagenet classification with deep convolutional neural networks,”in NIPS,2012.

[5]http://yann.lecun.com/exdb/publis/pdf/boureau-icml-10.pdf

[6]http://yann.lecun.com/exdb/publis/pdf/boureau-cvpr-10.pdf

[7]http://yann.lecun.com/exdb/publis/pdf/boureau-iccv-11.pdf

[8]http://ais.uni-bonn.de/papers/icann2010_maxpool.pdf

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卷积神经网络中图像池化操作全解析 的相关文章

  • Linux入门:vim编辑器

    vim编辑器 vim编辑器 vim编辑器的操作模式 命令模式 末行模式 插入模式 vim编辑器 vi 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器 vim 编辑器是从 vi发展出来的一个性能更强大的文本编辑器 可以主动
  • 刷脸支付服务商的盈利模式有很多

    在经济高速发展的今天 变革像是常态 特别是移动支付领域 每一次的变革都会带动一个风口 每一个风口必定会出现支付方式的转折 目前随着各大巨头推广的逐步深入 刷脸支付作为一个全新的领域 迅速走进生活的各个角落 给人们的生活带来极大的便利 成为时
  • SpringBoot实现微信小程序支付

    本文给大家讲解微信小程序支付全流程 以及相关功能源代码 项目不开放 带来不便尽请谅解 小程序支付主要 包含如下几步骤 1 预下单 调用微信统一下单接口进行预下单 2 小程序拿到支付参数唤醒支付 3 支付成功后发起退 款申请 本文使用okHt

随机推荐

  • 【wxWidgets 教程】安装、配置、HelloWorld篇(一)

    一 下载 wxWidgets 源码 下载地址 https github com wxWidgets wxWidgets git 这里 我下载了 wxWidgets 3 2 2 1 接下来便以这个版本为示例进行详细的安装介绍 二 编译配置 在
  • LeetCode——035

    35 Search Insert Position My Submissions QuestionEditorial Solution Total Accepted 102229 Total Submissions 274634 Diffi
  • ctfshow-web13 文件上传

    0x00 前言 CTF 加解密合集 CTF Web合集 网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 题目 0x02 Write Up 首先看到是一个上传页面 测试其他无果 遂进行目录遍历 发现up
  • 水站桶装水订水小程序

    水站桶装水订水小程序正式上线 支持多种商品展示形式 会员卡 积分 分销等功能 有需要的老板可以先看演示
  • ios ajax timeout无效,ajax - Express.js and axios route timeout - Stack Overflow

    I m using express js to generates some route for a private project This particular route take a very long time to execut
  • 安装Pycharm和Python后,pip无法导入第三方库的问题解决(可能性之一)

    在安装Pycharm和Python后 计划导入第三方库 第一种导入方式为 文件 设置 项目 解释器 软件包 点击加号导入软件包 但如果安装报错 则可以考虑在终端处用pip导入 但有时候会出现pip无法导入 pip报错 根据其他博文的操作思路
  • weston配置

    1 运行服务端程序 如果想到手动启动weston程序 需要导出以下环境变量 weston程序才能够运行起来 for waylandsink export QT GSTREAMER WINDOW VIDEOSINK waylandsink 非
  • 第二章:25+ Python 数据操作教程(第七节在Python 中过滤 pandas 数据框的10种方法)

    在本文中 我们将介绍在 Python 中过滤 pandas 数据框的各种方法 数据过滤是最常见的数据操作之一 它类似于 SQL 中的 WHERE 子句 或者您必须在 MS Excel 中使用过滤器来根据某些条件选择特定的行 在速度方面 py
  • html分割线

    34755人阅读 各种分割线Html代码 一 基本线条 1 hr 2
  • 华为OD机试真题- 新员工座位安排系统【2023Q1】【JAVA、Python、C++】

    题目描述 工位由序列F1 F2 Fn组成 Fi值为0 1或2 其中0代表空置 1代表有人 2代表障碍物 1 某一空位的友好度为左右连续老员工数之和 2 为方便新员工学习求助 优先安排友好度高的空位 给出工位序列 求所有空位中友好度的最大值
  • jar包冲突原因分析

    jar包冲突原因 前段时间 因为经历了项目重构 引入很多包 加上管理不善 出现了很多jar包冲突问题 当时项目想用spring管理hbase实例 引入了org springframework data spring data hadoop
  • 复现经典目标跟踪算法ByteTrack之路:调通第一个demo

    复现经典目标跟踪算法ByteTrack之路 调通第一个demo ByteTrack源论文地址 https arxiv org pdf 2110 06864 pdf ByteTrack开源代码地址 https github com ifzha
  • Windows环境下在Java中内嵌MySQL数据库初探

    一 以下测试程序包含两个类 com suntown Main 和 com suntown EmbedMySqlServer 依赖的jar包有 mysql connector mxj gpl 6 0 11 db files jar 对应的my
  • 华为OD机试真题- 对称字符串【2023Q2】【JAVA、Python、C++】

    题目描述 对称就是最大的美学 现有一道关于对称字符串的美学 已知 第 1 个字符串 R 第 2 个字符串 BR 第 3 个字符串 RBBR 第 4 个字符串 BRRBRBBR 第 5 个字符串 RBBRBRRBBRRBRBBR 相信你已经发
  • 图像分类与检索

    写在前面 感受野的本质是 某一层特征图中的某一cell对应原始输入的响应大小区域 自底向上推导出原图中的响应 感受野可以告诉我们在某一层做的事受原始输入的影响有多大 比如语义分割会用到 对pixel的分类 要看pixel周围的pixel 文
  • 拷贝构造函数中的浅拷贝与深拷贝

    拷贝构造函数 由 编译器 调用来完成一些基于同一类的其他对象的构建及初始化 1 构造函数调用规则 构造函数调用规则如下 默认情况下 c 编译器至少给一个类添加3个函数 默认构造参数 无参 函数体为空 默认析构参数 无参 函数体为空 默认拷贝
  • springboot获取静态资源文件夹下的文件

    第一种 package org springframework util URL url ClassUtils getDefaultClassLoader getResource classpath static image srcImgN
  • 基于CNN卷积神经网络的商品识别(毕设)

    一 研究背景及意义 当下 国内超市结算的方式大多都是人工扫码 在下班人流高峰期 显然这不是更高效的方式 无疑是增加了超市的人工成本及顾客的等待时间 二 目标检测的算法的选取 在单阶段目标检测算法中 目前主流的算法是YOLO算法与SSD算法
  • ReRes 过无限debugger

    条件 chrome 插件ReRes 已安装 ReRes安装 问题 以智慧树为例 打开开发者工具 发现进入断点模式 如图 我们并没有设置任何断点 也没有执行任何额外的脚本 它就直接进入了断点模式 这时候我们可以点击 Resume script
  • 卷积神经网络中图像池化操作全解析

    一 池化的过程 卷积层是对图像的一个邻域进行卷积得到图像的邻域特征 亚采样层 池化层 就是使用pooling技术将小邻域内的特征点整合得到新的特征 在完成卷积特征提取之后 对于每一个隐藏单元 它都提取到 r a 1 c b 1 个特征 把它