前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >激光雷达和相机联合标定

激光雷达和相机联合标定

作者头像
3D视觉工坊
发布2020-12-11 10:03:15
1.5K0
发布2020-12-11 10:03:15
举报
文章被收录于专栏:3D视觉从入门到精通

本次推送给大家带来的是一种激光雷达和相机的外参标定方法,主要利用了ROS中 dynamic_reconfigure 功能包提供的动态配置参数功能(代码在最后)。

手动配置外参标定原理

使用过ROS的朋友们应该都有用过ROS的参数服务器,可以很方便地读取配置参数,但这种参数配置方法存在这一个问题:无法知晓参数服务器中参数是否被更新。如果我们需要动态更新参数,这时可以使用ROS中的dynamic_reconfigure功能包。

设点云在激光雷达定义的坐标系下的空间位置为

,点云在相机坐标系下空间位置为

;K 是相机内参,

是点云投影在图像上的投影点。

将点云由激光雷达坐标系变换到相机坐标系:

再由相机坐标系变换到归一化平面坐标系,并投影到像素平面上:

根据图像大小判断投影点

是否在图像上,保留投影在图像上的投影点并在图像上标出,建立二维投影点和三维点云的对应关系。

利用ROS的动态参数配置功能可以不断调整外参R,t的值,滤除距离远处的点云,找到点云投影点和图像像素的真实对应关系。通过调整R,t,使点云投影点和图像像素尽可能重合。

dynamic_reconfigure功能包的可视化界面

ROS的dynamic_reconfigure功能包提供了动态配置参数功能,借助此功能可以实现对外参的动态配置。

rqt_reconfigure可视化界面

上图为参数动态配置的可视化界面,动态配置参数有十个,分别为“roll”、“pitch”、“yaw”、“x”、“y”、“z”、“dis_filter”、“next”、“get_point”、“reject_distance”。接下来对这十个参数进行介绍:

roll:外参中旋转矩阵对应的滚转角,默认为0;

pitch:外参中旋转矩阵对应的俯仰角,默认为0;

yaw:外参中旋转矩阵对应的偏航角,默认为0;

x:外参中平移向量对应的x分量,默认为0;

y:外参中平移向量对应的y分量,默认为0;

z:外参中平移向量对应的z分量,默认为0;

dis_filter:勾选后表示按照给定距离对点云进行过滤,只保留一定距离内的点云;

next:默认不勾选,表示只对当前图像与点云进行处理;勾选后表示对最新的图像进行处理;

get_point:默认不勾选,勾选后可以用鼠标在图像上进行取点;

reject_distance:默认为8,当dis_filter勾选后才生效,表示对点云进行过滤的距离。

标定流程

以KITTI数据集为例(转为bag包的形式),先启动标定程序,再播放bag后,通过 dynamic_reconfigure 功能包提供的动态参数配置功能,可以动态地将激光雷达点云投影到相机图像。由于外参参数默认为0,所以最初在图像上一般是看不到点云的投影点的。于是就需要手动调整“roll”、“pitch”、“yaw”、“x”、“y”、“z” 这六个参数,将点云的投影点向图像上调整:

点云投影图像

可以看到,点云在投影后失去了深度信息,因此无法在图像上区分不同深度的点云投影点。为了能够找到点云投影点和图像像素点的对应关系,需要对点云按照深度进行过滤,即勾选“dis_filter”并调整“reject_distance”的值:

点云投影图像(过滤后)

过滤后局部放大图

通过调整外参参数,将右侧广告牌的投影点和对应图像像素重合:

投影点和像素点重合

实际情况下,可以多放置些参照物,这样更容易看出标定效果。当在一副图片上标定完成后,可以勾选“Next”,此时会按照调整后的外参参数将点云向图像上投影,并显示投影后的图像,如果点云和图像能在不同视角下都能很好的对应,说明标定成功。

PnP标定外参

当手动调整好参数后,点云和像素点就会有一个比较好的对应关系,此时点击“get point”,就可以用鼠标在图像上进行选点,选取足够多点后会通过PnP算法计算出外参,重新投影点云并将最终结果输出在终端(注意此时并不会修改可视化界面的参数,如果此时改动了可视化界面的参数,外参又会被重新改写)。

通过自己的多次尝试,PnP实测效果感人,建议还是慢慢手搓吧~

标定原理比较简单,感兴趣的小伙伴可以戳戳↓↓↓↓↓

github: https://github.com/LeisureLei/lidar_cam_calibration.git

本文仅做学术分享,如有侵权,请联系删文。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档