FAST-Calib: LiDAR-Camera Extrinsic Calibration in One Second
Extracted source text · arXiv 2507.17210
\documentclass[letterpaper, 10 pt, conference]{ieeeconf}
\IEEEoverridecommandlockouts
\usepackage[utf8]{inputenc}
\usepackage[noend]{algpseudocode}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{color}
\usepackage{array}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{hyperref}
\urlstyle{same}
\usepackage{makecell}
\usepackage{siunitx}
\usepackage[space]{cite}
\usepackage[linesnumbered,boxed,ruled,commentsnumbered]{algorithm2e}
\graphicspath{{figures/}}
\DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps}
\usepackage{tabularx}
\usepackage{threeparttable}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
% correct bad hyphenation here
\hyphenation{op-tical net-works semi-conduc-tor}
\pagestyle{empty}
\setlength{\abovecaptionskip}{0.cm}
\begin{document}
%
% paper title
% can use linebreaks \\ within to get better formatting as desired
\title{\LARGE \bf FAST-Calib: LiDAR-Camera Extrinsic Calibration in One Second}
%
\author{Chunran Zheng$^{1}$ and Fu Zhang$^{1}$ % <-this % stops a space
\thanks{$^{1}$C. Zheng and F. Zhang are with the Department of Mechanical Engineering, The University of Hong Kong, Hong Kong Special Administrative Region, People's Republic of China.
{\tt\footnotesize $\{$zhengcr$\}$@connect.hku.hk}, {\tt\footnotesize $ $fuzhang$ $@hku.hk}
}
}
% The paper headers
\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}%
{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Journals}
% use for special paper notices
%\IEEEspecialpapernotice{(Invited Paper)}
\maketitle
\thispagestyle{empty}
\begin{abstract}
This paper proposes FAST-Calib, a fast and user-friendly LiDAR–camera extrinsic calibration tool based on a custom-made 3D target. FAST-Calib supports both mechanical and solid-state LiDARs by leveraging an efficient and reliable edge extraction algorithm that is agnostic to LiDAR scan patterns. It also compensates for edge dilation artifacts caused by LiDAR spot spread through ellipse fitting, and supports joint optimization across multiple scenes.
We validate FAST-Calib on three LiDAR models (Ouster, Avia, and Mid360), each paired with a wide-angle camera. Experimental results demonstrate superior accuracy and robustness compared to existing methods. With point-to-point registration errors consistently below \SI{6.5}{\milli\meter} and total processing time under \SI{0.7}{\second}, FAST-Calib provides an efficient, accurate, and target-based automatic calibration pipeline.
We have open-sourced our code and dataset on GitHub\footnote[2]{\url{https://github.com/hku-mars/FAST-Calib}} to benefit the robotics community.
\end{abstract}
\IEEEpeerreviewmaketitle
\section{Introduction}
Extrinsic calibration between LiDAR and camera aims to estimate the rigid transformation between their spatial coordinate systems. This is a fundamental requirement for multi-sensor fusion in autonomous driving applications such as tracking\cite{dimitrievski2019behavioral}, mapping\cite{zheng2022fast, zheng2024fast, liu2024neural, liu2025gs, hong2025gs}, and object detection \cite{zhao2020fusion, li2022deepfusion}.
In production lines, calibration is typically performed in dedicated calibration rooms, where controlled environments and standardized procedures ensure high accuracy and repeatability. Compared to scene-based methods \cite{yuan2021pixel, ye2024mfcalib, koide2023general, pandey2012automatic}, such setups yield lower inter-batch variance and more stable results.
However, when attempting to transfer factory calibration boards to laboratory environments, existing target-based methods (e.g., Velo2Cam\cite{beltran2022automatic}, JointCalib\cite{yan2023joint}) encounter several practical limitations:
1) \textbf{Limited Compatibility:} Most existing tools cannot support both mechanical and solid-state LiDARs due to their different scan patterns;
2) \textbf{Low Automation:}
In factory settings, calibration boards are placed at fixed positions for easy detection. In lab environments, arbitrary placement requires manual depth filtering to extract the region of interest from the LiDAR point cloud;
3) \textbf{No Multi-Scene Support:}
In factory settings, multiple boards are placed within the sensor Field of View (FoV) to increase robustness. In lab environments, space constraints typically allow only a single board, requiring multiple captures and joint optimization;
4) \textbf{Low Efficiency:} Multi-scene calibration often involves multiple processing steps and cannot achieve second-level calibration speed;
5) \textbf{Edge Dilation Problem:} For LiDARs with large spot sizes (e.g., Livox LiDAR), the edge of calibration boards often appears expanded, leading to inaccurate feature correspondence between LiDAR and camera data.
To the best of our knowledge, no open-source tool simultaneously addresses all of these challenges. The absence of a practical and general-purpose calibration solution remains a key bottleneck for the deployment of LiDAR-camera fusion.
To this end, we propose FAST-Calib: a fast and user-friendly extrinsic calibration tool for LiDAR-camera systems (e.g., FAST-LIVO2). Our contributions are as follows:
\begin{enumerate}
\item Robust extraction of circular hole edges that is agnostic to LiDAR scan patterns, supporting both mechanical and solid-state LiDARs.
\item Ellipse fitting to compensate for edge dilation caused by LiDAR spot spread, improving the accuracy of hole center extraction.
\item Providing an efficient, accurate, and target-based automatic calibration pipeline with multi-scene joint refinement, allowing production-line calibration procedures to be replicated in laboratory settings.
\end{enumerate}
\begin{figure}[t]
\begin{center}
{\includegraphics[width=1\columnwidth]{figures/calibration_target.jpg}}
\end{center}
\vspace{-0.2cm}
\caption{\label{fig:target}Left: The custom-made calibration target; Right: The corresponding technical drawing with annotated dimensions.}
\vspace{-0.2cm}
\end{figure}
\section{Related works}
LiDAR-camera extrinsic calibration methods are generally divided into target-based and targetless approaches, with the latter including motion-based and scene-based methods.
\subsection{Targetless Calibration\label{targetless}}
% Targetless methods 不会显式的检测已知几何形状的标定板. Instead, they use the more general plane and edge features that existed in nature. In [12], the LiDAR points are first projected onto the image plane and colored by depth and reflectivity values. Then 2D edges are extracted from this 映射图 and matched with those obtained from the image. Similarly, authors in [13] optimize the extrinsic calibration by maximizing the mutual information between the reflectivity and RGB image. 但这种scene-based的方法在实际使用中很依赖场景,他需要图像的明暗变化的边缘和点云的几何边缘是物理上对应的,这对自然场景的光照以及结构化都提出了很高的要求,这种场景极难获得,这反而大大限制了标定的稳定性。
% Motion-based methods have also been introduced in [16, 17] that the extrinsic is estimated on a rigid body based on their motions 通过被fomulated为一个手眼标定问题. This motion-based calibration typically requires 相机和LiDAR进行硬件时间同步 且 the sensor to move along a sufficient excited trajectory. Furthermore, we need to estimate the per-sensor motion as accurately as possible for better calibration results,这个也比较难做得很准。
Scene-based methods avoid explicit detection of known calibration targets and instead rely on natural features such as planes and edges. For example, \cite{zhu2021camvox} projects LiDAR points onto the image plane, encodes them with depth and reflectivity, and extracts 2D edges from the resulting projection map for matching with image edges. In \cite{pandey2012automatic, koide2023general}, the extrinsic parameters are optimized by maximizing mutual information (NID or MI metrics) between LiDAR reflectivity and image intensity. \cite{yuan2021pixel} also directly extract 3D edge features from the LiDAR point cloud for subsequent matching.
However, scene-based methods are highly dependent on environmental conditions. They assume that edges caused by photometric changes in the image correspond physically to geometric edges in the LiDAR point cloud. In practice, such conditions are hard to guarantee, which significantly limits the stability and robustness of these methods.
Motion-based methods \cite{tsai1989new, nagy2019online} estimate extrinsic parameters by formulating the problem as hand–eye calibration on a rigid sensor setup. They require hardware time synchronization between the LiDAR and camera, as well as sufficiently excited trajectories. Accurate per-sensor motion estimation is also critical, but often difficult to achieve in practice.
\subsection{Target-based Calibration\label{target-based}}
% 相比于targetless methods, the target-based approach is the most natural way for LiDAR-camera extrinsic calibration 类似于well-known相机内参的checkerboard标定法. Once we obtain the 3D coordinates of points on a calibration target and their corresponding 2D coordinates projected in the image, we can easily estimate the LiDAR-camera transformation.
% 一些常见的方法会直接使用checkerboard来构建相机和LiDAR的关联,但这会很依赖于LiDAR的reflectivity测量的精度,以及这种黑白标定板由于反射率问题点云会很粗糙。
% 除此之外,Several studies 设计了一些比较好用的3D structured calibration target,比如 velo2cam [8], JointCalib [9],但是他们一般只适用于机械LiDAR,且需要麻烦的manual annotation of LiDAR data。除此之外,他们必须需要多次数据采集,由于特征提取的精度有限,resulting in a large amount of effort 。 我们采用的就是[8]设计的标定板,并解决了上述提到的问题,保证了通用适配不同LiDAR型号的,single-shot, 便捷且迅速的完成自动标定的流程。
Compared to targetless methods, the target-based approach offers a more straightforward and environment-independent solution for LiDAR-camera extrinsic calibration, analogous to the well-known checkerboard-based method\cite{zhang2002flexible} for camera intrinsics.
Once the 3D coordinates of points on the calibration target and their corresponding 2D projections in the image are obtained, the transformation between the LiDAR and camera can be estimated directly.
Some existing methods\cite{unnikrishnan2005fast,zhou2018automatic,cui2020acsc} directly use checkerboards to establish correspondences between the camera and LiDAR. However, these approaches rely heavily on the LiDAR’s reflectivity measurement accuracy. In addition, the strong reflectance contrast between black and white regions often results in noisy or incomplete checkerboard point clouds.
To address these issues, several studies have proposed more practical 3D structured calibration targets, such as Velo2Cam\cite{beltran2022automatic} and JointCalib\cite{yan2023joint}. However, these methods are only applicable to mechanical LiDARs and require labor-intensive manual annotation of the LiDAR point cloud.
Moreover, due to limited feature extraction accuracy, they often require multiple data captures, resulting in substantial effort.
In this work, we adopt the calibration target from \cite{beltran2022automatic} but address these limitations by enabling an efficient and automatic calibration pipeline that supports diverse LiDAR types.
\begin{figure*}[t]
\begin{center}
{\includegraphics[width=1.85\columnwidth]{figures/Framework.jpg}}
\end{center}
\vspace{-0.3cm}
\caption{\label{fig:framework}System overview of FAST-Calib.}
\vspace{-0.4cm}
\end{figure*}
\section{Methodology}
% 0. Marker detection
% 1. ROI区域大致提取
% 2. Plane Segmentation
% 3. Plane Alignment to 2D
% 4. Boundary Point Detection
% 5. Clustering and Circle Fitting
% 6. 3D-3D 外参解算
\subsection{Overview}\label{subsec:overview}
% 我们需要把定制的板子摆放到相机和LIDAR的视野中。
% 我们首先通过merge multiple LiDAR scans构建稠密的LiDAR 点云,如果是线数<=32线的机械雷达,累积点云过于稀疏,可以用FAST-LIVO2中的LO模式通过轻轻移动pitch角来累积点云。这样就准备好了a paired densified point cloud and camera image, 后续算法流程,如图2, 对于LiDAR Data Processing,我们通过ROI Extraction和Hole Edge Extraction获取到four circular holes center在LiDAR坐标系下的位置。对于Camera Data Processing,four ArUco markers [28] are placed 在标定板子上的已知位置 so that circular holes center在camera坐标系下的位置 can be inferred from camera image. 最后对于对于这4组点(或者4n组点),通过Registration来获取最后的transformation。
To prepare the calibration data, we first place the custom-made board\cite{beltran2022automatic} within the overlapping FoV of both sensors.
We then merge multiple LiDAR scans to build a dense point cloud. For 16-line mechanical LiDARs, the accumulated data may still be too sparse. In such cases, we adopt the LiDAR odometry mode from FAST-LIVO2, which allows slight pitch movements to aggregate more points. This results in a paired dense point cloud and image for subsequent processing.
% allowing slight pitch movement to aggregate more points. This produces a paired dense point cloud and camera image for further processing.
As shown in Fig. \ref{fig:framework}, FAST-Calib consists of two main stages.
In the LiDAR data processing stage (blue part), we perform rough ROI extraction, plane segmentation and circular hole edge extraction to localize the four hole centers in the LiDAR coordinate frame.
In the camera data processing stage (red part), we use four ArUco markers\cite{garrido2014automatic} placed at known positions on the calibration target to infer the corresponding hole centers in the camera coordinate frame.
Finally, the extrinsic transformation is estimated via geometric registration using 4 (or 4$n$) pairs of 3D–3D correspondences.
\subsection{Camera Data Processing\label{camera_data}}
We first perform ArUco marker detection, which provides geometric references for recovering the positions of the circular holes.
Given the known camera intrinsics and the physical dimensions of the markers, the 3D pose of each marker relative to the camera frame is estimated by solving a Perspective-n-Point (PnP) problem.
The average pose of the four detected markers is then adopted as the estimated pose of the calibration board, thereby determining the position and orientation of the board coordinate frame.
Using the known physical layout of the four hole centers with respect to the board frame, their corresponding 3D positions in the camera frame can be computed.
The resulting hole centers are denoted as the point set $\mathcal{P}_C$.
\subsection{LiDAR Data Processing\label{lidar_data}}
\subsubsection{ROI Extraction\label{roi_extract}}
% 这一章节分为rough ROI extraction和plane segmentation. 首先我们进行rough ROI extraction,我们首先需要使用xyz三轴的pass-through filters来获得包含calibration target区域的点云,尽可能的remove感兴趣区域之外的点云,不用调节太严格精确的参数,这是为了避免会影响处理速度的错误检测。板子后面和侧面是否有点都没有关系,不影响后续的操作。然后对这些点云实施plane segmentation,通过RANSAC在点云中随机选3个点拟合平面模型,找到rough ROI里拥有inlier(即小于平面0.01m)最多的平面,即最大的那个平面,并提取所有距离该平面足够近的内点,作为平面点云输出。
This section is divided into two stages: rough ROI extraction and plane segmentation.
We begin with rough ROI extraction by applying pass-through filters along the X, Y, and Z axes to isolate the point cloud region containing the calibration target.
The goal is to roughly filter out most of the points outside the target region, without needing fine-grained tuning of the pass-through parameters.
% This helps prevent false detections that could slow down processing.
Note that some points behind or beside the calibration target may remain after filtering, but they do not affect subsequent operations.
Next, we perform plane segmentation on the filtered point cloud. Using RANSAC, we randomly sample three points to fit a plane model and identify the one with the largest number of inliers (i.e., points within \SI{0.01}{\meter} of the plane).
The inliers of this dominant (i.e., largest) plane are then extracted as the final planar point cloud.
\subsubsection{Hole Edge and Center Extraction\label{lidar_hole_center}}
% 得到标定板平面点云后,我们需要提取圆洞的边缘点,进而得到圆洞中心的位置。为了便于后续的边缘点检测,我们将平面点云旋转对齐到 z=0 平面,形成2D点云。然后对2D点云进行边缘点检测。对于任意一点,通过计算其0.03m内邻域点相对于中心点的方向角,按照增序排列,计算相邻角度之间的差值,寻找最大的角度间隙。如果最大角度间隙大于π/4,则判定为边缘点。得到边缘点后,对这些点进行欧氏聚类,对每个聚类尝试进行椭圆拟合。根据拟合误差筛选符合条件的圆洞,并恢复圆心坐标从z=0到原始坐标系。
After obtaining the planar point cloud of the calibration target, we apply voxel downsampling with a resolution of \SI{8}{\milli\meter} along all three axes. We then extract the edge points of the circular holes.
To facilitate this, the planar point cloud is rotated and aligned to $z = 0$ plane, resulting in a 2D-aligned point cloud. In a 2D plane, non-boundary points typically have neighbors evenly distributed in all directions, whereas edge points exhibit significant directional gaps in their local neighborhood. For each 2D point $\mathbf{p}_i$, the direction angles to its neighboring points $\mathbf{p}_j$ within a \SI{0.03}{\meter} radius are computed as follows:
\begin{align}
\theta_j &= \text{atan2}\big( (\mathbf{p}_j - \mathbf{p}_i)_y,\ (\mathbf{p}_j - \mathbf{p}_i)_x \big)
% \text{max\_gap} &= \max(\Delta \theta_1,\, \dots,\, \Delta \theta_N)
\label{eq_theta}
\end{align}
These angles are sorted in ascending order, and the differences between adjacent angles are calculated in Eq.~\eqref{eq:delta_theta} to identify the largest angular gap. If the maximum gap exceeds \SI{25}{\degree}, the point is classified as an edge point.
\begin{equation}
\begin{aligned}
\Delta \theta_k &= \theta_{k+1} - \theta_k, \,\, \text{for } k = 1, \dots, N{-}1 \\
\Delta \theta_N &= \theta_1 + 2\pi - \theta_N
\end{aligned}
\label{eq:delta_theta}
\end{equation}
Edge points are then grouped using Euclidean clustering. To identify circular hole candidates and compensate for edge dilation caused by LiDAR spot spread, we perform ellipse fitting on each cluster of edge points using the general conic form:
\begin{equation}
Ax^2 + Bxy + Cy^2 + Dx + Ey + F = 0
\end{equation}
where $(A, B, C, D, E, F)$ are the parameters to be estimated.
We adopt the direct least squares method proposed by \cite{fitzgibbon1996direct}, with an additional constraint to ensure that the fitted conic is an ellipse, i.e., $B^2 - 4AC < 0$.
The center of the fitted ellipse is then computed analytically as:
\begin{equation}
x_c = \frac{2CD - BE}{B^2 - 4AC}, \quad y_c = \frac{2AE - BD}{B^2 - 4AC}
\end{equation}
Given the geometric prior of circular holes, we validate each fitted ellipse using two criteria:
1) Its semi-major axis length must differ from the known hole radius by less than \SI{4}{\centi\meter};
2) Its eccentricity must be sufficiently low to indicate a near-circular shape.
Ellipses meeting both criteria are accepted as valid circular hole extractions.
% To evaluate the quality of the fit, we compute the total algebraic distance between the ellipse and the edge points:
% \begin{equation}
% E = \sum_{i=1}^{N} \left(Ax_i^2 + Bx_iy_i + Cy_i^2 + Dx_i + Ey_i + F\right)^2.
% \end{equation}
% Clusters with sufficiently low fitting error are retained as valid hole candidates.
% For each cluster, ellipse fitting is performed, and clusters with sufficiently low fitting error are identified as valid circular holes.
Finally, the hole center coordinates are transformed from the $z = 0$ plane to the original coordinate frame, yielding the point set $\mathcal{P}_L$.
\subsection{Registration\label{registration}}
% 对于两组来自与相机和LiDAR坐标系下圆洞中心点云,需要找到一个刚体变换来最小化他们对应点之间的距离,这是一种已知匹配关系的ICP。assuming that the p^c_i in P_C 和p^L_i in P_L 是一一对应的,需要找到最优的 transformation matrix T_cl 去 minimizes the least-squares error : $\frac{1}{4 \cdot M} \sum_{i=1}^{4 \cdot M} \left\| \mathbf{p}_i^X - \mathbf{T}_{XY} \mathbf{p}_i^Y \right\|^2$ 这个问题可以通过Kabsch method(即SVD-based estimation of rigid transformation)直接得到closed-form solution.Note that这个方法很容易被扩展为处理M次multi-scene capture带来的4xM个约束,因为本质上都是两组点的匹配问题。
Given two sets of circular hole centers extracted in the camera and LiDAR coordinate frames, the goal is to find a rigid transformation that minimizes the distances between corresponding points. Under the assumption of a one-to-one correspondence between points $\mathbf{p}_i^C \in \mathcal{P}_C$ and $\mathbf{p}_i^L \in \mathcal{P}_L$, the optimal transformation $\mathbf{T}_{CL}$ is estimated by minimizing the following least-squares error:
\begin{equation}
\frac{1}{4 \cdot N} \sum_{i=1}^{4 \cdot N} \left\| \mathbf{p}_i^C - \mathbf{T}_{CL} \mathbf{p}_i^L \right\|^2
\label{eq:register}
\end{equation}
This problem admits a closed-form solution via the Kabsch method, which estimates the rigid transformation using singular value decomposition (SVD).
The formulation naturally extends to the case of $N$ distinct captures (i.e., multi-scene joint calibration), each contributing 4 matching points and yielding a total of $4 \cdot N$ constraints. The problem remains a point-to-point registration task with known correspondences.
\section{Experiment}
% 我们验证了我的标定工具在三种LiDAR上,OS1-rev5-128, Livox Avia and Mid360,以及搭配广角相机(CMOS是MV-CS050-10UC,镜头是LM5JCM),我们的sensor suite已经开源在GitHub. 每种传感器组合采集4 pairs of 累积的LiDAR point clouds and camera images.
% 相机内参和畸变模型, 我们已提前标定过.
We validate our calibration tool on three sensor configurations: OS1-128, Livox Avia, and Mid360, each paired with a wide-angle camera (MV-CS050-10UC CMOS sensor with an LM5JCM lens). Our sensor suite has been open-sourced on GitHub\footnote[3]{\url{https://github.com/xuankuzcr/LIV_handhold}}. For each configuration, we collect four pairs of accumulated LiDAR point clouds and corresponding camera images. The intrinsic parameters and distortion model of the camera are pre-calibrated.
\subsection{Consistency Evaluation\label{sec:consistent}}
%To evaluate the consistency of the proposed calibration 方法, 我们对每种传感器配置设置了4组实验, 分别是, 4 pair数据选3组联合标定, 以及4组联合优化的结果, 一共这4轮runs As shown in Fig. 3, 对于每一种传感器配置, 由不同测试run得到的the distribution of converged extrinsic values. 由散点图可以看到, 方差非常小.
To evaluate the consistency of the proposed calibration method, we perform five experiments for each sensor configuration: four runs using different combinations of three out of four data pairs for joint calibration, and one run using all four pairs for joint optimization. As shown in Fig. \ref{fig:consist}, the scatter plots illustrate the distribution of the converged extrinsic parameters for the Livox Avia, Mid360, and Ouster configurations. In each sensor configuration, the estimated extrinsic parameters between the camera and various LiDAR models exhibit low variance across all six degrees of freedom, demonstrating the consistency and robustness of FAST-Calib.
% In each sensor configuration, the estimated extrinsic parameters between the camera and various LiDAR models exhibit minimal variance across all six degrees of freedom, highlighting the consistency and robustness of FAST-Calib.
\begin{figure}[htp]
\begin{center}
{\includegraphics[width=1\columnwidth]{figures/1.pdf}}
\end{center}
\vspace{-0.2cm}
\caption{\label{fig:consist}The distribution of converged extrinsic parameters across six degrees of freedom for all data combinations. The nominal (integer) part of each value has been removed for clarity. Star markers denote the results from joint optimization over all four data pairs. To avoid overlap, a small random offset is added to the x-coordinates of the scatter points, while the star markers remain centered for ease of comparison.
}
\vspace{-0.1cm}
\end{figure}
\begin{table}[htp]
\centering
\caption{Residual Comparison (in centimeters) Across Sensors and Algorithms}
\label{tab:residual_comparison}
\begin{tabularx}{\linewidth}{l|l|YYYYY}
\toprule
\textbf{Sensor} & \textbf{Algorithm} & \textbf{Run1} & \textbf{Run2} & \textbf{Run3} & \textbf{Run4} & \textbf{Run5} \\
\midrule
\multirow{2}{*}{Avia}
& Ours & \textbf{0.15} & \textbf{0.22} & \textbf{0.38} & \textbf{0.65} & \textbf{0.25} \\
& Velo2Cam & 15.2 & 10.9 & 16.4 & 12.0 & 16.6 \\
\midrule
\multirow{2}{*}{Mid360}
& Ours & \textbf{0.23} & \textbf{0.14} & \textbf{0.15} & \textbf{0.10} & \textbf{0.16} \\
& Velo2Cam & $\times$ & $\times$ & $\times$ & $\times$ & $\times$ \\
\midrule
\multirow{2}{*}{Ouster}
& Ours & 0.29 & \textbf{0.17} &\textbf{0.21} & \textbf{0.30} & \textbf{0.21} \\
& Velo2Cam & \textbf{0.27} & 0.22 & 0.24 & 0.31 & 0.24 \\
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item[1] $\times$ denotes the method totally failed.
\end{tablenotes}
\vspace{-0.2cm}
\end{table}
\subsection{Accuracy Evaluation}
%我们把我们的方法和Velo2Cam在精度方面做定量的对比。我们沿用的是和这个方法一样的3D structured calibration target,这个方法是通过找到LiDAR在每条ring上的深度不连续点来拟合出圆洞,进而获得其中心坐标。这个方法理论上仅适合多线机械LiDAR,但实际上Livox Avia和Mid360也分别有6个和4个EEL激光器发射,因此我们可以把Velo2cam适配到我们的数据上,得到标定结果,和上一个section一样,我们还是在每个传感器配置上做了5组实验。We compute the residuals in (5) using the two calibrated extrinsic, the quantitative result is shown in Table. 1. 其中Run5是使用了所有数据pair的结果,可以看到在Mid360上的数据,由于线束太少,Velo2cam的精度,且在直接Fail了,而我们的方法在Livox Avia和Mid360上远远超过了Velo2cam的精度,且在ouster的数据上和他achieves similar calibration accuracy。point-to-point的register的residual均小于6.5mm, 体现了FAST-Calib的高精度alignment。
We conduct a quantitative comparison between our method and Velo2Cam\cite{beltran2022automatic} in terms of calibration accuracy. Following their setup, we employ the same 3D structured calibration target (see Fig. \ref{fig:target}). Velo2Cam estimates the centers of circular holes by detecting depth discontinuities along each ring, a technique that is theoretically applicable only to multi-line mechanical LiDARs. However, since the Livox Mid360 and Avia are equipped with 4 and 6 EEL laser emitters respectively, we adapt Velo2Cam to our data to obtain extrinsic calibration results. As described in Section \ref{sec:consistent}, we conduct five experiments for each sensor configuration. The residuals in \eqref{eq:register} are computed using the two sets of calibrated extrinsic parameters, and the quantitative results are presented in Table~\ref{tab:residual_comparison}.
``Run5'' denotes the result obtained using all available data pairs. Our method significantly outperforms Velo2Cam on solid-state LiDARs (i.e, Livox Avia and Mid360). For the Mid360 LiDAR, Velo2Cam fails completely in all five runs due to the extremely sparse and irregular distribution of its laser beams. For the Ouster LiDAR, our method achieves comparable calibration accuracy. In addition, Fig. \ref{fig:colored} shows the qualitative comparison of colored point clouds under the Livox Avia and Ouster sensor configurations.
In all cases, the point-to-point registration residuals remain below \SI{6.5}{\milli\meter}, demonstrating the high-precision alignment capability of FAST-Calib.
\begin{figure}[t]
\begin{center}
{\includegraphics[width=1\columnwidth]{figures/colored.jpg}}
\end{center}
\vspace{-0.2cm}
\caption{\label{fig:colored}(a) and (b) show the point clouds colored with the extrinsic parameters estimated by our method and Velo2Cam, respectively, with all data pairs used for joint calibration. (a1) and (b1) correspond to the Avia LiDAR, while (a2) and (b2) correspond to the Ouster LiDAR.
}
\vspace{-0.4cm}
\end{figure}
\subsection{Runtime Evaluation}
% In this section, we evaluate the processing times for each sensor configuration, 这个耗时是使用4个data pairs联合标定的耗时, tested on a desktop PC equipped with an Intel i7-10700K CPU. 要注意这里面不包含相机内参标定和数据采集的时间。As shown in Table II, 我们的方法在所有的传感器配置中都得到了总耗时小于1second的耗时,因为我们的方法不需要对稠密的点云进行操作,在8mm分辨率降采样的filtered点云上去做后续操作,且边缘提取等操作都是在2D的平面上,不依赖扫描方式且速度极快,且多个数据pairs的processing是可以并行的,多组数据和单组数据的耗时基本相同。
We evaluate the processing time for each calibration step. For each sensor configuration, the reported time corresponds to joint optimization using four data pairs. All experiments were conducted on a desktop PC equipped with an Intel i7-10700K CPU. Note that the reported time excludes camera intrinsic calibration and data collection. As shown in Table~\ref{tab:timing_analysis}, our method achieves a total processing time of less than \SI{0.7}{\second} across all sensor configurations.
The high efficiency of our method stems from several factors. By avoiding operations on dense point clouds and instead working with filtered point clouds downsampled to an \SI{8}{\milli\meter} resolution, computational overhead is significantly reduced. In addition, edge extraction is performed entirely in the 2D plane, enabling fast execution. Furthermore, multiple data pairs can be processed in parallel, leading to a total runtime that is approximately equal to that of processing a single pair.
% \renewcommand\arraystretch{1.5}
\begin{table}[h]
\centering
\caption{Runtime Breakdown (seconds)}
\label{tab:timing_analysis}
\begin{tabular}{>{\raggedright\arraybackslash}p{4cm}ccc}
\toprule
\textbf{Calibration Stage} & \textbf{Avia} & \textbf{Mid360} & \textbf{Ouster} \\
\midrule
\textbf{LiDAR Data Processing} & 0.633 & 0.675 & 0.647\\
\quad ROI Extraction & 0.279 & 0.163 & 0.229\\
\quad Hole Edge \& Center Extraction & 0.354 & 0.512 & 0.418\\
\midrule
\textbf{Camera Data Processing} & 0.031 & 0.018 & 0.028\\
\midrule
\textbf{Registration} & 2.3e-6 & 2.2e-6 & 3.1e-6 \\
\midrule
\textbf{Total} & 0.664 & 0.693 & 0.675\\
\bottomrule
\end{tabular}
% \vspace{-0.4cm}
\end{table}
\section{Conclusion}
We present FAST-Calib, a fast, accurate, and target-based extrinsic calibration tool for LiDAR–camera systems. The proposed method incorporates a novel algorithm for extracting the edges and centers of circular holes, which is independent of the LiDAR scanning pattern. It also supports joint optimization across multiple scenes. Both quantitative and qualitative experimental results demonstrate the consistency, robustness, and accuracy of our approach, as well as its applicability to mechanical and solid-state LiDARs. Moreover, the total processing time remains under one second across all sensor configurations.
With these capabilities, FAST-Calib effectively bridges the gap between production-line calibration and practical deployment in laboratory environments.
%我们提出了FAST-Calib,一个a fast and 有目标的 LiDAR-camera extrinsic calibration tool。我们使用了一个准确且高效,且不依赖于LiDAR扫描模式的圆洞边缘和中心的提取算法,以及支持多场景联合优化。定量和定性的实验结果表明我们方法的一致性,鲁棒性和准确性,以及在机械雷达和固态雷达上的适用性。除此之外,achieve a total processing time of less than 1 s across all sensor configurations,成功的把产线标定的流程引入实验室场景。
% \appendices
% \section{}
% Appendix one text goes here.
% \section{}
% Appendix two text goes here.
% use section* for acknowledgement
\section*{Acknowledgment}
Special thanks to Jiaming Xu for his support, Haotian Li for the equipment.
% Can use something like this to put references on a page
% by themselves when using endfloat and the captionsoff option.
% \ifCLASSOPTIONcaptionsoff
% \newpage
% \fi
% trigger a \newpage just before the given reference
% number - used to balance the columns on the last page
% adjust value as needed - may need to be readjusted if
% the document is modified later
%\IEEEtriggeratref{8}
% The "triggered" command can be changed if desired:
%\IEEEtriggercmd{\enlargethispage{-5in}}
% references section
% can use a bibliography generated by BibTeX as a .bbl file
% BibTeX documentation can be easily obtained at:
% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
% The IEEEtran BibTeX style support page is at:
% http://www.michaelshell.org/tex/ieeetran/bibtex/
%\bibliographystyle{IEEEtran}
% argument is your BibTeX string definitions and bibliography database(s)
%\bibliography{IEEEabrv,../bib/paper}
%
% <OR> manually copy in the resultant .bbl file
% set second argument of \begin to the number of references
% (used to reserve space for the reference number labels box)
\bibliographystyle{IEEEtran}
\bibliography{paper}
\end{document}
% Generated by IEEEtran.bst, version: 1.14 (2015/08/26)
\begin{thebibliography}{10}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
\fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl
\bibitem{dimitrievski2019behavioral}
M.~Dimitrievski, P.~Veelaert, and W.~Philips, ``Behavioral pedestrian tracking
using a camera and lidar sensors on a moving vehicle,'' \emph{Sensors},
vol.~19, no.~2, p. 391, 2019.
\bibitem{zheng2022fast}
C.~Zheng, Q.~Zhu, W.~Xu, X.~Liu, Q.~Guo, and F.~Zhang, ``{FAST-LIVO}: Fast and
tightly-coupled sparse-direct lidar-inertial-visual odometry,'' in \emph{2022
IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2022, pp. 4003--4009.
\bibitem{zheng2024fast}
C.~Zheng \emph{et~al.}, ``{FAST-LIVO2}: Fast, direct lidar-inertial-visual
odometry,'' \emph{IEEE Transactions on Robotics}, 2024.
\bibitem{liu2024neural}
J.~Liu, C.~Zheng, Y.~Wan, B.~Wang, Y.~Cai, and F.~Zhang, ``Neural surface
reconstruction and rendering for lidar-visual systems,'' \emph{arXiv preprint
arXiv:2409.05310}, 2024.
\bibitem{liu2025gs}
J.~Liu, Y.~Wan, B.~Wang, C.~Zheng, J.~Lin, and F.~Zhang, ``Gs-sdf:
Lidar-augmented gaussian splatting and neural sdf for geometrically
consistent rendering and reconstruction,'' \emph{arXiv preprint
arXiv:2503.10170}, 2025.
\bibitem{hong2025gs}
S.~Hong, C.~Zheng, Y.~Shen, C.~Li, F.~Zhang, T.~Qin, and S.~Shen, ``Gs-livo:
Real-time lidar, inertial, and visual multi-sensor fused odometry with
gaussian mapping,'' \emph{IEEE Transactions on Robotics}, 2025.
\bibitem{zhao2020fusion}
X.~Zhao, P.~Sun, Z.~Xu, H.~Min, and H.~Yu, ``Fusion of 3d lidar and camera data
for object detection in autonomous vehicle applications,'' \emph{IEEE Sensors
Journal}, vol.~20, no.~9, pp. 4901--4913, 2020.
\bibitem{li2022deepfusion}
Y.~Li, A.~W. Yu, T.~Meng, B.~Caine, J.~Ngiam, D.~Peng, J.~Shen, Y.~Lu, D.~Zhou,
Q.~V. Le \emph{et~al.}, ``Deepfusion: Lidar-camera deep fusion for
multi-modal 3d object detection,'' in \emph{Proceedings of the IEEE/CVF
conference on computer vision and pattern recognition}, 2022, pp.
17\,182--17\,191.
\bibitem{yuan2021pixel}
C.~Yuan, X.~Liu, X.~Hong, and F.~Zhang, ``Pixel-level extrinsic self
calibration of high resolution lidar and camera in targetless environments,''
\emph{IEEE Robotics and Automation Letters}, vol.~6, no.~4, pp. 7517--7524,
2021.
\bibitem{ye2024mfcalib}
T.~Ye, W.~Xu, C.~Zheng, and Y.~Cui, ``Mfcalib: Single-shot and automatic
extrinsic calibration for lidar and camera in targetless environments based
on multi-feature edge,'' in \emph{2024 IEEE/RSJ International Conference on
Intelligent Robots and Systems (IROS)}.\hskip 1em plus 0.5em minus
0.4em\relax IEEE, 2024, pp. 864--871.
\bibitem{koide2023general}
K.~Koide, S.~Oishi, M.~Yokozuka, and A.~Banno, ``General, single-shot,
target-less, and automatic lidar-camera extrinsic calibration toolbox,'' in
\emph{2023 IEEE International Conference on Robotics and Automation
(ICRA)}.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 2023, pp.
11\,301--11\,307.
\bibitem{pandey2012automatic}
G.~Pandey, J.~McBride, S.~Savarese, and R.~Eustice, ``Automatic targetless
extrinsic calibration of a 3d lidar and camera by maximizing mutual
information,'' in \emph{Proceedings of the AAAI conference on artificial
intelligence}, vol.~26, no.~1, 2012, pp. 2053--2059.
\bibitem{beltran2022automatic}
J.~Beltr{\'a}n, C.~Guindel, A.~De~La~Escalera, and F.~Garc{\'\i}a, ``Automatic
extrinsic calibration method for lidar and camera sensor setups,'' \emph{IEEE
Transactions on Intelligent Transportation Systems}, vol.~23, no.~10, pp.
17\,677--17\,689, 2022.
\bibitem{yan2023joint}
G.~Yan, F.~He, C.~Shi, P.~Wei, X.~Cai, and Y.~Li, ``Joint camera intrinsic and
lidar-camera extrinsic calibration,'' in \emph{2023 IEEE International
Conference on Robotics and Automation (ICRA)}.\hskip 1em plus 0.5em minus
0.4em\relax IEEE, 2023, pp. 11\,446--11\,452.
\bibitem{zhu2021camvox}
Y.~Zhu, C.~Zheng, C.~Yuan, X.~Huang, and X.~Hong, ``Camvox: A low-cost and
accurate lidar-assisted visual slam system,'' in \emph{2021 IEEE
International Conference on Robotics and Automation (ICRA)}.\hskip 1em plus
0.5em minus 0.4em\relax IEEE, 2021, pp. 5049--5055.
\bibitem{tsai1989new}
R.~Y. Tsai, R.~K. Lenz \emph{et~al.}, ``A new technique for fully autonomous
and efficient 3 d robotics hand/eye calibration,'' \emph{IEEE Transactions on
robotics and automation}, vol.~5, no.~3, pp. 345--358, 1989.
\bibitem{nagy2019online}
B.~Nagy, L.~Kov{\'a}cs, and C.~Benedek, ``Online targetless end-to-end
camera-lidar self-calibration,'' in \emph{2019 16th International Conference
on Machine Vision Applications (MVA)}.\hskip 1em plus 0.5em minus 0.4em\relax
IEEE, 2019, pp. 1--6.
\bibitem{zhang2002flexible}
Z.~Zhang, ``A flexible new technique for camera calibration,'' \emph{IEEE
Transactions on pattern analysis and machine intelligence}, vol.~22, no.~11,
pp. 1330--1334, 2002.
\bibitem{unnikrishnan2005fast}
R.~Unnikrishnan and M.~Hebert, ``Fast extrinsic calibration of a laser
rangefinder to a camera,'' \emph{Robotics Institute, Pittsburgh, PA, Tech.
Rep. CMU-RI-TR-05-09}, 2005.
\bibitem{zhou2018automatic}
L.~Zhou, Z.~Li, and M.~Kaess, ``Automatic extrinsic calibration of a camera and
a 3d lidar using line and plane correspondences,'' in \emph{2018 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS)}.\hskip 1em
plus 0.5em minus 0.4em\relax IEEE, 2018, pp. 5562--5569.
\bibitem{cui2020acsc}
J.~Cui, J.~Niu, Z.~Ouyang, Y.~He, and D.~Liu, ``Acsc: Automatic calibration for
non-repetitive scanning solid-state lidar and camera systems,'' 2020.
\bibitem{garrido2014automatic}
S.~Garrido-Jurado, R.~Mu{\~n}oz-Salinas, F.~J. Madrid-Cuevas, and M.~J.
Mar{\'\i}n-Jim{\'e}nez, ``Automatic generation and detection of highly
reliable fiducial markers under occlusion,'' \emph{Pattern Recognition},
vol.~47, no.~6, pp. 2280--2292, 2014.
\bibitem{fitzgibbon1996direct}
A.~W. Fitzgibbon, M.~Pilu, and R.~B. Fisher, ``Direct least squares fitting of
ellipses,'' in \emph{Proceedings of 13th international conference on pattern
recognition}, vol.~1.\hskip 1em plus 0.5em minus 0.4em\relax IEEE, 1996, pp.
253--257.
\end{thebibliography}