Autoware实现激光雷达与摄像机组合标定
“ 这个世界相对还是公平的,你所得到的,一定和你付出的一样多,只是人们往往只看到你所得到的,而只有你自己才能看到你所付出的。” |
单目相机分辨率高,我们可以使用各种深度学习算法完成对目标检测,但是缺乏深度,坐标等信息。激光雷达能够获得目标相当精确的三维坐标信息,但是分辨率低,目前主流的为64线和32线,稀疏的电云数据为模式识别带来了困难。一种简单的思路是融合相机和激光雷达对目标障碍物完成检测,在图像层面使用深度学习方法将目标检测识别,然后将目标从二维图像映射到三维电云,从而画出目标在三维空间的位置以及边界(3维的bounding box)。实现这一映射的前提是完成Camera到激光雷达的组合标定。本文即讲解如何使用开源无人驾驶软件Autoware实践组合标定。
1. 标定准备
在进行标定之前,需要有如下硬件准备:
* 标定板:规格为 A0 尺寸的硬纸板(841 ×× 1189mm) 9行7列,注意一定要是硬纸板,如下图所示:
已驱动的摄像机:推荐FLIR的Grasshopper3 相机,ROS下驱动简单,帧率高,可是距离远,全局快门。如下图所示:
已驱动的激光雷达: 推荐使用Velodyne VLP-32C或者HDL-64
确定举标定板人的站位及动作:标定板在摄像头下一般有6个站位,每个位置做相同的一组5个动作。5个动作分别为:正向; 下俯; 上仰; 左偏; 右偏。如下图所示:
6个站位分别为:
1). 近距离镜头左边(近距离一般为5m)
2). 近距离镜头中间
3). 近距离镜头右边
4). 远距离镜头左边(远距离依照摄像机和激光雷达真实情况而定)
5). 远距离镜头中间
6). 远距离镜头右边
以上位置和动作的顺序均不固定,可自行决定
2. 录制标定包
- 启动Autoware,打开ROSBAG,Autoware下用来录包的一个工具
- 勾选/image_raw和/velodny_points两个话题
- start启动
- 录制,保存
3. 使用Calibration Tool Kit标定
(1) 加载包, 在终端输入:
$ rosbag play bagName。bag /velodyne_points:=/points_raw
- 1
加载成功后,立即空格暂停。
(2) 配置Tool Kit:
第一个对话框选取话题
/image_raw
第二个对话框选取
camera-velodyne
(3) Calibration Tool Kit打开后,参数设置:
- Pattern Size(m)为0。108和0。108;
- Pattern Number为6和8
如果使用的标定板不是上文中的规格,请自行设定参数
(4) 参数设置之后关闭Calibration Tool Kit,重启加载配置
(5) 加载数据:
Calibration Tool Kit打开后, 取消暂停继续运行包; 当MainWindow出现画面后,暂停包,调整MainWindow中画面位置右上角为激光雷达数据, 首先点击图像, 使用键盘上’b’键调浅背景颜色
使用键盘上各个功能键调整角度。使得激光雷达图像下可以看到棋盘
结果如下:
(6) 进行标记:
运行包,当进行到合适位置角度时,暂停包, 点击MainWindow右上角”Grab”,生成下半部分的摄像机和激光雷达信息的两个图像,调整位置
在右下方的图像中找到标定板对应的位置,鼠标左键标记。如果标记有误,鼠标右键取消
效果如图:
(7) 不断重复(6)内容,直至录像结束
(8) 标定计算
点击MainWindow右上角”Calibrate”进行计算。由于计算量很大,这个过程可能会突然占满所有计算资源,但是时间很短。
(9) 验证标定
点击MainWindow右上角”Project”进行验证, 左下方图像中会出现根据计算结果和激光雷达数据生成的图像对应位置,以红色散点表示。如果散点分布在标定板上,说明标定正确;如果散点不在标定板上,则对右下方激光图像重新点选。
正确情况
错误情况
(10) 如果有需要更新的标记,重新点选后,重复以上内容,直至验证通过
(11) 保存结果:
点击MainWindow左上方的”Save”,将结果保存到合适位置。对于下面的两个弹窗,都选择”NO”。
到这里,我们的标定就做好啦♪(^∇^*)
4.标定结果
我们使用Autoware自带的Calibration Publisher和Point Image节点获得点云-图像融合的point-image,在Autoware/Sensing/中打开Calibration Publisher,并将保存好的内外参文件读取进来,打开Autoware/Sensing下的Point Image节点,在Rviz中,Panels/Add New Panel内添加ImageViewerPlugin,填写Image Topic,本例为/image_raw,Point Topic,本例为/point_image,得到如下融合图:
我们加上定位和地图,以及YOLO检测,vision_klt_track,range_fusion,obj_reproj等节点,并在Rviz中添加行人的3维Bounding Box,即可得到检测结果:
查看对应的camera到velodyne的TF可视化结果如下:
Autoware实现激光雷达与摄像机组合标定相关推荐
- 无人驾驶汽车系统入门(二十二)——使用Autoware实践激光雷达与摄像机组合标定
无人驾驶汽车系统入门(二十二)--使用Autoware实践激光雷达与摄像机组合标定 单目相机分辨率高,我们可以使用各种深度学习算法完成对目标检测,但是缺乏深度,坐标等信息.激光雷达能够获得目标相当精确 ...
- 激光雷达和相机联合标定之开源代码和软件汇总(2004-2021)
作者丨十点雨@知乎 来源丨https://zhuanlan.zhihu.com/p/404762012 编辑丨3D视觉工坊 LiDAR Camera Calibration (LCC)系列,主要介绍激 ...
- 激光雷达和相机联合标定 之 开源代码和软件汇总 (2004-2021)
关注公众号,发现CV技术之美 本文转自知乎,获作者授权转载: https://zhuanlan.zhihu.com/p/404762012 LiDAR Camera Calibration (LCC) ...
- 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)
作者 | 十点雨 编辑 | 我爱计算机视觉 原文链接:https://zhuanlan.zhihu.com/p/404762012 点击下方卡片,关注"自动驾驶之心"公众号 AD ...
- 激光雷达与视觉联合标定综述!(系统介绍/标定板选择/在线离线标定等)
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨汽车人 来源丨自动驾驶之心 点击进入->3D视觉工坊学习交流群 后台回复[相机标定]获取超 ...
- 线性直接变换方法对摄像机进行标定
具体实现过程如下: 1.从不同角度用摄像机对立方体盒子进行拍摄,得到一幅图像.如下: 2.在立方体盒子上选取至少6个点,获取这6个点的图像坐标和空间点坐标(世界坐标系自己设定).如: 7 %点个数 0 ...
- 单线激光雷达的外参标定方法
单线激光雷达标定 激光雷达的标定意义: 激光雷达内参标定:内部激光发射器坐标系与雷达本身坐标系的转换关系,在出厂前已经标定完成,可以直接使用. 所谓激光雷达外参标定,就是将计算激光雷达自身坐标系与我们 ...
- matlab射影几何,一种利用单幅图像的现场摄像机自标定方法
1. 引言 摄像机标定是计算机视觉测量的前提和基础,通过摄像机标定构建了三维空间点与二维图像点之间的联系.在视觉监控.视觉监测.视觉定位和测量等应用中,要求摄像机能在妨碍工作的情况下,实现摄像机的实时 ...
- 计算机视觉标定方法,计算机视觉测量中摄像机快速标定方法实现
一种摄像机的快速标定方法 第2 5卷第 3期 20 09年 5月 后 勤 工 程 学 院 学 报 V0. 5 No 3 12 . M a O 9 v2 0 J URN 0G SⅡC NGI E NG ...
最新文章
- 初学git:用git bash往github push代码
- 【黑科技】在alv中设置字体样式
- 《系统集成项目管理工程师》必背100个知识点-58沟通方式
- 深度学习图片分类CNN模板
- 通过trace跟踪系统调用
- 低配本用win10服务器系统,低配电脑装win10最早版可以吗
- 计算机应用缺什么人才,中国缺少什么专业人才
- /usr/bin/ld: 找不到 -lmsc----解决方案
- 动态设置样式 calc计算
- tcp压测工具_使用BeetleX的TcpBenchmark工具进行百万设备模拟测试
- 虚拟机体验NAS私人云全揭秘:深度揭秘虚拟机安装群晖DSM6.2/6.2.1/6.2.2/6.2.3系统洗白全过程(附赠洗白码)
- fcm算法的MATLAB实现
- 计算机删除其它用户,如何通过注册表删除多余的账号如何删除电脑其它用户
- 第五次作业 刘惠惠 自动生成的方法存根
- 改变世界的webp图片技术,节约你的流量和带宽
- 数据网络卡顿怎么处理_电信数据网络卡顿怎么办 电信iptv卡顿解决方法
- 【项目管理】干系人绩效域管理
- python bunch制作可导入数据_Python 之 Bunch Pattern
- 一文搞定 Spring Security 异常处理机制!
- Graylog单机版安装,Graylog安装脚本一键实现在线离线安装