关于sift算法中octave的作用的理解?
sift特征提取是为了检测对图像缩放、旋转、尺度缩放保持不变性的关键点,在sift算法中lowe首先建立了含有多个octave的高斯金字塔,并在不同的octave中利用高斯卷积建立不同的scale从而产生DOG,通过检测DOG的极值点来作为关键点的备选点,但论文中只是检测了一个octave中的极值点,既然只检测了一个octave中的极值点,为何又要建立其他的octave呢?
question:
(1) 我的理解是:多个octave是通过一系列的降采样而得到的,这相当于是对图像做了缩放的操作,那么在多个的octave中检测极值点实际上就是为了检测具备图像缩放的不变性的点,相应的在一个octave中检测的极值点实际上是检测出具有尺度缩放不变性的点。不知这样的理解是否正确?
(2) 如果这个理解是正确的我们是不是应该首先在一个octave中检测出极值点,之后再去检查其他的octave中与这个极值点对应位置的那个点是否是这些octave中的极值点?(个人认为这样做其实是为了让这些点同时具备尺度缩放不变性和图像缩放不变性)
希望各位大大赐教! 在此感激不尽!!!
[解决办法]
我试验过,如果只设置一个octave最终也可以配置正确,lowe建议octave设为4,可能是这样提取出的关键点经过ransac后会更精确吧
[解决办法]
http://www.china-vision.net/blog/UploadFiles/2007-3/32233508.doc
先看看这个有帮助没.