激光雷达和相机联合半自动标定

1. 背景描述

最近的一次项目上,需要使用到激光雷达+相机组合,那么就出现了一个绕不开的话题:传感器标定。传统的标定方法是通过人工调节相机的外参(yaw,pitch和raw)来实现点云在图像上位置校准,这种方法能行,但效率和精度都不高。
本文提出一种新方法进行验证:基于棋盘格描点完成自动标定。


2. 整体架构

如下图所示:
在这里插入图片描述

  • 数据接收:接收相机和雷达数据
  • 内参标定:拍摄一定包含不同角度标定板的图像,进行自动内参生成
  • 点云投影到图像:将3D点云通过坐标系转换后投影到2D图像上,方便查看雷达中的标定板和图像上的标定板融合效果
  • 标定板描点:在标定板上预选择N个点,计算标定板的质心
  • 自动标定:结合点云投影到图像上的标定板的质心和图像上已经选择的N个点的质心进行自动标定
  • 外参保存:将内参和外参融合在一起存储到磁盘

3. 核心理论

3.1 相机内外参

相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程能够用一个几何模型进行描述。这个模型有很多种,其中最简单的称为 针孔模型。
在这里插入图片描述

  • O-x-y-z 相机坐标系
    • z 指向相机前方、x 轴向右、y 轴向下(右手系)
    • O 是光心
  • 空间点 P,经过小孔 O 投影到 P’
  • 设物理成像平面到小孔的距离为 f(焦距)
  • 根据相似三角形
    Z f = − X X ′ = − Y Y ′ \frac{Z}{f}=-\frac{X}{X^\prime}=-\frac{Y}{Y^\prime} fZ=XX=YY
    负号表示成像是倒立的。由于可以将成像面平面对称地放到相机前方,和三维空间点在坐标系地同一侧。这样可以把负号去掉:
    在这里插入图片描述
    Z f = X X ′ = Y Y ′ \frac{Z}{f}=\frac{X}{X^\prime}=\frac{Y}{Y^\prime} fZ=XX=YY
    整理得到,
    X ′ = f X Z Y ′ = f Y Z \begin{align*} X^{\prime}=f\frac{X}{Z} \\ Y^{\prime}=f\frac{Y}{Z} \end{align*} X=fZXY=fZY
    这里描述的是空间关系,单位是米。但是我们最终需要获得一个个像素,还需要在平面上对成像进行采样和量化。换言之,我们需要将它再变换到像素坐标系。
    像素坐标系 通常的定义方式是:原点 o ′ o^\prime o 位于图像的左上角,u 轴向右与 x 轴平行,v 轴向下与 y 轴平行。
    像素坐标系和成像平面之间,相差了一个缩放和一个原点的平移。
    设像素坐标在 u 轴上缩放了 α \alpha α,在 v 轴缩放了一个 β \beta β 倍。同时,原点平移了 [ c x , c y ] T [c_x,c_y]^T [cx,cy]T
    那么, P ′ P^{\prime} P 的坐标与像素坐标 [ u , v ] T [u,v]^T [u,v]T 的关系为:
    u = α X ′ + c x v = β Y ′ + c y \begin{align*} u&=\alpha X^{\prime} + c_x \\ v&=\beta Y^{\prime} + c_y \end{align*} uv=αX+cx=βY+cy
    α f \alpha f αf 合并为 f x f_x fx,将 β f \beta f βf 合并为 f y f_y fy,得到:
    u = f x X Z + c x v = f y Y Z + c y \begin{align*} u&=f_x \frac{X}{Z} + c_x \\ v&=f_y \frac{Y}{Z} + c_y \end{align*}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值