zoukankan      html  css  js  c++  java
  • 机器学习笔记之PCA-SIFT总结

      不多说,直接上干货!

      PCA-SIFT算法在描述子构建上作了创新,主要是 将统计学中的主成分分析(PCA)应用于对描述子向量的降维,以提高匹配效率 。

      PCA 的原理是:一般有效信号的方差大,噪声的方差小;通过PCA可以降维滤除噪声,保留信号。 


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


      算法步骤如下: 
      (1)构建描述子的区域选定为以特征点为中心的41X41矩形(已与特征点主方向对齐); 
      (2)计算39x9矩形内每个像素对水平、垂直两个方向的偏导数(最外层像素不计算偏导数)。得到一个39x39x2=3042维的向量,对其归一化; 
      (3)假设有N个特征点,那么所有特征点描述子向量构成一个Nx3042的矩阵。对这N个向量计算NxN协方差矩阵; 
      (4)计算协方差矩阵的前k个最大特征值所对应的特征向量,这k个向量组成一个3042xk的投影矩阵; 
      (5)将Nx3042的描述子矩阵与3042xk的投影矩阵相乘,得到Nxk的矩阵,即降维描述子向量组成的矩阵。此时N个特征点的描述子向量均为k维。文中作者经过实验,取k=36。 
      算法步骤还有另一种描述,见这里。 
      该算法的创新之处 在于降低描述子维度的同时滤除了部分描述子向量中的干扰信息,有较好的鲁棒性 。同时该算法为后人研究描述子打开了一个方向,例如GLOH算法在描述特征点时也是用PCA将16*17维的向量降为40维,但GLOH算法构建描述子的方法不同,它是基于对数极坐标来构建的。 

    2、比较 
      (1)结果比较:PCA-SIFT所得的描述子在旋转、尺度变换,透视变换,添加噪声匹配的情形下,匹配均大幅领先于SIFT;在亮度变换时,与传统SIFT不相上下。在匹配时所得的正确点对也多于传统SIFT。可见PCA-SIFT生成的描述子质量很高。SIFT和PCA-SIFT的比较 。在运行时间方面,PCA-SIFT在特征点提取、描述子计算中略快于SIFT;但在后续的描述子匹配过程中,PCA-SIFT的速度大大超过SIFT的速度。 
      (2)优缺点比较: 
        △ SIFT: 
          维数:128 
          缺点:维数高、不完全的仿射不变 
          优点:需要较少的经验主义知识,易于开发 
        △ PCA-SIFT: 
          维数:可变,推荐20或者更少 
          缺点:不完全的仿射不变;投影矩阵需要一系列有代表性的图像;这个矩阵只对这类图像起作用 
          优点:保留不变性的同时低维,大大减少了计算时间。

    参考资料: 
    【特征匹配】PCA-SIFT原理及源码解析 
    PCA-SIFT特征分析(提升篇) 
    PCA-SIFT 
    PCA-SIFT:一个更鲜明地局部图像描述符 
    特征提取方法 SIFT,PCA-SIFT,GLOH,SURF 
    SURF PCA-SIFT and SIFT 开源代码 总结 
    谈谈SIFT、PCA-SIFT、SURF及我的一点思考 
    SIFT算法详解

  • 相关阅读:
    不允许保存更改,阻止保存要求重新创建表的更改
    sql server导入excel等数据
    python爬虫框架(3)--Scrapy框架安装配置
    SQL server 2008安装教程
    python爬虫框架(2)--PySpider框架安装配置
    python爬虫框架(1)--框架概述
    python爬虫(8)--Xpath语法与lxml库
    FastReport Designer 应用
    BootStrap Table
    BootStrap Table
  • 原文地址:https://www.cnblogs.com/zlslch/p/6972592.html
Copyright © 2011-2022 走看看