经典文献阅读之--ParkingE2E(基于摄像头的端到端停车网络:从图像到规划)

0. 简介

自动泊车是智能驾驶领域的一项关键任务。传统泊车算法通常采用基于规则的方案来实现。然而,由于算法设计的复杂性,这些方法在复杂的泊车场景中效果欠佳。相比之下,基于神经网络的方法往往比基于规则的方法更加直观且功能多样。通过收集大量专家泊车轨迹数据,并利用基于学习的方法模拟人类策略,泊车任务可以得到有效解决。《ParkingE2E: Camera-based End-to-end Parking Network, from Images to Planning》采用模仿学习的方法,通过模仿人类驾驶轨迹,实现从RGB图像到路径规划的端到端规划。所提出的端到端方法利用目标查询编码器来融合图像和目标特征,以及基于Transformer的解码器来自回归地预测未来路径点。相关的代码在Github中可以看到。

在这里插入图片描述

图1:整体工作流程的示意图。我们的模型以环视摄像头图像和目标停车位作为输入,输出预测的轨迹关键点,随后由控制器执行。补充视频材料可在以下链接查看:https://youtu.be/urOEHJH1TBQ。

1. 主要贡献

智能驾驶涉及三大主要任务:城市驾驶、高速公路驾驶和泊车操作。自动代客泊车(AVP)和自动泊车辅助(APA)系统作为智能驾驶中的关键泊车任务,显著提升了泊车的安全性和便捷性。然而,主流的泊车方法往往基于规则,需要将整个泊车过程分解为多个阶段,如环境感知、地图构建、车位检测、定位和路径规划。由于这些复杂模型架构的精细性,它们在紧凑车位或复杂场景中更容易遇到困难。

端到端(E2E)自动驾驶算法通过将感知、预测和规划组件集成到一个统一的神经网络中进行联合优化,减少了跨模块的累积误差。将端到端算法应用于泊车场景有助于减少对人工设计特征和规则的依赖,提供全面、整体且用户友好的解决方案。

虽然端到端自动驾驶已经显示出显著的优势,但大多数研究都集中在模拟上,而没有验证算法在现实世界中的有效性。与城市环境的复杂性和高速公路驾驶的危险性相比,泊车场景的特点是速度低、空间有限且可控性高。这些特点为在车辆中逐步部署端到端自动驾驶能力提供了一条可行的途径。我们开发了一个端到端泊车神经网络,并在现实世界的泊车场景中验证了该算法的可行性。

这项工作扩展了我们之前的工作E2E-Carla,通过提出一种基于模仿学习的端到端泊车算法,该算法已在真实环境中成功部署和评估。该算法接收车载camera捕捉的环视图像,预测未来的轨迹结果,并根据预测的路径点执行控制。一旦用户指定了一个停车位,端到端泊车网络就会与控制器协同工作,自动操控车辆进入停车位,直到完全停好。本文的主要贡献概括如下:

  • 设计了一个端到端网络来执行泊车任务。该网络将环视图像转换为鸟瞰图(BEV)表示,并通过使用目标特征来查询图像特征,将其与目标停车位特征相融合。由于轨迹点的顺序性,我们采用基于Transformer解码器的自回归方法来生成轨迹点。
  • 将端到端模型部署在实车上进行测试,验证了该网络模型在各种现实场景中的泊车可行性和通用性,为端到端网络的部署提供了有效解决方案。

2. 初步研究:问题定义

我们使用端到端神经网络 N θ N_θ Nθ 来模仿专家轨迹进行训练,并定义数据集:

D = { ( I i , j k , P i , j , S i ) } , (1) \mathcal{D} = \{ ( I_{i,j}^{k}, P_{i,j}, S_{i} ) \}, \tag{1} D={(Ii,jk,Pi,j,Si)},(1)

其中,轨迹索引 i ∈ [ 1 , M ] i \in [1, M] i[1,M],轨迹点索引 j ∈ [ 1 , N i ] j \in [1, N_i] j[1,Ni],相机索引 k ∈ [ 1 , R ] k \in [1, R] k[1,R],RGB 图像 I I I,轨迹点 P P P 和目标槽 S S S。将数据集重新组织为(这里 T i , j T_{i,j} Ti,j是根据端到端神经网络计算得出):

T i , j = { P i , min ⁡ ( j + b , N i ) } b = 1 , 2 , … , Q , (2) T_{i,j} = \{ P_{i, \min(j+b, N_i)} \}_{b=1,2,\ldots,Q}, \tag{2} Ti,j={Pi,min(j+b,Ni)}b=1,2,,Q,(2)

D ′ = { ( I i , j k , T i , j , S i ) } , (3) D' = \{ (I^{k}_{i,j}, T_{i,j}, S_i) \}, \tag{3} D={(Ii,jk,Ti,j,Si)},(3)

其中, Q Q Q 表示预测轨迹点的长度, R R R 表示 RGB 摄像头的数量。端到端网络的优化目标如下:

θ ′ = arg ⁡ min ⁡ θ E ( I , T , S ) ∼ D ′ [ L ( T , N θ ( I , S ) ) ] , (4) \theta' = \arg \min_{\theta} \mathbb{E}_{(I, T, S) \sim \mathcal{D'}} \left[ \mathcal{L}(T, N_{\theta}(I, S)) \right], \tag{4} θ=argθminE(I,T,S)D[L(T,Nθ(I,S))],(4)

其中 L L L 表示损失函数。

3. 基于摄像头的端到端神经规划器

3.1 概述

如图 2 所示,我们开发了一种端到端的神经规划器,该规划器以 RGB 图像和目标槽作为输入。所提出的神经网络主要包括两个部分:输入编码器和自回归轨迹解码器。通过输入 RGB 图像和目标槽,RGB 图像被转换为鸟瞰视图(BEV)特征。随后,神经网络将 BEV 特征与目标槽融合,并采用自回归方式通过变换器解码器生成下一个轨迹点

在这里插入图片描述

图 2:我们方法的概述。多视角 RGB 图像经过处理后,其图像特征被转换为鸟瞰视图(BEV)表示。目标槽用于生成 BEV 目标特征。我们使用目标查询将目标特征与图像的 BEV 特征进行融合。随后,我们通过自回归变换器解码器逐一获得预测的轨迹点。

3.2 编码器

我们在鸟瞰视图(BEV)中对输入进行编码。BEV 表示提供了车辆周围环境的俯视图,使自我车辆能够检测停车位、障碍物和标记。同时,BEV 视图在不同驾驶视角下提供了一致的视点表示,从而简化了轨迹预测的复杂性。

3.2.1 相机编码器(这一步就是特征提取+lss前视转鸟瞰的操作)

在 BEV 生成流程的开始,我们首先利用 EfficientNet [22] 从 RGB 输入中提取图像特征 F i m g ∈ R C × H i m g × W i m g F_{img} ∈ \mathbb{R}^{C×H_{img}×W_{img}} FimgRC×Himg×Wimg。受到 LSS [23] 的启发,我们学习图像特征的深度分布 d d e p ∈ R D × H i m g × W i m g d_{dep} ∈ \mathbb{R}^{D×H_{img}×W_{img}} ddepRD×Himg×Wimg,并将每个像素提升到 3D 空间。然后,我们将预测的深度分布 d d e p d_{dep} ddep 与图像特征 F i m g F_{img} Fimg 相乘,以获得包含深度信息的图像特征。结合相机的外参和内参,图像特征被投影到 BEV 体素网格中,以生成相机特征 F c a m ∈ R C × H c a m × W c a m F_{cam} ∈ \mathbb{R}^{C×H_{cam}×W_{cam}} FcamRC×Hcam×Wcam。BEV 特征在 x x x 方向的范围表示为 [ − R x −R_x Rx, R x R_x Rx]m,其中 m 表示米,而 y y y 方向的范围表示为 [ − R y −R_y Ry, R y R_y Ry]m。

…详情请参照古月居

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORACLE 统计信息的备份与恢复

备份 --需要先创建统计信息基础表 exec dbms_stats.create_stat_table(USER1,STAT_TIMESTAMP); --导出某个用户的所有统计信息 exec dbms_stats.export_schema_stats(USER1,STAT_TIMESTAMP);--测试(插入100条,更新统计信息,略) select num_rows,last_ana…

基于STM32开发的简易自动驾驶系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化传感器数据采集与处理电机控制与转向OLED显示与状态提示Wi-Fi通信与远程监控应用场景 简易自动驾驶演示智能车模型开发与学习常见问题及解决方案 常见问题解决方案结论 1. 引言 随…

蜂鸣器奏乐

一、粗略了解简谱 拍号:如图,“2”表示一个小节有2拍,“4”表示4分音符为一拍 终止线表示歌曲结束 注意:以下音符都按以四分音符为一拍计算拍数 四分音符: 唱一拍 二分音符: 某一个音右边有一个小横线&…

中国招标投标平台JS逆向:DES加密与Python纯算还原

中国招标投标平台JS逆向:DES加密与Python纯算还原 目录 🔐 JS DES解密🧮 Python版本的纯算实现 🔐 JS DES解密 在中国招标投标公共服务平台的分析过程中,发现了数据加密采用了DES算法。DES(数据加密标准&…

github源码指引:C++嵌入式WEB服务器

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 相关专题: C嵌入式…

Broker服务器模块

一.Broker模块介绍 二.Broker模块具体实现 1. 类的成员变量与构造函数 成员变量 事件循环和TCP服务器: muduo::net::EventLoop _baseloop;muduo::net::TcpServer _server; 这些是muduo库提供的核心组件,负责处理网络事件和管理TCP连接。 消息分发和编码: muduo::…

Spring Security 认证源码超详细分析

Spring Security 认证源码超详细分析 认证(Authentication)是系统确认用户信息的重要途径,用户通过认证之后,系统才能明确用户的身份,进而才可以为该用户分配一定的权限,这个过程也叫授权(Auth…

项目实战--Sa-Token详细方案笔记

Sa-Token权限系统设计 一、前言二、认证授权的概念三、Sa-Token简介3.1 Sa-Token使用方式3.2 踢人下线3.3 全局异常处理3.4 二级认证3.5 同端互斥登录3.6 Http Basic/Digest 认证3.6.1 HttpBasic认证3.6.2 Http Digest 认证 四、Sa-Token授权(鉴权)4.1 权…

详说 类和对象

类怎么定义 类是什么呢?类就是我们上篇文说的命名空间,单独创建一个域,自己有自己的生命空间,那么类怎么定义呢?C规定,假设 stack就是他的类名,那么前面要加个class,换行之后就是他…

汽车乘客热舒适度大挑战,如何利用仿真技术提高汽车环境舒适度

舒适性在人们选择汽车的决定性方面占比越来越重,而汽车乘员舱环境的舒适性是指为乘员提供舒适愉快便利的乘坐环境与条件,包括良好的平顺性、车内的低噪声、适宜的空气环境以及良好的驾驶操作性能。 舒适性 经济性 安全性、动力性 典型的乘员舱热舒适性模…

laravel的队列的使用

laravel队列 laravel的特性:laravel队列可以基于不同的后台存储服务提供统一的api,后台存储服务包括 Redis MySQL等。队列实现了业务解耦,异步处理,错误重试的功能。比如调用第三方api,无法保证api的可靠性&#xff0…

Transformer 与传统模型Informer

Transformer 与传统模型:Informer 如何改变时间序列预测的规则 Transformers 是那些聪明的注意力构建者,它们在机器学习的各个领域掀起了波澜。但在时间序列预测领域,它们才真正大显身手。你可能会问,为什么?想象一下,有一个水晶球,它不仅能看到未来,还能理解导致未来的…

TCP协议 配合 Wireshark 分析数据

在TCP连接中,无论是客户端还是服务端,都有可能成为发送端或接收端,这是因为TCP是一个全双工协议,允许数据在同一连接中双向流动 客户端(Client):通常是指主动发起连接请求的一方。例如&#xf…

宠物空气净化器有用吗?为什么养宠家庭要买宠物空气净化器?

身为一个鼻炎患者,却喜欢猫咪,所以毅然决然的养了两只宠物,而且还是长毛猫,不要问为什么鼻炎还买两只猫咪,因为怕一只猫咪孤单,所以养了两只。对于很多人来说,猫咪就像焦虑不安时的精神搭子&…

如何让私域服务赢得用户的心?

私域流量的概念在当今的商业环境中已经变得极为重要,许多品牌和企业都投入大量资源尝试通过各种策略吸引并保留用户。然而,单纯的流量积累并不足以确保商业成功。当面对用户的沉默、缺乏活跃度以及无法变现的困境时,我们必须重新审视私域流量…

语音控制开关的语音识别ic芯片方案

语音控制开关是一种基于语音识别技术的设备,它通过内置的语音识别芯片,将用户的语音指令转化为电信号,从而实现对设备的控制。例如在智能家居设备上的应用,通常需要连接到家庭的Wi-Fi网络上,以便与智能手机或智能音箱等…

Java之初始泛型

1 包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 1.1 基本数据类型和对应的包装类 基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoub…

FaceFormer嘴形同步论文复现

一、项目地址 https://github.com/EvelynFan/FaceFormer 二、复现过程 1、项目环境 系统:Ubuntu 18.04.1 python版本:Python 3.7 使用conda创建一个虚拟环境,安装requirements.txt中所需要的库 2、安装ffmpeg 教程网址:http…

8个Python编程进阶常用技巧!

介绍 Python 炫酷功能(例如,变量解包,偏函数,枚举可迭代对象等)的文章层出不穷。但是还有很多 Python 的编程小技巧鲜被提及。因此,本文会试着介绍一些其它文章没有提到的小技巧,这些小技巧也是…

Selenium+Python自动化测试环境搭建

1. 什么是Selenium? Selenium主要用于web应用程序的自动化测试,但并不局限于此,它还支持所有基于web的管理任务自动化。 2、selenium 自动化流程如下: 自动化程序调用Selenium 客户端库函数(比如点击按钮元素&#xff…