视觉SLAM十四讲-第六讲笔记

状态估计问题

SLAM模型:

  • 状态方程: x k = f ( x k − 1 , u k ) + w k x_k=f(x_{k-1},u_k)+w_k xk=f(xk1,uk)+wk
  • 运动方程: z k , j = h ( y j , x k ) + v k , j z_{k,j}=h(y_j,x_k)+v_{k,j} zk,j=h(yj,xk)+vk,j

其中:

  • x:相机位姿。可以由旋转矩阵 T T T或者李代数 e x p ( ϵ exp(\epsilon exp(ϵ^ ) ) )表示。
  • u:传感器读数
  • z:观测值。二维像平面下的齐次坐标。
  • y:实际物体。三维坐标下的齐次坐标。
  • w、v:噪声

观测方程:
s z k , j = K e x p ( ϵ sz_{k,j}=Kexp(\epsilon szk,j=Kexp(ϵ^ ) y j )y_j )yj
其中, e x p ( ϵ exp(\epsilon exp(ϵ^ ) ) )是相机位姿,即外参。 e x p ( ϵ exp(\epsilon exp(ϵ^ ) y j )y_j )yj把三维世界中的点转换到相机坐标系下,K是内参,把相机坐标系下的结果转换到像平面。s为像素点的距离。

优化问题:在存在噪声 w w w v v v的情况下,推断位姿 x x x和地图 y y y及其状态分布。 -> 状态估计问题。
使用非线性优化求解。

状态变量: x = x 1 , . . . , x N , y 1 , . . . , y M x={x_1,...,x_N,y_1,...,y_M} x=x1,...,xN,y1,...,yM。所有待估计的变量。
已知:输入读数 u u u,观测值 z z z。(带噪声)
目标: P ( x ∣ z , u ) P(x|z,u) P(xz,u),只考虑 z z z时: P ( x ∣ z ) P(x|z) P(xz)

贝叶斯法则

p ( x ∣ z ) = p ( z ∣ x ) p ( x ) p ( z ) p(x|z)=\frac{p(z|x)p(x)}{p(z)} p(xz)=p(z)p(zx)p(x)

  • p ( x ∣ z ) p(x|z) p(xz):后验。已知后面的条件
  • p ( z ∣ x ) p(z|x) p(zx):似然。已知前面的概率,求条件x下z的发生概率(相似性)
  • p ( z ) p(z) p(z):先验。已知的独立概率

最大后验概率(MAP)

求使在z条件下,得 p ( x ∣ z ) p(x|z) p(xz)最大的x。
状态估计:在已有观测值的条件下,使得在此条件下位姿估计和场景估计概率最大化的估计。

最大似然概率(MLE)

p ( z ) p(z) p(z)是定值,和待估计量无关。最大化 p ( x ∣ z ) p(x|z) p(xz)相当于最大化似然和先验的乘积。在 p ( x ) p(x) p(x)未知,没有先验的情况下,即是求解似然 p ( z ∣ x ) p(z|x) p(zx)的最大值。
状态估计:在什么样的位姿和场景下,最能够得到当前的观测值。

最小二乘求解MLE

在高斯分布假设下,对于某次观测:KaTeX parse error: Can't use function '$' in math mode at position 27: …_j,x_k)+v_{k,j}$̲,噪声$v_{k,j}$~ $…
则:
p ( z ∣ x ) = N ( h ( y j , x k ) , Q k , j ) p(z|x)=N(h(y_j,x_k),Q_{k,j}) p(zx)=N(h(yj,xk),Qk,j),似然概率也是一个高斯分布。
对其求负对数,最大化MLE相当于最小化其负对数
x ∗ = a r g m i n ( ( z k , j − h ( x k , y j ) T Q k , j − 1 ( z k , j − h ( x k , y j ) ) x*=argmin((z_{k,j}-h(x_k,y_j)^TQ_{k,j}^{-1}(z_{k,j}-h(x_k,y_j)) x=argmin((zk,jh(xk,yj)TQk,j1(zk,jh(xk,yj))
定义误差:

  • 位姿估计误差: e v , k = x k − f ( x k − 1 , u k ) e_{v,k}=x_k-f(x_{k-1},u_k) ev,k=xkf(xk1,uk)
  • 观测误差: e y , j , k = z k , j − h ( x k , y j ) e_{y,j,k}=z_{k,j}-h(x_k,y_j) ey,j,k=zk,jh(xk,yj)

最小化负对数即最小化观测误差的平方。误差不是噪声!!
将观测误差和位姿估计误差的平方加和,得到:
J ( x ) = ∑ k e v , k T R k − 1 e v , k + ∑ k ∑ j e y , k , j T Q k , j − 1 e y , k , j J(x)=\sum_{k}{e^T_{v,k}R^{-1}_{k}e_{v,k}+\sum_k{\sum_j{e^T_{y,k,j}Q^{-1}_{k,j}e_{y,k,j}}}} J(x)=kev,kTRk1ev,k+kjey,k,jTQk,j1ey,k,j

最小二乘问题!其最优解等于MLE估计,等于MAP的估计。由于噪声存在,对状态估计值微调,使整体误差下降,达到一个极小值。引入约束,是一个非线性优化问题

  • 目标函数:min位姿估计和观测估计误差的平方和。每个误差项仅与一两个状态变量有关,各自是要给小规模约束。
  • 参数块:每个误差项对应的参数变量。
  • 稀疏性:整体误差由小型误差构成。增量方程稀疏。
  • 约束:若使用李代数,无约束。若使用变换矩阵,有变换矩阵自身约束。
  • 误差:二范数。

求解最小二乘

思想:对于 f ( x ) f(x) f(x),寻找增量 ▲ x ▲x x,使得 f ( x + ▲ x ) f(x+▲x) f(x+x)最小。这里默认 ▲ x ▲x x模长确定,只寻找它的下降方向。

梯度法

**目标函数 ∣ ∣ f ( x + ▲ x ) ∣ ∣ 2 2 ||f(x+▲x)||_2^2 f(x+x)22**在x附近泰勒展开。

∣ ∣ f ( x + ▲ x ) ∣ ∣ 2 2 ≈ ∣ ∣ f ( x ) ∣ ∣ 2 2 + J ( x ) ▲ x + 1 / 2 ▲ x T H ▲ x ||f(x+▲x)||_2^2≈||f(x)||_2^2+J(x)▲x+1/2▲x^TH▲x f(x+x)22f(x)22+J(x)x+1/2xTHx

  • J ( x ) J(x) J(x):雅可比矩阵。 ∣ ∣ f ( x ) ∣ ∣ 2 ||f(x)||^2 f(x)2关于 x x x的一阶导。
  • H ( x ) H(x) H(x):海塞矩阵。 ∣ ∣ f ( x ) ∣ ∣ 2 ||f(x)||^2 f(x)2关于 x x x的二阶导。

一阶梯度法

仅保留一阶梯度。即负梯度,最速下降法
增量方向: ▲ x ∗ = − J ( x ) T ▲x*=-J(x)^T x=J(x)T
有时步长过大,会出现震荡

二阶梯度法

保留至二阶梯度。**又称牛顿法 **
增量方向: ▲ x ∗ = a r g m i n ∣ ∣ f ( x ) ∣ ∣ 2 2 + J ( x ) ▲ x + 1 / 2 ▲ x T H ▲ x ▲x*=argmin||f(x)||_2^2+J(x)▲x+1/2▲x^TH▲x x=argminf(x)22+J(x)x+1/2xTHx
另右侧为0,解得:
H ▲ x = − J T H▲x=-J^T Hx=JT
需要求解H。求解H计算开销过大

高斯牛顿法

思想:将 f ( x ) f(x) f(x) 进行泰勒展开。
f ( x + ▲ x ) ≈ f ( x ) + J ( x ) ▲ x f(x+▲x)≈f(x)+J(x)▲x f(x+x)f(x)+J(x)x
增量方向:: ▲ x ∗ = a r g m i n ∣ ∣ f ( x + ▲ x ) ∣ ∣ 2 2 ≈ a r g m i n ∣ ∣ f ( x + J ( x ) ▲ x ) ∣ ∣ 2 ▲x*=argmin||f(x+▲x)||_2^2≈argmin||f(x+J(x)▲x)||^2 x=argminf(x+x)22argminf(x+J(x)x)2
解得:
J ( x ) T J ( x ) ▲ x = − J ( x ) T f ( x ) J(x)^TJ(x)▲x=-J(x)^Tf(x) J(x)TJ(x)x=J(x)Tf(x)
J ( x ) T J ( x ) J(x)^TJ(x) J(x)TJ(x) H H H的近似。计算开销小。但只有半正定,不保证收敛
**线搜索法:**高斯牛顿法中步长为1,在确定方向后寻找步长,为线搜索。

阻尼牛顿法

即信赖域法
信赖域:展开点x附近的区域,用于保证泰勒展开是否有效。在信赖域内的近似有效,超出无效。
确定范围:根据近似和实际之间的差异确定。差异小可扩大,差异大就缩小。
定义差异:
p = f ( x + ▲ x ) − f ( x ) J ( x ) ▲ x p=\frac{f(x+▲x)-f(x)}{J(x)▲x} p=J(x)xf(x+x)f(x)
分子:实际差异
分母:泰勒展开的近似差异

  • p接近1:好的近似
  • p过小:近似差,缩小信赖域
  • p过大:近似不完全,放大信赖域

求解:
m i n ▲ x 1 / 2 ∣ ∣ f ( x ) + J ( x ) ▲ x ) ∣ ∣ 2 , s . t . ∣ ∣ D ▲ x ∣ ∣ 2 < = u min_{▲x}1/2||f(x)+J(x)▲x)||^2,s.t.||D▲x||^2<=u minx1/2f(x)+J(x)x)2,s.t.Dx2<=u
D是限定增量的椭球(信赖域)
使用拉格朗日乘子,将有约束问题转化为无约束问题。

增量方程:
( H + λ D T D ) ▲ x = g (H+\lambda D^TD)▲x=g (H+λDTD)x=g
g g g是目标误差 f ( x ) f(x) f(x)
λ \lambda λ较小时,近似好,接近高斯牛顿法。 λ \lambda λ较大,近似不好,接近随俗下降法。

你可能感兴趣的:(SLAM)