CoBEVFlow
摘要
协作感知通过促进多个智能体之间的沟通,极大地提高了每个智能体的感知能力。然而,在现实世界中,由于通信延迟、中断和时钟失调,代理之间的时间异步是不可避免的。这个问题导致了多智能体融合过程中的信息不匹配,严重动摇了协作的基础。为了解决这一问题,我们提出了基于鸟瞰流的异步鲁棒协同感知系统CoBEVFlow。CoBEVFlow的关键直觉是补偿运动,以对齐多个代理发送的异步协作消息。为了模拟场景中的运动,我们提出了BEV流,它是对应于每个空间位置的运动向量的集合。基于BEV流,异步感知特征可以重新分配到适当的位置,减轻异步的影响。CoBEVFlow有两个优点:(i) CoBEVFlow可以处理在不规则连续时间戳发送的异步协作消息,而不需要离散化;(ii)使用BEV流时,CoBEVFlow只传输原有的感知特征,而不产生新的感知特征,避免了额外的噪声。为了验证CoBEVFlow的有效性,我们创建了不规则V2V(IRV2V),这是第一个具有各种时间异步的合成协作感知数据集,可以模拟不同的现实世界场景。在IRV2V和真实数据集DAIR-V2X上进行的大量实验表明,CoBEVFlow始终优于其他基线,并且在极端异步设置中具有鲁棒性。代码可在https://github.com/MediaBrain-SJTU/CoBEVFlow上获得。
引言
然而,绝大多数现有的工作并没有认真考虑现实世界中智能体之间通信的残酷现实,例如拥塞、繁重的计算、中断和缺乏校准。这些因素会导致延迟或不一致,严重影响代理之间信息交换的可靠性和质量。一些先前的工作已经触及了通信延迟的问题。
- 例如,V2VNet[4]和V2XViT[5]将延迟时间作为特征补偿的输入。然而,它们只考虑单个帧而不利用历史帧,这使得它们不适用于高速场景(超过20m/s)或高延迟场景(超过0.3s)。
- 同时,SyncNet[20]利用历史特征预测当前时间戳下的完整特征图[21]。然而,这种基于rnn的方法假设其输入的时间间隔相等,当延迟不规则时导致失败。
总的来说,以前的工作并没有解决常见的不规则时间延迟所带来的问题,使得现有的协同感知系统在现实世界中永远无法发挥其全部潜力。
为了填补研究空白,我们具体制定了异步协同感知设置;如图1所示为可视化演示。这里的异步表示来自其他代理的协作消息的时间戳没有对齐,并且来自同一代理的两个连续消息的时间间隔是不规则的。
我们提出了基于鸟瞰流的异步鲁棒协同感知系统CoBEVFlow。关键思想是通过补偿相对运动来对齐来自其他代理的感知信息。具体来说,CoBEVFlow使用历史帧来估计BEV流程图,该流程图对每个网格单元中的运动信息进行编码。使用BEV流程图,CoBEVFlow可以将异步感知特征重新分配到适当的空间位置,从而在时间维度上对齐感知特征,减轻异步造成的影响。与SyncNet[20]再生特征不同,这种运动引导的位置调整从根本上防止了向特征引入额外的噪声。
在验证CoBEVFlow的有效性时,我们注意到没有合适的包含异步样本的协作感知数据集。为了促进异步协同感知的研究,我们创建了不规则V2V(IRV2V),这是第一个具有不规则时间延迟的合成异步协同感知数据集,模拟了各种现实场景。
第5节展示了在IRV2V和真实数据集DARI-V2X上的实验结果和分析[14]。结果表明,CoBEVFlow在各种延迟中始终如一地实现最佳补偿性能。当IRV2V数据集的预期延迟设置为500ms时,CoBEVFlow优于其他方法超过18.9%。在300毫秒延迟和额外200毫秒干扰的情况下,AP@0.50的下降仅为0.25%
问题定义
- 其中g(·,·)是感知评估度量
- ti n是代理n的第i个时间戳
- Y^ti-nn是代理n在时间ti n的感知结果,
- Cθ(·)是具有可训练参数θ的协同感知网络
- Ptj mm→n为代理m在tj m时刻发出的协作消息
- 设X ti n和Yti-nn为原始观测和感知标签gt
Note that: 连续两个时间戳之间的时间间隔(ti−1n−ti n)是不规则的
方法
总体架构
异步问题会导致协作消息中移动对象的错位。也就是说,来自多个代理的协作消息将记录同一移动对象的不同位置。提出的CoBEVFlow通过两个关键思想解决了这个问题:
- i)我们使用BEV流程图来捕获场景中的运动,使运动引导的异步感知特征重新分配到适当的位置;
- ii)我们生成感兴趣区域(ROI),以确保重新分配只发生在可能包含对象的区域。通过这两种思路,我们消除了对特征的直接修改,并保持背景特征不变,有效地避免了学习到的特征中存在不必要的噪声。
- Fti n∈RH×W ×D为agent n在时间戳ti n时的BEV感知特征图,H, w为BEV图的大小,D为通道数;
- Rti nn是感兴趣区域(ROI)集合,F~ti nn∈RH×W ×D是Fti nn的稀疏版本,它只包含Rti nn内部的特征和外部的加零。
- Mtj m→ti nm∈RH×W ×2是第m个agent的BEV流程图,它反映了每个网格单元从时间戳tj m到时间戳ti n的移动
- {Rtq mm}q=j−k+1,j−k+2,···,j 为agent m发送的历史ROI集;
- F^ti nm∈RH×W ×D是运动补偿后第m个agent的时间戳ti重新对齐的特征映射
- H^tnn∈RH×W ×D是来自所有代理的聚合特征
- Y^ti n是系统的最终输出
Note that: i) 步骤 2a-2b 在通信之前完成。步骤 2c-2f 在收到来自其他消息后执行。在通信过程中,稀疏感知特征和ROI集都被发送到其他agent,这是通信带宽友好的;ii) CoBEVFlow采用鸟瞰图(BEV)的特征表示,将所有agent的特征图投影到同一个全局坐标系中,避免了复杂的坐标变换,支持更容易的跨agent协作。
ROI generation
给定代理的感知特征图,步骤2b旨在为可能包含对象的区域生成一组感兴趣的空间区域(ROI)。每个ROI表示场景中一个潜在对象的区域。直觉是,前景对象是唯一移动的对象,而背景保持静止。因此,使用ROI可以使后续的BEV流图集中在关键区域,并简化BEV流的计算。
(Otj mm)h,w=(c,x,y,h,w,cosα,sinα)表示一个检测到的ROI及其类别置信度、位置、大小和方向。
基于这个ROI集合,我们还可以得到一个二进制掩码H∈RH×W,其在ROI内的值为1,其他值为0。然后我们得到稀疏特征映射F~tj mm = Ftj mm⊙H,它只包含roi内的特征。然后,agent m将其稀疏特征映射F~tj mm与ROI集合Rtj mm打包为消息并发送出去进行协作。
BEV flow map generation
在不同时间戳接收到来自其他代理的协作消息后,步骤2c的目标是生成BEV流程图,以纠正由于异步而导致的特征不对齐。提出的BEV流程图对每个空间位置的运动向量进行编码。获取该BEV流的主要思想是基于同一协作者发送的消息序列来关联相关roi。在这个步骤中,每个ROI被视为一个实例,它有自己的由步骤2b生成的属性。在ROI关联之后,我们能够计算运动向量,并进一步估计相应对象在某个时间戳出现的位置。BEV流图的生成包括相邻时间戳ROI匹配和BEV流估计两个关键步骤
相邻帧的ROI匹配
相邻帧ROI匹配的目的是为了匹配同一代理发送的两个连续消息中的ROI。匹配的roi本质上是在不同时间戳感知到的相同实例。该模块包含三个过程:代价矩阵构造、贪婪匹配和后处理。
- 首先构造代价矩阵C∈Ro1×o2,其中o1和o2为待匹配的两帧中roi的个数。每个元素Cp,q是前一帧的ROI p与后一帧的ROI q之间的匹配成本。为了确定Cp,q的值,我们将前后方向附近定义为可行的匹配角度范围。当q在p可行角度范围内时设Cp,q = dp,q,否则设Cp,q = +∞,其中dp,q为ROI p中心到q的欧氏距离。
- 然后我们使用贪心匹配策略来搜索成对的 ROI。对于每一行 p,我们搜索具有最小 Cp,q 的q,并且把 p, q 作为一对。
- 为了避免无效匹配,我们通过删除 Cp,q 值过大的那些来进一步后处理匹配对。
通过这些过程,我们可以得到相邻帧的匹配ROI对。对于一系列帧,我们可以跟踪每个ROI跨帧的多个位置。
BEV流估计
我们现在在一系列不规则时间戳中检索每个ROI的历史位置。在这个模块中,我们使用这些不规则的tracklet来预测自我代理当前时间戳ti n处的roi的位置和方向,生成相应的BEV流图Mtj m→ti nm。为了制定第m个agent感知到的第r个ROI的不规则轨迹,我们从每个时间戳设置的第r个ROI的属性中提取与运动相关的属性(即位置和方向)
【小段轨迹(Tracklet)】形成Trajectory过程中的轨迹片段。完整的Trajectory是由属于同一物理目标的Tracklets构成的。
设Vm,r = {vtj mr, vtj−1mr,···,vtj−k+1mr}为第m个agent发送的第r个ROI属性的历史序列,其中vtj mr = (xtj mr, ytj mr, αtj mr), (xtj mr, ytj mr)为二维BEV中心位置,αtj mr为方向。请注意,由于时间异步,Vm,r 是一个不规则采样的序列。图 3 显示了这个过程。
基于Vm,r,我们现在预测vti nr,这是自我代理当前时间戳处第r个ROI的位置和方向。与一般的运动估计不同,我们需要处理不规则采样序列。为了实现不规则兼容的运动估计方法,需要考虑时间戳的信息。在这里,我们建议使用传统的三角函数[38]进行时间戳编码,通过以下方式将连续值时间戳t映射为其对应的时间码u(t):
其中e为时序编码索引。现在可以将时间戳信息与不规则采样序列一起输入到估计过程中,使估计过程能够进行不规则兼容的运动估计。我们使用多头注意(MHA)来实现估计过程。MHA的查询是目标时间戳ti n的时间码,键和值都是不规则采样序列的特征和其对应的时间码集Uk。
其中v^ti-nr是ROI的位置和方向的估计值。根据自我代理当前时间戳中ROI的估计位置和方向以及步骤2b预测的ROI大小,我们通过相关ROI运动的仿射变换计算每个网格单元处的运动矢量,构成整个BEV流图Mtj m→ti nm∈RH×W×2。请注意,ROI外的网格单元是零填充的。
与使用RNN处理常规通信延迟的Syncnet[20]相比,生成的BEV流图有两个好处:i)它通过基于注意力的估计和适当的时间编码来处理不规则的异步;以及ii)它有助于运动引导的特征扭曲,从而避免了重新生成整个特征通道。
特征扭曲和聚合
在稀疏特征图F~tj mm上应用BEV流图Mtj m→ti nm,实现步骤2d。基于Mtj m→ti nm,将每个网格单元的特征移动到估计位置。
这些估计的特征图和自我特征图通过聚合函数fagg(·)聚合在一起,实现步骤2e。融合功能可以是任何常见的融合操作。我们所有的实验都采用了多尺度Max融合。
训练细节和损失函数
为了训练整个系统,我们监督三个任务:ROI生成、流量估计和最终的融合检测器。如前所述,ROI生成器和最终融合检测器的功能共享相同的架构,但不共享参数。在训练过程中,分别训练ROI生成器和流量估计模块,然后使用预训练好的两个模块训练最终的融合检测器。检测任务中常见的损失函数:交叉熵损失和加权平滑L1损失用于ROI生成和最终融合检测器的分类和回归,MSE损失用于流量估计。
实验
IRregular V2V(IRV2V) 数据集
DAIR-V2X数据集
结论与局限性
我们制定了异步协同感知任务,该任务考虑了协同通信过程中可能导致通信延迟或信息错位的各种不理想因素。我们进一步提出了一种新的异步鲁棒协同感知框架CoBEVFlow。CoBEVFlow的核心思想是BEV流,它是每个空间位置对应的运动向量的集合。基于BEV流,异步感知特征可以重新分配到适当的位置,减轻异步的影响。综合实验表明,CoBEVFlow在所有设置下都具有出色的性能,并且在异步情况下具有优越的鲁棒性。
当前的工作重点是解决协同感知中的异步问题。结果表明,有效的预测可以弥补协作感知中时间异步的负面影响。此外,生成的流不仅可以用于补偿,还可以用于预测。在未来,我们期望在基于roi的协同感知和预测任务流生成设计上有更多的探索。
附录【IRV2V】
为了促进协作感知异步性的研究,我们使用CARLA来模拟IRregularV2V(IRV2V)数据集,这是第一个具有多个异步性的协作感知数据集。
- 异步数据收集。场景中协作车辆的数量从2到5不等。每辆协作车都配备了4个360°全景摄像头、一个32通道激光雷达和GPS/IMU传感器。传感器的理想采样间隔为100ms。由于不同的异步因素,协作消息具有异步时间戳。在非自我车辆的采样起点处存在时间偏移δs∼U(-50,50)ms。所有非自我车辆的协作信息都使用时间偏移δd∼U(-10,10)ms进行采样。每个代理的每个时间戳的传感信息包含4个分辨率为600×800的摄像头图像和32个通道LiDAR点。(U是均匀分布)
- 数据大小。假设该模型需要使用过去10帧的信息,我们的数据集总共由8449个协作样本组成,其中包括8449个点云输入和33796个RGB图像。我们将数据集分为训练集、验证集和测试集,分别包含5445、994和2010个样本。
- 数据分析。图9显示了IRV2V数据集的一些统计分析结果。IRV2V数据集共包含1564033辆车,平均每个场景有48.302辆车。应该指出的是,该图仅显示了速度大于1公里/小时的车辆分布。考虑到现实世界的情况,数据集中大约有1203793辆移动车辆。图(a)显示了所有样本中不同速度的移动车辆的分布,从1到105公里/小时不等,平均速度为25.586公里/小时,与V2X Sim中的大多数车辆相比,速度快了约15公里/小时。图(b)显示了数据集中每个样本的车辆总数的分布,最大车辆数量为113辆。