我正在尝试在多个图像上实现功能匹配。想法是跟踪图像数据集中的一些特征。我在Matlab上使用mexopenCV,算法的基础是:
1. Feature Detection using SIFT or SURF
2. Feature Description using SIFT or SURF
3. Feature matching using Flann matcher or Brute Force
4. Filtering matches using RANSAC
我的问题如下: 使用场景中的单个对象,所有跟踪的要素都在该对象上。但是,当我向场景添加另一个对象时,跟踪的要素仅存在于新对象上,并且第一个对象上没有任何要素。有没有解释为什么会发生这种情况?
图片1
图片2
P.S:每个图像上的特征是在所有数据集上跟踪的特征(8个图像)。
答案 0 :(得分:0)
我想我找到了仅在一个对象上查找功能的原因。正如我在评论中提到的,RANSAC将在匹配功能时尝试找到最佳模型。由于我们对两个物体的深度有所改变,我们基本上有两个模型可供选择。我搜索了多模态拟合,发现有Sequential RANSAC和Multi-RANSAC来解决这个问题。我已经通过将模型数设置为2来尝试顺序RANSAC并获得了不错的结果。