使用LIO-SAM进行点云赋色 与 激光雷达和相机的精细化标定(防止自己忘记的博客)----- 激光雷达和相机的精细化标定

目录

[1 标定相机](#1 标定相机)

[2 激光雷达、相机粗标定](#2 激光雷达、相机粗标定)

[3 精细化标定激光雷达和相机](#3 精细化标定激光雷达和相机)


1 标定相机

使用Kaliber标定D435i相机,本次标定的分辨率为1920*1080,相机的内参如下:

FX:1439.96402547

FY:1442.82612329

CX:979.00103052

CY:565.47085426

K1:0.10055069

K2:-0.2034116

P1:0.00245444

P2:-0.00117788

由于做点云赋色,并不要求VIO性能,因此重投影误差不要求很小,本次重投影误差为2pixel:

2 激光雷达、相机粗标定

使用autoware的雷达相机标定工具,粗略的求出Lidar->Camera和Camera->Lidar的旋转平移变换:

Tcl

\[-0.06861033 -0.99751013 -0.01631455 0.03627205

0.03137146 0.01418779 -0.99940709 -0.03832164

0.99715017 -0.06908146 0.03031992 -0.03982055

0. 0. 0. 1. \]

Tlc

\[-0.06861033 0.03137146 0.99715016 0.04339791

-0.99751013 0.0141878 -0.06908146 0.03397458

-0.01631454 -0.9994071 0.03031992 -0.0364998

0. 0. 0. 1. \]

3 精细化标定激光雷达和相机

使用录制好的标定包,删除掉工作空间的这三个文件夹的内容:

在外刷新ROS环境。并进入clion:

启动groundremove节点,并播放标定用包。位置在/bag/PatchmatchNet-main/data/清明/assistBD.bag中。

得到了拆分的雷达点云和图像:

得到拆分图像后,运行/home/liuhongwei/catkin_mask/src/predict_in_lvi.py文件,执行DetectMask函数,将文件夹换成mask文件夹。

执行。得到标定的mask信息。

在assistBiaoding.cpp中,将相机参数换掉。

代码的57-59行替换雷达->相机的变换矩阵。

27-33行读入邻近的帧

原本的标定结果是这样的,需要调整,对齐图像:

得到精细化标定结果:

选择另外图像进行微调:

微调成功!标定成功!

相关推荐
armwind3 小时前
数字图像处理-7-图像的梯度锐化算法
图像处理·计算机视觉
05候补工程师3 小时前
从算法理想向工程现实的跨越:SLAM 核心架构、思维误区与 Nav2 实战避坑指南
人工智能·算法·安全·架构·机器人
小白要努力sgy6 小时前
实时通信框架CyberRT
c++·自动驾驶·实时通讯
AI浩7 小时前
DeepSeek-V4:迈向高效百万Token上下文智能
人工智能·目标检测·计算机视觉·无人机
牛奶7 小时前
Google 说 AI 能"解决所有疾病",我差点就信了
人工智能·机器人·aigc
小鬼头编程9 小时前
10岁+孩子硬核科技研学:走进大国智造,探秘机器人未来
科技·机器人
bryant_meng9 小时前
【Lane Detection】Canny Edges & Hough Transforms
opencv·计算机视觉·canny·车道线检测·hough
Embedded-Xin10 小时前
ROS2进阶——消息服务质量QOS策略
linux·机器人·嵌入式
Embedded-Xin10 小时前
ROS2进阶—ROS2生命周期节点
linux·机器人·自动驾驶·嵌入式
armwind12 小时前
数字图像处理-5-图像处理的数学基础
图像处理·人工智能·计算机视觉