码迷,mamicode.com
首页 > 其他好文 > 详细

"Blessing of Dimisionality: High Dimensional Feature and Its Efficient Compression for Face Verification"学习笔记

时间:2016-06-22 12:39:19      阅读:512      评论:0      收藏:0      [点我收藏+]

标签:

这是一篇关于如何使用高维度特征在人脸验证中的文章,作者以主要LBP为例子,论述了高维特征和验证性能存在着正相关的关系,即人脸维度越高,验证的准确度就越高。由于那时候没有用DeepLearning在LAWF上就能达到很高的精度,受到了很多人的关注。而有些开源库已经实现了这篇文章的特征提取方法,例如dlibgithub的开源项目。注意他们只是实现了高维特征的提取,并没有实现降维的算法。接下来总结一下学习的笔记。

算法的主要内容和步骤如下:首先.提取高维特征;接着.学习降维矩阵;提取低纬度特征。

 1.提取高维特征

如图下所示,提取高维特征的基本思路为:

  a.检测人脸的对齐点(Landmarks,如图所示的黄色十字点);Landmark是刻画人脸的重要表征,因此准确的检测它们,并在这些点上提取相应的特征是非常有利于人脸识别的。

  b.对人脸图像构造若干层(4-5层不等)金字塔图像(即多尺度缩放人脸),在每层图像上采用不同数量的对齐点(如下图所示,一般不考虑人脸外围的Landmarks(背景的影响较大),而是使用人脸内部的Landmarks(更具代表人脸特征))

  c.将各层提取得到的特征,按照顺序拼接起来便得到高维度的金字塔LBP特征。

技术分享

  具体的实现请参考例如dlibgithub的开源项目。选取的Landmarks和文章略有不同。如此下来,高维度的特征向量X的维度可以达到非常高的维度,10k-100k不等。而降低维度更有利于分类器的学习和距离的比较。接下来就是如何学习一个有效的降维矩阵B,使得降维后的特征向量Y=BX。

2.学习降维矩阵

  降维矩阵B的学习思路非常的简单,如下图所示,学习的步骤如下:

  学习阶段

  a. 假设已经采集了若干个人的N张图片提取得到的高维度集合\( X=\left [ x_{1},x_{2},...,x_{N} \right ] \)。

  b. 对\(  X \)利用PCA降维度,再用监督的子空间学习得到相应的特征集合\( Y=\left [ y_{1},y_{2},...,y_{N} \right ] \)。

    c. 利用数据\(  X ,Y\),最优化以下的目标函数,得到最优的变换矩阵B:

\(\lim_{R,B} {\left | R^{T}Y-B^{T}X \right |_{2}^{2}} + \lambda \left | B \right |_{1} \quad  s.t. R^{T}R=I\)

    求解这个目标函数的最优参数R和B,得到最优的R和B。求解的过程也很常用的手段,即固定R求解B,固定B求解R,如此迭代多次就能达到收敛。

技术分享

3. 提取低纬度特征

  如上图所示,提取低纬度特征的步骤如下:

  a. 对于测试图片,参照1.提取高维特征提取特征\(x_{t}\)。

  b. 利用变换矩阵\(B\),对\(x_{t}\)降维,得到\(y_{t} = B x_{t}\)。

 

参考论文:

[1].Dong Chen, Xudong Cao, Fang Wen, Jian Sun. Blessing of Dimensionality: High-dimensional Feature and Its Efficient Compression for Face Verification. Computer Vision and Pattern Recognition (CVPR), 2013.

"Blessing of Dimisionality: High Dimensional Feature and Its Efficient Compression for Face Verification"学习笔记

标签:

原文地址:http://www.cnblogs.com/cv-pr/p/5606504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!