《 Targetless Extrinsic Calibration of Multiple Small FoV LiDARs and Cameras using Adaptive Voxelization》论文阅读
- 第一章:自适应体素化(1)——译文、理论
- 第一章:自适应体素化(2)——代码阅读
- 第二章:多雷达外参标定(1)——译文
- 第二章:多雷达外参标定(2)——推导损失函数降维
- 第二章:多雷达外参标定(3)——推导二阶闭式导数的两个引理
- 第二章:多雷达外参标定(4)——推导二阶闭式导数
- 第二章:多雷达外参标定(5)——代码阅读、公式补充
- 第三章:雷达相机外参标定——译文、代码阅读
文章目录
前言
本文主要记录论文mlcc
关于多激光雷达标定部分相关的理论推导。由于字数限制,本篇紧接着上篇文章完成二阶闭式导数的推导。
一、理论推导
二阶闭式导数的推导
回顾代价函数为 arg min S , E L ∑ l λ 3 ( A l ) (式1) \arg\min_{\mathcal{S},\mathcal{E}_{L}}\sum_{l}^{}\lambda_{3}(A_{l})\tag{式1} argS,ELminl∑λ3(Al)(式1)
,优化问题是非线性的,通过迭代求解,每次迭代中,代价函数被二阶近似,具体的说,我们将
λ
3
\lambda_3
λ3视为包含所有点
G
p
{^G}p
Gp的函数,其中
G
p
^{G}p
Gp是一个列向量,每个点
G
p
k
∈
P
l
^{G}p_{k}\in\mathcal{P}_{l}
Gpk∈Pl,即:
G p = [ G p 1 T G p 2 T ⋯ G p N l T ] ∈ R 3 N l (式2) ^{G}p=\begin{bmatrix}{^{G}p_{1}^{T}} \quad {^{G}p_{2}^{T}} \quad \cdots \quad {^{G}p_{N_{l}}^{T}} \end{bmatrix}\in\mathbb{R} ^{3N_{l}} \tag{式2} Gp=[Gp1TGp2T⋯GpNlT]∈R3Nl(式2)
。
λ
(
G
p
)
\lambda{(^Gp)}
λ(Gp)可被近似为:
λ
3
(
G
p
+
δ
G
p
)
≈
λ
3
(
G
p
)
+
J
⋅
δ
G
p
+
1
2
δ
G
p
T
⋅
H
⋅
δ
G
p
(式3)
\lambda_{3}\left(^{G}{p}+\delta^{G}{p}\right)\approx\lambda_{3}\left(^{G}{p}\right)+{J}\cdot\delta^{G}{p}+\frac{1}{2} \delta^{G}{p}^{T}\cdot{H}\cdot\delta^{G}{p} \tag{式3}
λ3(Gp+δGp)≈λ3(Gp)+J⋅δGp+21δGpT⋅H⋅δGp(式3)
假设第
k
k
k个点
G
p
k
^Gp_{k}
Gpk在时间
t
j
t_j
tj由雷达
L
i
L_i
Li扫描,则有:
G
p
k
=
L
i
G
T
t
j
p
k
=
L
0
G
T
t
j
⋅
L
i
L
0
T
⋅
p
k
=
L
0
G
R
t
j
(
L
i
L
0
R
⋅
p
k
+
L
i
L
0
t
)
+
L
0
G
t
t
j
(式4)
\begin{align*} ^Gp_k={^{G}_{L_i}T}_{t_j}p_k={^{G}_{L_0}T}_{t_j}\cdot {^{L_{0}}_{L_i}T}\cdot p_{k}\\ ={^{G}_{L_0}R_{t_j}}\left({^{L_0}_{L_i}R\cdot {p_k}+{^{L_0}_{L_i}t}}\right)+{^G_{L_0}t_{t_j}} \end{align*} \tag{式4}
Gpk=LiGTtjpk=L0GTtj⋅LiL0T⋅pk=L0GRtj(LiL0R⋅pk+LiL0t)+L0Gttj(式4)
表明
G
p
k
^Gp_k
Gpk依赖于
S
\mathcal{S}
S和
E
L
\mathcal{E}_L
EL。为了扰动
G
p
k
^Gp_k
Gpk,我们在位姿
T
T
T的进行扰动,
记为
δ
T
=
[
ϕ
T
δ
t
T
]
T
∈
R
6
\delta{T}=\begin{bmatrix}\phi{^T}\quad\delta{t}^T \end{bmatrix}^T\in\mathbb{R}^6
δT=[ϕTδtT]T∈R6,
于在流形上的扰动可以参考论文《A micro Lie theory for state estimation in robotics》。
T
=
(
R
,
t
)
,
T
⊞
δ
T
=
(
R
exp
(
ϕ
∧
)
,
t
+
δ
t
)
(式5)
T=(R,t)\quad ,T \boxplus\delta{T}=\left(R\exp(\phi^{\wedge} ),t+\delta{t}\right) \tag{式5}
T=(R,t),T⊞δT=(Rexp(ϕ∧),t+δt)(式5)
。将上式带入到代价函数式1中,可得:
G
p
k
+
δ
G
p
k
=
L
0
G
R
t
j
exp
(
L
0
G
ϕ
t
j
∧
)
(
L
i
L
0
R
exp
(
L
i
L
0
ϕ
∧
)
p
k
+
L
i
L
0
t
+
δ
L
i
L
0
t
)
+
L
0
G
t
t
j
+
δ
L
0
G
t
t
j
=
L
0
G
R
t
j
(
I
+
L
0
G
ϕ
t
j
∧
)
(
L
i
L
0
R
(
I
+
L
i
L
0
ϕ
∧
)
p
k
+
L
i
L
0
t
+
δ
L
i
L
0
t
)
+
L
0
G
t
t
j
+
δ
L
0
G
t
t
j
=
L
0
G
R
t
j
(
I
+
L
0
G
ϕ
t
j
∧
)
(
L
i
L
0
R
p
k
+
L
i
L
0
R
L
i
L
0
ϕ
∧
p
k
+
L
i
L
0
t
+
δ
L
i
L
0
t
)
+
L
0
G
t
t
j
+
δ
L
0
G
t
t
j
≈
L
0
G
R
t
j
(
L
i
L
0
R
⋅
p
k
+
L
0
G
t
t
j
)
+
L
0
G
R
t
j
(
L
i
L
0
R
L
i
L
0
ϕ
∧
p
k
+
δ
L
i
L
0
t
)
+
L
0
G
R
t
j
L
0
G
ϕ
t
j
∧
(
L
i
L
0
R
p
k
+
L
i
L
0
t
)
+
L
0
G
t
t
j
+
δ
L
0
G
t
t
j
≈
L
0
G
R
t
j
(
L
i
L
0
R
⋅
p
k
+
L
0
G
t
t
j
)
+
L
0
G
t
t
j
+
L
0
G
R
t
j
(
L
i
L
0
R
⋅
L
i
L
0
ϕ
∧
p
k
+
δ
L
i
L
0
t
)
+
L
0
G
R
t
j
L
0
G
ϕ
t
j
∧
(
L
i
L
0
R
p
k
+
L
i
L
0
t
)
+
δ
L
0
G
t
t
j
≈
L
0
G
R
t
j
(
L
i
L
0
R
⋅
p
k
+
L
0
G
t
t
j
)
+
L
0
G
t
t
j
−
L
0
G
R
t
j
L
i
L
0
R
(
p
k
)
∧
⋅
L
i
L
0
ϕ
+
L
0
G
R
t
j
δ
L
i
L
0
t
−
L
0
G
R
t
j
(
L
i
L
0
R
p
k
+
L
i
L
0
t
)
∧
L
0
G
ϕ
t
j
+
δ
L
0
G
t
t
j
(式6)
\begin{align*} {}^{G}{p}_{k}+\delta^{G}{p}_{k}= {}_{L_{0}}^{G}R_{t_{j}}\exp\big({}_{L_{0}}^{G}\phi_{t_{j}}^{\wedge}\big) \bigg({}_{L_{i}}^{L_{0}}R\exp\big({}_{L_{i}}^{L_{0}}\phi^{\wedge}\big)p_{k} +{}_{L_{i}}^{L_{0}}{t}+\delta_{L_{i}}^{L_{0}}{t}\bigg)\\ +{}_{L_{0}}^{G}{t}_{t_{j}} +\delta_{L_{0}}^{G}{t}_{t_{j}}\\ ={}_{L_{0}}^{G}R_{t_{j}}\big(I+{}_{L_{0}}^{G}\phi_{t_{j}}^{\wedge}\big) \bigg({}_{L_{i}}^{L_{0}}R\big(I+{}_{L_{i}}^{L_{0}}\phi^{\wedge}\big)p_{k} +{}_{L_{i}}^{L_{0}}{t}+\delta_{L_{i}}^{L_{0}}{t}\bigg)\\ +{}_{L_{0}}^{G}{t}_{t_{j}}+\delta_{L_{0}}^{G}{t}_{t_{j}}\\ ={}_{L_{0}}^{G}{R}_{t_{j}}\big(I+{}_{L_{0}}^{G}\phi_{t_{j}}^{\wedge}\big) \bigg({}_{L_{i}}^{L_{0}}Rp_{k}+{}_{L_{i}}^{L_{0}}R{}_{L_{i}}^{L_{0}}\phi^{\wedge}p_{k} +{}_{L_{i}}^{L_{0}}{t}+\delta_{L_{i}}^{L_{0}}{t}\bigg)\\ +{}_{L_{0}}^{G}{t}_{t_{j}}+\delta_{L_{0}}^{G}{t}_{t_{j}}\\ \approx{}_{L_{0}}^{G}R_{t_{j}}\big({}_{L_{i}}^{L_{0}}R\cdot{p_{k}}+{}_{L_{0}}^{G}{t}_{t_{j}}\big) +{}_{L_{0}}^{G}R_{t_{j}}\big({}_{L_{i}}^{L_{0}}R{}_{L_{i}}^{L_{0}}\phi^{\wedge}p_{k} +\delta_{L_{i}}^{L_{0}}{t}\big)\\ +{}_{L_{0}}^{G}R_{t_{j}}{}_{L_{0}}^{G}\phi_{t_{j}}^{\wedge} \bigg({}_{L_{i}}^{L_{0}}Rp_{k}+{}_{L_{i}}^{L_{0}}{t}\bigg)\\ +{}_{L_{0}}^{G}{t}_{t_{j}}+\delta_{L_{0}}^{G}{t}_{t_{j}}\\ \approx{}_{L_{0}}^{G}R_{t_{j}}\big({}_{L_{i}}^{L_{0}}R\cdot{p_{k}} +{}_{L_{0}}^{G}{t}_{t_{j}}\big)+{}_{L_{0}}^{G}{t}_{t_{j}} +{}_{L_{0}}^{G}R_{t_{j}}\big({}_{L_{i}}^{L_{0}}R\cdot{}_{L_{i}}^{L_{0}}\phi^{\wedge}p_{k} +\delta_{L_{i}}^{L_{0}}{t}\big)\\ +{}_{L_{0}}^{G}R_{t_{j}}{}_{L_{0}}^{G}\phi_{t_{j}}^{\wedge} \bigg({}_{L_{i}}^{L_{0}}Rp_{k} +{}_{L_{i}}^{L_{0}}{t}\bigg)+\delta_{L_{0}}^{G}{t}_{t_{j}}\\ \approx{}_{L_{0}}^{G}R_{t_{j}}\big({}_{L_{i}}^{L_{0}}R\cdot{p_{k}} +{}_{L_{0}}^{G}{t}_{t_{j}}\big)+{}_{L_{0}}^{G}{t}_{t_{j}}\\ -{}_{L_0}^GR_{t_j}{}_{L_{i}}^{L_{0}}R\left(p_k\right)^{\wedge}\cdot_{L_i}^{L_0}\phi+_{L_0}^GR_{t_j}\delta_{L_i}^{L_0}t -{}_{L_{0}}^{G}R_{t_{j}}\bigg({}_{L_{i}}^{L_{0}}Rp_{k} +{}_{L_{i}}^{L_{0}}{t}\bigg)^{\wedge}{}_{L_{0}}^{G}\phi_{t_{j}}+\delta_{L_{0}}^{G}{t}_{t_{j}} \end{align*} \tag{式6}
Gpk+δGpk=L0GRtjexp(L0Gϕtj∧)(LiL0Rexp(LiL0ϕ∧)pk+LiL0t+δLiL0t)+L0Gttj+δL0Gttj=L0GRtj(I+L0Gϕtj∧)(LiL0R(I+LiL0ϕ∧)pk+LiL0t+δLiL0t)+L0Gttj+δL0Gttj=L0GRtj(I+L0Gϕtj∧)(LiL0Rpk+LiL0RLiL0ϕ∧pk+LiL0t+δLiL0t)+L0Gttj+δL0Gttj≈L0GRtj(LiL0R⋅pk+L0Gttj)+L0GRtj(LiL0RLiL0ϕ∧pk+δLiL0t)+L0GRtjL0Gϕtj∧(LiL0Rpk+LiL0t)+L0Gttj+δL0Gttj≈L0GRtj(LiL0R⋅pk+L0Gttj)+L0Gttj+L0GRtj(LiL0R⋅LiL0ϕ∧pk+δLiL0t)+L0GRtjL0Gϕtj∧(LiL0Rpk+LiL0t)+δL0Gttj≈L0GRtj(LiL0R⋅pk+L0Gttj)+L0Gttj−L0GRtjLiL0R(pk)∧⋅LiL0ϕ+L0GRtjδLiL0t−L0GRtj(LiL0Rpk+LiL0t)∧L0Gϕtj+δL0Gttj(式6)
结合式4和式6可得
δ
G
p
k
\delta{^Gp_k}
δGpk,如下所示:
δ
G
p
k
≈
−
L
0
G
R
t
j
(
L
i
L
0
R
p
k
+
L
i
L
0
t
)
∧
L
0
G
ϕ
t
j
+
δ
L
0
G
t
t
j
−
L
0
G
R
t
j
L
i
L
0
R
(
p
k
)
∧
L
i
L
0
ϕ
+
L
0
G
R
t
j
δ
L
i
L
0
t
=
D
⋅
δ
x
,
(式7)
\begin{align*} \delta^{G}{p}_{k}\approx-{}_{L_{0}}^{G}R_{t_{j}} \big({}_{L_{i}}^{L_{0}}{R}{p}_{k}+{}_{L_{i}}^{L_{0}}{t}\big)^{\wedge}{}_{L_{0}}^{G}\phi_{t_{j}} +\delta_{L_{0}}^{G}{t}_{t_{j}}-\\{}_{L_{0}}^{G}R_{t_{j}}{}_{L_{i}}^{L_{0}}R\big({p}_{k}\big)^{\wedge}{}_{L_{i}}^{L_{0}}\phi +{}_{L_{0}}^{G}{R}_{t_{j}}\delta_{L_{i}}^{L_{0}}{t}\\ =D\cdot \delta x , \end{align*} \tag{式7}
δGpk≈−L0GRtj(LiL0Rpk+LiL0t)∧L0Gϕtj+δL0Gttj−L0GRtjLiL0R(pk)∧LiL0ϕ+L0GRtjδLiL0t=D⋅δx,(式7)
其中
δ
x
=
[
⋯
L
0
G
ϕ
t
j
T
δ
L
0
G
t
t
j
T
⋯
L
i
L
0
ϕ
T
δ
L
i
L
0
t
T
⋯
]
T
≠
R
6
(
m
+
n
−
2
)
\delta{x}=\begin{bmatrix}\cdots \quad {^G_{L_0}\phi_{t_j}^{T}\quad\delta_{L_0}^{G}t_{t_j}^T}\cdots{^{L_{0}}_{L_i}\phi^{T}\quad\delta_{L_i}^{L_0}t^T} \cdots\end{bmatrix}^{T} \ne\mathbb{R}^{6\left(m+n-2\right)}
δx=[⋯L0GϕtjTδL0GttjT⋯LiL0ϕTδLiL0tT⋯]T=R6(m+n−2)是优化变量
x
=
[
⋯
L
0
G
R
t
j
L
0
G
t
t
j
⋯
L
i
L
0
R
L
i
L
0
t
⋯
]
x=\begin{bmatrix}\cdots{_{L_0}^GR_{t_j} }\quad{_{L_0}^{G}t_{t_j}}\cdots{_{L_i}^{L_0}R}\quad{_{L_i}^{L_0}t}\cdots\end{bmatrix}
x=[⋯L0GRtjL0Gttj⋯LiL0RLiL0t⋯]的微小扰,
m
m
m代表帧数,n代表参考雷达的个数。
并且
D
=
[
⋮
⋮
⋯
D
k
,
p
S
⋯
D
k
,
q
ε
L
⋯
⋮
⋮
]
∈
R
3
N
l
×
6
(
m
+
n
−
2
)
D
k
,
p
S
{
[
−
L
0
G
R
t
j
(
L
i
L
0
R
p
k
+
L
i
L
0
t
)
∧
I
]
,
i
f
p
=
j
0
3
×
6
,
e
l
s
e
D
k
,
q
E
L
{
[
−
L
0
G
R
t
j
L
i
L
0
R
(
p
k
)
∧
L
0
G
R
t
j
]
,
i
f
q
=
i
0
3
×
6
,
e
l
s
e
\begin{align*} D =\begin{bmatrix}\vdots&\vdots\\\cdots {D}_{k,p}^{\mathcal{S}}&\cdots {D}_{k,q}^{\varepsilon_{L}}&\cdots\\\vdots&\vdots\end{bmatrix}\in\mathbb{R}^{3N_{l}\times6(m+n-2)} \\ \mathrm{D}_{k,p}^{\mathcal{S}} \begin{cases} \begin{bmatrix}{-{}_{L_{0}}^{G}{R}_{t_{j}}}\left({}_{L_{i}}^{L_{0}}{R}{p}_{k}+{}_{L_{i}}^{L_{0}}{t}\right)^{\wedge}&{I}\end{bmatrix},\quad{\mathrm{if} p=j}\\ {0}_{3\times6},\quad {else} \end{cases}\\ \mathrm{D}_{k,q}^{\mathcal{E}_{L}} \begin{cases} \begin{bmatrix}{-{}_{L_{0}}^{G}{R}_{t_{j}}}{}_{L_{i}}^{L_{0}}{R}({p}_{k})^{\wedge}&{}_{L_{0}}^{G}{R}_{t_{j}}\end{bmatrix},\quad{\mathrm{if~}q=i}\\ {0}_{3\times6},\quad {else} \end{cases} \end{align*}
D=
⋮⋯Dk,pS⋮⋮⋯Dk,qεL⋮⋯
∈R3Nl×6(m+n−2)Dk,pS⎩
⎨
⎧[−L0GRtj(LiL0Rpk+LiL0t)∧I],ifp=j03×6,elseDk,qEL{[−L0GRtjLiL0R(pk)∧L0GRtj],if q=i03×6,else
注意: 论文中的结果与推导有差异,下面是论文给的结果,待排查!
δ
G
p
k
≈
+
L
0
G
R
t
j
(
L
i
L
0
R
p
k
+
L
i
L
0
t
)
∧
L
0
G
ϕ
t
j
+
δ
L
0
G
t
t
j
+
L
i
G
R
t
j
(
p
k
)
∧
L
i
L
0
ϕ
+
L
0
G
R
t
j
δ
L
i
L
0
t
\delta^{G}{p}_{k}\approx{\color{red}+}{}_{L_{0}}^{G}R_{t_{j}} \big({}_{L_{i}}^{L_{0}}{R}{p}_{k}+{}_{L_{i}}^{L_{0}}{t}\big)^{\wedge}{}_{L_{0}}^{G}\phi_{t_{j}} +\delta_{L_{0}}^{G}{t}_{t_{j}}{\color{red}+}\\{}_{L_{i}}^{G}R_{t_{j}}\big({p}_{k}\big)^{\wedge}{}_{L_{i}}^{L_{0}}\phi +{}_{L_{0}}^{G}{R}_{t_{j}}\delta_{L_{i}}^{L_{0}}{t}
δGpk≈+L0GRtj(LiL0Rpk+LiL0t)∧L0Gϕtj+δL0Gttj+LiGRtj(pk)∧LiL0ϕ+L0GRtjδLiL0t
上面用到一些近似化:
exp
(
ϕ
∧
)
≈
I
+
ϕ
∧
(式8)
\exp(\phi^{\wedge})\approx I+\phi^{\wedge}\tag{式8}
exp(ϕ∧)≈I+ϕ∧(式8)
结合式3到式7有以下结论:
λ
3
(
x
⊞
δ
x
)
≈
λ
3
(
x
)
+
J
D
δ
x
+
1
2
δ
x
T
D
T
H
D
δ
x
=
λ
3
(
x
)
+
J
ˉ
δ
x
+
1
2
δ
x
T
H
ˉ
δ
x
.
(式9)
\begin{align*} \begin{gathered} \lambda_{3}({x}\boxplus\delta{x}) \approx\lambda_{3}({x})+{JD}\delta{x}+\frac{1}{2} \delta{x}^{T}{D}^{T}{HD}\delta{x} \\ =\lambda_{3}({x})+{\bar{J}}\delta{x}+\frac{1}{2}\delta{x}^{T}{\bar{H}}\delta{x}. \end{gathered} \end{align*} \tag{式9}
λ3(x⊞δx)≈λ3(x)+JDδx+21δxTDTHDδx=λ3(x)+Jˉδx+21δxTHˉδx.(式9)
根据定理1和定理2的结论可知:
- J J J为雅可比矩阵,其中第 i i i个元素按照定理1计算;
- H H H为Hessian矩阵,其中第 i i i行,第 j j j列元素按照定理2计算。
并可得且LM算法的增量公式为 ( H ˉ ( G p + μ I ) ) δ G p ∗ = − J ˉ ( G p ) T \left(\bar{H}(^{G}p+\mu I)\right)\delta{^Gp^{\ast}}=-\bar{J}(^Gp)^T (Hˉ(Gp+μI))δGp∗=−Jˉ(Gp)T。
二、参考文献
[2]《BALM: Bundle Adjustment for Lidar Mapping》
[3]《BALM论文阅读》——epsilonjohn的博客文章
[4]《A micro Lie theory for state estimation in robotics》