摄影测量中的计算机视觉之Fundamental Matrix

我写得乱七八糟的~
等啥时候有心思了再好好排版.

这节的主要目的是确定两幅图像之间的相对位置.
两幅图之间的相对定向是由对极几何来定义的.
使用代数投影几何, 对极几何可以用基础矩阵来表示.

如何估计F是本节重点.
part1 手动点击对应点进行估计
part2 计算机自动估计

part1
1 图像获取
从不同的两个位置拍照.
2 对应点获取
手动选取至少8对对应点.
3 计算基础矩阵
第一步 归一化
第二步 创建设计矩阵
设计矩阵最基本的关系式都是两幅图中对应点之间的关系.
在这里是
在这里插入图片描述
推导传不上来
第三步 解Af = 0 (用SVD)
将f转化成 F ~ \tilde{F} F~
第四步 奇异性约束
本来这里解出来以后,V的最后一列就是解,也就是最小的奇异值对应的特征向量.
但是奇异值不是严格等于0的.所以要Enforce singularity.
行列式要等于0.
经过归一化之后[u v w]->[x y 1]
所以只需要8个点.
矩阵的秩是8, 但是由于点的噪声存在,秩可能大于8, 也就是9.
这个时候就需要求最小二乘解,用SVD求.
在||f||=1的约束下求||Af||的最小二乘解.
由于基本矩阵有一个特点就是奇异性(可以证明,因为里面包括一个反对称矩阵),矩阵的秩为2.所以求得基本矩阵后需要增加奇异性约束.
最简单的方法就是修正 F ~ \tilde{F} F~. 其实这里我还是不太懂为什么要这样修正.在这里插入图片描述
要让F最接近F, 也就是||F-F||要最小,同时又要让det(F*)=0,所以最简单的方法就是直接删去最小的奇异值(重要性最低,占比最低).
是这个意思吗?

第五步, deconditioning.
在这里插入图片描述

4.通过极线可视化基础矩阵

5.计算所有点的平均几何图像误差(对称极线距离)
使用辛普森距离就算.
就是计算的点到极线的距离的和,这里是计算每个点的辛普森距离,如果这个点小于等于设定的阈值(比如两个像素),就归为内点,如果大于阈值,就归为外点.
在这里插入图片描述

part2
1.关键点选择
寻找关键点,就是与众不同的点. 一般就是在暗的背景下很亮的点,或者在亮的背景下很暗的点,或者角落.
2.关键点描述.
用detetor来描述位置,比例,角度.
SIFT detection->position, scale,orientation
SIFT description -> gradient histogram,128 dimensional vector(现在先不用深入了解)
3.关键点匹配
在第一幅中找到的每个关键点(描述符),到在第二幅图中去寻找和它最接近的那个关键点(描述符).
有两种筛选方法, 一个是比率测试.
也就是说现在第一幅中选取一个点,在第二幅中找和它第一接近和第二接近的两个点.
比较第一幅图中的这个点分别到第二幅图中的两个点的距离.如果D1/D2>0.75就拒绝, 如果D1/D2<0.75就接受.(是为了防止重复图案的匹配错误?)
第二个方法是交叉一致性检查,这个比较好理解,互相是最佳匹配就接受.

Ransac
先选取构造F最小的数据集(8个点),随机选择
用这8个点来估计F.
把这个F应用到所有点中,计算所有的内点.(内点的辛普森距离<=阈值)
重复几千次,保留最佳的F.(1 这8个点都是内点 2 包括其他的内点最多)

为什么要计算平均误差??

参考:
https://blog.csdn.net/kokerf/article/details/72630863

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值