SLAM后端PGO优化中代价函数的距离度量


总结几种在PGO优化的时候采用的几种距离度量方式,先介绍定义,具体后续实际表现还需要再多看多读。

对变换矩阵SE3来说

Geodesic Distance

PGO优化问题采用极大似然估计的方式表示,可以将位姿估计问题转化为最小二乘估计问题,如下所示:
X ∗ = arg ⁡ max ⁡ X ∈ S E ( 3 ) ∏ ( i , j ) ∈ E p ( Z i j ∣ X ) \mathcal{X}^* = \underset{\mathcal{X} \in SE(3)}{\arg\max} \underset{(i,j)\in \mathcal{E}}{\Large \prod}p(Z_{ij}|\mathcal{X}) X=XSE(3)argmax(i,j)Ep(ZijX)
⇓ \Downarrow
X ∗ = arg ⁡ min ⁡ X ∈ S E ( 3 ) N Σ ( i , j ) ∈ E r i j ( X ) \mathcal{X}^*=\underset{\mathcal{X} \in SE(3)^N}{\arg\min} \underset{(i,j) \in \mathcal{E}} {\Large \Sigma}r_{ij}(\mathcal{X}) X=XSE(3)Nargmin(i,j)EΣrij(X)
⇓ \Downarrow 核心就是代价函数如何构建。
r i , j ( X ) = 1 2 ∥ log ⁡ ( Z i j − 1 Z ~ i j ( X ) ) ∥ Σ i j 2 \mathbf{r}_{i,j}(\mathcal{X}) = \frac{1}{2} \large{\|} \log(Z_{ij}^{-1} \tilde{Z}_{ij}(\mathcal{X})) \large \|_{\Sigma_{ij}}^{2} ri,j(X)=21log(Zij1Z~ij(X))Σij2
这里的 r i j r_{ij} rij就可以被称为是Geodesic 距离或者Geodesic cost

  • log是李群李代数相关转换需要的对数映射,存在奇异性

Chordal distance

表示成chord距离就是
将原来的z(因为是PGO,因此Z也是SE3的元素):
Z = [ R t 0 1 × 3 1 ] ∈ S E ( 3 ) Z = \left[ \begin{array}{cc} R & t \\ 0_{1\times3} & 1 \end{array} \right] \in SE(3) Z=[R01×3t1]SE(3)
⇓ \Downarrow 转换成
Z = [ [ r 1 r 2 r 3 ] t 0 1 × 3 1 ] ∈ S E ( 3 ) Z = \left[ \begin{array}{cc} \left[ \begin{array}{ccc}r_1 & r_2 & r_3 \end{array} \right] & t \\ 0_{1\times3} & 1 \end{array} \right] \in SE(3) Z=[[r1r2r3]01×3t1]SE(3)
将z展开(flat操作)变成:
z = flat ⁡ ( Z ) = ( r 1 r 2 r 3 t ) ∈ R 12 \mathbf{z}=\operatorname{flat}(\mathbf{Z})=\left(\begin{array}{c}\mathbf{r}_{1} \\ \mathbf{r}_{2} \\ \mathbf{r}_{3} \\ \mathbf{t}\end{array}\right) \in \mathbb{R}^{12} z=flat(Z)=r1r2r3tR12
其中
Σ [ c ] = J Σ J T \boldsymbol{\Sigma}^{[c]}=\mathbf{J} \boldsymbol{\Sigma} \mathbf{J}^{T} Σ[c]=JΣJT
这样极大似然估计中每个概率密度函数就可以表示成:
p ( Z i j ∣ X ) ∝ exp ⁡ ( − 1 2 ∥ f l a t ( Z ~ i j ( X ) ) − flat ⁡ ( Z i j ) ∥ Σ i j [ c ] 2 ) p\left(\mathbf{Z}_{i j} \mid \mathcal{X}\right) \propto \exp \left( -\frac{1}{2}\left\|f l a t\left(\widetilde{\mathbf{Z}}_{i j}(\mathcal{X})\right)-\operatorname{flat}\left(\mathbf{Z}_{i j}\right)\right\|_{\Sigma_{i j}^{[c]}}^{2}\right) p(ZijX)exp(21flat(Z ij(X))flat(Zij)Σij[c]2)
那么对应的代价函数就可以写成如下所示:
r i j ( X ) = 1 2 ∥ flat ⁡ ( Z ~ i j ( X ) ) − flat ⁡ ( Z i j ) ∥ Σ i j [ c ] 2 \mathbf{r}_{i j}(\mathcal{X}) = \frac{1}{2} \| \operatorname{flat} ( \widetilde{\mathbf{Z}}_{i j}(\mathcal{X}) )-\operatorname{flat} \left( \mathbf{Z}_{i j} \right) \|_{\Sigma_{i j}^{[c]}}^{2} rij(X)=21flat(Z ij(X))flat(Zij)Σij[c]2

  • 不同的度量函数目的在于使得非线性优化的代价函数的非凸性程度降低,加速迭代求解时的收敛速度,最终的结果可能是差不多的。
  • 可能非凸性程度降低之后更容易收敛到全局最优。

对旋转矩阵SO3来说

Angular Distance

The rotation angle of R 2 T R 1 R_2^{T}R_1 R2TR1:
d a n g ( R 1 , R 2 ) = s i n − 1 ∥ ∥ = ∣ θ ∣ d_{ang}(R_1,R_2) =sin^{-1}\|\| = |\theta| dang(R1,R2)=sin1=θ
θ \theta θ is the rotation vector corresponding to the rotation matrix R 2 T R 1 R_2^{T}R_1 R2TR1.

Chordal Distance

The Frobenius norm of the matrix R 1 − R 2 R_1-R_2 R1R2:
d c h o r d = ( R 1 , R 2 ) = ∥ R 1 − R 2 ∥ F d_{chord}=(R_1,R_2) = \| R_1-R_2 \| _{F} dchord=(R1,R2)=R1R2F
就是对应列元素直接相减

  • 就是geodesic distance中旋转矩阵对应的那部分。
  • chord distance也是欧几里得距离中的一种。

补充

  • Chord在图论中指的是任意两个不邻接的节点之间的连线。

TODO

  • 实际SLAM中的表现

Reference

  • Nasiri S M, Hosseini R, Moradi H. Novel parameterization for gauss–newton methods in 3-D pose graph optimization[J]. IEEE Transactions on Robotics, 2020, 37(3): 780-797.
  • Aloise I, Grisetti G. Chordal based error function for 3-D pose-graph optimization[J]. IEEE Robotics and Automation Letters, 2019, 5(1): 274-281.
  • Guadagnino T, Di Giammarino L, Grisetti G. HiPE: Hierarchical Initialization for Pose Graphs[J]. IEEE Robotics and Automation Letters, 2021, 7(1): 287-294.
  • Carlone L, Tron R, Daniilidis K, et al. Initialization techniques for 3D SLAM: a survey on rotation estimation and its use in pose graph optimization[C]//2015 IEEE international conference on robotics and automation (ICRA). IEEE, 2015: 4597-4604.
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值