C++ SURF和SIFT的旋转变化性能

C++ SURF和SIFT的旋转变化性能,c++,opencv,surf,sift,C++,Opencv,Surf,Sift,嗨 上面是我将图像更改为不同角度并尝试比较SURF和SIFT时得到的匹配百分比图 我想知道我在曲线中形成形状的原因是什么。如果有人能向我解释这一点,那将是一个很大的帮助。 谢谢。形状是自然的,合成旋转的性能较低,这是由锯齿造成的,它会创建新点并移动旧点的位置。我所说的锯齿是指阶梯对角线(非垂直和非水平线)。例如,请参见此处的第二个矩形。 锯齿是由插值算法引起的(我假设您使用线性插值而不使用抗锯齿)。将图像旋转90度、180度或270度时,不会创建新的对角线,所以图像保持不变 奇怪的是,它是反峰

上面是我将图像更改为不同角度并尝试比较SURF和SIFT时得到的匹配百分比图

我想知道我在曲线中形成形状的原因是什么。如果有人能向我解释这一点,那将是一个很大的帮助。
谢谢。

形状是自然的,合成旋转的性能较低,这是由锯齿造成的,它会创建新点并移动旧点的位置。我所说的锯齿是指阶梯对角线(非垂直和非水平线)。例如,请参见此处的第二个矩形。

锯齿是由插值算法引起的(我假设您使用线性插值而不使用抗锯齿)。将图像旋转90度、180度或270度时,不会创建新的对角线,所以图像保持不变


奇怪的是,它是反峰值,匹配的关键点少了2倍-它必须不超过最大值的70-80%…例如,我从ASIFT源获得的SIFT相同图片-由于代码中的错误,它们稍微移动了下一个倍频程级别,从而导致关键点位置错误。随着旋转,筛子和冲浪性能会有一点下降,但不必如此。或者第二种可能性,SIFT和SURF都可以,但插值真的很糟糕。

实际上这并不奇怪,我在另一篇研究论文中也看到了相同的图像图。我也做过类似的研究。形状并不奇怪-探测器无法检测到旋转图像上的相同(弱点)点,或者方向有问题。奇怪的是,它是反峰值,匹配的关键点少了2倍-它必须不超过最大值的70-80%…例如,我从ASIFT源代码中获得的SIFT图片与此相同-由于代码中的错误,它们稍微移动了下一个倍频程级别,从而导致关键点位置出现错误。我使用了一张图像,将其旋转到不同的角度并进行了检查。但是你知道为什么在0,90,180,270中匹配率高,而在30,60,120,150,210,240,300,330中匹配率低吗。原因是什么,如果你知道你能解释给我听吗。tnxx