sift学习备注2

如何定位关键点是一个大问题,lowe【2004】这部分有点看不懂。sample point

到底是一个什么样的概念?lowe【2004】的figure 2中是对3层26邻域计算极值点


lowe【1999】,第一步是获得同层8邻域极值(extrema),然后计算下一层

closest pixel 的location,这里为什么还要计算,而不是直接取同层的

location呢,下一层的location和本层的位置有偏差?并且它还要“taking

account of the 1.5 times resampling. ”或者是受1.5倍采样的影响。具体没

说怎么做。
lowe【2004】,则给出了一个泰勒展开式。
还是来看下代码吧
   c#的代码中是直接比较26领域获得极值点的,在搜寻极值前,比较当前点的值
是否小于dogthresh,如果小于的话,则抛弃这个点。搜寻极值后,则做过滤和定

位极值点(FilterAndLocalizePeaks函数)的操作。最后根据极值点生成

keyPoint。
    从FilterAndLocalizePeaks函数看,
    1.过滤极值点先做是否是边缘点检测IsTooEdgelike,这里有个参数

edgeRatio 等下说明,是否是边缘点用到hessian矩阵,下面补充点hessian矩阵

的知识,注意翻译成中文用黑塞矩阵,你可以wiki到,忘记的同学去看下。回到

low【2004】,page13,去除边缘点的原因是边缘点对噪声敏感 ,由于DOG函数的

边缘点在“across edge”方向有较大的主曲率,对应的垂线方向则有较小的主曲

率,而主曲率可以用hessian矩阵计算,事实上我们只需要用到edgeRatio,详见

lowe[2004]。
    2.然后是LocalizeIsWeak函数,这部分的内容在lowe【2004】,page10说明

。不过看的不是很懂,感觉这部分是最难懂的了。这部分内容在brown and lowe

[2002]中有详细说明。D的泰勒展开是尺度空间的近似。求得极值点的亚像素精度

位置,有利于提高匹配度和稳定性。不过这里的一阶偏导为什么加个转置符号T呢。

头大了,先看看后面的部分再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值