0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

激光雷达相机外参标定相关内容

3D视觉工坊 来源:十点雨@知乎 作者:十点雨@知乎 2022-11-10 14:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

LiDAR Camera Calibration (LCC)系列,主要介绍激光雷达相机外参标定相关内容。本文主要介绍相关的开源代码和软件,主要包括target-based和targetless两类方法,每个方法对应标题后说明了方法的提出年份和开源代码的语言(c : c++, p: python, m: matlab)。

Github同步更新:https://github.com/Deephome/Awesome-LiDAR-Camera-Calibration

▊1. target-based方法一般就是使用标定板,可以是一块普通的矩形板,可以添加视觉效果(比如棋盘格,ArUco),可以在矩形板上镂空出特定形状。

1.0 CamLaserCalibraTool (2004c)

91cba664-6084-11ed-8abf-dac502259ad0.jpg

主要参考了华盛顿大学2004年的论文,旷视提供了开源实现和博客解读。2D激光雷达和相机标定。主要利用点到平面和边缘的约束。详情见旷视的博客和开源:

github:https://github.com/MegviiRobot/CamLaserCalibraTool 博客:https://zhuanlan.zhihu.com/p/137501892 参考论文:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.80.7118&rep=rep1&type=pdf

1.1 LCCT (2005m)

来自CMU Robotics Institute, 已知最早3D Laser与相机标定的工作(2005年),基于matlab的图形用户界面,进行激光雷达相机外参标定。 target-based方法,使用标定板,采集多个点云图像对,在点云对应的深度图(range image)上框选标定板平面区域,即可求解外参(两阶段)。 第一阶段,分别最小化两个坐标系中相机中心到平面距离和平面法向量的差异,依次线性求解平移和旋转;第二阶段,最小化point-to-plane距离,迭代求解。

91e30e3a-6084-11ed-8abf-dac502259ad0.jpg

官方网站:http://www.cs.cmu.edu/~ranjith/lcct.html 参考论文:https://www.ri.cmu.edu/pub_files/pub4/unnikrishnan_ranjith_2005_3/unnikrishnan_ranjith_2005_3.pdf

1.2 cam_lidar_calib (2010c)

来自密歇根大学,ROS / C++实现。

91ef72ba-6084-11ed-8abf-dac502259ad0.jpg

使用checkerboard,最少需要3个视图。自动提取特征,图像中提取checkerboard在相机坐标系中的法向量和距相机原点的距离,点云中提取checkerboard的平面点。

Github开源:https://github.com/SubMishMar/cam_lidar_calib 参考论文: http://robots.engin.umich.edu/publications/gpandey-2010a.pdf

1.3 lidar_camera_calibration (2017c)

来自印度IIIT Robotics Research Lab,ROS package (C++)实现, 介绍了两种方法。第一种方法是基于2D-3D correspondence,采用中空矩形纸板作为目标,在图像上手动标记角点2D像素,在点云中手动框选线段,利用直线相交求解3D角点,然后利用PnP+ransac求解外参。缺点是手动标记像素点,误差较大。 第二种方法是基于3D-3D correspondence,与方法一主要区别是图像中特征的提取。通过采用ArUco二维码,可直接计算出角点在相机坐标系的3D坐标,然后利用ICP求解外参。

920163b2-6084-11ed-8abf-dac502259ad0.jpg

github开源:https://github.com/ankitdhall/lidar_camera_calibration 参考论文:https://arxiv.org/pdf/1705.09785v1.pdf

1.4 ILCC (2017p)

来自日本名古屋大学Nagoya University,python实现。完整流程如下:

920ba6e2-6084-11ed-8abf-dac502259ad0.jpg

该方法的3D角点提取方式比较独特。基于点云反射强度和chessboard颜色模式的相关性,利用一个chessboard model来拟合(匹配)分割的点云,从而利用chessboard model的角点位置表示chessboard点云中角点位置。

9217a9a6-6084-11ed-8abf-dac502259ad0.jpg

github开源:https://github.com/mfxox/ILCC 参考论文:https://arxiv.org/pdf/1708.05514.pdf

1.5 plycal (2018c)

来自HKUST,C++实现。 采用要给矩形板作为target。首先对激光雷达和相机时间同步,图像纠正。全自动地在图像中提取矩形板角点和边缘,在点云中提取矩形板的边缘和平面点。矩形特征2D-3D匹配。采用point-to-line和point-inside-polygon约束进行优化。

9223125a-6084-11ed-8abf-dac502259ad0.jpg

github开源:https://github.com/ram-lab/plycal 参考论文:https://www.semanticscholar.org/paper/Extrinsic-Calibration-of-Lidar-and-Camera-with-Liao-Chen/c52748f676ff0b082db61a49dee2d15320519744

1.6 Matlab Lidar Toolbox (2018m)

target-based方法,使用了chessboard, 理论上采集一个pose就可以求解。特征提取分别自动提取chessboard在相机和激光雷达坐标系的平面和边缘信息,利用line correspondence (direction constraint + point to line constraint)和plane correspondence (normal constraint + point to plane constraint)进行标定。

9234c176-6084-11ed-8abf-dac502259ad0.jpg

官方文档:https://ww2.mathworks.cn/help/lidar/ug/lidar-and-camera-calibration.html 参考论文:http://www.cs.cmu.edu/~kaess/pub/Zhou18iros.pdf csdn博客:https://blog.csdn.net/qq_27339501/article/details/110224436只能使用matlab的lidar toolbox,看不到源代码,该方法与plycal(2018c)的标定板点云特征提取方法类似。

1.7 extrinsic_lidar_camera_calibration (2020m)

来自 Robotics Institute, University of Michigan。matlab实现。 主要创新点是标定板点云的角点估计方法。假设在lidar原点有一个大小已知的参考标定板(reference target),希望标定板点云通过H变换后,与这个参考标定板尽量重合。优化求解H,将参考标定板角点反变换,即可得到点云中的角点位置。 之前方法采用先拟合边缘再直线相交的思路,只利用了边缘点,受点云深度测量误差影响,最后提取的四个角点可能与target真实几何不兼容。该方法的角点估计考虑了所有点,估计的四个角点也是与真实target形状兼容。 该方法与ILCC(2017p)方法类似,都是通过与一个参考的标定板拟合,从而对标定板点云参数化建模,求得角点。只是ILCC利用了点云反射强度,本方法只利用点云几何信息。

9244fe92-6084-11ed-8abf-dac502259ad0.jpg

该开源代码也实现了Matlab Lidar Toolbox (2018m)参考论文中点云边缘提取的方法: 1)先ransac拟合平面 2)找到每条scanline的端点(边缘点) 3)将标定板点云投影到拟合平面 4)拟合每条scan line 5)将边缘点投影到拟合的scan line 6)用ransac拟合边缘,去除边缘点粗差

github开源:https://github.com/UMich-BipedLab/extrinsic_lidar_camera_calibration 参考论文:https://arxiv.org/pdf/1910.03126.pdf

1.8 livox_camera_lidar_calibration(2020c)

Livox官方提供的Lidar-Camera标定代码,图像和点云都是手动标点。

github开源//github.com/Livox-SDK/livox_camera_lidar_calibration

1.9 ACSC (2020p)

来自北航,python实现,针对固态激光雷达Livox. 提出多帧点云集成精化算法(temporal-spatial-based geometric feature refinement)和基于反射强度分布的角点估计方法(reflectance intensity distribution-based 3D corner estimation )。自动提取2D和3D角点,然后用基于Ransac的PnP求解。

924e5974-6084-11ed-8abf-dac502259ad0.jpg

github开源//github.com/HViktorTsoi/ACSC 参考论文:https://arxiv.org/abs/2011.08516

1.10 velo2cam_calibration (2021c)

来自 Intelligent Systems Lab (LSI), Universidad Carlos III de Madrid, Leganes, ROS + C++实现。可以将激光雷达、单目相机、立体相机进行任意成对标定。需要比较特殊的标定板:

925b1b96-6084-11ed-8abf-dac502259ad0.jpg

github开源:https://github.com/beltransen/velo2cam_calibration 参考论文:https://arxiv.org/pdf/2101.04431.pdf

1.11 autoware

采用标定板的方法 (calibration_tookit, autoware1.10之后没有)

github:https://github.com/XidianLemon/calibration_camera_lidar 博客:https://adamshan.blog.csdn.net/article/details/81670732 https://www.cnblogs.com/xiangzh/p/14137345.html 直接手动选点的方法 :https://dlonng.com/posts/autoware-calibr-1最新版只有autoware_camera_lidar_calibrator, 直接手动选点的方法,在下文介绍。 使用标定板结果更准确一些,但是操作不方便。 1)需要手动grab多个关键帧 2)使用glviewer显示点云,不好调整视角 3)需要手动选择平面点云

▊2.targetless方法

2.1 apollo

是基于自然场景的targetless方法,不需要手动标记,但是需要较准确初值。

92652afa-6084-11ed-8abf-dac502259ad0.jpg

(一个比较好的标定场景,包含路灯,树木,道路等物体) 注意:核心代码没有开源

github文档//github.com/ApolloAuto/apollo/blob/master/docs/quickstart/apollo_2_0_sensor_calibration_guide.md csdn博客https://blog.csdn.net/learning_tortosie/article/details/82351553?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

2.2 autoware

没有target,但是需要手动标记图像和点云中的对应点,至少选择9对。

github文档:https://github.com/Autoware-AI/utilities/tree/master/autoware_camera_lidar_calibrator csdn博客:https://blog.csdn.net/learning_tortosie/article/details/82347694

2.3ExtrinsicCalib (2012c)

先将图像进行灰度化和直方图均衡化,得到灰度图像,然后根据点云的反射强度和法向量特征将点云投影为图像,使用标准化互信息衡量灰度图像和点云生成图像之间相关性。使用粒子群优化算法不断改变外参,直到粒子收敛,达到标准化互信息的最大值。

论文:http://robots.engin.umich.edu/publications/gpandey-2012a.pdf 官网:http://robots.engin.umich.edu/SoftwareData/ExtrinsicCalib局限性:对于图像,光照会影响像素亮度,且存在阴影问题;点云强度则不同,由于激光是主动式。因此,利用多视图数据,可以尽量避免光照、阴影造成的噪声,使误差函数相对平滑,便于优化。

2.4CamVox (2020c)

来自南方科技大学。图像先灰度化再提取边缘,点云先分别得到反射强度图和深度图,再提取边缘。通过ICP优化,求解最佳外参。

92704f16-6084-11ed-8abf-dac502259ad0.jpg

github//github.com/xuankuzcr/CamVox 论文:https://arxiv.org/pdf/2011.11357.pdf

2.4 livox camera calib (2020c)

来自香港大学。分别提取点云和图像中的边缘特征,然后匹配特征,最后优化求解最佳外参来更好地对齐点云边缘和图像边缘。

9287e0fe-6084-11ed-8abf-dac502259ad0.jpg

论文:https://arxiv.org/pdf/2103.01627v2.pdf 作者:Chongjian Yuan (香港大学) Github//github.com/hku-mars/livox_camera_calib 论文详细解读请参考:https://blog.csdn.net/muyiyushan/article/details/118573929

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 激光雷达
    +关注

    关注

    982

    文章

    4531

    浏览量

    197046
  • LIDAR
    +关注

    关注

    11

    文章

    368

    浏览量

    31577
  • 开源代码
    +关注

    关注

    0

    文章

    41

    浏览量

    4022

原文标题:开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶激光雷达应如何进行标定

    [首发于智驾最前沿微信公众号]在自动驾驶的技术架构中,激光雷达通过发射激光脉冲并接收反射信号,能够在复杂的物理世界中构建出高精度的点云地图。然而激光雷达在被安装到车身上后,并不是立刻就能“看清”世界
    的头像 发表于 04-19 09:23 180次阅读
    自动驾驶<b class='flag-5'>激光雷达</b>应如何进行<b class='flag-5'>标定</b>?

    固态激光雷达参数以及避障视频

    本帖最后由 jf_63660781 于 2026-3-27 14:23 编辑 1 产品概述 G90A-60传感器是一款线阵固态激光雷达。本产品基于三角测距原理,并配以相关光学、电学
    发表于 03-27 14:14

    车载激光雷达温度监控:NTC芯片的核心应用

    车载激光雷达对温度的敏感性,决定了金电极NTC芯片在其内部的重要性。在NTC帮助下,激光雷达减少了波长漂移的情况出现,更好地保持其测距精度。且EXSENSE金电极NTC芯片独特的温度感知能力及可靠的电气特性,亦满足了车载激光雷达
    的头像 发表于 02-05 14:30 384次阅读

    自动驾驶激光雷达会伤害人体吗?

    [首发于智驾最前沿微信公众号]随着自动驾驶技术的普及,激光雷达的使用也越来越多。现在我们很容易就看到搭载激光雷达的车辆在路上行驶。很多人听到“激光”后总会有一种担忧,害怕自动驾驶汽车上的激光雷
    的头像 发表于 02-05 08:59 509次阅读
    自动驾驶<b class='flag-5'>激光雷达</b>会伤害人体吗?

    禾赛科技位列全球激光雷达行业专利第一

    近日,Yole Group 旗下全球知名知识产权战略咨询机构 KnowMade 发布《汽车激光雷达专利全景分析 -2025 版》报告,(LiDAR for Automotive Patent
    的头像 发表于 01-27 14:28 529次阅读
    禾赛科技位列全球<b class='flag-5'>激光雷达</b>行业专利第一

    如何解决激光雷达点云中“鬼影”和“膨胀”问题?

    [首发于智驾最前沿微信公众号]之前在聊激光雷达点云“鬼影”和“膨胀”的文章中( 相关阅读: 激光雷达点云中“鬼影”和“膨胀”是什么原因导致的?),很多小伙伴都提到一个问题,那就是激光雷达
    的头像 发表于 01-02 09:30 578次阅读
    如何解决<b class='flag-5'>激光雷达</b>点云中“鬼影”和“膨胀”问题?

    禾赛科技与理想汽车续签激光雷达合作

    今日,全球激光雷达领先企业禾赛科技(NASDAQ: HSAI;HKEX: 2525)正式宣布获得理想汽车全新一代辅助驾驶平台全系车型激光雷达定点,包括 L 系列、 i 系列和 MEGA。禾赛科技也将继续作为理想汽车的独家激光雷达
    的头像 发表于 11-13 10:21 2000次阅读

    激光雷达为什么会出现串扰的问题?

    [首发于智驾最前沿微信公众号]自动驾驶技术自提出以来,激光雷达就是非常重要的感知硬件,即便到现如今很多技术方案开始倾向于纯视觉时,依旧有很多的车企坚定地选择激光雷达激光雷达常见的工作方式有脉冲型
    的头像 发表于 11-04 10:42 962次阅读
    <b class='flag-5'>激光雷达</b>为什么会出现串扰的问题?

    华为,激光雷达第一! 车载激光雷达市场的“隐形冠军”

    据国内资讯机构盖世汽车统计,在汽车市场,2025 年 1-8 月激光雷达供应商装机量排行榜显示,中国激光雷达市场呈现显著的头部集中效应,华为、禾赛科技、速腾聚创占据行业TOP 3,三家市场份额总和
    的头像 发表于 10-23 18:57 4171次阅读
    华为,<b class='flag-5'>激光雷达</b>第一! 车载<b class='flag-5'>激光雷达</b>市场的“隐形冠军”

    【SOA是什么?】#激光雷达

    激光雷达
    天津见合八方光电科技有限公司
    发布于 :2025年07月15日 14:39:59

    AGV/AMR机器人单线激光雷达选型指南

    起到重要的关键作用。今天,深圳市骁锐科技有限公司小编总结一些在选用激光雷达时所要考虑的参数要素,希望对大家有所帮助。一、关于激光雷达的扫描半径(量程)参数标定:第一
    的头像 发表于 07-01 14:28 1405次阅读
    AGV/AMR机器人单线<b class='flag-5'>激光雷达</b>选型指南

    FMCW激光雷达,加速落地工业场景

    电子发烧友网综合报道 FMCW激光雷达虽然在车载领域还未实现量产应用,但实际上在工业等领域,比如单点测距场景中已经实现落地。近期激光雷达厂商摩尔芯光正式发布全球首款FMCW球形激光雷达。这款革命性
    的头像 发表于 06-17 00:21 4586次阅读

    SPAD席卷车载激光雷达市场

    电子发烧友网报道(文/梁浩斌)上周我们报道了一款新推出的激光雷达ASIC方案,值得关注的是该方案中与ASIC搭配的传感器均选择了SiPM。当然从成本的角度来看,作为第三方的激光雷达ASIC方案
    的头像 发表于 06-13 00:59 5910次阅读

    超酷的树莓派激光雷达扫描仪!

    摘要这款DIY的PiLiDAR扫描仪项目利用树莓派进行激光雷达测绘。激光雷达通过发射激光来扫描周围环境,从而创建三维模型。该项目需要树莓派4、摄像头、电机以及激光雷达套件。你是否了解过
    的头像 发表于 06-01 08:33 1232次阅读
    超酷的树莓派<b class='flag-5'>激光雷达</b>扫描仪!

    自动驾驶激光雷达:原理、类型与应用梳理

      1.什么是激光雷达 激光雷达LiDAR的全称为Light Detection and Ranging 激光探测和测距。 激光雷达的工作原理:对红外光束Light Pluses发射、
    的头像 发表于 04-25 11:48 3228次阅读
    自动驾驶<b class='flag-5'>激光雷达</b>:原理、类型与应用梳理