#三维重建与极几何
单视图重构会受到多义性的影响,并且需要场景知识 而人眼是有两个眼睛,可以组合两种图片,采用多视图几何
#三维重建基础
#三角化
未知参数:xyz 难点: 需要知道摄像机的内参矩阵,以及R、T矩阵,P点的三维坐标
#多视图几何的关键问题
#极几何与基础矩阵
#极几何
极几何描述了同一场景或者物体的两个视点图像间的几何关系;利用极几何解决第三个关键问题。 本质矩阵和基础矩阵就是通过p来求极线l
#平行视图
#前向平移(无旋转)
用于深度估计,非课程内容
#极几何约束--本质矩阵
通过极几何约束,将搜索范围缩小到对应的极线上。 本质矩阵是对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述。
#从本质矩阵到基础矩阵
基础矩阵是对一般的透视摄像机拍摄的两个视点图像间的极几何关系进行代数描述,具有泛化性 将O1看作世界坐标系 总结:
#基础矩阵估计
#八点算法
精度较低,采用 归一化八点法:
#补充知识
#单应矩阵
结合基础矩阵,使slam系统更鲁棒 空间平面在两个摄像机下的投影几何
#双目立体视觉
#基于平行试图的双目立体视觉
#平行视图
#F和e'的关系
#平行视图基础矩阵
哦,平行视图基础矩阵长这样。
#平行视图极线、p和p'关系
我的问题:找到pp'之后可以解决唯一确定一个三维点,从而构建三维模型?p'怎么确定,扫描线上哪个点:相似性处理
#平行视图三角测量(三角化)
#双目立体视觉系统构建的核心问题
- 如何获得平行视图
- 如何建立点对应关系
#图像校正
在平行视图下极线平行,且极点位于无穷远处,则极点坐标e'=[1;0;0],只要令非平行视图的e'变为平行视图的e'即可
#12步 计算出e'
#3步 e'变换到无穷远点
#45步 计算出H、H'进行重采样
H的计算不能通过上述步骤完成,可能最后算出来不在同一个平面,因此利用求最小值来近似结果。 重采样就是将非平行视图的像素点利用H、H'分别映射到对应平行视图的像素点上
#对应点搜索
#相关匹配
对亮度敏感
#归一化相关匹配
#对应点问题
#引入约束
其中顺序约束,要在物体没被遮挡的假设下成立
#多视图几何
#运动恢复结构问题
通过三维场景的多张图像,恢复出该场景的三维结构信息以及每张图片对应的摄像机参数 数学表达:
#欧式结构恢复问题
124问题已经解决,只需要处理本质矩阵即可
#无视E的符号及尺度
#分解出E中的R矩阵
#分解出E中的T向量
#分解本质矩阵总结
#计算三角化
#欧式结构恢复的歧义
#仿射结构恢复问题
#回顾:弱透视投影摄像机
v 应该是 1×3
#仿射结构问题
#基于因式分解的仿射结构恢复
#数据中心化
这里有点没听懂,直接记结论了,为什么bi=0
#因式分解
M也可以利用U3W3,S用V3T,解会不唯一,参考恢复歧义
#总结
用欧式的话,每次拿两个点来算,会造成误差累积,而仿射一次性计算所有点,可以减少误差;但是仿射遇到被遮挡的点,其一列都不能参与计算,必须所有摄像机都看到
#仿射结构恢复歧义
必须2mn>8m+n-8才有解;2mn表示一对点在m个摄像机下映射到n个三维点
#透视变换结构恢复
#透视结构恢复歧义
由歧义引出解
#恢复方法
困难点:K1、K2、R、T均未知
#代数方法
F包含KRT矩阵信息,所以从F中分解出M1,M2矩阵即可 M1已知,M2未知
#得到F关于A、b的表达式
#计算A,b,求M2*
#N视图情况
#Bundle Adjustment
#代数法与分解法的局限性
#最小化重投影误差
MiXj = xij' 即xij(真实值)的测量点
#补充知识
#PnP问题
原先欧式结构是已知三维点和像素点的对应关系求F→E→RT,而现在是已知摄像机位姿的视图来求新摄像机位姿,求RT 图片来源:计算机视觉之三维重建——第七章:运动恢复结构(SFM)系统设计《深入浅出sfm和SLAM核心算法 (鲁鹏)》 求解详细过程
#模型拟合之RANSAC
用RANSAC来减少三维重建点的噪声问题 核心是计算采样次数N