【论文笔记】Calibration between Color Camera and 3D LIDAR Instruments with a Polygonal Planar Board
文章目录
一.介绍
二.相机与三维激光雷达的标定模型
三.多边形板中的对应顶点
一.介绍
近年来,多传感器在机器人视觉领域得到了广泛的应用。 例如,一种测距传感器,如高速三维激光雷达,与彩色相机一起用于各种机器人导航任务。 三维激光雷达传感器能够提供关于物体的三维位置和深度信息,而彩色相机则捕捉到它们的二维颜色特征。 因此,通过提供 2D图像数据和3D位置信息,我们可以用更真实的视图可视化对象。 然而,作为一个先决条件,我们需要通过 校准激光雷达和彩色相机从而得到他们的相对位置和方向。
论文中使用单色板而不是棋盘板是因为我们经常在棋盘上的雷达扫描结果中观察到一个系统性的范围反射偏差,如图1所示。 棋盘上的测量变化将导致测量误差和 影响最终校准结果。
对于低分辨率的激光雷达,比如32线的Velodyne HDL-32E,很难期望其扫描得到特定的点,例如校准板的顶点。我们的校准方法是使用雷达扫描数据估计板上的特定未扫描点。也就是说,给定板上的扫描数据,我们估计板上的特定点的3D坐标。 为此,我们使用多边形板,其中板的顶点是相邻两边之间的交点。 同时,为了定位平板上的顶点,我们首先需要估计板的投影边线方程。投影边的斜率可以从边线附近的扫描点估计。 然后,利用计算出的斜率和已知的平面板相邻边的长度,可以计算出它们的交点。
二.相机与三维激光雷达的标定模型
三角板和相机及三维激光雷达的校正配置如图所示
由相机捕获的图像数据由(U,V)表示,激光雷达捕获的3维点云用(X,Y,Z)表示,我们的目标是建立一个转化矩阵M,将3维点(x,y,z)映射到2维点(u,v),即:
矩阵(fu,fv,u0,v0)是相机参数,fu以及fv是XY轴方向尺度因子(水平方向和垂直方向的有效焦距),u0,v0是像平面(image plane)的中心点,又称主点坐标。R为旋转矩阵,t为平移矢量。
三.多边形板中的对应顶点
方法的总体步骤可以概括如下:
(1) 数据采集:将一个或多个三角形平面板放在摄像机和三维激光雷达前面。 拍摄相机图像,测量三维激光雷达的三维点云,用于板的各个位置。为了减少激光雷达中的测量误差,并方便地检测图像中三角板的顶点,建议使用明亮的单色板。 同时, 板的颜色应与背景不同,板的尺寸必须足够大,以包括足够多的激光雷达扫描线。
(2) 匹配2D-3D点对应点:在图像中检测三角形平面的顶点,并从激光扫描中识别对应的三维点通过板的两条邻边的交点。
(3) 估计激光雷达与摄像机之间的校准参数。用对应的点对求解线性方程组进行初始估计,并细化最终估计的解。
3.1. 匹配二维-三维对应点
选择三角板上的三个顶点,在图像上,三个顶点的坐标如下图,分别为上顶点,左下角和右下角坐标。
在激光雷达的3D点云中,对应的三个坐标为
3.2 板上三维点的估计
虽然标定板是一个平板,但由三维激光雷达产生的三维点在板上的测量通常是不均匀的,因此需要对离板表面较近、误差较小的三维点进行分类。
为此,我们采用了基于随机样本一致性(RANSAC)算法的三维平面拟合方法,具体步骤如下:(1)在所有三维点P中,随机抽取三个采样点,计算点所形成的平面方程;(2)根据计算出的平面方程,用距离阈值将P中的每一个3D点分为内点和外点;(3)重复步骤(1)和(2),在P中随机选择另外三个点,直到根据最大内线密度找到最佳拟合平面。这样,内线密度是三角形板上每行扫描的内线中包含的三维点的密度。用RANSAC算法选择的内点用于估计三角形板的相邻边,这要求内联3D点分布在扫描线上。因此,我们将内点线密度定义为RANSAC算法的准则,而不是内点的总数,因此我们首先定义内点比,即检测到的内点数与数据总数之比:
进一步的,如果我们对RANSAC算法使用的内联比,那么大多数内点来自三角形板的底边(见下图),同时平面方程将被底线所偏移。
为了解决这个问题,我们定义了内线比率,其中每一条扫描线对平面估计的贡献相等,而不管每行上的三维点总数。 这可以通过给不同扫描线中的点赋予不同的权重来实现,方程如下:
通过使用下面的内线比方程,所有扫描线的贡献都是相等的,不管它们的长度如何,我们可以避免内点比的偏差问题。
一旦我们使用RANSAC算法的内部3D点估计了板平面,我们就可以将所有扫描的3D点投影到估计平面上,从而得到投影的3D点。
3.3 三角板的顶点估计
为了在激光雷达坐标系下估计三角形平面板的三个顶点,我们在估计的板平面上使用重投影的三维点P’。我们估计了三角形平面板中边线的斜率。然后,我们可以通过计算两条边线的交点来确定顶点的三维位置。
边线的估计是基于三角形平面边界附近的重投影三维点。为了提高直线估计的精度,我们可以使用两个连续点之间的虚拟点,其中一个在板上,另一个在板外。
虚拟点的位置由每个扫描线的扫描点之间的平均距离确定,我们可以定位左边和右边的虚拟3D点如下:
定义左右边线如下:
通过求左右边线的交点,可以检测出三角形中心点的三维坐标。一旦知道了顶点的坐标,就可以通过已知长度的左右边线计算出其余两个点的坐标。
3.4 检测顶点的适宜性试验
通过比较底边的估计长度和实际长度来得到顶点的适用性,如果顶点检测不通过,则回到平面估计的第一步。
3.5 标定矩阵的估计
在得到3D-2D的对应点后,通过前述的方程解出变换矩阵,由于一些测量误差,投影矩阵的解并不是精确的变换矩阵,所以用非线性最小二乘法迭代更新解。