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

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

得到精细化标定结果:

选择另外图像进行微调:

微调成功!标定成功!

相关推荐
Kai HVZ5 分钟前
《OpenCV计算机视觉》--介绍及基础操作
人工智能·opencv·计算机视觉
吃个糖糖16 分钟前
35 Opencv 亚像素角点检测
人工智能·opencv·计算机视觉
黑色叉腰丶大魔王4 小时前
基于 MATLAB 的图像增强技术分享
图像处理·人工智能·计算机视觉
睡觉狂魔er11 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
paixiaoxin15 小时前
CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究
人工智能·深度学习·机器学习·生成对抗网络·计算机视觉·ocr·.net
AI视觉网奇16 小时前
人脸生成3d模型 Era3D
人工智能·计算机视觉
编码小哥16 小时前
opencv中的色彩空间
opencv·计算机视觉
吃个糖糖16 小时前
34 Opencv 自定义角点检测
人工智能·opencv·计算机视觉
葡萄爱19 小时前
OpenCV图像分割
人工智能·opencv·计算机视觉
向阳逐梦19 小时前
基于STM32F4单片机实现ROS机器人主板
stm32·单片机·机器人