PCANet

从上图可以看到,PCANet的训练分为三个步骤(stage),前两个stage很相似,都是去平均,然后PCA取主成分并卷积,最后一步是二值化(为了产生非线性输出)和直方图量化。
设滤波器个数为f,
1、过滤器的计算:对图片均匀分块,去均值,然后求每块的特征向量和特征值,然后对特征值由大到小进行排序,选取f个最大的特征值对应的特征向量,即为所求过滤器。/2、卷积层计算:先对原图进行边界补零操作,然后和过滤器进行卷积操作。
PCANet有两层卷积操作,计算过程是一样的。
3、输出层的计算:对第二层得到图像进行二值化哈希编码,编码位数与第二层的滤波器个数相同。
公式为:

把原来的图像映射成,0-255,此处
一般设置成8,函数H 是一个阶跃函数。
,表示第二层的滤波器个数。
对于第一层的每个输出矩阵,将其分为B块,计算统计每个块的直方图信息,然后在将各个块的直方图特征进行级联,最终得到块扩展直方图特征:

在进行直方图分块时同样可以采用重叠分块和非重叠分块模式,需要视情况而定。实验表明非重叠分块适用于人脸识别,重叠分块模式使用于手写数字识别、文本识别、目标识别等等。此外直方图特征还为PCANet提取到的特征添加了一些变换上的稳定性(例如尺度不变形)。
PCANet的更多相关文章
- 卷积神经网络的变种: PCANet
前言:昨天和大家聊了聊卷积神经网络,今天给大家带来一篇论文:pca+cnn=pcanet.现在就让我带领大家来了解这篇文章吧. 论文:PCANet:A Simple Deep Learning Bas ...
- PCANet: A Simple Deep Learning Baseline for Image Classification?----中文翻译
一 摘要 在本文中,我们提出了一个非常简单的图像分类深度学习框架,它主要依赖几个基本的数据处理方法:1)级联主成分分析(PCA);2)二值化哈希编码;3)分块直方图.在所提出的框架中,首先通过PCA方 ...
- 漫谈Deep PCA与PCANet
又到了无聊的写博客的时间了,因为电脑在跑程序.眼下无事可做.我认为把昨天我看的一些论文方面的知识拿出来和大家分享一下. 美其名曰我是在研究"深度学习".只是因为本人是穷屌丝一个,买 ...
- PCANet: A Simple Deep Learning Baseline for Image Classification?--名词解释
1 上采样与下采样 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个: 使得图像符合显示区域的大小 生成对应图像的缩略图 下采样原理:对于一幅图像I尺 ...
- cv 论文(CNN相关)
最近发现很多以前看的论文都忘了,所以想写点东西来整理下之前的paper,paper主要是cv(computer vision)方向的. 第一篇:Gradient-based learning appl ...
- MachineLN博客目录
MachineLN博客目录 https://blog.csdn.net/u014365862/article/details/78422372 本文为博主原创文章,未经博主允许不得转载.有问题可以加微 ...
- face recognition[翻译][深度人脸识别:综述]
这里翻译下<Deep face recognition: a survey v4>. 1 引言 由于它的非侵入性和自然特征,人脸识别已经成为身份识别中重要的生物认证技术,也已经应用到许多领 ...
- [Understanding] Compressive Sensing and Deep Model
低维模型与深度模型的殊途同归 有助理解核心,陌生概念需要加强理解. 对于做机器学习,和做图像视觉的研究者来说,过去的十年是非常激动人心的十年.以我个人来讲,非常有幸接触了两件事情: 第一件是压缩感知( ...
- 目标检测--之RCNN
目标检测--之RCNN 前言,最近接触到的一个项目要用到目标检测,还有我的科研方向caption,都用到这个,最近电脑在windows下下载数据集,估计要一两天,也不能切换到ubuntu下撸代码~.所 ...
随机推荐
- quartz(3)--spring整合quartz入门案例
第一步:导入jar <!-- quartz --> <dependency> <groupId>org.quartz-scheduler</groupId&g ...
- 【Spark SQL 源码分析系列文章】
从决定写Spark SQL源码分析的文章,到现在一个月的时间里,陆陆续续差不多快完成了,这里也做一个整合和索引,方便大家阅读,这里给出阅读顺序 :) 第一篇 Spark SQL源码分析之核心流程 第二 ...
- sqoop数据导入到Hdfs 或者hive
用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql http://www.cnblogs.com/xuyou551/p/7999773.html 用sqoop将mysql ...
- Ajax-04 jQuery Ajax 常用操作
jQuery jQuery 其实就是一个JavaScript的类库,其将复杂的功能做了上层封装,使得开发者可以在其基础上写更少的代码实现更多的功能. jQuery Ajax a.概述 jQuery 不 ...
- 解决通用串行总线(USB)控制器有感叹号
(转自:http://blog.sina.com.cn/s/blog_44190ce10101ejth.html) 通用串行总线控制器:由于其配置信息(注册表中的)不完整或已损坏,Windows ...
- 通过IndexOf获得DataRow在DataTable中的行号
Row = dt.Rows.IndexOf(dr);
- LeetCode OJ:Remove Duplicates from Sorted List (排好序的链表去重)
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
- windows下memcached安装以及php_memcache.dll扩展
http://kimi.it/258.html http://kimi.it/259.html https://www.cnblogs.com/elenaPeng/p/6877530.html htt ...
- Lua基础---流程控制语句
Lua提供了if语句和if else语句作为流程控制语句,当然,符合C的特点,流程语句之间可以实现嵌套操作,当然流程控制也可以和循环体结合进行控制. 1.if语句 if(布尔表达式) then --[ ...
- c++指针初探
业余时间准备重温一下c++,因为在阅读Android源码到native层的时候感觉有点吃力,只是在大学时候很不用心的学过c++,所以重温下以便打好一些编程基础知识,本篇就很简单的对c++的指针做初步的 ...