一 先导与重点
文章主要介绍自动驾驶技术中几种常用的坐标系统,以及他们之间如何完成关联和转换,最终构建出统一的环境模型。这里重点理解自车到相机刚体转换(外参),相机到图像转换(内参),图像到像素有单位转换。3d向2d转换会有相应的畸变,平移等。
重点:自车坐标系相机机体坐标系需要被重写的是:平面坐标系像素坐标系 难点:要考虑图像畸变,去畸变和加畸变都是在像平面上去补偿
二 简介
视觉系统一共有四个坐标系:像素平面坐标系(u,v)、图像坐标系(x,y)、相机坐标系()和世界坐标系()。每种坐标系之间均存在联系,那么如何通过图像像素坐标定位到世界坐标系的坐标,需要通过相机标定来解决,其中关键的算法部分在于坐标系转换,而变换则需要通过齐次坐标的表示方式来完成。
三 各个传感器坐标系
3.1 相机坐标系统
摄像头的作用是把三维世界中的形状、颜色信息,压缩到一张二维图像上。基于摄像头的感知算法则是从二维图像中提取并还原三维世界中的元素和信息,如车道线,车辆、行人等,并计算他们与自己的相对位置。感知算法和相机相关的坐标系有图像坐标系(像素坐标系)、摄像机坐标系、需要被重写的是:平面坐标系
3.1.1 图像坐标系(or 像素坐标系)
电脑上存储的照片或图像,一般以左上角为原点,向右为x正方向,向下为y正方向,单位以“像素”最为常用。图像坐标系为二维坐标系,标记为(Xv, Yv)。
需要进行改写的内容是:3.1.2 摄像机坐标系
因为图像坐标系的x轴向右,y轴向下,所以摄像机坐标系以镜头主光轴中心为原点。一般来说,x轴向右为正方向,y轴向下为正方向,z轴向前为正方向。这样,x和y方向与图像坐标系的方向一致,z方向表示景深。摄像机坐标系可以表示为(Xc,Yc)
需要进行改写的内容是:3.1.3 需要被重写的是:平面坐标系(或成像坐标系)
为了能够定量描述三维空间到二维图像的映射关系,图形学里引入了需要被重写的是:平面坐标系。它是摄像机坐标系的一个平移,中心仍在摄像机主光轴上,距离光轴中心的距离等于摄像机的焦距 我们知道摄像机会在光轴中心后方的底片上成一个缩小的倒像,是真正的像平面(Xf, Yf)。但是为了分析和计算方便,我们会在光轴中心前方设立一个虚拟像平面。虚拟像平面上的成像为正像,大小与真实倒像相同
需要被重写的是:平面坐标系
3.5 世界坐标系
根据具体情况而定,可以表示任何物体,这是由于相机引入的。单位为米
世界坐标系 ,相机坐标系 ,成像坐标系 及像素坐标系
四 Lidar 坐标系
Lidar (Light Detection and Ranging) 是一种远程感测技术,使用激光光束测量与物体的距离。360度旋转发射射线,根据不同目标反射率不同反射而形成电云。在自动驾驶和机器人领域,Lidar常被用作一个主要的传感器来获取周围环境的3D信息。在多数情况下,Lidar坐标系为右手坐标系,但具体定义可能会因Lidar制造商而异。
4.1 定义
X轴: 通常指向Lidar前方。当激光束直接向前发射时,与该方向的距离测量会在X轴上产生一个正值。Y轴: 通常指向Lidar的左侧。当激光束直接向左侧发射时,与该方向的距离测量会在Y轴上产生一个正值。Z轴: 通常指向Lidar的上方,与X和Y轴垂直。高度测量通常沿Z轴进行,正值代表物体高于Lidar设备,而负值代表低于Lidar设备。
4.2 重要性
- 车载Lidar系统的坐标系与车辆坐标系可能不完全对齐,需要一个转换矩阵来在两者之间进行坐标变换。
- 数据标注、地图生成、物体检测等任务需要明确Lidar坐标系的定义。
- 对于与其他传感器的数据融合,例如摄像头,知道各自的坐标系是非常关键的,以便进行正确的数据对齐和融合。
- 当与摄像头、雷达或其他传感器进行数据融合时,通常需要知道Lidar与这些传感器之间的外部标定参数(例如,旋转和平移矩阵),以便在它们之间进行坐标变换。
五 自车坐标系
一般环境中选择一个参考坐标系来描述传感器和物体的位置,该坐标系称为世界坐标系;自车坐标系一般指的是以车体后轴中心为原点(因为后轴中心不会随着车摆动而发生相对变化),左前上或右前上的空间坐标系,左(右)一般为横向,前一般为纵向,上指地面以上空间,坐标系随着车运动而运动。所有的下游需要感知输出的目标都要在自车坐标系下面,BEV视角目标也是指的在这个坐标系下
一般三维空间坐标系用三个正交轴X,Y,Z表示物体的位置,用绕这三个正交轴的旋转角度(roll 滚动角, pitch 俯仰角, yaw 偏航角)表示物体的姿态。时间坐标系只有一个维度。为了表述方便,我们一般将空间坐标和时间坐标分开讨论。
六 摄像机的内参和外参
6.1 相机内参
内参用来确定摄像机从三维空间到二维图像的投影关系。主要包含三个参数,相机主点,相机焦距,畸变系数。内参一般由商家给定,也可以进行摄像机标定。在自动驾驶应用中,摄像机的内参为常数,使用中不会发生变化,但需要在使用前做好标定工作。摄像机的拍摄过程,可以抽象成是从三维摄像机坐标系映射到二维需要被重写的是:平面坐标系,再映射到图像坐标系的过程。
6.2 焦距 (f)
- 它描述了图像传感器与摄像机的透镜之间的距离。通常用两个参数 () 和 () 来表示,分别对应于图像的x轴和y轴。
- 在很多情况下,我们假定 (),这意味着像素在两个方向上都是正方形的。
6.3 主点
- 它是图像中的一个点,通常接近图像的中心。它是3D空间中的点投影到图像平面时所对应的2D点。
- 通常用两个参数 () 和 () 表示,它们对应于图像的x轴和y轴上的坐标。
6.4 畸变系数
- 真实摄像机的透镜可能会引入畸变,导致图像失真。常见的畸变有径向畸变和切向畸变。
- 常用的径向畸变系数为 ()。
- 切向畸变系数为 ()。
一般情况下,摄像机的内参可以用一个矩阵来表示:
这个矩阵通常被称为内参矩阵或相机矩阵。
6.5 相机外参
通过二维图像推断物体在三维摄像机坐标系中的位置,例如获得距离深度信息。从二维图像中获取三维距离信息,如果需要获得物体在世界坐标系中的位置,则还需要知道摄像机在世界坐标系中的位姿。这一位姿表示被称为摄像机的外部参数,简称外参,用来决定摄像机坐标与世界坐标系之间相对位置关系。自动驾驶应用中,得到这一位置关系还需要一系列的标定和定位工作。相机相对其它坐标系,旋转+平移矩阵,其中旋转外参与上述欧拉角【yaw,patch,roll】,旋转顺序一般为(z-y-x), 单位度;平移外参,相机到目标坐标系中的平移距离,单位米
七 自车坐标系与世界坐标系
7.1 自车坐标系 (Vehicle Coordinate System)
- 这是固定在车辆上的坐标系。
- 通常,X轴指向车辆的前方、Y轴指向车辆的右侧(或左侧,这取决于约定)、Z轴指向车辆的上方。
- 这个坐标系的原点通常位于车辆的某个固定点,例如车辆的中心、车辆的后轴等,这取决于特定的应用和约定。
7.2 世界坐标系 (World Coordinate System)
- 这是一个固定的、全局的坐标系,用于描述环境中的物体和车辆。
- 世界坐标系的原点和方向通常根据特定的应用或场景来选择。例如,它可以定位在一个地图的某个固定点,或者是某个场景的中心。
- 世界坐标系为多个实体提供了一个共同的参考框架,允许它们之间进行相对定位和导航。
关系与转换: - 由于车辆在世界中是移动的,所以自车坐标系和世界坐标系之间的关系是时间变化的。- 为了在这两个坐标系之间进行转换,通常需要一个转换矩阵或变换(通常由旋转和平移组成)。这个转换可以通过各种传感器(例如GPS、IMU、激光雷达)和算法(例如SLAM)获得。- 转换可以表示为一个4x4的齐次坐标矩阵,允许我们从一个坐标系转换到另一个坐标系。
在大多数情况下,自车坐标系与世界坐标系是相同的,本文也是这样理解的
八 坐标系之间转换关系
8.1 从世界坐标系到相机坐标系
物体之间的坐标系变换都可以表示坐标系的旋转变换加上平移变换,则世界坐标系到相机坐标系的转换关系也是如此。绕着不同的轴旋转不同的角度得到不同的旋转矩阵。绕Z轴旋转θ示意图:
最后可以简单总结为旋转矩阵:
平移: 平移相机坐标点()平移距离为()到世界坐标点
8.2 相机坐标系到图像坐标系
从相机坐标系到图像坐标系,属于透视投影关系,从3D转换到2D。也可以看成是针孔模型的改变模型。满足三角形相似定理。
8.3 图像坐标系到像素坐标系
在这种情况下,与之前的坐标系变换不同,此时没有旋转变换,但是坐标原点的位置和大小不一致,因此需要设计伸缩变换和平移变换
8.4 四个坐标系之间的关系
通过最终的转换关系来看,一个三维坐标点可以在图像中找到对应的像素点。然而,反过来,通过图像中的一个点找到其在三维空间中对应的点就成了一个问题,因为我们并不知道等式左边的值
红框内即为外参,R和T分别为旋转和平移量。内参为是相机固有的属性,实际上就是焦距f,像元尺寸dx,dy。很明显,表示的是点离光轴的距离
九 总结
梳理了自动驾驶的各种坐标系,展现自动驾驶各坐标系间的关系,最终得到像素坐标系与世界坐标系的转换关系。
原文链接:https://mp.weixin.qq.com/s/tTRCjZBRZcnb59nX3FRR8w
以上是你是否真正掌握了坐标系转换?自动驾驶离不开的多传感器问题的详细内容。更多信息请关注PHP中文网其他相关文章!

使用Gemma范围探索语言模型的内部工作 了解AI语言模型的复杂性是一个重大挑战。 Google发布的Gemma Scope是一种综合工具包,为研究人员提供了一种强大的探索方式

解锁业务成功:成为商业智能分析师的指南 想象一下,将原始数据转换为驱动组织增长的可行见解。 这是商业智能(BI)分析师的力量 - 在GU中的关键作用

SQL的Alter表语句:动态地将列添加到数据库 在数据管理中,SQL的适应性至关重要。 需要即时调整数据库结构吗? Alter表语句是您的解决方案。本指南的详细信息添加了Colu

介绍 想象一个繁华的办公室,两名专业人员在一个关键项目中合作。 业务分析师专注于公司的目标,确定改进领域,并确保与市场趋势保持战略一致。 simu

Excel 数据计数与分析:COUNT 和 COUNTA 函数详解 精确的数据计数和分析在 Excel 中至关重要,尤其是在处理大型数据集时。Excel 提供了多种函数来实现此目的,其中 COUNT 和 COUNTA 函数是用于在不同条件下统计单元格数量的关键工具。虽然这两个函数都用于计数单元格,但它们的设计目标却针对不同的数据类型。让我们深入了解 COUNT 和 COUNTA 函数的具体细节,突出它们独特的特性和区别,并学习如何在数据分析中应用它们。 要点概述 理解 COUNT 和 COU

Google Chrome的AI Revolution:个性化和高效的浏览体验 人工智能(AI)正在迅速改变我们的日常生活,而Google Chrome正在领导网络浏览领域的负责人。 本文探讨了兴奋

重新构想影响:四倍的底线 长期以来,对话一直以狭义的AI影响来控制,主要集中在利润的最低点上。但是,更全面的方法认识到BU的相互联系

事情正稳步发展。投资投入量子服务提供商和初创企业表明,行业了解其意义。而且,越来越多的现实用例正在出现以证明其价值超出


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

禅工作室 13.0.1
功能强大的PHP集成开发环境

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境