PCA-SIFT:一个更鲜明地局部图像描述符
Posted 松子茶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PCA-SIFT:一个更鲜明地局部图像描述符相关的知识,希望对你有一定的参考价值。
本节主要对论文《PCA-SIFT: A More Distinctive Representation for Local Image Descriptors》中,前5部分进行Transtion.
========================TRANS.===================================
摘要
稳定的局部特征检测和描述是很多图像配准和对象识别算法的基本组成部分。Mikolajczyk和Schmid[14]近日评估了不同方法并鉴定SIFT[11]算法是最耐久的一般图像变形算法。本文研究和提高SIFT使用的局部图像描述符。如同SIFT,我们的描述符编码了特征点附近图像梯度的突出方面;然而,代替使用SIFT的平滑加权直方图,我们应用主成分分析(PCA)为标准化梯度斑块。我们的实验证明基于PCA的局部描述符更出众,图像变形更强健,也比标准SIFT表达法更简洁。我们也有结果显示使用这些描述符在图像检索应用结果是精确度提高和更快匹配。
介绍
局部描述符[6,12,18]通常使用在许多实际的应用,如目标识别[3,11]和图像检索[13]因为他们计算效率高,耐局部阻塞,对检视点的改变相对不敏感。在这些应用中使用局部描述符有两个考量。第一,我们必须在位置和尺度上局部化兴趣点。通常,兴趣点在尺度空间搜索中被放置在局部峰值,并过滤保护只有在变形中可能保持稳定的。第二,我们必须建立一个对兴趣点的描述;最理想的状态是,这些描述应该独特(可靠从其他兴趣点中区别出特定兴趣点),简洁,并且变形中的不变式由摄像机姿势和光线决定。虽然定位和描述方面的兴趣点算法经常设计在一起,这两个问题的解决是独立的[14]。本文集中探讨第二个问题的方法:解释和评价局部描述符的表示.
Mikolajczyk和Schmid[14]提出一个针对个别局部描述符的比较研究,包括过滤器驱动[4] ,微分不变[9],矩不变量[18],复杂的滤波器[16],SIFT[11],和不同类型兴趣点的互相关[6,13]。他们的实验显示不同算法的精确度排名.相对不敏感,该方法采用在图像中找到兴趣点但是依赖于表征用于在兴趣点附近模型图像斑块 。因为他们最匹配结果通过使用 SIFT 描述符获得,本文集中探讨算法和探索选择他的局部描述符表征。
本文接下来内容组织如下。第2节,主要是回顾SIFT算法相关方面。第3节,详细说明我们基于PCA对局部特征的表征(PCA-SIFT)。第4节,提出了我们的评估方法和性能指标。第5节,提供详细的实验结果比较PCA-SIFT和标准SIFT在特征匹配实验和在图像检索应用的情况下。第6节,研究PCA-SIFT准确性背后的原因通过探索不同部件在表征中的角色。最后一节简要说明了本文的贡献。
回顾SIFT算法
SIFT,在论文[12]中描述,由四个主要阶段:(1)尺度空间峰值选择;(2)局部关键点;(3)方向分配;(4)关键点描述符。在第一阶段,是通过扫描图像确定潜在兴趣点的位置和尺度。这是通过构造高斯金字塔和搜索局部峰值(称为关键点)在一系列高斯差分(DoG)图像有效实施。在第二阶段,候选关键点是基于像素准确性和如果被发现不稳定则淘汰。第三识别每个基于局部图像斑块的关键点的主导方向。方向分配,每个关键点的位置和尺度使得SIFT为关键点构造针对相似变形不变式的规范视图。最后阶段为每个关键点建立一个局部图像描述符,基于在它附近的图像梯度(下面更详细讨论)。前三个阶级,本文中不会深入讨论,因为我们的工作对这些领域没有贡献。
SIFT算法的最后(关键点描述符)阶段为每个关键点建立基于在其附近的斑块像素的表示法。注意斑块是预先围绕关键点位置,在主导方向的基础上旋转并取适当大小。目标是为紧凑的斑块创造一个描述符,高度独特(即,来源于不同关键点地图的斑块的不同表达法)而变化的强劲照明和摄像机视点(即,相同的关键点在不同图像地图中相似的表达法)。如[12]讨论,明显的方法像是归一化相关在图像斑块因为他们在登记错误上过分敏感而不工作和软性变形之间。SIFT使用的标准关键点描述符通过抽样数量和图像在关键点周围斑块的梯度朝向创建,并建立平滑方向直方图来捕获斑块的重要相位。一个4×4阵列直方图,每个有8个导向筒,抓住了粗糙的空间结构的斑块。 然后把这 128个元素向量规范到单位长度并设定阈值来删除值小的元素。
标准SIFT关键点描述符表示法是在一些方面值得注意:(1)这个表示法精心设计以避免边界效应——位置上的连续变化——产生问题,方向和尺度不会引起特征矢量的彻底变化;(2)它相当紧凑,用128个元素向量表达这个斑块像素(3)虽然没有明确的不变式来仿射变换,这个表示法对变形有惊人的弹性例如透视效果。这些特性证明了它是具有极好的匹配性能竞争性算法[14]。
另一方面,标准SIFT特征矢量的结构复杂难懂,在其特殊设计(在[12]中给出)背后的选择不明确。我们最初的目标是探索更简单的代替案并以经验为主评估权衡。然而,在本文剩余部分的讨论中,我们发现我们的替代表示法是理论上比标准SIFT描述符更简单,更简洁,更快也更准确。为了保证我们的结果是对事实的准确反映,我们用原始的SIFT源代码并在第四阶段限制我们的改变。
基于PCA的SIFT描述符
我们的对局部描述符的算法(称为 PCA-SIFT)接受与标准SIFT描述符相同的输入:子像素位置,尺度,和关键点的主导方向。我们在给出的尺度上提取一个41×41的斑块,围绕关键点,旋转并对齐它的主导方向至规范方向。PCA-SIFT可以总结如下步骤:(1)前置计算一个特征空间来表示局部斑块的梯度图像;(2)给出一个斑块,计算图像梯度;(3)用特征空间投射梯度图像矢量导出紧凑的特征矢量。这个特征矢量比标准SIFT特征矢量在相当大的程度上更小,并可以用相同的匹配算法。两种特征矢量之间的欧几里德距离被用于确定两个特征矢量中哪个与不同图像中相同关键点符合。
主成分分析法(PCA)[7]是降低维度的标准技术,并被广泛应用于计算机视觉问题,包括特征选择(例如[5]),目标识别(例如[15])和人脸识别(例如[17])。虽然PCA有一些缺点[8,10],例如它对高斯分布的隐含假定和它对正交线性组合的限制,它的广为流行归因于它的简单。在图像斑块应用PCA的想法不是痴人说梦(例如[3])。我们的贡献在于严格证明PCA很适合表现关键点斑块(一旦它们被转化为规范尺度,位置和方向),并且这个表示法在相当大的程度上提高了SIFT的匹配性能。PCA-SIFT 将在以下段落详细说明。
offline斑块特征空间的计算
PCA 是我们能够线性投射高维采样到低维特征空间。对于我们的应用,这种投射(斑块特征空间编码)能前置计算一次存储。
如上所述,输入矢量是由串联围绕关键点的41×41的斑块的水平和垂直梯度的地图创建的。因此,输入矢量有2×39×39=3042个元素。然后我们规范化矢量至单位大小以最小化照度变化的影响。重要的需注意的是,这41×41的斑块并不是跨越整个像素值空间的,也不是较小的从自然图像中提取的流形斑块;它由严肃制约的经由SIFT的前三个阶段得到的斑块集合组成。更准确的说,每个斑块都满足以下性质:(1)集中于尺度空间的局部极大值;(2)旋转至主导梯度方向垂直对齐;(3)只包含适用于关键点的尺度信息——即,这41×41的斑块可能由原始图像中更大的区域创建。输入矢量中剩余变量主要归因于关键点的特性(即,3D场景与位置相应)或与模型不符的失真(例如摄像机视点变化引起的透视影响)。相信这些剩余变量能用低维高斯分布合理建模是不合理的,使得PCA能准确用精简特征表示法表现他们。更重要的是,在低维空间凸出梯度斑块似乎在丢弃其他影响造成的扭曲诱导时保持同一相关变量。这种假设在第4和第6节的实验数据中被证明。
为了建立我们的特征空间,前三个阶段我们在不同集合的图像中运行SIFT算法并收集了21,000个斑块。每个都被处理成如上描述创建一个3042个元素的矢量,PCA被用于这些矢量的协方差矩阵。这个矩阵由前n个特征向量组成,并保存在磁盘中作为PCA-SIFT的投影矩阵被使用。用于建立特征空间的图像被丢弃且不用于任何匹配实验。
特征表示
为了找到给定图像斑块的特征矢量,我们简单建立它的3042元素规范化图像梯度矢量并投射到我们用来保存特征空间的特征空间。我们根据经验决定特征空间的最优维度,n;本文中描述的大多结果使用n=20(第六节讨论n对性能的影响)。标准SIFT表示法采用128元素矢量;采用PCA-SIFT有显著的空间效益。
如上所述,我们用两种特征矢量间的欧几里德距离来决定哪个属于不同图像的相同关键点。二值化此距离生成一个二元判定,并调整阈值使能够在假阳性和假阴性中选择适当变换。
评估Evaluation
首先,我们讨论用于量化结果的评估指标。然后概述实验步骤并讨论产生结果数据的原因。结果在第5节中提供。
评估指标
接收机工作特性(ROC)和召回率-精确度在文献中都是流行指标,有时交替使用。两者都能捕获我们想要增长的真阳性数目并极小化假阳性数目;然而,指标间微妙的不同应该由一个接一个具体场景的选择支配。如[2]所述,前者适合评估分析器,因为错误检出率是定义明确的;后者适用评估检测器,因为错误数量检测相对于总数检测用1−precision表达即使总数负数不能判定。
以下[14],我们选择测量SIFT局部描述符表示法的性能在一个关键点匹配问题上。定义如下:给出一个兴趣点在一个图像中,在数据集中找出所有兴趣点配对。显然,这是一个检测而不是一个分类表任务(负数总数不是定义明确的),因此适当度量是召回-精度。因此,尽管[14]使用ROC曲线,本文提供recallvs.1−precision图表。这些图表产生如下。所有图像的关键点在数据集中被定义(用SIFT算法的初始阶段)。成对的来自不同图像的关键点被检测。如果特征矢量之间的欧几里德距离对于一对特定关键点降到适当阈值一下,就把这一对成为一个配对。一个真阳性是一个两个关键点相当于相同物理位置的配对(通过地面真值确定为任一示踪图像,或用已知图像变形来合成图像变形测试)。一个假阳性是一个两个关键点来自不同物理位置的配对。阳性的总数对于给定数据集是先验的。从这些数字,我们可以决定recall和1−precision:
和
我们通过对每个算法变换阈值生成recallvs.1−precision图表。
实验计划
我们执行三个主要类型的实验来探索标准SIFT表示法和PCA-SIFT之间的不同。第一个类型检查每个描述符的稳健性(综合产生)增噪影响,在照度和图像变形应用上改变。我们搜集图像数据集并引用以下变形至每个图像:(1)高斯噪声(σ=0。05),图像强度范围为0至1;(2)旋转45◦后缩放50%;(3)强度缩放50%;(4)投影弯曲等于视角改变约30◦。
三种描述符通过这些实验评估:(1)标准SIFT特征表示法(表示为“SIFT”);(2)PCA-SIFT(n=20)如第3节中描述,在特征空间模拟局部梯度的地方(表示为“Grad PCA 20”);(3)不同的PCA-SIFT在特征空间直接模拟局部图像斑块而不是局部梯度(表示为“Img PCA 20”)。对于(3),我们采用标准强度归一化技术减去平均值并缩放至单位方差;没有这一步,(3)中结果会更糟。第二种类型评估了描述符在真实图像摄于不同视点,例如INRIAMOVI Graffiti数据集[1]。第三种类型涉及整合SIFT和PCA-SIFT至一个图像检索应用。附加实验以调查关键点位置错误,PCA部件数,间隔度量的选择的影响,在第6节给出。
产生基础真实数据
我们运行SIFT的初始阶段在每个图像来确定关键点。目的是获得每部分图像一系列正确关键点配对。SIFT算法为每幅图产生成百上千的关键点,手动识别配对这个大数据集极端费时和容易出错。所幸,知道两图之间的映像使得我们能自动解决匹配问题。实验涉及合成目标图像,这些图像变形是已知推演的。实验涉及Graffiti数据集,两种匹配场景间的变形(表示成矩形)是给定的。我们使用如下信息。
Ti,j是绘制图像i中点到图像j对应点的变形。第一个图像中的一个兴趣点,绘制到第二幅图像中。理想状态下,期望匹配兴趣点到第二幅图Pj=Pi旁边。实际上,我们考虑到如果和在空间和尺度上十分接近时配对有效。两个点如果间距小于σ像素则被认为是在空间上十分接近,是用于生成DoG函数的高斯标准差。如果尺度在彼此内则被认为在尺度上十分接近。
结果Results
这一节提供比较PCA-SIFT与标准SIFT表示法在可控实验的结果,Graffiti数据集,和一个图像的检索任务。
控制转变
图1是显示出第一套匹配实验的结果,图像在可控条件下失真变形(图1:SIFT vs. PCA-SIFT图像在可控条件下变形或毁坏时的配对任务(a)目标图像被高斯噪声毁坏(强度范围σ=0.05)。(b)目标图像旋转45◦缩放50%。(c)目标图像投影弯曲来模拟视点改变30◦。(d)目标图像亮度减低50%。注意Recall轴从0.9开始,因为所有方法在此任务执行最好)。
图1a显示PCA-SIFT对于几乎所有1−precision在处理带噪图像上明显更好,PCA-SIFT(在梯度地图)支配局部图像斑块PCA表示法。标准SIFT表示法胜过PCA-SIFT只在极高假阳性比例能接受的情况下。这些结果并不令人惊讶因为PCA提供优秀的在高斯噪声影响下的重建。我们下个实验检测几何变换的影响。
图1b绘制了一个目标图像旋转45◦并缩放50%的实验结果。而图1c显示目标被扭曲以一个30◦平面外旋转相应的透视变形后的匹配。然而这些表示法中没有一个是特别适合这个任务的,PCA-SIFT显然优于其他两个算法。
图1d显示所有表示法都适合捕捉照度的简单变化(注意recall轴已经放大和偏移来强调不同)。仔细看,我们能看到标准SIFT表示法在大部分定义域稍好于PCA-SIFT。然而,考虑到所有算法显示召回率高于95%,这就没什么意义了。
INRIA Graffiti数据集
INRIA Graffiti[1]数据集包含取自不同摄像机视点的涂鸦覆盖墙图像。因为场景是二维的,图像之间的变形能被作为2D平面矩阵(在数据集中给出)建模我们的目标是配对不同图像之间的关键点。图2 显示两种算法在Graffiti6数据集中的配对性能。尽管绝对召回率相当低归因于投射扭曲的高地位,PCA-SIFT显然占优势。在真实世界的应用中高精度中低召回率是可接受的。例如,PCA-SIFT在1−precision为20%时,recall为5%;我们在图像中找出约1000个关键点,其中50个是可靠配对。这个可靠配对的数目足够应用于例如图像检索。
图像检索应用
我们整合SIFT和PCA-SIFT至一个图像检索应用用于取自不同视点的真实世界场景。不像Graffiti数据集,这些场景不是二维的,包含遮挡和反射表面。
使用SIFT的图像检索用公式表示如下。给出两幅图像,我们先提取相应特征矢量。对于每幅图像的每个特征矢量,我们对比其他图像的特征矢量并计算阈值范围内的特征数量。我们探讨作为图像间相似点的匹配数量。
在实验中,我们选择一个小的有30个图像(10个普通日常项目,摄于不同视点)的数据集。每幅图像都在数据库中用作查询。如果相应对象中另两幅都回到前三位,这个算法被获得2 pionts。 如果相应对象中,只有一幅回到前三位,这个算法被获得1 point,否则,这个算法无法获得point.然后,对其得point分数除以60(正确匹配的总数)和在表1中给出。其中所述阈值距离为每个算法进行了调整,以提供最好的结果(SIFT阈值:141 ; PCA- SIFT阈值:2200),在实践中,比较大地阈值比较好些,结果表明,PCA- SIFT的匹配精度的关键点水平也转化为更好的检索结果。
图3是SIFT应用于二个不同地具有挑战性的场景。设置阈值每个算法有10 matches.PCA- SIFT明显主导在这些实验中的标准表示。特别是后者似乎得到由多个物体的边缘相混淆。
图4是为详细了解本示例的关键点之一。潜在的匹配列于每种算法排名顺序。该标准表示率的正确匹配在第三的位置,而PCA-SIFT正确位列第一。
表2比较SIFT与PCA-SIFT之间的运行时间。大约2200兴趣点的图像的特征提取。第一row是localize的兴趣点(常见的两种算法)所需的时间。在第二和第三row表示来计算描述符表示所需的时间。我们观察到来计算表示所需要的时间是相当。该表的下部显示,PCA-SIFT是显著快于匹配阶段,PCA-SIFT(N=20)只需要1/3的时间做2.4 million 点比较.
关于Image Engineering & Computer Vision的更多讨论与交流,敬请关注本博客和新浪微博songzi_tea.
以上是关于PCA-SIFT:一个更鲜明地局部图像描述符的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV+Python特征提取算法与图像描述符之SIFT / SURF / ORB