专栏名称: 3D视觉工坊
1、OpenCV的技术传播; 2、3D点云与重建技术; 3、Vslam技术; 4、深度学习; 5、技术干货分享。
目录
相关文章推荐
陕西商务  ·  2月1日至2月7日陕西生活必需品市场运行分析 ·  11 小时前  
陕西商务  ·  2月1日至2月7日陕西生活必需品市场运行分析 ·  11 小时前  
西安头条  ·  陕西一学校拟晋升 ·  昨天  
西安头条  ·  陕西一学校拟晋升 ·  昨天  
896汽车调频  ·  陕西今年将建成1条高铁线! ·  2 天前  
陕西省文化和旅游厅  ·  老陕专享!少华山冬日免票狂欢!一键穿越冰雪秘境→ ·  3 天前  
陕西省文化和旅游厅  ·  老陕专享!少华山冬日免票狂欢!一键穿越冰雪秘境→ ·  3 天前  
51好读  ›  专栏  ›  3D视觉工坊

一文详解多线激光雷达与相机标定实战

3D视觉工坊  · 公众号  ·  · 2024-07-23 07:00

正文

点击下方 卡片 ,关注 「3D视觉工坊」 公众号
选择 星标 ,干货第一时间送达


一 相机内参标定

  • 相机内参标定建议使用matlab工具箱,简单易用,鲁棒性高。

  • 相机内参标定的标定板自行打印,打印材质需要硬质材质,不容易弯曲变形,建议用雪弗板,打印店很多。matlab识别不了中间带aruco码的板子,需要打印黑白棋盘格标定板,类似下图:

  • ubuntu系统的matlab安装教程:https://www.cnblogs.com/lvchaoshun/p/9746155.html

  • 标定好的内参和畸变系数填入标定文件中。填写顺序是

其中:fx fy  为焦距, cx cy 为光心位置。

畸变系数填写顺序为:K1 K2 P1 P2 K3

二 相机到激光的外参标定

2.1 采集数据

  • 安装好相机和激光,使其相对位置固定。

  • 打印好标定板,放置在相机和激光都能扫描到的地方,如下图所示:

  • 采集数据

1、windows系统,相机采集数据方式是USB直连, 用自带的相机打开,选则USB相机,点击拍照即可。

2、激光需要在多线激光雷达官网下载软件,按照说明文档打开激光录制软件:

3、激光和相机都可以采集数据后,将标定板摆放到合适位置,依次采集激光和图像文件。多采集几组,采集10组左右备用。数据如下图所示,红色框是原始点云, 下面同名的 以pcd结尾的是转成pcd文件格式的电云, 转换脚本是conv_csv_to_pcd.py ,(不知道是速腾软件问题还是我电脑问题,我保存不了pcd文件格式,保存的csv格式,后续用脚本转以下,如果可以保存pcd格式,就不用转。) 绿色框是图像,注意点云和图像采集时候要一一对应好,不能错乱。

2.2 运行标定程序

2.2.1 环境配置:

  • 标定程序是在ubuntu和docker环境下运行的,docker 有易于使用,环境统一的特点,不用折腾编译、环境配置等问题,开箱即用。

  • docker 安装和命令行:

    a)安装: sudo apt install docker.io

    b) 加载镜像:docker load < calib.tar  其中calib.tar是镜像文件,会提供。

    c) docker run -it -d -v /home/xxxxx/workspace/:/workspace --name calib calib:v0.1    第一次启动镜像,相当于配置一个虚拟电脑,只需要做一次,宿主机关机也没事,  -v /home/xxxxx/workspace/:/workspace  是配置宿主机和docker环境的文件夹挂载,可以自由的往环境内拷入拷出文件。例如代码文件夹calib_tools 在 /home/somebody/workspace 下, 就 -v /home/somebody/workspace:/workspace ,在docker环境中,有/workspace路径,里面内容和外面是一样的,里面修改了文件,外面同样也会被修改。

    d) docker start/stop calib

    e) docker exec -it calib  bash

    f) docker ps -a   查看docker环境状态。

    a) 第一步,生成标定板关键点的2d检测:

    ①配置run_calib.sh 文件的 stage=1, image_path = 采集标定板的图像文件路径。这里是docker内部运行,所以要将文件拷贝到docker 内能访问的位置,即docker挂载文件夹的位置。

    • 进入docker 后,cd 到 标定程序路径,例如/workspace/calib_tools

②在命令行运行 ./run_calib.sh , 挨个jpg文件运行一遍,生成的检测图像如下图所示,是检测的角点和其像素坐标。

③具体逻辑可以看代码实现,比较简单。

b) 第二步,使用CloudCompare 软件打开点云,CloudCompare安装方式简单,windows官网下载安装, linux 下用snap安装,两行命令:







请到「今天看啥」查看全文