作者 | 蒙牛二锅头 编辑 | 深蓝AI
点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
本文只做学术分享,如有侵权,联系删文
论文题目:
ParkingE2E: Camera-based End-to-end Parking Network, from Images to Planning
论文作者:
Changze Li, Ziheng Ji, Tong Qin, and Ming Yang
作者单位:上海交通大学未来技术全球研究院
导读:
本文一作为秦通课题组学生Changze Li,最近成功入选IROS24,实现了从图像到规划的端到端泊车网络,通过收集大量专家级的泊车轨迹数据,并采用基于学习的方法克隆人类的驾驶轨迹,可以有效地解决泊车问题。
自动泊车是智能驾驶系统中一项至关重要的任务。传统的泊车算法通常基于模块化设计实现。然而,由于算法设计复杂,在面对复杂的泊车场景时,这些方法的效果往往不尽人意。相比之下,人类的驾驶轨迹往往比机器基于模块化设计的航点更为直观且易于理解。通过收集大量专家级的泊车轨迹数据,并采用基于学习的方法克隆人类的驾驶轨迹,可以有效地解决泊车问题。本文运用模仿学习,通过模仿人类的驾驶轨迹来执行从RGB图像到路径规划的端到端规划。所提出的端到端方法使用目标查询编码器融合摄像头和目标特征,并利用基于transformer的解码器自回归地预测未来的航路点。本文在真实世界场景中进行了广泛实验,结果表明,所提出的方法在四个不同的实际场景中平均泊车成功率达到了87.8%。真实车辆实验进一步验证了本文所提方法的可行性和有效性。论文被接受后,代码将会开源。
智能驾驶涵盖三项主要任务:城市驾驶、高速公路驾驶以及泊车操作。自动代客泊车(AVP)与自动泊车辅助(APA)系统作为智能驾驶中关键的泊车任务,显著提高了泊车的安全性和便利性。然而,主流的泊车方法多基于模块化,需要将整个泊车过程分解为环境感知、建图、车位检测、定位及路径规划等多个阶段。由于这些复杂模型架构的繁琐性,它们在狭小停车位或复杂场景下更容易遇到难题。
端到端(E2E)自动驾驶算法通过将感知、预测与规划组件整合进统一的神经网络进行联合优化,减轻了各模块间累积误差的问题。将端到端算法应用于泊车场景,有助于减少泊车系统对人工设计特征和模块化的依赖,提供了一个全面、整体且用户友好的解决方案。
尽管端到端自动驾驶已展现出显著优势,但大部分研究集中于仿真环境,未验证算法在真实世界的有效性。与城市环境的复杂性及高速公路驾驶的风险相比,泊车场景提供了更高的可控性。这种可控性为逐步在车辆中部署端到端自动驾驶能力提供了一条可行途径。本文开发了一个端到端泊车神经网络,并验证了该算法在真实泊车情境下的可行性。
▲图1|展示了整个工作流程的示意图。该模型接收环视摄像头图像和目标车位作为输入,并输出预测的轨迹路点,这些路点随后由控制器执行
本工作基于模仿学习开发了一种端到端泊车算法。算法接收车载摄像头捕捉的环视图像,生成路径规划结果,并根据提供的航点执行控制。一旦用户指定泊车位,端到端泊车网络即与控制器协作,自动操纵车辆进入停车位直至完全停稳。本文贡献总结如下:
●设计了一个执行泊车任务的端到端网络。该网络将环视图像转换为BEV表示,并利用目标停车位特征查询摄像头特征,实现两者的融合。鉴于轨迹点具有序列性,本文采用了基于transformer解码器的自回归方法来生成轨迹点;
●在真实车辆上部署了端到端模型进行测试,验证了网络模型在多种真实场景泊车中的可行性和泛化能力,为端到端网络部署提供了一个有效方案。
■3.1 BEV感知
BEV表示相较于透视表示至少有两个优势:首先,它因具有清晰的物理可解释性而能轻松整合不同模态的输入;其次,BEV避免了透视失真问题,从而降低了下游任务(如规划)的复杂性。
近年来,BEV表示已在感知系统中得到广泛应用。与以往由特征提取模块和任务头部模块组成的深度学习感知算法不同,BEV感知在此基础上增加了一个视点转换模块。此转换模块促进了传感器视图与BEV之间的转换。代表工作包括LSS的深度估计与投影、DETR3D的稀疏查询三维检测、PETR的三维位置嵌入、BEVFormer的空间时间注意力机制、BEVDepth的深度增强学习以及BEVFusion的多模态特征融合。
■3.2 端到端的自动驾驶
与传统的基于模块的自动驾驶解决方案相比,端到端能够缓解累积误差,防止模块间的信息损失并最小化冗余计算,因此已成为自动驾驶领域一个热门且突出的研究主题。
初期研究如ChauffeurNet关注城市驾驶策略学习。众多研究采纳编码器-解码器结构,如Transfuser、Interfuser、NEAT等利用GRU进行自回归航点预测;CIL与CILRS则直接将视觉与导航信息映射至控制信号。近年来,针对泊车场景的端到端网络发展迅速,如两阶段学习框架预测转向和档位(Rathour等人)、CNN控制转向速度(Li等人)、ParkPredict系列的泊车位与航点预测。现有方法虽有成效,但也面临着计算需求高、实车部署难等问题。本文提出一种新颖的端到端泊车网络,利用自回归变压器解码器,结合RGB图像和目标车位信息预测航点。
■4.1 基础概念:问题定义
本文采用端到端神经网络来模仿专家轨迹进行训练,定义数据集为:
其中,轨迹索引,轨迹点索引,相机索引,RGB图像,轨迹点和目标车位。本文将数据集重新组织为:
以及
这里,表示预测轨迹点的长度,表示RGB摄像头的数量。
端到端网络的优化目标如下:
其中,表示损失函数。
■4.2 基于摄像头的端到端神经规划器
◆概述:
如图2所示,本文开发了一种端到端神经规划器,该规划器以RGB图像和目标车位作为输入。所提出的神经网络包含两个主要部分:输入编码器和自回归轨迹解码器。当输入RGB图像和目标车位后,RGB图像被转换以获取BEV特征,并将这些特征与目标车位特征融合。随后,神经网络利用transformer解码器以自回归方式生成下一个轨迹点。
▲图2|基于摄像头的端到端停车方法概述
◆输入编码器:
BEV提供了车辆周围环境的俯视图,使车辆能够识别停车位、障碍物和地面标线。同时,BEV在不同的驾驶视角之间提供了一致的观察点表示,从而降低了轨迹预测的复杂性。基于这些理由,本文选择在鸟瞰视图中对输入信息进行编码。
相机编码器:在生成BEV流程的开始,首先利用EfficientNet从RGB输入中提取图像特征。受LSS启发,本文学习图像特征的深度分布,并将每个像素提升到3D空间中。然后,本文将预测的深度分布与图像特征相乘,以获得含有深度信息的图像特征。利用相机的外参和内参,将图像特征投影到BEV体素网格中,生成相机特征。鸟瞰特征在x方向上的范围表示为米,y方向上的范围为米。
目标编码器:为了使目标车位与相机特征对齐,本文基于指定的停车位在鸟瞰空间中生成目标热力图。随后,本文使用深度CNN神经网络提取目标车位特征。在训练过程中,目标停车位根据泊车操作中最终直线轨迹段的外部包络线确定。
目标查询:通过在鸟瞰空间中对齐相机特征和目标编码特征 ,并利用注意力机制使用目标特征查询相机特征,本文可以有效地融合这两种模式。位置编码确保了在特定BEV位置关联特征时,相机特征与目标特征之间的空间对应关系得以保持。利用作为查询,相机特征作为键和值,并采用注意力机制,得到融合特征。
▲图3|目标查询的架构说明,本文对目标特征和相机特征添加了相同的位姿编码,以便建立两种特征之间的空间关系
◆轨迹解码器:
许多端到端规划研究采用了GRU解码器,以自回归方式从高维特征向量预测下一个点。然而,高维特征向量缺乏全局感受野。受Pix2seq的启发,本文将轨迹规划视为一个序列预测问题,使用transformer解码器来解决。这涉及到自回归地、一步一步地预测轨迹点。本文的方法有效结合了低维轨迹点与高维图像特征。
轨迹序列化:通过对轨迹点进行序列化,可以将回归问题转换为分类问题。随后,本文可以利用transformer解码器来预测自身坐标系下的轨迹点。本文采用以下序列化方法:
其中,定义为序列可表示的最大值,序列化轨迹点的符号表示为Ser(·)。
对于每一个轨迹点,本文定义在该点的泊车进度为,它代表了在泊车操作中第条轨迹的第个点的整体进展。当车辆从左侧开始泊车过程时,赋值为-1;从右侧开始时赋值为1;当车辆成功停在指定停车位内时,赋值为0。令表示第条轨迹中第个点与第个点之间的距离。可以表示为:
当从左侧泊车时,需乘以-1。泊车进度的序列化过程如下:
序列化之后,第ii条轨迹可以表示为:
其中,BOS代表开始标志,EOS代表结束标志。
轨迹解码器:BEV特征作为键和值,而序列化的队列则作为查询,利用transformer解码器以自回归的方式生成轨迹点。在训练过程中,本文向序列点添加位置嵌入,并通过屏蔽未知信息来实现并行化。在推理过程中,给定BOS标记,transformer解码器预测第一个点。然后,将预测的点附加到序列中以进行下一步,重复此过程,直到遇到EOS或达到指定的预测点数量为止。
■4.3 横向与纵向控制
在控制过程中,定义泊车起始时刻为,该时刻可根据端到端神经规划器为路径规划预测得出,即。从初始时刻到当前时刻的相对姿态可通过视觉里程计获得,记为。目标转向角可采用后轮反馈(RWF)方法计算得到,表达式如下:
依据底盘提供的速度反馈和转向反馈,以及设定的目标速度和计算得出的目标转向角,采用级联PID控制器实现横向与纵向的控制。每当生成新的预测轨迹后,将和重置,这样在整个车辆控制过程中就不必持续依赖全局定位。
■5.1 数据集收集
数据集通过车载设备进行采集。实验车辆配备有四个摄像头和一个惯性测量单元(IMU)。环视摄像头用于捕捉RGB图像,同时实现了一个视觉惯性里程计,用于车辆定位,这对于确定车辆行驶轨迹至关重要。实验平台的布局及所使用的传感器如图4所示。
▲图4|本文以长安汽车为实验平台(该车辆搭载英特尔NUC设备以运行模型推理与控制)
数据收集涵盖了多种泊车场景,包括地下车库和地面车库,如图5所示。从多样化的环境中收集数据有助于增强神经网络的泛化能力。一部分来自车库I和II的停车位数据被用于训练。而未参与训练的车库I和II中的其余停车位数据,以及从车库III和IV收集的所有停车位数据,则用于测试。
▲图5|系统训练和测试使用了多个不同的停车场
■5.2 实现细节
在训练过程中,使用环视摄像头图像(摄像头数量R为4)作为输入,而目标停车位由泊车结束时的一些点确定。轨迹序列点被用来监督端到端预测结果。
在推理过程中,采用指定的目标车位、环视摄像头图像以及预设的BOS信号。模型以自回归方式预测后续n个轨迹点的位置。路径规划结果指导控制器基于路径、自身位姿及反馈信号来操纵车辆,直至车辆停入指定车位。值得注意的是,目标点及所有预测的轨迹点均表示当前车辆坐标系下的位置,确保了轨迹序列与BEV特征的一致性。这一设计也使得整个系统独立于全局坐标系。
就神经网络细节而言,BEV特征的尺寸为200×200,对应实际空间范围为,,分辨率为0.1米。在transformer解码器中,轨迹序列化最大值为1200。轨迹解码器生成长度为30的预测序列。
本文使用PyTorch框架实现了该方法。网络在NVIDIA GeForce RTX 4090 GPU上进行训练,批大小为16,总训练时间约为8小时,使用了40,000帧数据。测试数据集包含大约5,000帧。
■5.3 评估指标
◆模型轨迹评估:
在进行真实场景实验之前,为了分析模型的推理性能,本文对模型进行初步评估并设计了一些评估指标。
L2距离(L2 Dis.):指的是模型预测轨迹上的路点与真实轨迹上相应路点之间距离的平均值。这一指标从离散路点的角度评价模型推理的精确度和准确性。
豪斯多夫距离(Haus Dis.):在预测轨迹上选取一点,计算该点到真实轨迹上所有点的最短距离,再选取这些最短距离中的最大值。这一指标从轨迹集合的角度评价预测轨迹与真实轨迹的匹配程度,但对异常值敏感。
相似度:结合了 Frechet距离和Procrustes分析,范围在0到1之间。首先对预测轨迹和真实轨迹进行对齐,然后计算两者曲线间的Frechet距离。这允许从整体曲线的角度评估两条轨迹的相似性,反映模型推理结果的一致性。
◆端到端实车评估:
在实车实验中,本文使用以下指标评估端到端泊车性能。
泊车成功率(PSR):描述了自主车辆成功停入目标车位的概率。
无车位率(NSR):未能停入指定车位的失败率。
泊车违规率(PVR):指车辆略微超出指定车位边界,但未阻碍或妨碍邻近车位的情况发生频率。
平均位置误差(APE):在成功泊车时,目标泊车位点与自主车辆停止位置之间的平均距离。
平均方向误差(AOE):成功泊车时,目标泊车位点与自主车辆停止位置之间的平均方向差异。
平均泊车得分(APS):综合考虑泊车过程中的位置误差、方向误差和成功率进行综合评估得出的分数,分布在0到100之间。
平均泊车时间(APT):多次泊车操作的平均泊车耗时。泊车时间从启动泊车模式开始计算,直至车辆成功停入指定车位,或因异常或失败终止泊车过程。
■5.4 定量结果
▲表I|闭环实车测试结果
为了验证本文所提出系统的性能,本文在四种不同环境条件下的停车场进行了闭环车辆测试。车库I为地下车库,而车库II、III和IV为地面车库。场景A为两侧无障碍物的停车情境,场景B为左侧或右侧有车辆停放的停车情境,场景C则为附近有障碍物或墙体的停车情境,结果如表I所示。在实验中,本文测试了四个不同的车库,并且对于每个车库,本文使用了三种不同的实验场景。针对每种实验场景,本文随机选择了三个不同的停车位。对于每个车位,分别在左右两侧大约进行了三次泊车尝试。实验结果显示,本文提出的方法在不同场景下达到了较高的泊车成功率,展示了良好的泛化性能。同时,本文发现停车位旁边若已停有车辆,可能会提供额外的特征信息,进一步提高泊车成功率。
尽管最近出现了越来越多的端到端泊车方法,但它们大多集中在解决驾驶场景的问题上。虽然像ParkPredict这样的方法也被应用于泊车场景,但它们的任务与本文的特定任务显著不同。目前可能尚无可以直接与本文方法相比较的有效现有方法。基于上述分析,表II中比较了本文方法(基于Transformer的解码器)与Transfuser(基于GRU的解码器)的结果。得益于Transformer中的注意力机制,基于Transformer的解码器在推理期间提高了预测准确性。
▲表II|性能对比评估
■5.5 消融研究(Ablation Study)
本文设计了多种消融实验来分析不同网络设计对轨迹预测性能的影响。在神经网络结构方面,本文针对编码器和解码器进行了消融实验,具体结果如表III所示。在特征编码器部分,本文比较了基线(目标查询)、特征拼接和特征元素级相加这几种方法的结果。目标查询方法利用注意力机制和空间对齐机制,全面整合目标信息和鸟瞰图像信息。它明确约束了目标车位与鸟瞰图像之间的空间关系,以此达到最高的轨迹预测准确度。在解码器部分,本文分析了预测轨迹点数量变化对推理性能的影响。预测过多的轨迹点可能导致由于停车位内的遮挡等因素而降低预测精度。本文在基线情况下预测了30个点,这在推理过程中实现了准确性和速度的最佳平衡。
▲表III|编码器与解码器的消融研究
在表IV中,本文对比了增加泊车进度标记对预测性能的影响。结果显示,泊车进度标记有助于提高推理准确性。进度标记使网络模型能够跟踪泊车的整体进度,并确保在泊车过程结束时能够适时刹车。
▲表IV|泊车进度标记的消融研究
■5.6 可视化展示
▲图6|不同场景下泊车过程的示意图。每行展示了一个泊车案例。即便是在相邻停车位被车辆或墙壁等障碍物占用的情况下,本文的方法仍然能够有效地操纵车辆并将其停在指定的位置©️【深蓝AI】编译
图6展示了在不同场景下的泊车过程。结果证明,本文的算法在各种场景下都表现出了良好的泛化能力。即使在目标停车位附近存在其他车辆或墙壁等障碍物的情况下,算法也能有效地操控车辆,使其停在指定位置。图7描绘了自动泊车过程中预测的轨迹与实际行驶轨迹。从图中可以看出,规划的轨迹提供了精确的引导,而控制器则高效地执行了规划的轨迹。
▲图7|泊车轨迹的示意图。蓝色轨迹代表预测轨迹,而白色轨迹代表自动泊车过程中实际行驶的轨迹(简称为AD Traj.)。第二行将自动泊车过程中的实际行驶轨迹与预测轨迹叠加显示,彰显了强大的轨迹预测与控制能力
■5.7 局限性
尽管本文提出的方法在泊车任务上展现出了优势,但仍存在一些局限性。首先,系统对动态目标的适应性较差。受限于当前数据量和分布,泊车模型对于移动目标的适应性不佳。通过不断扩充数据集,可以增强模型对移动物体的适应能力。其次,由于训练过程中使用了专家轨迹,无法提供有效的负面样本。此外,在泊车路径出现较大偏差时,缺少强有力的纠正机制,最终可能导致泊车失败。为了解决这些问题,后续计划利用NeRF(神经辐射场)和3DGS(三维高斯溅射)构建接近真实世界的模拟器,通过深度强化学习训练端到端模型,以增强泊车系统的鲁棒性。最后,尽管本文的端到端泊车方法已取得良好成效,但与传统的基于模块化的泊车方法相比仍有一定差距。不过,随着端到端技术的不断进步,这一问题将会得到解决。也期待未来端到端泊车算法在复杂场景下展现出更多优势。
本文提出了一种基于摄像头的端到端泊车模型。该模型输入目标车位和环视RGB图像,通过目标查询在BEV下获得融合特征,并采用transformer解码器以自回归方式预测轨迹点。轨迹规划的结果随后用于控制。本文广泛地在多种场景下评估了所提方法,结果表明其可靠性和泛化能力。然而,与高度优化的基于模块化的泊车方法相比,本文的端到端泊车算法仍存在性能差距。
作者表示,将在未来工作中进一步提升端到端泊车算法的性能,期望基于学习的方法最终能超越传统方法。相信本文的研究与实践将激励和启发同行研究人员及工程师的思考与创新。
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!
① 全网独家视频课程
BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
![7a5069c600c714c345f9354fb9423c70.png](https://img-blog.csdnimg.cn/img_convert/7a5069c600c714c345f9354fb9423c70.png)
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵