首页 > 要闻 >

前沿资讯!视觉激光雷达信息融合与联合标定技术解析

发布时间:2023-04-05 09:29:36 来源:面包芯语

--关注、星标、回复“26262”--

↓↓领取:ISO 26262↓↓


(资料图片仅供参考)

原文链接:https://zhuanlan.zhihu.com/p/55825255

引言

最近在为车辆添加障碍物检测模块,障碍物检测可以使用激光雷达进行物体聚类,但是我们使用的是16线的velodyne,线数还是有些稀疏,对于较远的物体过于稀疏的线数聚类效果并不好,因此考虑使用视觉进行目标检测,然后投影到3D点云里面,获取障碍物位置,同时视觉还可以给出障碍物类别信息。

使用视觉进行目标检测,将检测结果2D bounding box坐标信息投影到点云里面获得3D bounding boxx坐标,这里面需要将摄像头和激光雷达进行联合标定,即获取二者坐标系的空间转换关系。

相关代码已经同步到我的github-smartcar:https://github.com/sunmiaozju/smartcar

标定部分在detection/calibration文件夹, 信息融合部分在detection/camera_point_fusion

联合标定转换关系

联合标定的作用就是建立点云的point和图像pixel之间的对应关系,

需要获取相机与激光雷达外参,将点云3维坐标系下的点投影到相机3维坐标系下。

还需要通过相机标定获得相机内参,这个是把相机3维坐标系下的点投影到成像平面。具体如下所示:

上图显示的就是联合标定得到的4×4转换矩阵的作用,将我们的3D点云转换到相机坐标系下面

这幅图显示了相机坐标系和成像坐标系的关系,相机标定会得到相机内参矩阵和畸变系数,畸变系数可以消除相机凸透镜的畸变效应,相机内参的信息就可以想相机坐标下的3维点投影到2维的像素平面。相机标定的具体原理可以参考:https://zhuanlan.zhihu.com/p/24651968

相机标定

需要一个标定板,要硬质板或者泡沫的标定板,因为标定板的平面要保证是平的。标定板的文件可以到opencv官网下载。

首先做相机标定,相机标定模块在detection/calibration/camera_calibration

编译

这里我们先不编译ndt_mapping;static_map;ndt_localization这三个软件包

如果出错,可以先编译消息文件,再编译全部文件:

然后要修改detection/calibration/camera_calibration/nodes文件夹下面python文件的可执行权限:

启动摄像头驱动节点

然后就可以进行标定了,弹出的界面如下所示:

需要做的就是移动标定版,让右上角的四个条都变绿(我这里绿的是已经调好了,未调整是偏黄色)

x代表左右移动,y代表上下移动,size代表远近移动,skew代表倾斜侧角,可以上下倾,也可以左右倾。

只有四个尺度的信息都满足要求之后,右侧的calibration图标才会显示出来,这时候代表可以计算标定结果了,点击calibration,然后save,标定结果会保存在home文件夹下面。

联合标定

联合标定使用的是autoware的CalibrationTookit模块,代码在detection/calibration/calibration_camera_lidar文件夹下面

编译好代码之后,首先要启动摄像头和激光雷达的驱动节点

启动之后可以看到UI界面,具体操作指南,可以参考文档:detection/calibration/calibration_camera_lidar/CalibrationToolkit_Manual.pdf 的2.3节

视觉与点云信息融合

5.1 image2points

5.2 points2image

总结

-- END --

标签:

x 广告
x 广告

Copyright © 2015-2032 华西消费网版权所有  备案号:京ICP备2022016840号-35   联系邮箱: 920 891 263@qq.com