[Paper 学习笔记]PCANet: A Simple Deep Learning Baseline for Image Classification?

来源:互联网 发布:svn 默认端口号 编辑:程序博客网 时间:2024/04/26 09:16

一、 PCANet简介

一种用于图像分类的深度学习网络,用于提取图像中的特征。主要由级联的PCA filters、binary hashing和块直方图构成。相比于RandNet和LDANet,性能更佳,可适用多个数据集,结构和参数设置简单。

二、PCANet结构

1.结构图

如下图所示:
PCANet的结构
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的模型参数包括:

  1. PCA filter的阶数以及大小k1,k2,
  2. 在每一阶的filter的数量L1L2
  3. 输出层的局部直方图的块尺寸。

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

0 0