第三章 关键点提取 15
其中?0是基准层尺度坐标,octaves的索引可能是负的。第一组索引常常设为0或者-1,当设为-1的时候,图像在计算高斯尺度空间前先扩大一倍。
空间坐标x是组octave的函数,设x0是0组的空间坐标,则
x?2x0,o??,x0?0,...,N0?1???0,...,Mo0?1?
如果?M0,N0?是基础组o=0的分辨率,则其他组的分辨率由下式获得
?N??M?N0??o0?,M0??o0??2??2?
注:在Lowe的文章中,Lowe使用了如下的参数:
?n?0.5,?0?1.6?21/S,omin??1,S?3
在组o=-1,图像用双线性插值扩大一倍(对于扩大的图像?n?1)
3.4 本地极值点获取
为了寻找尺度空间的极值点,每一个采样点要和它所有的相邻点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如下图所示,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。
对于本地极值点采样,一个重要的问题就是考虑采样频率的复杂度,包括在图像中和尺度空间我们都需要重复的采样。不幸运的是,寻找最小的采样空间去获得全部的极值点是不可能的。因此我们必须寻找一个解决方案使我们能够在较小的尺度空间里获得我们需要的更多的极值点。我们可以通过决定一系列的实验性的研究得到采样频率,然后用这频率去
提供更可靠的稳定的匹配方案。
16 SIFT特征关键点检测技术
959085807570652345678Matching location and scaleNearest descriptor in database
图 3-3
3500300025002000150010005000234Total number of keypoints
5678Nearest descriptor in database
图3-4
3.5 尺度空间采样频率
在图3-3 ,图3-4中用怎样的采样频率去取极值点才是稳定的在试验中获得了的验证,这两幅实验数据总结图是以32幅各不相同的图像进行匹配得到结果分析得出来的,这些图像包括室外景象,人脸,工业图片等等。每个图像都进行了一系列的图像变换,旋转,尺度变换,拉伸,光照变换等然后进行的比较。因为各种变换是综合性的,所以得到的结果很能体现出我们预想的那些点应该在转换后出现的点在真正的变换后有没有出现。
第三章 关键点提取 17
图3-3展示的是变换每个图像每层的尺度数量对图像采样结果的影响,我们在采样之前会有一个预测,我们根据预测和最后得到的结果进行比较。这里每个图像都被旋转变换以一个随机的角度和尺度以及以一个随机的0.2-0.9的倍数关系进行大小的变换。从缩小的图像中得到的关键点会从原来图像中得到的关键点看到。而且,我们会加入1%的噪声,这意味着每个像素点将增加一个统一的-0.001-0.001之间的随机数,使得我们的像素点的值是在0-1之间的一个值。
图3-3上边的那条线显示的是在匹配图像和变换图像的尺度空间中点关键点的百分比。对于这篇文章的所有的例子,我们定义了一个修正匹配尺度的值,这个值的大小是2。我们还设定了匹配范围在?像素内,?在高斯空间里就是关键点的尺度。下边的那条线,展示的是数据库中图像的40000个通过最近邻匹配而得到的关键点。正如这幅图像所展示的,最高的重复率出现在当我们每组采样3个尺度值时,这正是我们在我们的文章里用到的尺度采样的数据。
令我们惊奇的是我没在实验数据结果分析之用看到,重复率并没有因为我们增加尺度采样数而增加。产生这种现象的原因是在图像中许多关键点已经被取出来了,但是有些极值点基本上是不稳定的因此很少能够在变换过的图像中得到。在图3-4的第二条线中我们可以看到,修正后的每幅图像匹配后能得到的关键点。随着尺度采样点的增加关键点数目在增加,修正匹配数随着尺度采样点的增加也增加。由于匹配的成功往往取决于采样点匹配的质量,而不是他们正确匹配的百分比,对于许多应用许多尺度空间的例子是很好的。但是,计算的代价由此大量的增加,到目前为止,在这篇文章的例子里我们在每层选择了三个尺度。
总的来说,这些实验的展现的是DOG算子的尺度空间有许多的极值点,如果要获得所有的关键点,那是需要很大的代价的,幸运的是,我们只是获取那些最稳定和最有用的子集,对尺度空间进行粗糙的采样。
18 SIFT特征关键点检测技术
10090807060504030201000.2平滑, 95未平滑, 89百分比
图3-5
3.6空间域采样频率
正如我们要考虑每层尺度空间的采样频率一样,我们同样要考虑图像域采样频率来解决相关的平滑复杂度问题,考虑到极值点我们可以手动的放到一起,这里将会有个相似于采样频率的参数。图3-5是一个决定预平滑参数的实验,?,这个参数在建立每层图像的尺度代表空间的时候要应用到每一层。结果表明随着?的增大重复率一直在增加。但是这里有一个?的效率的问题,我们把?取成1.6,因为在个值提供了接近于最优的结果。这个参数在这篇文章里一直用到,而且用在了图3-4的结果当中。
当然,如果我们预先平滑要采样的图像,我们将会很有效的排除最高的采样频率。因此,为了充分利用输入,图像将会被预处理。我们扩展图像去建立更多的采样点。我们把我们要处理的图像扩到原来图像大小的两倍,然后用作我们建立金字塔的第一层。经过计算的到,当?等于0.5时,图像就会有个污点。这意味着对于预滤,在建立第一层时候是不需要的,图像变成原来图像大小的两倍增加了获得稳定的关键点的数量,几乎达到了4倍,但是随着继续增大这种现象没有更大程度的提高。
3.7 精确确定极值点
当一个关键点通过跟它周围的26个点比较被选择出来之后,下一步就是要精确确定这个关键点的位置了,这就要确定这个关键点的位置,尺度,主曲率。