如何找到空间一致的匹配 SIFT 特征?
How to find the matched SIFT features that are spatially consistent?
我从查询和数据库图像中提取了 DenseSIFT,并使用 VLFeat
按 kmeans
量化。挑战在于找到那些量化为相同视觉词并在空间上保持一致(与对象中心具有相似位置)的 SIFT 特征。我尝试了一些技巧:
- 在查询和数据库图像上的 SIFT(正常 SIFT)坐标上使用 FLANN() 并找到最近的邻居,然后比较视觉词(注意:这给出了一些不起作用的点)。
- 在SIFT坐标上使用Coherent-Point-Drift (CPD)找到匹配点(我不确定这是否是正确的解决方案)。
纠结了很多天,希望高手指点。我可以使用哪些可能的解决方案或算法来解决这个问题?
你说的这两种方法都没有达到你想要的效果。答案取决于图片中的对象。如果它的大部分是平面,那么你可以依靠估计单应性,参见 this tutorial。
如果不是这种情况,则可以使用对极约束来移除异常值/获得几何上一致的匹配,请参阅 this tutorial。如果速度在您的应用程序中很重要,还有一些其他方法可以实现这一点。
我从查询和数据库图像中提取了 DenseSIFT,并使用 VLFeat
按 kmeans
量化。挑战在于找到那些量化为相同视觉词并在空间上保持一致(与对象中心具有相似位置)的 SIFT 特征。我尝试了一些技巧:
- 在查询和数据库图像上的 SIFT(正常 SIFT)坐标上使用 FLANN() 并找到最近的邻居,然后比较视觉词(注意:这给出了一些不起作用的点)。
- 在SIFT坐标上使用Coherent-Point-Drift (CPD)找到匹配点(我不确定这是否是正确的解决方案)。
纠结了很多天,希望高手指点。我可以使用哪些可能的解决方案或算法来解决这个问题?
你说的这两种方法都没有达到你想要的效果。答案取决于图片中的对象。如果它的大部分是平面,那么你可以依靠估计单应性,参见 this tutorial。
如果不是这种情况,则可以使用对极约束来移除异常值/获得几何上一致的匹配,请参阅 this tutorial。如果速度在您的应用程序中很重要,还有一些其他方法可以实现这一点。