文章目录
总结几种在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∗=X∈SE(3)argmax(i,j)∈E∏p(Zij∣X)
⇓
\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∗=X∈SE(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)=21∥log(Zij−1Z~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)=⎝⎜⎜⎛r1r2r3t⎠⎟⎟⎞∈R12
其中
Σ
[
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(Zij∣X)∝exp(−21∥∥∥flat(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)=21∥flat(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)=sin−1∥∥=∣θ∣
θ
\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
R1−R2:
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)=∥R1−R2∥F
就是对应列元素直接相减
- 就是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.