相机-雷达标定:ChArUco / ArUco + 四圆孔刚性板
与“ArUco / ChArUco + 四圆孔刚性板”最匹配的开源项目是:
- hku-mars/FAST-Calib:当前最推荐,目标板为四个 ArUco + 四圆孔,支持 Livox Mid-360 / Avia / Ouster 等机械式和固态 LiDAR。
- MaroSalah02/FAST-Calib-ROS2:FAST-Calib 的 ROS2 移植版本,适合你的 ROS2 / Jetson 机器人项目直接验证。
- beltransen/velo2cam_calibration:该类目标板方案的经典开源实现,也是 FAST-Calib 所参考的目标板基础方案。
- OpenCalib/JointCalib:采用棋盘格 + 四圆孔,不是 ArUco/ChArUco,但支持相机内参与 LiDAR–Camera 外参联合优化。
- Clothooo/lvt2calib:采用四圆孔板,面向多类 LiDAR、RGB 相机和热成像相机,不依赖 ArUco/ChArUco。
目前可直接落地的开源实现仍以 ArUco + 四圆孔 的 FAST-Calib / velo2cam 为主。([arXiv][1])
1. 项目对比表
| 项目 | 标定板设计 | 传感器支持 | ROS 支持 | 是否严格对应方案 C | 推荐用途 |
|---|---|---|---|---|---|
| FAST-Calib | 四 ArUco + 四圆孔刚性板 | 机械式 / 固态 3D LiDAR + Camera | ROS1 | 是 | 首选工程方案 |
| FAST-Calib-ROS2 | 四 ArUco + 四圆孔刚性板 | Mid-360 / Avia / Ouster 等 | ROS2 | 是 | ROS2 快速接入 |
| velo2cam_calibration | 四 ArUco + 四圆孔板 | LiDAR / Mono / Stereo Camera | ROS1 | 是 | 经典算法参考 |
| JointCalib | 棋盘格 + 四圆孔板 | LiDAR + Camera | 非 ROS 主流程 | 部分对应 | 联合内外参优化 |
| SensorsCalibration | 提供 round-hole board 及多传感器工具箱 | Camera / LiDAR / Radar / IMU | 工具箱 / Docker | 部分对应 | 自动驾驶标定工具集 |
| LVT2Calib | 四圆孔板 | 多类 LiDAR / RGB / Thermal | ROS Noetic | 不含 ArUco | 多模态传感器扩展 |
| SquareCalib | 四圆孔平面板 | Camera + LiDAR | ROS Noetic / Python | 不含 ArUco | 稀疏点云圆孔提取研究 |
2. 首选项目:FAST-Calib
2.1 项目定位
FAST-Calib 是香港大学 MARS Lab 开源的 LiDAR–Camera 外参标定工具。其标定板与方案 C 基本一致:
┌────────────────────────────────────┐
│ ArUco ○ ○ ArUco │
│ │
│ │
│ ArUco ○ ○ ArUco │
└────────────────────────────────────┘
其中:
- 相机侧检测四个 ArUco Marker;
- LiDAR 侧检测四个圆孔中心;
- 标定板几何布局已知;
- 最终通过圆孔中心的 3D–3D 对应关系求解 LiDAR 到 Camera 的刚体变换。
FAST-Calib 论文明确说明:相机处理阶段使用位于标定板已知位置的四个 ArUco marker 推算圆孔中心在相机坐标系中的位置;LiDAR 处理阶段执行平面分割、圆孔边缘提取和椭圆拟合;最后通过 SVD / Kabsch 方法完成外参求解,并支持多场景联合标定。([arXiv][2])
2.2 支持能力
| 能力 | 支持情况 |
|---|---|
| 单目相机 + 3D LiDAR | 支持 |
| 固态 LiDAR | 支持 |
| 机械旋转式 LiDAR | 支持 |
| 无外参初始值 | 支持 |
| 多姿态联合标定 | 支持 |
| 示例数据 | Mid-360、Avia、Ouster |
| 相机内参自动标定 | 不负责,需要预先提供 |
| 许可证 | GPL-2.0 |
官方仓库要求 PCL >= 1.8、OpenCV >= 4.0,提供单场景和多场景标定流程,并提供目标板 CAD 模型入口及 Mid-360、Avia、Ouster 示例数据。([GitHub][3])
2.3 算法流程
2.4 适合机器人项目的原因
FAST-Calib 的优势是:
| 项目需求 | FAST-Calib 对应能力 |
|---|---|
| Livox Mid-360 等固态 LiDAR | 已有验证 |
| RGB + LiDAR 融合 | 原生目标 |
| 点云投影到图像验证 | 支持 |
| 地铁站坡道 / 障碍物语义融合 | 可作为外参基础 |
| ROS2 接入 | 有社区 ROS2 移植版本 |
| 不希望依赖人工点选 | 自动提取目标板特征 |
3. ROS2 直接落地:FAST-Calib-ROS2
3.1 项目定位
FAST-Calib-ROS2 是 FAST-Calib 的 ROS2 移植仓库,保留了原方案的四圆孔目标板和点云—图像标定流程。
其 README 给出的运行入口为:
ros2 launch fast_calib calib_launch.py
并说明支持:
- Livox Mid-360;
- Livox Avia;
- Ouster;
PointCloud2格式点云;ros2 bag数据采集。
对于 Livox ROS Driver 2,仓库特别指出需要确保输出为 PointCloud2 格式。([GitHub][4])
3.2 与官方版区别
| 项目 | FAST-Calib 官方版 | FAST-Calib-ROS2 |
|---|---|---|
| ROS 版本 | ROS1 | ROS2 |
| 官方维护 | 是 | 社区移植 |
| 目标板 | 四 ArUco + 四圆孔 | 四 ArUco + 四圆孔 |
| OpenCV / PCL | OpenCV ≥ 4.0,PCL ≥ 1.8 | OpenCV ≥ 4.0,PCL ≥ 1.8 |
| 多场景联合流程 | README 明确提供 | README 主要描述基础流程 |
| 适合 ROS2 bringup | 需要移植 | 可直接开始验证 |
3.3 推荐用法
建议:
阶段 1:使用 FAST-Calib-ROS2 在 ROS2 下完成数据录制与基础标定
阶段 2:使用官方 FAST-Calib 的多场景联合标定逻辑核验精度
阶段 3:将最终外参发布为 ROS2 static_transform_publisher / YAML
4. 经典基础项目:velo2cam_calibration
4.1 项目定位
velo2cam_calibration 是较早且具有代表性的自动 LiDAR–Camera 标定项目。其论文与代码采用:
四个圆孔:用于 LiDAR / Stereo 点云侧提取几何特征
四个 ArUco:用于单目相机侧估计目标板与圆孔中心位置
论文说明,四个圆孔用于利用 LiDAR 和双目点云中的几何不连续性;四个 ArUco 位于目标板角部,用于单目图像中恢复三维信息。([ResearchGate][5])
FAST-Calib 官方 README 明确表示,其目标板设计基于 velo2cam_calibration。([GitHub][3])
4.2 项目特点
| 项目 | 说明 |
|---|---|
| 实现语言 | C++ 为主 |
| 框架 | ROS1 catkin package |
| 目标板 | 四圆孔 + 四 ArUco |
| 支持类型 | LiDAR 与 Camera 的组合标定 |
| 许可证 | GPL-2.0 |
| 工程价值 | 适合理解目标板检测、特征提取与早期算法设计 |
官方仓库提供 ROS 包、目标板尺寸示意图和 Gazebo 验证方案。([GitHub][6])
4.3 与 FAST-Calib 的差异
| 对比项 | velo2cam_calibration | FAST-Calib |
|---|---|---|
| 定位 | 经典基础实现 | 更新的实用工程实现 |
| 固态 LiDAR 适配 | 较弱 | 重点支持 |
| 圆孔中心提取 | 基础深度突变方法 | 边缘提取 + 椭圆拟合补偿 |
| Mid-360 / Avia | 不作为主要验证目标 | 已验证 |
| 多场景联合优化 | 能扩展 | 官方流程支持 |
| 推荐优先级 | 算法参考 | 实际落地首选 |
对于你可能采用的 Livox Mid-360 / Jetson / ROS2 路线,不建议从 velo2cam 开始工程部署,更适合作为 FAST-Calib 的算法对照与源码参考。
5. 联合优化方案:OpenCalib / JointCalib
5.1 标定板类型
JointCalib 对应的是:
棋盘格 + 四圆孔刚性板
而不是:
ArUco / ChArUco + 四圆孔板
其论文提出在棋盘格周围增加四个圆孔,通过棋盘格角点与圆孔特征的重投影约束,联合求解:
- 相机内参;
- 镜头畸变参数;
- LiDAR–Camera 外参。
论文和仓库均公开了该方案;仓库输入包括相机标定板图像目录,以及与图像对应的圆孔中心 CSV 文件。([arXiv][7]) ([GitHub][8])
5.2 适合场景
| 需求 | 是否适合 |
|---|---|
| 已知相机内参,只求外参 | 可以,但不是最简路线 |
| 相机内参质量不可靠 | 适合 |
| 希望联合优化内参与外参 | 适合 |
| 直接使用 ArUco / ChArUco | 需要自行修改 |
| ROS2 在线集成 | 需要二次开发 |
5.3 改造成 ChArUco + 四圆孔的思路
JointCalib 的核心不是必须依赖普通棋盘格,而是需要:
图像侧:稳定且已知板坐标的二维角点
LiDAR 侧:四圆孔中心三维坐标
优化侧:角点与圆孔的联合重投影误差
因此可将图像特征模块替换为:
cv::aruco::CharucoDetector
并保持:
圆孔点云检测模块
+
内参 / 外参联合非线性优化模块
这样可以构建:
ChArUco + 四圆孔 + 联合内外参优化
此方案比直接采用 FAST-Calib 更适合“相机内参尚未稳定”或“多相机系统需要统一标定基准”的场景。
6. 多传感器工具箱:PJLab SensorsCalibration
6.1 项目定位
PJLab-ADG/SensorsCalibration 是 OpenCalib 多传感器标定工具箱,覆盖:
- Camera intrinsic;
- LiDAR–Camera;
- LiDAR–LiDAR;
- LiDAR–IMU;
- Radar–Camera;
- Radar–LiDAR;
- Sensor–Vehicle。
其工厂标定部分明确提供了:
round hole board:Camera and LiDAR
aruco marker board:Camera
apriltag board:Camera
并在仓库中提供 round_hole_board.pdf。工具箱采用 Apache-2.0 许可证,同时提供 Docker 快速运行方式。([GitHub][9])
6.2 与方案 C 的关系
它不是一个开箱即用的“ChArUco + 四圆孔”标定器,但可以组合使用:
SensorsCalibration 圆孔板及工具链
+
OpenCV ChArUco 图像检测
+
JointCalib / 自定义优化器
6.3 使用方式
不仅要做 LiDAR–Camera,还包括:
IMU + LiDAR + Camera + Robot Base / Navigation Frame
则 SensorsCalibration 更适合作为多传感器标定工具总库,FAST-Calib 则作为其中的 LiDAR–Camera 精标模块。
7. 多类型 LiDAR / RGB / 热成像扩展:LVT2Calib
7.1 项目特点
LVT2Calib 使用统一的四圆孔标定板,对不同传感器提取共同的四个圆心特征,支持:
- Livox Horizon / Mid-40 / Mid-70 / Avia;
- Robosense M1;
- Velodyne VLP-16 / 32 / 64 / 128;
- Ouster OS1-32 / 64 / 128;
- RGB Camera;
- Thermal Camera。
其开源仓库基于 ROS Noetic、PCL 1.10、Ceres Solver 1.14 和 OpenCV 4.2,并提供 Docker 运行方式。([GitHub][10])
7.2 与方案 C 的差异
| 项目 | LVT2Calib |
|---|---|
| 四圆孔 | 支持 |
| ArUco | 不作为核心特征 |
| ChArUco | 不使用 |
| RGB Camera | 支持 |
| Thermal Camera | 支持 |
| 多 LiDAR | 支持 |
| 面向固态 LiDAR | 支持 |
若未来机器人平台需要同时接入:
RGB + 热成像 + Livox / Ouster
LVT2Calib 更有扩展价值;但仅做 RGB + LiDAR 外参时,FAST-Calib 更直接。
8. ChArUco + 四圆孔:当前开源情况
检索到的最直接 ChArUco + 圆孔 方案来自 2025 年论文:
A Target-based Multi-LiDAR Multi-Camera Extrinsic Calibration System
该方法采用:
- 带 ArUco 编码的 ChArUco 棋盘;
- 位于标定板角部的圆孔;
- 相机侧使用 OpenCV ChArUco 检测与 PnP;
- LiDAR 侧利用圆孔深度不连续特征;
- 面向多 LiDAR、多相机传感器套件执行全局优化。
论文明确描述了 ChArUco 与圆孔结合的标定板及相机 / LiDAR 特征提取流程。([arXiv][11])
但是,目前未检索到该论文配套的公开 GitHub 代码仓库。因此,若需要立即工程实现,建议基于 FAST-Calib 修改其相机侧模块,而不是等待现成 ChArUco 实现。
9.2 选型结论
| 目标 | 推荐项目 |
|---|---|
| 立即跑通 ROS2 LiDAR–Camera 标定 | FAST-Calib-ROS2 |
| 追求官方实现与论文复现 | FAST-Calib |
| 理解四 ArUco + 四圆孔经典算法 | velo2cam_calibration |
| 希望同时优化相机内参与外参 | JointCalib |
| 建设完整多传感器标定工具链 | SensorsCalibration |
| RGB + Thermal + 多 LiDAR 统一标定 | LVT2Calib |
| 严格使用 ChArUco + 四圆孔 | 基于 FAST-Calib 二次开发 |
参考链接:
[1]: https://arxiv.org/abs/2507.16621?utm_source=chatgpt.com “A Target-based Multi-LiDAR Multi-Camera Extrinsic Calibration System”
[2]: https://arxiv.org/html/2507.17210v1 “FAST-Calib: LiDAR-Camera Extrinsic Calibration in One Second”
[3]: https://github.com/hku-mars/FAST-Calib “GitHub - hku-mars/FAST-Calib: A Handy Extrinsic Calibration Tool for LiDAR-camera Systems. · GitHub”
[4]: https://github.com/MaroSalah02/FAST-Calib-ROS2 “GitHub - MaroSalah02/FAST-Calib-ROS2: A Handy Extrinsic Calibration Tool for LiDAR-camera Systems. · GitHub”
[5]: https://www.researchgate.net/publication/359181926_Automatic_Extrinsic_Calibration_Method_for_LiDAR_and_Camera_Sensor_Setups?utm_source=chatgpt.com “Automatic Extrinsic Calibration Method for LiDAR and …”
[6]: https://github.com/beltransen/velo2cam_calibration “GitHub - beltransen/velo2cam_calibration: Automatic Extrinsic Calibration Method for LiDAR and Camera Sensor Setups. ROS Package. · GitHub”
[7]: https://arxiv.org/abs/2202.13708?utm_source=chatgpt.com “Joint Camera Intrinsic and LiDAR-Camera Extrinsic Calibration”
[8]: https://github.com/OpenCalib/JointCalib “GitHub - OpenCalib/JointCalib · GitHub”
[9]: https://github.com/PJLab-ADG/SensorsCalibration “GitHub - PJLab-ADG/SensorsCalibration: OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving · GitHub”
[10]: https://github.com/Clothooo/lvt2calib “GitHub - Clothooo/lvt2calib: A unified calibration for 3D LiDARs, visual cameras and thermal cameras · GitHub”
[11]: https://arxiv.org/html/2507.16621v1 “A Target-based Multi-LiDAR Multi-Camera Extrinsic Calibration System”
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)