使用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行读入邻近的帧

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

得到精细化标定结果:

选择另外图像进行微调:

微调成功!标定成功!

相关推荐
千宇宙航3 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
jndingxin7 小时前
OpenCV CUDA模块设备层-----高效地计算两个 uint 类型值的带权重平均值
人工智能·opencv·计算机视觉
晨同学03278 小时前
opencv的颜色通道问题 & rgb & bgr
人工智能·opencv·计算机视觉
微小冷10 小时前
二关节机器人系统模型推导
线性代数·机器人·概率论·推导·拉格朗日函数·二关节机器人·机器人控制系统的设计
kyle~10 小时前
计算机视觉---RealSense深度相机技术
人工智能·数码相机·计算机视觉·机器人·嵌入式·ros·传感器
看到我,请让我去学习11 小时前
OpenCV开发-初始概念
人工智能·opencv·计算机视觉
双翌视觉12 小时前
机器视觉对位中的常见模型与技术原理
数码相机·计算机视觉·机器视觉
PyAIExplorer13 小时前
基于 OpenCV 的图像 ROI 切割实现
人工智能·opencv·计算机视觉
澪-sl16 小时前
基于CNN的人脸关键点检测
人工智能·深度学习·神经网络·计算机视觉·cnn·视觉检测·卷积神经网络
视觉语言导航18 小时前
RAL-2025 | 清华大学数字孪生驱动的机器人视觉导航!VR-Robo:面向视觉机器人导航与运动的现实-模拟-现实框架
人工智能·深度学习·机器人·具身智能