博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[ZZ] PCA-SIFT && GLOH

Posted on 2010-12-08 19:50  编著人  阅读(7012)  评论(0编辑  收藏  举报

http://blog.sina.com.cn/s/blog_5d793ffc0100g240.html

 

SIFT 后来有两种扩展,都用到PCA的概念。
1 PCA-SIFT

   PCA-SIFT与标准sift有相同的亚像素位置(sub-pixel),尺度(scale)和主方向(dominant orientations),但在第4步计算描述子的时候,它用特征点周围的41×41的像斑计算它的主元,并用PCA-SIFT将原来的2×39×39维的向量降成20维,以达到更精确的表示方式。

一 创建PCA-SIFT描述子的步骤:

     1)计算或者载入投影矩阵

      2)检测关键点

      3)通过与投影矩阵相乘投影关键点周围的像斑

1.1    PCA-SIFT投影矩阵的产生

1.11     选择一系列有代表性的图像并且检测这些图像的所有关键点

1.12  对每一个关键点:

1〉  在它的周围选择一个大小为41×41象素的像斑

2〉 计算垂直和水平的梯度,形成一个大小为39×39×2=3042的矢量

3〉 将这些矢量放入一个k×3042大小的矩阵A,k是所检测的关键点数目。

4〉 计算矩阵A的协方差:A=A-mean A  cov A=ATA

5〉 计算cov A的特征值和特征矢量

6〉 选择前n个特征向量,投影矩阵是一个由这些特征向量组成的n×3042的矩阵

7〉 n可以是一个根据经验设置的固定值,也可以基于特征值动态选择。

8〉 投影矩阵只计算一次,并且存储

1.2    建立描述子

1.21    输入: 在尺度空间关键点的位置和方向

1.22    在关键点周围提取一个41×41的像斑于给定的尺度,旋转到它的主方向

1.23    计算39×39水平和垂直的梯度,形成一个大小为3042的矢量

1.24    用预先计算好的投影矩阵n×3042与此矢量相乘

1.25 这样生成一个大小为n的PCA-SIFT描述子

 二 SIFT和PCA-SIFT的比较

2.1 SIFT:

   维数:128

缺点:维数高、不完全的仿射不变

优点:需要较少的经验主义知识,易于开发

2.2    PCA-SIFT:

维数:可变,推荐20或者更少

缺点:不完全的仿射不变;投影矩阵需要一系列有代表性的图像;这个矩阵只对这类图像起作用

优点:保留不变性的同时低维,大大减少了计算时间

2 GLOH (Gradient location-orientation histogram)

    把原来SIFT中4×4棋盘格的location bins改成仿射状的同心圆的17 location bins来表示,并计算其中的梯度方向直方图(梯度方向分为16种),因此共16×17=272维,之后再作PCA将其降成128维,因此保有跟SIFT一样精简的表示方法。