SLAM中Bundle Adjustment与图优化

本文详细介绍了SLAM中的Bundle Adjustment(BA)优化过程,包括BA问题的定义、求解步骤以及H矩阵的稀疏性。通过泰勒展开和高斯消元法解释了如何利用BA优化相机位姿和路标点,强调了H矩阵的稀疏性对于提高计算效率的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BA

Bundle Adjustment问题在后端用来优化相机位姿ξ{\xi}ξ(李代数形式)和观测到的路标点p(3D点),实质上是一个最小二乘问题,下面进行推导

BA求解过程

在视觉里程计中可以利用pnp、icp、对极几何等方法求得相机的位姿ξ{\xi}ξ,也就是旋转矩阵R和平移向量t。
路标点与像素点的关系是:
z=(uv)=1sK(Rp+t)1:2{z=\dbinom{u}{v}=\frac{1}{s}K(Rp+t)_{1:2}}z=(vu)=s1K(Rp+t)1:2
简写成
z=h(x,y)z=h(x,y)z=h(x,y)
xxx表示某一时刻相机位姿,对应的李代数为ξ\xiξyyy为观测的路标点,即三维点p,由于存在噪声等的影响,求得的像素点与观测到的实际的像素点存在误差:
e=z−h(ξ,p)e=z-h(\xi,p)e=zh(ξ,p)
假设一共求得了m个时刻的相机位姿以及观测到n个路标点,把所有时刻观测到的路标点的误差都考虑进来,令zi,jz_{i,j}zi,j表示在位姿ξi\xi_{i}ξi下观测路标pjp_{j}pj得到的像素点坐标,则构建整体的代价函数为:
12∑i=1m∑j=1n∣∣eij∣∣2=12∑i=1m∑j=1n∣∣zij−h(ξi,pj)∣∣2\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{n}||e_{ij}||^{2}=\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{n}||z_{ij}-h(\xi_{i},p_{j})||^{2}21i=1mj=1neij2=21i=1mj=1nzijh(ξi,pj)2
根据在视觉里程计中求得的相机位姿和路标点作为初值,不断寻找下降方向求得最优的相机位姿和路标点使得整体代价函数最小,这就是BA优化问题
把所有的待优化参数放在一个向量里:
x=[ξ1,..,ξm,p1,..,pn]Tx=[\xi_{1},..,\xi_{m},p_{1},..,p_{n}]^{T}x=[ξ1,..,ξm,p1,..,pn]T
则有
12∣∣f(x)∣∣2=12∑i=1m∑j=1n∣∣eij∣∣2\frac{1}{2}||f(x)||^{2}=\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{n}||e_{ij}||^{2}21f(x)2=21i=1mj=1neij2
给自变量一个增量Δx=(Δξ1,..,Δξm,Δp1,..,Δpn)T=(Δxc,Δxp)T\Delta x=(\Delta \xi_{1},..,\Delta \xi_{m},\Delta p_{1},..,\Delta p_{n})^{T}=(\Delta x_{c},\Delta x_{p})^{T}Δx=(Δξ1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值