自动驾驶---Perception之IPM图和BEV图

news2024/10/6 6:05:08

1 前言

        IPM(Inverse Perspective Mapping,逆透视变换)图的历史可以追溯到计算机视觉和图像处理领域的发展。逆透视变换是一种用于消除图像中透视效应的技术,使得原本由于透视产生的形变得以纠正,进而更准确地描述和理解图像中的场景。比如在行车中的车道线检测,泊车中的常见障碍物检测,自动驾驶感知最开始的方案基本都离不开IPM图。

       早期,自动驾驶系统主要依赖于传统的2D感知算法,这些算法通常从单张图像(或者IPM图)中检测或分割目标。然而,随着自动驾驶技术的发展,对车辆周围环境感知的需求越来越高(比如IPM图拼接处的检测准确度较差),需要更全面地理解车辆周围的目标和障碍物。

       因此,研究者们开始探索如何将来自不同摄像头和传感器的数据融合到一个统一的视图中,BEV(Bird's Eye View,鸟瞰图)的概念就是在这样的背景下提出的。通过将来自多个摄像头的数据投影到一个共享的BEV空间中,可以创建一个从上方俯视的二维图像,其中包含了车辆周围环境中的所有目标和障碍物。随着特斯拉将BEV技术量产发布后,国内的自动驾驶公司感知模块也在逐步切换到BEV方案。

2 内容介绍

        在自动驾驶感知中,IPM和BEV是两个重要的概念,它们各自在自动驾驶的感知和理解环境中起着关键作用,下面分别对两者进行介绍,本篇博客不做公式推导,只做概念及应用的阐述,用于区分两者的相同点和不同点

2.1 IPM图

(1)定义

        IPM是一种在自动驾驶中常用的图像处理方法,主要用于将从车辆摄像头捕获的图像中的车道线或其他特征,从透视视角(即摄像头视角)转换到鸟瞰视角(即从上空垂直俯视的视角)。

(2)原理

        逆透视映射的基本原理是将摄像头捕获的图像中的像素点映射回地面上的实际位置。由于摄像头捕获的图像是真实世界的3D坐标到2D平面坐标的投影,因此IPM图通过将2D图像反变换到3D世界坐标,然后在世界坐标系下进行物体检测和分析。这一过程中,单应矩阵(单应矩阵是一个3x3的矩阵,它描述了两个平面之间的投影映射关系)起到了关键作用,它可以通过已知相机内参和地面上的点坐标来计算图片中对应像素点的位置。(IPM公式推导可参考其它文章:Apply IPM in Lane Detection from BEV)

(3)作用

        由于摄像头捕获的图像是透视的,即远处的物体看起来更小,而近处的物体看起来更大。这种透视效果在自动驾驶中可能会导致一些问题,例如难以准确判断物体的实际大小和位置。IPM的作用就是消除这种透视效果,将图像转换为鸟瞰视角,使得物体的大小和位置在图像中更加接近真实情况。

(4)应用

        动态逆投影变换(Dynamic IPM)是一种特殊的IPM技术,它主要用于处理动态场景中的车道线检测。当车辆行驶在弯道或坡道上时,车道线在图像中可能会呈现出一定的倾斜或弯曲。动态IPM可以根据车辆的行驶状态(如速度、加速度、转向角等)实时调整变换参数,以更准确地还原车道线的真实形状和位置。另外还有障碍物的检测(车辆、行人等)以及交通标志的检测(包括限速标志、交通信号灯等)。

(5)技术特点

        IPM图技术具有一些显著的特点。首先,它依赖于平坦地面假设,即假设道路是平坦的且与世界坐标系平行。这一假设在大多数道路场景下是合理的,但在某些特殊情况下(如斜坡或弯道)可能会引入误差。其次,IPM图技术需要准确估计相机的内参和外参,以确保映射的准确性。此外,由于IPM图将2D图像反变换到3D世界坐标,因此它需要处理大量的计算和数据,对计算资源的要求较高。

78caaee0fdee4d36805cf195ea4a5073.png

 图示:行车车道线

37fb662145324b5781d0f66be38b320c.png

  图示:泊车IPM图

2.2 BEV图

(1)定义

        BEV图是一种从多个摄像头或雷达数据中提取信息,并将其融合到一个统一的鸟瞰视角下的图像表示。

(2)作用

        BEV图的作用是将多个摄像头或雷达的数据统一到同一个坐标系下,以便进行更准确的目标检测、跟踪和场景理解。在BEV图中,车辆、行人、道路、交通标志等物体都被表示为一个统一的三维空间中的点或区域,这使得自动驾驶系统可以更容易地理解和分析环境。

(3)生成方式

        BEV图像可以通过多种方式生成,主要包括:

  1. 使用激光雷达:激光雷达可以直接测量物体在三维空间中的位置,然后将这些数据转换为BEV图像。这种方法能够精确地捕捉环境中的物体位置,为自动驾驶系统提供丰富的环境信息。
  2. 使用摄像头:摄像头可以通过计算图像的透视投影来生成BEV图像。虽然这种方法相比激光雷达在精度上可能稍逊一筹,但其成本较低,且可以通过算法优化来提高精度。
  3. 使用混合传感器:结合激光雷达和摄像头的组合可以生成更精确和完整的BEV图像。这种方法结合了两种传感器的优点,能够提供更全面、更准确的环境信息。

(4)生成BEV图的原理

        生成BEV(Bird's Eye View)图的原理主要涉及到多个传感器数据的融合和坐标转换。以下是生成BEV图的基本原理:

  • 数据收集:首先,通过安装在车辆上的各种传感器(如摄像头、激光雷达、毫米波雷达等)收集环境数据。这些传感器能够捕获车辆周围环境的三维信息。
  • 图像到点云投影:对于视觉传感器(如摄像头),通过立体匹配、单目或多目深度估计等技术来获取场景的三维信息。然后,将这些三维信息投影到车辆坐标系下的垂直平面上,生成点云数据。点云数据是环境中物体在三维空间中的位置集合。
  • 坐标变换:由于不同传感器可能使用不同的坐标系,因此需要将它们的数据统一到同一坐标系下。这通常涉及到从各自传感器坐标系到全局或车辆坐标系的坐标变换和校准过程。坐标变换确保了点云数据在空间上的一致性。
  • 特征融合与映射:在将来自不同传感器的数据统一到同一坐标系后,进行特征融合。这意味着将来自不同传感器(如摄像头和激光雷达)的数据中的有用信息结合在一起,以生成更完整、更准确的环境感知结果。然后,在BEV空间上进行特征提取和映射。这可以通过使用卷积神经网络(CNN)或Transformer架构等深度学习技术来实现,以生成BEV特征图。
  • 生成BEV图:最后,根据提取的BEV特征图,可以生成BEV图像。这个图像提供了从车辆上方俯瞰的视图,展示了车辆周围环境的完整视图,包括车辆前方、后方、两侧和顶部的信息。

        整个过程中,关键的技术包括三维重建、坐标变换、特征融合和深度学习等。这些技术共同作用,使得自动驾驶系统能够生成准确、可靠的BEV图,从而更好地理解周围环境,实现更安全的自动驾驶。

(5)应用

        BEV图在自动驾驶中的应用非常广泛,例如用于车辆定位、道路检测、障碍物检测、交通信号识别等任务。通过BEV图,自动驾驶系统可以实时获取周围环境的详细信息,并据此做出准确的决策规划和控制。

f7b26e09204f4a50b05cb4b243e9706e.png

3 总结

        IPM图和BEV图在自动驾驶感知中各自扮演着不同的角色,但它们都是为了提高自动驾驶系统对环境的感知和理解能力而设计的。通过这两种技术,自动驾驶系统可以更准确地识别和理解周围环境中的物体和场景,从而实现更安全、更可靠的自动驾驶。本篇博客的目的是为了让读者了解二者的概念、应用和区别。

        IPM是早期的感知方案,随着自动驾驶感知技术的发展,目前已经被BEV方案所取代,自动驾驶感知技术发展路线可参考《自动驾驶---Tesla的自动驾驶技术进化史(Perception&Planning)》。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1700536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

早餐店燃气安全岂能马虎?探头选择与年检必须到位

在现代都市生活中,早餐店作为人们日常生活中的重要一环,其安全性问题日益受到人们的关注。其中,燃气泄漏引发的火灾和爆炸事故尤为令人担忧。 因此,点式可燃气体报警器在早餐店中的应用显得尤为重要。 在这篇文章中,…

PyTorch深度学习实战(44)——基于 DETR 的目标检测模型

PyTorch深度学习实战(44)——基于 DETR 的目标检测模型 0. 前言1. Transformer1.1 Transformer 基础1.2 Transformer 架构 2. DETR2.1 DETR 架构2.2 实现 DETR 模型 3. 基于 DETR 实现目标检测3.1 数据加载与模型构建3.2 模型训练与测试 小结系列链接 0.…

防止CSRF攻击

防止CSRF攻击 跨站点请求伪造(Cross-Site Request Forgery,简称CSRF)是一种常见的网络攻击类型。当用户在受信任的站点上通过身份验证后,访问攻击者精心准备的恶意网站、电子邮件、博客、即时消息或程序时,可能会导致…

遥感信息SCI期刊,中科院1区,IF=7+,审稿速度非常快!

一、期刊名称 International Journal of Applied Earth Observation and Geoinformation 二、期刊简介概况 期刊类型:SCI 学科领域:遥感 影响因子:7.5 中科院分区:1区 三、期刊征稿范围 《国际应用地球观测和地理信息杂志》…

ISCC2024个人挑战赛WP-MISC

(非官方解,以下内容均互联网收集的信息和个人思路,仅供学习参考) where is flag 下载附件,解压出pyc,然后到下面网址反编译 python反编译 - 在线工具 记住c,是密文, Key是 k5fg…

【QNX】Qnx IPC通信 Message-passing

Qnx IPC通信 Message-passing Message-passing介绍 QNX提供了多种IPC(Interprocess Communication )通信方式,包括Message-passing、Plus(脉冲)、Event、Signal、共享内存、Pipe,当然还有socket。 Message-passing是Qnx IPC的主…

远大阀门集团携创新产品亮相南京,展现石化行业新风采

2024年5月22日,备受瞩目的第八届中国石油和化工行业采购大会在江苏省南京市盛大开幕。作为石化行业物资采购领域极具影响力的年度盛会,本次大会吸引了众多国内外能源化工企业、化工新材料企业、工程公司以及相关领域的供应商参加。远大阀门集团作为特邀优…

【网络安全】Fortinet FortiSIEM 中存在严重未经身份验证的 RCE 漏洞:已发布 PoC

文章目录 什么是Fortinet Forti SIEMFortinet Advisor — FortiSIEM 内置生成式 AI 优势功能下一代 SOC 自动化通过链路分析实现可视化威胁猎捕 RCE 漏洞和 PoC如何降低影响推荐阅读 针对 Fortinet FortiSIEM 中一个严重的未经身份验证的远程代码执行漏洞(CVE-2023-…

NVIDIA Orin/Jetson 平台+数字同轴GMSL 车载AI视觉方案,应用于车载,机器人等领域

专注于成像和视觉技术于近期正式发布了可适配NVIDIA DRIVE AGX Orin平台的一系列摄像头产品,该产品是自主开发的数字同轴GMSL2摄像头模组,可满足智能汽车的高质量成像需求。 目前,推出可适配于NVIDIA DRIVE AGX Orin平台的摄像头产品一共有11…

ubuntu安装Stable Video Diffusion(SVD)让图片动起来

目录 写在前面 一、克隆或下载项目 二、下载预训练模型 三、创建环境 四、安装依赖 五、启动项目 六、解决报错 1.预训练模型下不来 2.TiffWriter.write() got an unexpected keyword argument fps 3.安装ffmpeg 4.No module named scripts 七、测试 写在前面 Stab…

华为机考入门python3--(30)牛客30-字符串合并处理

分类:字符串、进制转换 知识点: 获取偶数下标的字符 even_chars my_str[::2] 获取奇数下标的字符 odd_chars my_str[1::2]) 翻转字符串 reversed_str my_str[::-1] 二进制转十进制 num int(reversed_binary, 2) 十进制转十六进制 …

JWT的生成

引依赖 生成JWT JWT校验 注意

Kubernetes(k8s) v1.30.1 本地集群部署 安装metallb 支持LoadBalancer 生产环境 推荐 BGP模式部署

1 metallb 安装参考:Kubernetes(k8s) v1.30.1 本地集群部署 默认不支持LoadBalancer metallb来解决-CSDN博客 2 删除 Layer 2 模式 配置 kubectl delete -f IPAddressPool.yaml kubectl delete -f L2Advertisement.yaml kubectl delete -f discuz-srv.yaml 3 配置 k8s Metal…

IDEA 2024.1安装与破解

一、下载 官网地址:https://www.jetbrains.com/idea/download/other.html 二、安装 傻瓜式安装即可 三、破解 3.1 破解程序 网站:https://3.jetbra.in/ 3.2 获取激活码 点击*号部分即可复制成功

【机器学习】——线性模型

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…

typescript 配置精讲 | moduleResolution

大家好,我是17。 moduleResolution 是 typescript 模块配置中最重要的一个配置,所以 17 单拿出来讲一下。如果你去看文档还是挺复杂的,但如果不去深究细节,只想知道如何配置还是很简单的。3 分钟就能学会。 moduleResolution 的…

neo4j开放远程连接

注:本博客所用neo4j版本为社区5.12版 第一步:修改neo4j配置文件 首先找到neo4j的安装位置,点击进入conf文件夹,随后点击neo4j.conf文件,在“Network connector configuration”下面的单元中找到server.default_liste…

奥枫软件Java要个16K遇到地狱级难度,醉了。。。

我只能说地狱难度,没绝对把握就别去了。我凭借前辈的经验,和当时天时地利人和,六道题答得很不错,但还是没通过。我有备而来都没过,现场写那些应该都是白忙活了。 一面 1,分割一个整数。如123,结…

贪心-AcWing 125. 耍杂技的牛-XMUOJ蒙德冒险者的游戏

题目 思路 每头牛的危险值 他前面牛的w(重量值)之和 - 自身的s(强壮值) 要使每头牛的危险值最小,根据贪心思想: 自身w值越大应该放到底部(即减小上述式中的被减数) 自身s值越大应该放到底部(即增大上述式中的减数&…

KingbaseES数据库union的用法

数据库版本:KingbaseES V008R006C008B0014 文章目录如下 1. union的概念 2. union的语法 3. union的用法 3.1. 去重(union) 3.2. 不去重(union all) 3.3. 聚合运算 3.4. 异常案例 1. union的概念 UNION 是结构…