基于视觉的位姿求解总结

1. 根据匹配点对估计相机运动,不同相机原理估计方法:(1)当相机为单目时,只知道2D的像素坐标,根据两组2D点估计运动。该问题用对极几何来解决。(2)当相机为双目、RGB-D时,或者通过某种方法获得了距离信息,问题就是根据两组3D点估计运动。该问题通常用ICP来解决。(3)如果有3D点及其在相机的投影位置,也能估计相机的运动。该问题通过PnP求解。
	1. 2D-2D:通过二维图像点的对应关系,恢复出在两帧之间摄像机的运动。
		1. 方法
			1. 对极约束,八点法求本质矩阵,分解得旋转矩阵和平移矩阵
				1. 5个自由度,8对点来估计
					1. SVD分解
			2. 单应矩阵:描述两个平面之间的映射关系,若场景中的特征点都落在同一平面上(如墙、地面),可以通过单应性来进行运动估计。
				1. 8个自由度,4对匹配点(八点法求)
					1. DLT求解
		2. 优势:对单目相机也可以估计出位姿。
		3. 劣势:
			1. 尺度不确定性
			2. 初始化
			3. 纯旋转
			4. 八点法求解基础矩阵,基础矩阵多出来的自由度主要由噪声决定。
		4. 折中办法:为了避免退化现象造成的影响,同时估计基础矩阵F和单应矩阵H,选择重投影误差比较小的哪个作为最终的运动估计矩阵。
	2. 3D-2D:求解3D到2D点对运动的方法。描述了当知道n个3D空间点及其投影位置时,如何估计相机的位姿。
		1. 方法:如果两张图象中其中一张特征点的3D位置已知,那么最少只需要3个点对(需要至少一个额外点验证结果),就可以估计相机运动。特征点的3D位置可以由三角化或者RGB-D相机的深度图确定。
			1. 直接线性变换
				1. DLT
				2. SVD(匹配点大于6对)
			2. P3P
				1. 求解投影点在相机坐标系下的3D坐标,将问题转换成3D-3D的位姿估计。
					1. 存在问题:
						1. P3P只用3个点的信息,当给定的配对点多于3组时,难以利用更多的信息。
						2. 如果3D点或2D点受噪声影响,或者存在误匹配,算法失效。
					2. 改进:(1)EPnP、UPnP等,利用更多信息,并且采用迭代的方式对相机位姿进行优化,尽可能消除噪声影响。(阅读原始论文通过实践理解PnP过程。)。(2)SLAM中,通常先用P3P/EPnP等方法估计相机位姿,然后构建最小二乘优化问题对估计值进行调整(Bundle Adjustment)。
			3. Bundle Adjustment
		2. 优势:在双目或RGB-D视觉里程计中,可以直接使用PnP估计相机运动。在单目视觉里程计中,必须先进行初始化,然后才能使用PnP。3D-2D方法不需要使用对极约束,可以在很少的匹配点中获得较好的运动估计。
	3. 3D-3D:ICP配对好的3D点
		1. 方法
			1. SVD
			2. ICP
				1. 使用非线性优化,以迭代的方式去找最优解。使用李代数扰动模型,在非线性优化中只需要不断迭代,就能找到极小值。
					1. 优势:(1)ICP问题存在唯一解或无穷多解的情况。在唯一解的情况下,只要能找到极小值解,那么这个极小值就是全局最优解,不会遇到局部极小而非全局最小的情况。ICP求解可以任意选定初始值。至少已匹配点时求解ICP的一大好处。(2)此处ICP是指已由图像特征给定了匹配的情况下进行位姿估计的问题。在匹配已知的情况下,这个最小二乘问题具有解析解,没有必要进行迭代优化。由于RGB-D SLAM中,一个像素的深度数据可能测量不到,可以混合着使用PnP和ICP优化:对深度已知的特征点,建模它们的3D-3D误差;对深度未知的特征点,建模3D-2D的重投影误差。于是可以将所有误差放在同一个问题中考虑,求解更加方便。
  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值