[Paper 学习笔记]PCANet: A Simple Deep Learning Baseline for Image Classification?
2016-06-28 13:39
393 查看
一、 PCANet简介
一种用于图像分类的深度学习网络,用于提取图像中的特征。主要由级联的PCA filters、binary hashing和块直方图构成。相比于RandNet和LDANet,性能更佳,可适用多个数据集,结构和参数设置简单。二、PCANet结构
1.结构图
如下图所示:N个m×n大小的训练图,所有层中的patch尺寸都是k1×k2,只有PCA filters需要学习输入的图像。
2.First stage
每张图划分成(m-k1+1)(n-k2+1)个patch,去平均值得到如下输入矩阵:为了使复原误差最小:
(以上过程相当与计算输入所用图像的协方差)
将矩阵
的特征值从大到小排列,取前L1个特征向量作为该层提取到的图像特征:
。
3.Second stage
将上一层提取到的特征与补零对其后的输入矩阵做卷积l=1,2,3…L1
去平均值每块化为向量得到第二层的输入矩阵
(输入矩阵的大小是上一层的L1倍)
类似地获得第二层的特征向量:
因此:第二层的输出特征为L1*L2个
重复上述步骤可建立更多级的结构。
4.Output stage
将上一层的输出特征进行二值化:(H(.)表示>0=1,其他取0)
这里假设上一层的滤波器的个数为L2,给每个滤波器的输出进行量化并设置权重组合相加:
因此,每个像素的取值范围为[0,2^L2-1].
对每个Block统计取值生成直方图并化成矢量:
则最后的输出为
Block可根据实际情况选择是否重叠,通常人脸识别选择不重叠,而手写体、目标识别、纹理判别选择重叠。
5.计算复杂度
三、参数选择
PCANet的模型参数包括:PCA filter的阶数以及大小k1,k2,
在每一阶的filter的数量L1L2
输出层的局部直方图的块尺寸。
TIPS:
PCA filter组要求k1k2>L1,L2。
在实验中,可以像Gabor滤波器设置八个方向,固定L1=L2=8,不过调节L1L2值可能会有小小改善性能。
一般两阶PCANet足够有好的表现性能,设置更多阶数对性能并没有显著的提高。
局部直方图更大尺寸的block使用提取畸变特征。
四、PCANet的变体:RandNet、LDANet
1.RandNet
在每一阶中代替PCA filters 为相同大小的随机filters,元素高斯分布。2.LDANet
用于分类:多层线性判别分析。搭建方法:搭建方法:将N个训练图像分为C个类,Sc为每个图像的类标,类信息与去平均化的patch组合成矩阵,由下式计算类内平均和类内变化:
其中:
patch 的类间变化由下式定义
LDA的思想:
五、实验
论文对人脸识别(Recognition)、人脸认证(Verification)、手写体识别、纹理判别、目标识别分别用PCANet RandNet LDANet进行实验,同时对它们分析比较,把提取出的特征用libSVM进行训练和预测,验证了PCANet的可行性。六、结论
PCANet不需要调节参数和解决数值优化问题。网络的建立只需要一个级联映射图和一个非线性输出阶。
PCANet提取分类信息更为实用。
PCANet可为更复杂的深度学习网络结构提供一个有价值的baseline。便于后续添加或更改相应的部分建立更有效的学习网络。
Reference
http://yima.csl.illinois.edu/psfile/PCANet.pdf相关文章推荐
- CUDA搭建
- 稀疏自动编码器 (Sparse Autoencoder)
- 白化(Whitening):PCA vs. ZCA
- softmax回归
- 卷积神经网络初探
- 深入理解CNN的细节
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能入门教程之十一 最强网络DLSTM 双向长短期记忆网络(阿里小AI实现)
- TensorFlow人工智能入门教程之十四 自动编码机AutoEncoder 网络
- TensorFlow人工智能引擎入门教程所有目录
- PCANet --- 用于图像分类的深度学习基准
- 如何用70行代码实现深度神经网络算法
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 安装caffe过程记录
- DIGITS的安装与使用记录
- 图像识别和图像搜索
- 卷积神经网络
- 51CTO学院优质新课抢先体验-5折好课帮你技能提升、升职加薪