双目立体视觉-特征匹配之FLANN算法

特征匹配的结果会得到两个特征集合的对应关系列表。第一组特征集被称为训练集(train),第二组被称为查询集(query)。Flann 在调用匹配函数之前,为了提高匹配速度,训练一个匹配器。训练阶段是为了优化cv::FlannBasedMatcher的性能。train类将会建立特征集的索引树。将 query image 的每一个特征点和 train 匹配器进行匹配,找出最佳匹配;也就是从query image 的特征中逐个去和训练器做匹配,也就是说每一个query image 特征点都会有一个最佳匹配,后期还需要验证这匹配的正确性,可以通过设置截断值来去除误差大的匹配;

     去除了误差大的匹配即可以使用 Lowe's策略进行匹配的再一次筛选;

      knnMatch()找每个query image特征的K近邻匹配,效率不够高,帧率很低。

Lowe’s算法:为了进一步筛选匹配点,来获取优秀的匹配点,这就是所谓的“去粗取精”。一般会采用Lowe’s算法来进一步获取优秀匹配点。
   为了排除因为图像遮挡和背景混乱而产生的无匹配关系的关键点,SIFT的作者Lowe提出了比较最近邻距离与次近邻距离的SIFT匹配方式:取一幅图像中的一个SIFT关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率ratio少于某个阈值T,则接受这一对匹配点。因为对于错误匹配,由于特征空间的高维性,相似的距离可能有大量其他的错误匹配,从而它的ratio值比较高。显然降低这个比例阈值T,SIFT匹配点数目会减少,但更加稳定,反之亦然。
   Lowe推荐ratio的阈值为0.8,但作者对大量任意存在尺度、旋转和亮度变化的两幅图片进行匹配,结果表明ratio取值在0. 4~0. 6 之间最佳,小于0. 4的很少有匹配点,大于0. 6的则存在大量错误匹配点,所以建议ratio的取值原则如下:

ratio=0. 4:对于准确度要求高的匹配;

ratio=0. 6:对于匹配点数目要求比较多的匹配;

ratio=0. 5:一般情况下。

Lowe's改进:可以反过来使用最近邻比次近邻,在匹配中可以作为置信度来使用,当满足最近邻比次近邻大于某个值的时候,作为某个条件的判别  置信度;比如可以应用在双目视觉立体匹配中的视差选择与优化环节中(论文正在编写中);


原文链接:https://blog.csdn.net/u010368556/article/details/82939404

原文有C代码

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值