文章目录

  • Abstract
  • I Introduction
  • II Basic Equations
    • A Geometric Constraints
  • III Solving Extrinsic calibration
    • A 线性解
    • B Nonlinear Optimization
    • C Global Optimization
    • D Algorithm Summary
  • IV Experiments
  • Reference

Abstract

我们描述了相机和激光测距仪组成的传感器平台外参标定的理论和实验结果。标定的基础是观测平面棋盘格模板,并求解相机和激光测距仪对平面棋盘格模板“视图”之间的约束(即相机与激光测距仪之间的旋转与平移变换关系)。我们给出了一个直接解决方案,该解决方案可以最大程度地减少此约束所产生的代数误差,并且随后进行的非线性细化(refine)来最大程度地减少重新投影误差。据我们所知(2004)这是首次发布的解决该问题的标定工具,此外,我们展示了此约束如何减少估计固有相机参数的方差。

author:Qilong Zhang, Robert Pless, Department of Computer Science and Engineering Washington University in St. Louis St. Louis, MO. 63130 United States

paper:Extrinsic Calibration of a Camera and Laser Range Finder (improves camera calibration)

I Introduction

近年来,安装在移动机器人上的二维激光测距仪已经非常普遍地用于各种机器人导航任务。它们可以在距地面高出固定高度的大角度场景中实时提供准确的距离测量结果,并通过融合来自安装在机器人上的相机的图像数据,使机器人能够更可靠地执行各种任务1 2 3 4 。为了有效的使用相机和激光测距仪的数据,知道它们之间的方向和位移非常重要,这将要影响它们之间测量的几何解释。

这些几何传感器中的标定可以分解为内部参数和外部参数。外部参数指的的是传感器之间基准坐标系之间的方向和位置参数。内部参数(例如相机的标定矩阵)会影响传感器对场景的采样方式。这里假设相机的内部参数是已知的,主要集中于外部标定,并提出了一种相机和激光测距仪之间的外部参数方法,也就是确定从相机坐标系到激光坐测距仪标系的变换,该方法利用相机和激光测距仪共同观测的相机标定模板。对于平面模板的每个不同的pose,该方法通过将平面模板上的激光扫描线与相机模板图像平面对齐来约束外部参数。

首先来看看解决相似问题的不同的方法也是很重要的,针对激光扫描标定已经做了大量的工作,它是主动视觉的一部分,它投影一个点或者一个条纹到相机上。找到激光扫描仪和相机之间的几何关系对于创建度量深度估计以构建带纹理的3D模型至关重要5。存在针对此问题的标定方法,该方法利用了激光点或条纹的可见位置6。在本文中,我们考虑使用激光测距仪对相机进行外部标定,其中激光点对相机是不可见的。该标定适用于用于许多自动机器人的非常常见的传感器套件,例如iRobot系列,并且迄今为止它还没有发布标定方法。

即使越来越多地使用3D激光测距仪,它们仍缺乏便携性和灵活性。3D数据采集的时间成本也非常昂贵,而且因为系统需要时间才能通过环境中的不同方向激光扫描。在许多机器人应用中,例如机器人导航,更高频率的小范围扫描可能很重要,它让机器人能够实时的感知环境并根据获取的数据采取行动。因此,我们着重研究带有2D激光测距仪的相机的姿态估计,该技术具有成本效益,同时为距离数据采集提供了灵活性和准确性。

本文的剩下部分做如下安排。下一节将介绍与外部标定相关的基本方程式,形式化我们要解决的问题,并得出从摄像机坐标系到激光坐标系的刚性转换的几何约束。第三节给出求解外参的方法,首先给出直接解,然后利用非线性优化方法优化初始化的直接解,最后提出全局优化方法提升相机内参和外参。我们通过给出实验结果来证明所介绍技术的成功。

II Basic Equations

相机可以用针孔模型来描述。从世界坐标P=[X,Y,Z]TP=[X,Y,Z]^TP=[X,Y,Z]T到图像坐标p=[u,v]p=[u,v]p=[u,v]的投影可以表示为7:
p∼K(RP+t)(1)p \sim K(RP+t) \tag{1} p∼K(RP+t)(1)
其中KKK是相机内参矩阵,RRR是3×33 \times 33×3正交矩阵,表示相机的方向,ttt是三维向量表示它的位置。在实际情况下,相机可能会表现出明显的镜头畸变,可以将其建模为包含径向和切向畸变系数的5维参数。在本文的其余部分中,我们假设相机没有明显的镜头畸变,或者图像已经变形以消除它。激光测距仪输出激光读数,这些读数是到与地板平行的平面上的点的距离测量值。以激光测距仪的原点定义激光坐标系,并且激光扫描平面为平面Y=0Y = 0Y=0。假设相机坐标系下的一个点PPP在激光坐标系下的表示为PfP^fPf,从相机坐标系到激光坐标系的刚体变换可描述为:
Pf=ΦP+Δ(2)P^f = \Phi P + \Delta \tag{2} Pf=ΦP+Δ(2)
其中Φ\PhiΦ表示相机相对激光测距仪的方向的3×33 \times 33×3的正交矩阵,Δ\DeltaΔ表示对应的相对位置的3维向量。

文中我们的目标是开发求解外参Φ,Δ\Phi,\DeltaΦ,Δ的方法,外参表示相机相对于激光坐标系的方向和位置。

A Geometric Constraints

我们提出的标定方法是在我们的系统前面放置一个平面模板,称作棋盘格,它可被相机和激光测距仪共同观测。图Fig1Fig 1Fig1提供了标定方法的一般配置。为了简化,当我们提到标定平面时指的是棋盘格平面,同时棋盘格上的激光测量称作激光点,它是整个激光读数的一部分。
为了不失一般性,我们假设标定平面在世界坐标系中是Z=0Z=0Z=0的平面。在相机坐标系中,标定平面可以被参数化为三维向量NNN,使得NNN平行于相机平面的法向量,它大小是∥N∥\Vert N \Vert∥N∥,等于相机到标定平面的距离。由(1)可知
N=−R3(R3T⋅t)(3)N = -R_3(R^T_3 \cdot t) \tag{3} N=−R3​(R3T​⋅t)(3)
其中R3R_3R3​表示旋转矩阵RRR的第三列,ttt是世界坐标原点在相机系下表示。
note: pc=RP+tp_c = R P + tpc​=RP+t, 当P=[0,0,0]TP=[0, 0, 0]^TP=[0,0,0]T时, pc=tp_c = tpc​=t, 当pc=[0,0,0]Tp_c = [0, 0, 0]^Tpc​=[0,0,0]T时,P=−RTtP=-R^T tP=−RTt

由于激光点必须位于相机估计的标定平面上,因此我们得到了相机坐标系和激光坐标系之间刚性转换的几何约束。给定一个激光点PfP^fPf(激光坐标系),从等式(2),我们可以通过P=Φ−1(Pf−Δ)P = \Phi^{-1}(P^f - \Delta)P=Φ−1(Pf−Δ)确定相机坐标系下的PPP,由于PPP在定义的NNN的相机平面上,它满足N⋅P=∥N∥2N \cdot P = \Vert N \Vert^2N⋅P=∥N∥2,我们有
N⋅Φ−1(Pf−Δ)=∥N∥2(4)N \cdot \Phi^{-1}(P^f-\Delta) = \Vert N \Vert^2 \tag{4} N⋅Φ−1(Pf−Δ)=∥N∥2(4)
对于一个可测的标定平面参数NNN和点PfP^fPf给定了一个约束Φ,Δ\Phi, \DeltaΦ,Δ。

III Solving Extrinsic calibration

这一节提出了如何有效的求解相机和激光测距仪系统的外参标定问题。我们首先提出了线性解,接着带有outlier检测的非线性优化,最后,全局优化来提升外参数。与标准单相机标定方法相比,它可以扩展为更精确地提升内参数精度。

A 线性解

首先,我们假设相机已经标定8,剩下的是通过解照相机相对于棋盘的位姿来确定标定平面参数,这已被讨论9。一旦相机相对于棋盘格的外参(R,t)(R,t)(R,t)确定,标定平面的参数NNN可以通过等式(3)获得。

在激光坐标系中,所有的激光点都在Y=0Y=0Y=0的平面上,一个激光点可表示为P^f=[X,Z,1]T\hat P^f = [X, Z, 1]^TP^f=[X,Z,1]T。我们可重写等式(4)为
N⋅HP^f=∥N∥2H=Φ−1(1000−Δ01)(5)N \cdot H \hat P^f = \Vert N \Vert^2 \tag{5} \\ H = \Phi^{-1} \begin{pmatrix} 1 & 0 & \\ 0 & 0 & - \Delta \\ 0 & 1 & \end{pmatrix} N⋅HP^f=∥N∥2H=Φ−1⎝⎛​100​001​−Δ​⎠⎞​(5)
note:
(10−tx00−ty01−tz)(XZ1)=(X−tx−tyZ−tz)=(P^f−Δ)\begin{pmatrix} 1 & 0 & -t_x \\ 0 & 0& -t_y \\ 0 & 1 & -t_z \end{pmatrix} \begin{pmatrix} X \\ Z \\ 1 \end{pmatrix}= \begin{pmatrix} X - t_x \\ -t_y \\ Z - t_z \end{pmatrix}= \begin{pmatrix} \hat P^f - \Delta \end{pmatrix} ⎝⎛​100​001​−tx​−ty​−tz​​⎠⎞​⎝⎛​XZ1​⎠⎞​=⎝⎛​X−tx​−ty​Z−tz​​⎠⎞​=(P^f−Δ​)
其中HHH是从激光坐标系到相机坐标系变换的3×33 \times 33×3矩阵。对于每一个相机平面的pose,我们有一些包含未知参数HHH的等式,可以用线性最小二乘解之。一旦HHH确定了,我们可以估计相机的相对方向和位置
Φ=[H1,−H1×H2,H2]TΔ=−[H1,−H1×H2,H2]TH3\Phi = [H_1, -H_1 \times H_2, H_2]^T \\ \Delta = -[H_1, -H_1 \times H_2, H_2]^T H_3 Φ=[H1​,−H1​×H2​,H2​]TΔ=−[H1​,−H1​×H2​,H2​]TH3​
其中HiH_iHi​是HHH的第iii列。

计算得到的矩阵Φ\PhiΦ可能不满足旋转矩阵的特性,旋转矩阵Φ\PhiΦ可通过最小化二范数Φ^−Φ\hat \Phi - \PhiΦ^−Φ解之,即使得Φ^Φ^=I\hat \Phi \hat \Phi = IΦ^Φ^=I。关于矩阵计算的细节可参考这里10。这就得到了Φ^,Δ\hat \Phi, \DeltaΦ^,Δ的直接估计,相机和激光测距仪的相对pose。

B Nonlinear Optimization

上面获得的解是通过最小化代数距离而不与我们的测量直接相关,我们通过非线性最小化(激光点到棋盘格平面的)欧几里得距离提升它,那样更有物理意义。

等式(4)给了激光点到棋盘格平面的距离。给定不同棋盘格的位姿(位置和方向),我们定义误差函数f(Φ,Δ)f(\Phi, \Delta)f(Φ,Δ)表示在几何iii中的每一个激光点jjj的欧几里得距离之和:
∑i∑j(Ni∥Ni∥⋅(Φ−1(Pijf−Δ))−∥N∥)2(6)\sum_i\sum_j (\frac{N_i}{\Vert N_i \Vert} \cdot (\Phi^{-1}(P^f_{ij} - \Delta))-\Vert N \Vert)^2 \tag{6} i∑​j∑​(∥Ni​∥Ni​​⋅(Φ−1(Pijf​−Δ))−∥N∥)2(6)
其中NiN_iNi​定义第iii个pose的棋盘格平面,旋转Φ\PhiΦ通过Rodrigues公式参数化为3维向量,它用旋转轴和旋转角度表示。我们使用Levenberg-Marquardt方法11 12 13优化等式(6),它需要一个初始化猜想Φ,Δ\Phi, \DeltaΦ,Δ,猜想值可通过前面描述的方法获取。

相机和激光测距仪在输出数据时带有噪声,我们发现激光点的噪声和相机平面的错误估计影响了最终的结果。我们开发了一个鲁棒的方法,迭代的扔掉一些带有很大残差的数据(等式(6))。下面给出简明说明:

  1. 对于每一个view下的棋盘格,标定平面参数NNN在相机坐标系中估计,激光坐标系中提取的激光点,提取的激光点可通过这些点拟合的线来估计。这样构造了所以棋盘格的有效pose集合。
  2. 根据当前有限的pose集,通过最小化权重等式(6)估计相机的方向和位置,可写为:
    ∑i∑jwi(Ni∥Ni∥⋅(Φ−1(Pijf−Δ))−∥N∥)2(7)\sum_i \sum_j w_i(\frac{N_i}{\Vert N_i \Vert} \cdot (\Phi^{-1}(P^f_{ij} - \Delta))-\Vert N \Vert)^2 \tag{7} i∑​j∑​wi​(∥Ni​∥Ni​​⋅(Φ−1(Pijf​−Δ))−∥N∥)2(7)
    其中 wiw_iwi​是第iii个激光点的权重,它可以根据激光点估计的噪声来计算。
  3. 清空有效pose。对于每个pose,使用当前估计的相机方向和位置计算激光点到棋盘平面的平均3D投影误差ϵ\epsilonϵ。如果投影误差ϵ<δ\epsilon < \deltaϵ<δ,我们增加pose到有效pose集合,其中δ\deltaδ表示最大平均误差的阈值。
  4. 重复2, 3步骤,直到收敛(经验上2到3次到达收敛)。

C Global Optimization

实践中,相机标定不是精确已知的,它的测量误差影响外参标定的性能。给定一个相机的相关位置和方向,激光数据给定了平面模板位置上的一个额外的约束,它可以用来分析相机内参标定。因此,相机的内参和外参可以通过带有初始化估计的内外参全局优化提升精度它。

给定不同视角下的棋盘和平面的角点,可以得到角点的重投影误差:
∑i∑j∥pij−p^(K,Ri,ti,Pj)∥(8)\sum_i \sum_j \Vert p_{ij} - \hat p(K, R_i, t_i,P_j) \Vert \tag{8} i∑​j∑​∥pij​−p^​(K,Ri​,ti​,Pj​)∥(8)
其中p^(K,Ri,ti,Pj)\hat p(K, R_i, t_i, P_j)p^​(K,Ri​,ti​,Pj​)是点PjP_jPj​在图像iii上的投影(参考等式(1))。

对于等式(6),我们通过最小化重投影误差和激光到相机平面距离误差来做全局优化:
∑i∑jd2(P(Φ,Δ,Pijf),N(Ri,ti))+α∑i∑j∥pij−p^(K,Ri,ti,Pj)∥2\sum_i \sum_j d^2(P(\Phi, \Delta, P^f_{ij}),N(R_i, t_i)) + \alpha \sum_i \sum_j \Vert p_{ij} - \hat p(K, R_i, t_i,P_j) \Vert^2 i∑​j∑​d2(P(Φ,Δ,Pijf​),N(Ri​,ti​))+αi∑​j∑​∥pij​−p^​(K,Ri​,ti​,Pj​)∥2
其中N(Ri,ti)N(R_i, t_i)N(Ri​,ti​)是pose i 的相机平面参数(参考等式(3)),P(Φ,Δ,Pijf)P(\Phi, \Delta, P^f_{ij})P(Φ,Δ,Pijf​)表示激光点PijfP^f_{ij}Pijf​在相机坐标系下的坐标(参考等式(2)),d2(P,N)d^2(P,N)d2(P,N)表示PPP到面NNN的平方距离。α\alphaα尺度权重,用于归一化激光点误差与相机误差
的相对贡献(contribution)。

非线性最小化问题,可通过Levenberg-Marquardt方法求解,它需要初始化解(猜想)Φ,Δ,{Ri,ti,∣i=1...n}\Phi, \Delta, \{R_i, t_i, | i = 1 ... n\}Φ,Δ,{Ri​,ti​,∣i=1...n},它们可通过前一节讨论的方法获得,以及相机内参的初始化解。

D Algorithm Summary

完整的算法可描述为:

  1. 搭建一个大棋盘,并将其以不同的方向放置在相机激光测距仪系统的前面。
  2. 对于每个棋盘格pose,提取激光读数中的激光点,然后检测图像中的棋盘格点。 估计相机相对于棋盘格方向的RiR_iRi​和位置tit_iti​,然后计算校准平面参数NiN_iNi​。
  3. 使用III中中描述的方法线性计算参数Φ,Δ\Phi, \DeltaΦ,Δ。
  4. 使用III-B中的方法精确Φ,Δ\Phi, \DeltaΦ,Δ。
  5. 如果有必要通过等式(9)精度所有的参数。

IV Experiments

本文提出的方法使用matlab实现LCCT-2,LCCT-1。这一节中将描述计算机模拟数据和真实数据的测试。闭合解提供了非线性优化的初始条件,也测试了所有参数的全局优化。

Reference


  1. D. Ortin, J. Montiel, and A. Zisserman. Automated multisensor polyhedral model acquisition. In Proc. IEEE International Conference on Robotics and Automation, pages 1007–1012, 2003. ↩︎

  2. H. Baltzakis, A. Argyros, and P. Trahanias. Fusion of laser and visual data for robot motion planning and collision avoidance. Machine Vision and Application, 12:431–441, 2003. ↩︎

  3. C. Grimm and B. Smart. Lewis the Robot Photographer. In ACM SIGGRAPH, San Antonio, Texas, 2002. ↩︎

  4. Y. Liu and R. Emery. Using EM to learn 3d environment models with mobile robots. In Proc. 18th International Conference on Machine Learning, 2001. ↩︎

  5. C. Frh and A. Zakhor. Data processing algorithms for generating textured 3d building facade meshes from laser scans and camera images. In Proc. 3D Data Processing, Visualization and Transmission 2002, pages 834 – 847, June 2002. ↩︎

  6. O. Jokinen. Self-calibration of a light striping system by matching multi-ple 3-d profile maps. In Proc. the 2nd International Conference on 3D Digital Imaging and Modeling, pages 180–190, 1999. ↩︎

  7. R. Hartley and A. Zisserman. Multiple view geometry in computer vision. Cambridge University Press, 2000. ↩︎

  8. Jean-Yves Bouguet. Camera Calibration Toolbox for Matlab, 2003. ↩︎

  9. Zhengyou Zhang. Flexible camera calibration by viewing a plane from unknown orientations. In Proc. International Conference on Computer Vision, September 1999. ↩︎

  10. G. Golub and C. Van Loan. Matrix Computation. John Hopkins Studies in the Mathematical Sciences. Johns Hopkins University Press, Baltimore, Maryland, third edition, 1996. ↩︎

  11. K. Levenberg. A method for the solution of certain problems in least squares. Quarterly Applied Math. 2, pp. 164-168, 1944., 2:164–168, 1944. ↩︎

  12. D. Marquardt. An algorithm for least squares estimation of nonlinear parameters. SIAM Journal of Applied Math, 11:431–441, 1963. ↩︎

  13. J. J. Mor. The Levenberg-Marquardt algorithm: Implementation and theory. In G A Watson, editor, Lecture Notes in Mathematics, volume 630, pages 105–116. Springer Verlag, 1977. ↩︎

相机与激光测距仪的外参标定(提升相机标定)相关推荐

  1. 使用ros标定相机的内参和外参

    使用ros标定相机的内参和外参 1 安装依赖 2 运行标定节点 2.1 rocore 2.2 启动摄像头驱动程序 2.3 加载将要标定的图像主题 3 开始标定 3.1 打印一张棋盘格图片 3.2 具体 ...

  2. 相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 介绍

    相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 相机与激光雷达外参标定 功能包介绍 环境配置及功能包安装 功能包节点 准备内容 1 l ...

  3. 相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法

    相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法 livox_camera_lidar_calibration 功能包介绍 使 ...

  4. 无标定物体环境下,高分辨率雷达与相机的像素级外参标定

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:Pixel-level Extrinsic Self Calibration of High R ...

  5. 无目标场景下高分辨率激光雷达和相机的像素级外参自标定

    文章:Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera in Targetless Environm ...

  6. 相机成像模型、相机内参、外参、以及相机标定

    看了一圈各个平台讲解相机模型.相机标定的文章,很多只是简单罗列几个公式,其中的细节都没说明,本着学习的出发点写下这篇文章,希望能给初学者解惑.本文主要讲解相机模型,一步步推导从世界坐标系到图像坐标系的 ...

  7. 最本质的相机内参intrinsics与外参extrinsics分析,从建模,推导到求解

    相机内参与外参分析,从建模,推导到求解:Camera Extrinsics and Intrinsics. I. 坐标系的建立,Coordinate System. II. 转换关系,Transfor ...

  8. 使用Kalibr标定相机和IMU(ZED+px4)外参

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 使用Kalibr标定相机和IMU(ZED+px4)外参 前言 一.Kalibr介绍 二.CAM-IMU外参标定 1.相机内参 2.IM ...

  9. 基于点云强度的3D激光雷达与相机的外参标定

    本文提出一种新颖的方法,可以对3D lidar和带有标定板的相机进行全自动的外参标定,提出的方法能够从lidar的每一帧点云数据中利用强度信息提取标定板的角点.通过激光的反射强度和棋盘格颜色之间的相关 ...

最新文章

  1. 机房几台终端电脑,本地连接中不停的出现连接和断开,网络不通,解决方法...
  2. 【解决方案】from pip import main
  3. 【java】Charset 字符集
  4. Filter_细节_过滤器链(多个过滤器)
  5. Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置
  6. 【DevOps】从理念到实施
  7. oracle ^]字符,oracle数据中特殊字符处理
  8. mapbox 将坐标转换成米
  9. Easyui清除tree的选中
  10. 执行挂起状态线程的终止与暂停
  11. 基于开源 Rexsee 的 UP 移动浏览器开放测试
  12. 关于线性稳压芯片或类似的电路构成稳压电路发热严重的问题
  13. 域名解析到服务器ip,域名解析到服务器ip上无法访问的原因汇总
  14. 数据结构与算法(回文数与括号匹配问题)
  15. 阿里云赵明山:详解灵活可插拔的渐进式发布框架OpenKruise Rollout
  16. STL——标准模板库
  17. 新浪股东批准私有化合并协议;中集车辆创业板成功过会;中国红牛2020年销售额超228亿元​ | 美通企业周刊...
  18. 解决WH1000XM3连接电脑无法使用麦克风问题
  19. jmeter压力测试工具,雪崩效应,容错组件Sentinel
  20. MBA-day26 数的概念与性质

热门文章

  1. 纽约市联网车辆试点数据现已可用
  2. ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)
  3. 日语拨音、浊音、半浊音、拗音、长音、促音介绍(括号中为键盘输入方式)
  4. ie浏览器点击超链接或按钮没反应怎么办
  5. android 常用的listview管理示例
  6. C++侯捷 学习记录 (一)
  7. 什么是Alpha通道
  8. 计算机音乐教学软件,音乐教学软件有哪些?小知大数智慧音乐教育平台学生使用手册...
  9. 物联网碰壁后,这位创业者总结失败五大原因
  10. 在Linux-C中使用read函数返回值为0的问题