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

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

得到精细化标定结果:

选择另外图像进行微调:

微调成功!标定成功!

相关推荐
汽车软件工程师0012 分钟前
OpenCV常用的操作
人工智能·opencv·计算机视觉
深蓝学院2 小时前
NTU发布即插即用的嵌入式SLAM新SOTA!
计算机视觉
FACELESS VOID2 小时前
Linux下opencv报错 undefined reference to cv::imread cv::Mat
人工智能·opencv·计算机视觉
jndingxin2 小时前
OpenCV几何图像变换(5)旋转和缩放计算函数getRotationMatrix2D()的使用
人工智能·opencv·计算机视觉
清流君2 小时前
【自动驾驶】控制算法(五)连续方程离散化与离散LQR原理
人工智能·笔记·自动驾驶·控制算法·lqr
微凉的衣柜2 小时前
【Tesla FSD V12的前世今生】从模块化设计到端到端自动驾驶技术的跃迁
人工智能·机器学习·自动驾驶
CV-King2 小时前
opencv实战项目十五:钢材表面缺陷检测
人工智能·python·opencv·算法·计算机视觉
逸缘3 小时前
图像数据处理20
人工智能·深度学习·计算机视觉
菜就多练_08285 小时前
《深度学习》OpenCV 计算机视觉入门 (上篇)
人工智能·深度学习·opencv·计算机视觉
lonely-stone5 小时前
自动驾驶-机器人-slam-定位面经和面试知识系列10之高频面试题(04)
面试·机器人·自动驾驶