首页 > 其他分享 >激光雷达和相机联合半自动标定

激光雷达和相机联合半自动标定

时间:2025-01-01 16:29:28浏览次数:10  
标签:prime frac 图像 标定 像素 相机 半自动 激光雷达

文章目录

1. 背景描述

最近的一次项目上,需要使用到激光雷达+相机组合,那么就出现了一个绕不开的话题:传感器标定。传统的标定方法是通过人工调节相机的外参(yaw,pitch和raw)来实现点云在图像上位置校准,这种方法能行,但效率和精度都不高。
本文提出一种新方法进行验证:基于棋盘格描点完成自动标定。


2. 整体架构

如下图所示:
在这里插入图片描述

  • 数据接收:接收相机和雷达数据
  • 内参标定:拍摄一定包含不同角度标定板的图像,进行自动内参生成
  • 点云投影到图像:将3D点云通过坐标系转换后投影到2D图像上,方便查看雷达中的标定板和图像上的标定板融合效果
  • 标定板描点:在标定板上预选择N个点,计算标定板的质心
  • 自动标定:结合点云投影到图像上的标定板的质心和图像上已经选择的N个点的质心进行自动标定
  • 外参保存:将内参和外参融合在一起存储到磁盘

3. 核心理论

3.1 相机内外参

相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程能够用一个几何模型进行描述。这个模型有很多种,其中最简单的称为 针孔模型。
在这里插入图片描述

  • O-x-y-z 相机坐标系
    • z 指向相机前方、x 轴向右、y 轴向下(右手系)
    • O 是光心
  • 空间点 P,经过小孔 O 投影到 P’
  • 设物理成像平面到小孔的距离为 f(焦距)
  • 根据相似三角形
    Z f = − X X ′ = − Y Y ′ \frac{Z}{f}=-\frac{X}{X^\prime}=-\frac{Y}{Y^\prime} fZ​=−X′X​=−Y′Y​
    负号表示成像是倒立的。由于可以将成像面平面对称地放到相机前方,和三维空间点在坐标系地同一侧。这样可以把负号去掉:
    在这里插入图片描述
    Z f = X X ′ = Y Y ′ \frac{Z}{f}=\frac{X}{X^\prime}=\frac{Y}{Y^\prime} fZ​=X′X​=Y′Y​
    整理得到,
    X ′ = f X Z Y ′ = f Y Z \begin{align*} X^{\prime}=f\frac{X}{Z} \\ Y^{\prime}=f\frac{Y}{Z} \end{align*} X′=fZX​Y′=fZY​​
    这里描述的是空间关系,单位是米。但是我们最终需要获得一个个像素,还需要在平面上对成像进行采样和量化。换言之,我们需要将它再变换到像素坐标系。
    像素坐标系 通常的定义方式是:原点 o ′ o^\prime o′ 位于图像的左上角,u 轴向右与 x 轴平行,v 轴向下与 y 轴平行。
    像素坐标系和成像平面之间,相差了一个缩放和一个原点的平移。
    设像素坐标在 u 轴上缩放了 α \alpha α,在 v 轴缩放了一个 β \beta β 倍。同时,原点平移了 [ c x , c y ] T [c_x,c_y]^T [cx​,cy​]T。
    那么, P ′ P^{\prime} P′ 的坐标与像素坐标 [ u , v ] T [u,v]^T [u,v]T 的关系为:
    u = α X ′ + c x v = β Y ′ + c y \begin{align*} u&=\alpha X^{\prime} + c_x \\ v&=\beta Y^{\prime} + c_y \end{align*} uv​=αX′+cx​=βY′+cy​​
    将 α f \alpha f αf 合并为 f x f_x fx​,将 β f \beta f βf 合并为 f y f_y fy​,得到:
    u = f x X Z + c x v = f y Y Z + c y \begin{align*} u&=f_x \frac{X}{Z} + c_x \\ v&=f_y \frac{Y}{Z} + c_y \end{align*}

标签:prime,frac,图像,标定,像素,相机,半自动,激光雷达
From: https://blog.csdn.net/u012926548/article/details/144863463

相关文章

  • 内华达大地测量实验室gnss数据半自动化下载
    内华达大地测量实验室GNSS数据半自动化下载前言目的:继上篇GNSS时序形变位移数据下载,介绍了内华达网站GNSS位移数据如何手动交互进行下载。后面发现若自己需要下载很多站点的数据,我要通过手动一个个去点击下载不太方便。为此自己设计了一个根据站点名字文本文件进行批量下载tenv......
  • yolov5单目测距与相机标定流程和c++单目测距RKNN部署
    相机模型、相机标定及基于YOLOv5的单目测距实现1.前言注意此方法不需要预先知道物体尺寸,不需要参照物体!!!!在摄像头成像的过程中,物体反射的光线通过摄像头的凸透镜聚焦到成像器件上,形成一张二维图像。这一过程将三维世界中的物体转换为二维图像,导致深度信息丢失,因此单目摄......
  • 如何matlab进行单目相机标定(全流程)
    1、打开matlab软件,app中找到cameracalibrator并打开2、并添加图片或连接相机3、拍摄标定板照片10-20张并传入,标定板生成代码可以看这个文章:python生成一个标定板代码_python棋盘格标定-CSDN博客样式如下,需不断调整角度等4、传入app中,这里需要选择标定板样式,以及具体一......
  • 永磁同步电机常见的标定方法和详细步骤
    最大转矩电流比标定方法上电步骤:通过标定设备中的上位机控制标定设备中的直流电源为安装在标定设备上的被测电机和陪测电机上电,并控制陪测电机维持被测电机的转速为被测电机的转折转速,上位机预先存有被测电机的标定转矩区间。初始化步骤:上位机将被测电机的电流矢量角θ设定......
  • 标定和定位的关系
    手眼标定  手眼标定可以利用某真值位置和传感器观测位置对比得到外参。关联  本质上是外参不同引起的看同一外接参照物,认为自身运动轨迹的不同。  位置  如上观测同一建筑(三角形,上顶点是北方),  真实轨迹(左图):是向北直行是在向正前方走  世界坐标系->偏置传感......
  • input标签改变高度的同时如何使光标定位在左上角(不使用textarea)
    在HTML中,<input>标签通常用于创建单行文本输入框。由于它是为单行输入设计的,因此没有直接的方式来改变光标的位置或使其像<textarea>那样支持多行文本输入。不过,如果你希望模拟一个类似<textarea>的效果,但又不希望实际使用<textarea>,你可以考虑以下的方法:使用CSS来模拟:......
  • 汽车XCP标定学习笔记简略版
    1为什么需要标定?同一款车有不同的配置,功能越多价格自然就越高,比如客户可以选择是否购买智能辅助驾驶功能服务;汽车通常配置了不同的驾驶模式,比如经济模式,正常模式和运动模式,驾驶员可以根据自己的喜好和路况来选择。以上两个例子都与标定相关,一个通过标定可以实现一个功能的开......
  • 利用usb-cam包标定RealSense D435相机(未解决版)
    一、安装usb-cam包和标定数据包usb_cam包的主要作用是将USB摄像头的视频流转换为ROS可用的消息格式。sudoapt-getinstallros-melodic-usb-camcamera_calibration包是ROS中用于相机标定的工具包,主要用于校准相机的内参和外参。sudoapt-getinstallros-melodic......
  • 时源芯微——电源电缆导致辐射超标定位子流程
    时源芯微——电源电缆导致辐射超标定位子流程在处理电源电缆导致的辐射超标问题时,灵活应用铁氧体磁环以及检查滤波器安装或滤波电路的走线是非常有效的手段。以下是一个更加详细的子流程,包括在这些措施无效时的进一步行动:一、初步检查与铁氧体磁环应用1、检查滤波器与滤波......
  • 激光雷达定位与建图-拟合问题
    本篇文章介绍如何在点云中提取线段和平面。一、平面拟合1.问题提出给定一组由N个点组成的点云X={x......