1基本原理
1.1相机模型
相机图像坐标系与世界坐标系之间的关系可以表示为:
p
∼
K
(
R
P
+
t
)
(1)
\mathrm{p} \sim \mathrm{K}(R P+\mathrm{t})\tag{1}
p∼K(RP+t)(1)
其中
p
\mathrm{p}
p为图像坐标系坐标,
P
{P}
P为世界坐标系坐标,
R
R
R表示为相机坐标系与世界坐标系之间的旋转矩阵,
t
\mathrm{t}
t表示为相机光心在世界坐标系在坐标,
K
\mathrm{K}
K表示内参矩阵。
在这里忽略镜头畸变影响,或者已经对镜头畸变进行了处理。
1.2相机与激光雷达之间的关系
设相机坐标系下点
P
P
P在激光雷达坐标系对应的点为
P
f
P^f
Pf,则二者有如下关系:
P
f
=
Φ
P
+
Δ
(2)
P^f=\Phi P+\Delta\tag{2}
Pf=ΦP+Δ(2)
其中,
Φ
\Phi
Φ,
Δ
\Delta
Δ分别为相机坐标系与雷达坐标系之间的旋转与平移量。相机与雷达标定的目的即是要求解出
Φ
\Phi
Φ,
Δ
\Delta
Δ。
1.3几何约束
本文提供的标定方法是在系统前面放置一个平面图案,比如棋盘格,相机和激光测距仪都可以测量到。同时使用相机和激光雷达对平面测量。定义标定平面为棋盘格表面的平面。
在不失一般性的情况下,我们假设标定平面在世界坐标系中其
Z
=
0
Z=0
Z=0。在相机坐标系中,标定平面可以由3维向量
N
N
N参数化表示,
N
N
N平行于标定平面的法线,其模长
∥
N
∥
\|N\|
∥N∥等于相机到标定平面的距离。由公式(1)我们可以得出:
N
=
−
R
(
R
⊤
⋅
t
)
(3)
N=-R\left(R^{\top} \cdot \mathrm{t}\right)\tag{3}
N=−R(R⊤⋅t)(3)
由于激光雷达点位于标定平面上,可以得到一个几何约束。由公式(2)可以得到:
P
=
Φ
−
1
(
P
f
−
Δ
)
P=\Phi^{-1}\left(P^f-\Delta\right)
P=Φ−1(Pf−Δ)。由于位于标定板的相机坐标系下坐标
P
P
P由向量
N
N
N定义,它满足
N
⋅
P
=
∥
N
∥
2
N \cdot P=\|N\|^2
N⋅P=∥N∥2。然后可以得到:
N
⋅
Φ
−
1
(
P
f
−
Δ
)
=
∥
N
∥
2
(4)
N \cdot \Phi^{-1}\left(P^f-\Delta\right)=\|N\|^2\tag{4}
N⋅Φ−1(Pf−Δ)=∥N∥2(4)
给定一个雷达点
P
f
P^f
Pf和向量
N
N
N,即可求解
Φ
\Phi
Φ,
Δ
\Delta
Δ。
2求解方法
1.1线性方法
假设所有激光点的Y值为0(这里是针对二维激光雷达而言),激光雷达点
P
f
=
[
X
,
Z
,
1
]
P^f=[X,Z,1]
Pf=[X,Z,1]。公式(4)可以变为:
N
⋅
H
P
^
f
=
∥
N
∥
2
(5)
N \cdot H \hat{P}^f=\|N\|^2\tag{5}
N⋅HP^f=∥N∥2(5)
H
=
Φ
−
1
(
1
0
0
0
−
Δ
0
1
)
H=\Phi^{-1}\left(\begin{array}{lll}1 & 0 \\ 0 & 0 & -\Delta \\ 0 & 1\end{array}\right)
H=Φ−1
100001−Δ
,表示雷达坐标系和相机坐标系之间的关系。对于标定平面的每个旋转和平移而言,可以得到很多关于
H
H
H的线性方程,使用最小二乘可以求解矩阵
H
H
H元素。得到
H
H
H之后,可以得到标定参数:
Φ
=
[
H
1
,
−
H
1
×
H
2
,
H
2
]
⊤
Δ
=
−
[
H
1
,
−
H
1
×
H
2
,
H
2
]
⊤
H
3
\begin{aligned} \Phi & =\left[H_{1},-H_{1} \times H_{2}, H_{2}\right]^{\top} \\ \Delta & =-\left[H_{1},-H_{1} \times H_{2}, H_{2}\right]^{\top} H_{3} \end{aligned}
ΦΔ=[H1,−H1×H2,H2]⊤=−[H1,−H1×H2,H2]⊤H3
H
i
H_i
Hi表示
H
H
H的列向量。但是这种方法得到的旋转矩阵,不满足正交性,精度不高。可以采用第二种非线性方法求解。
1.2非线性方法
对于不同的标定板的pose(R,t)。定义误差函数:
∑
i
∑
j
(
N
i
∥
N
i
∥
⋅
(
Φ
−
1
(
P
i
j
f
−
Δ
)
)
−
∥
N
i
∥
)
2
(6)
\sum_{i} \sum_{j}\left(\frac{N_{i}}{\left\|N_{i}\right\|} \cdot\left(\Phi^{-1}\left(P_{i j}^{f}-\Delta\right)\right)-\left\|N_{i}\right\|\right)^{2}\tag{6}
i∑j∑(∥Ni∥Ni⋅(Φ−1(Pijf−Δ))−∥Ni∥)2(6)
N
i
N_i
Ni为标定板在第
i
i
i个pose对应的平面参数。
P
i
j
f
P_{i j}^{f}
Pijf为第
i
i
i个pose对应的第
j
j
j个激光雷达点坐标。使用线性方法获取标定参数初值,然后利用非线性最小二乘,最小化误差函数,即可求解标定参数。
参考文献:
《Extrinsic calibration of a camera and laser range finder (improves camera calibration》
1