多传感器融合系列之传感器的标定

本文详细介绍了传感器标定的目的与方法,包括内参和外参的概念,以及非线性优化在标定中的应用。针对Camera成像,文章详细阐述了建模过程、畸变建模和棋盘格法标定。此外,还探讨了多传感器系统的外参标定,如IMU与车体、Camera与Camera、LiDAR与传感器间的标定,以及在线动态标定的重要性。
摘要由CSDN通过智能技术生成

1. 关于标定:传感器内参及外参的介绍

(1)标定的目的

​ 标定的目的是如何将多个传感器整合为一套传感器,比如说为了确定sensor A看到的车和sensor B看到的车是否为同一辆车,通常是将所有传感器的成像结果统一到同一坐标系下。
在这里插入图片描述
(2)关于传感器的内参

​ 下图为各传感器的内参含义,以及因相应的误差导致的标定简介。由图可知,激光雷达、毫米波雷达和超声波雷达在出厂时就已标定完成。对于相机,需要通过相关的算法来实现标定。
在这里插入图片描述
(3)关于传感器的外参

​ 传感器作为独立的个体,它与车体坐标系之间的转换关系称为外参。通过外参可将多个传感器观察到的物体坐标统一到一个坐标系下,由此可判断它们观察到的是否为同一个目标。标定方法可分为如下两种:

  • 直接标各传感器与车体坐标系之间的位姿关系

  • 先标部分传感器与车体坐标系之间的位姿关系,另一部分通过传感器之间实现标定
    在这里插入图片描述

(4)传感器之间的标定顺序

  • 车体在世界坐标系中的位姿由定位确定
  • 对车体与固定在其上的IMU之间进行标定
  • 对IMU与LiDAR之间进行标定
  • 以LiDAR为介质,通过传感器之间的变换进行外参标定,包括:LiDAR与LiDAR,LiDAR与Camera,Lidar与Radar,Camera与Camera等,由此获取各传感器与车体之间的外参
    在这里插入图片描述

(5)总结:如何将所有传感器的成像结果统一到同一坐标系下

  • 内参标定:标定相机坐标系到像素坐标系的投影关系
  • 外参标定:标定各传感器到车体坐标系之间的变换关系,包括如下:
    • IMU(GNSS) — Car
    • LiDAR — Camera
    • Camera — Camera
    • LiDAR — LiDAR
    • LiDAR — IMU(GNSS)
    • LiDAR — Radar
    • 超声波雷达 — Car
      在这里插入图片描述

2. 非线性优化简介

(1)非线性优化问题

​ 求解 m i n x 1 2 ∣ ∣ f ( x ) ∣ ∣ x 2 min_x\frac{1}{2}||f(x)||_x^2 minx21∣∣f(x)x2,其中 x ∈ R n x \in R^n xRn f f f是任意非线性函数, f ( x ) ∈ R m f(x) \in R^m f(x)Rm

思路:

  • 给定某个初始值 x 0 x_0 x0
  • 对于第 k k k次迭代,寻找一个增量 Δ x k \Delta x_k Δxk,使得 ∣ ∣ f ( x k + Δ x k ) ∣ ∣ 2 2 ||f(x_k+\Delta x_k)||_2^2 ∣∣f(xk+Δxk)22达到极小值
  • Δ x k \Delta x_k Δxk足够小,则停止
  • 否则,令 x k + 1 = x k + Δ x k x_{k+1}=x_k+\Delta x_k xk+1=xk+Δxk。返回第(2)步

(2)非线性优化——如何确定 Δ x \Delta x Δx

方法1:将 ∣ ∣ f ( x + Δ x ) ∣ ∣ 2 2 ||f(x+\Delta x)||_2^2 ∣∣f(x+Δx)22 x x x处二阶泰勒展开
∣ ∣ f ( x + Δ x ) ∣ ∣ 2 2 ≈ ∣ ∣ f ( x ) ∣ ∣ 2 2 + J ( x ) Δ x + 1 2 Δ x T H ( x ) Δ x ||f(x+\Delta x)||_2^2 \approx ||f(x)||_2^2 + J(x)\Delta x + \frac{1}{2}\Delta x^T H(x)\Delta x ∣∣f(x+Δx)22∣∣f(x)22+J(x)Δx+21ΔxTH(x)Δx
​ 其中, J ( x ) J(x) J(x) ∣ ∣ f ( x ) ∣ ∣ 2 2 ||f(x)||_2^2 ∣∣f(x)22 x x x处的一阶导数(Jacobian矩阵), H ( x ) H(x) H(x) ∣ ∣ f ( x ) ∣ ∣ 2 2 ||f(x)||_2^2 ∣∣f(x)22 x x x处的二阶导数(Hessian矩阵)

  • 仅保留一阶项——最速下降法
    Δ x ∗ = − J ( x ) T \Delta x^* = -J(x)^T Δx=J(x)T
    通常这个梯度会乘上一个步长 λ \lambda λ,即 Δ x ∗ = − λ J ( x ) T \Delta x^* = -\lambda 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 ) \Delta x^* = argmin(||f(x)||_2^2+J(x)\Delta x + \frac{1}{2}\Delta x^TH(x)\Delta x) Δx=argmin(∣∣f(x)22+J(x)Δx+21ΔxTH(x)Δx)
    右侧对 Δ x \Delta x Δx求导可得: H ( x ) Δ x = − J ( x ) T H(x)\Delta x = -J(x)^T H(x)Δx=J(x)T。牛顿法的优点是可以保留二阶特性,对空间平面的拟合状态更好,缺点是需要求取二维的Hessian矩阵,这在高维空间的计算代价非常大

方法2(高斯牛顿法):对 f ( x + Δ x ) f(x+\Delta x) f(x+Δx) x x x处一阶泰勒展开
f ( x + Δ x ) ≈ f ( x ) + J ( x ) Δ x f(x+\Delta x) \approx f(x)+J(x)\Delta x f(x+Δx)f(x)+J(x)Δx
​ 其中, J ( x ) J(x) J(x) f ( x ) f(x) f(x) x x x处的导数,目标函数:
∣ ∣ f ( x + Δ x ) ∣ ∣ 2 2 = ∣ ∣ f ( x ) + J ( x ) Δ x ∣ ∣ 2 2     ⇒     Δ x ∗ = a r g m i n ( ∣ ∣ f ( x ) + J ( x ) Δ x ∣ ∣ 2 2 ) ∣ ∣ f ( x ) + J ( x ) Δ x ∣ ∣ 2 2 = ( f ( x ) + J ( x ) Δ x ) T ( f ( x ) + J ( x ) Δ x )                                                      = ∣ ∣ f ( x ) ∣ ∣ 2 2 + 2 f ( x ) T J ( x ) Δ x + Δ x T J ( x ) T J ( x ) Δ x ||f(x+\Delta x)||_2^2 = ||f(x)+J(x)\Delta x||_2^2 \ \ \ \Rightarrow \ \ \ \Delta x^* = argmin(||f(x)+J(x)\Delta x||_2^2) \\ ||f(x)+J(x)\Delta x||_2^2 = (f(x)+J(x)\Delta x)^T(f(x)+J(x)\Delta x) \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ = ||f(x)||_2^2 + 2f(x)^TJ(x)\Delta x + \Delta x^TJ(x)^TJ(x)\Delta x ∣∣f(x+Δx)22=∣∣f(x)+J(x)Δx22      Δx=argmin(∣∣f(x)+J(x)Δx22)∣∣f(x)+J(x)Δx22=(f(x)+J(x)Δx)T(f(x)+J(x)Δx)                                                    =∣∣f(x)22+2f(x)TJ(x)Δx+ΔxTJ(x)TJ(x)Δx
​ 对 Δ x \Delta x Δx求导,并令导数为零:
2 J ( x ) T f ( x ) + 2 J ( x ) T J ( x ) Δ x = 0     ⇒     J ( x ) T J ( x ) Δ x = − J ( x ) T f ( x ) 2J(x)^Tf(x)+2J(x)^TJ(x)\Delta x=0 \ \ \ \Rightarrow \ \ \ J(x)^TJ(x)\Delta x = -J(x)^Tf(x) 2J(x)Tf(x)+2J(x)TJ(x)Δx=0      J(x)TJ(x)Δx=J(x)Tf(x)
​ 等价于求解线性方程 H ( x ) Δ x = g H(x)\Delta x = g H(x)Δx=g,其中 H ( x ) = J ( x ) T J ( x ) H(x)=J(x)^TJ(x) H(x)=J(x)TJ(x) g = − J ( x ) T f ( x ) g=-J(x)^Tf(x) g=J(x)Tf(x)

(3)标定问题中的非线性优化

​ 传感器标定中涉及到外参 T T T,由于 T T T中存在旋转矩阵 R R R,它满足约束: R ∈ R 3 × 3 , R R T = I , d e t ( R ) = 1 R \in \mathbb{R}^{3 \times 3},RR^T=I,det(R)=1 RR3×3,RRT=I,det(R)=1,因此标定中的非线性优化是带约束的非线性优化问题,通常的求解方法为:

  • 用李代数表达位姿,利用李代数求导方法,可转化为无约束优化问题
  • 对于无约束优化问题,沿用非线性优化方法进行求解

3. Camera成像与内参标定

3.1 Camera成像建模的过程

  • 自车坐标系 ==> 相机坐标系

​ 三维空间点 ( X , Y , Z ) (X,Y,Z) (X,Y,Z) R R R为旋转矩阵, t t t为平移量
[ x c y c z c ] = [ R t 0 1 ] [ X Y Z 1 ] \left[ \begin{array}{cc} x_c \\ y_c \\ z_c \end{array}\right] = \left[ \begin{array}{cc} R & t \\ 0 & 1 \end{array}\right]\left[ \begin{array}{cc} X \\ Y \\ Z \\ 1 \end{array}\right] xcyczc =[R0t1] XYZ1

  • 相机坐标系 ==> 图像坐标系(不考虑畸变)
    [ x y 1 ] = 1 z c [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ x c y c z c 1 ] \left[ \begin{array}{cc} x \\ y \\ 1 \end{array}\right] = \frac{1}{z_c} \left[ \begin{array}{cc} f & 0 & 0 & 0 \\ 0 & f & 0 & 0 \\ 0 & 0 & 1 & 0 \end{array}\right]\left[ \begin{array}{cc} x_c \\ y_c \\ z_c \\ 1 \end{array}\right] xy1 =zc1 f000f0001000 xcyczc1

  • 图像坐标系(含去畸变)

​ 将 ( x c , y c , z c ) (x_c,y_c,z_c) (xc,yc,zc)投影到归一化平面上 ( x , y ) = ( x c / z c , y c / z c ) (x,y)=(x_c/z_c,y_c/z_c) (x,y)=(xc/zc,yc/zc),再进行(径向与切向)畸变修正,得到去畸变后的归一化坐标
{ x d i s t o r t e d = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) + 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) y d i s t o r t e d = y ( 1 + k 1 r 2 + k 2 r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值