点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
论文作者 | Sizhe Wei
写在前面&个人理解
协同感知技术能够有效解决单体感知中存在的障碍物遮挡、视角受限、以及远距离感知能力弱等问题。然而实际场景中存在着网络用塞、延迟等问题,协同感知受此影响,性能会严重下降,甚至低于单体感知效果。NeurIPS 2023的最新研究文章 《Asynchrony-Robust Collaborative Perception via Bird’s Eye View Flow》将协同信息时间戳不对齐的协同感知任务定义为时序异步的协同感知(Asynchrony Collaborative Perception),来自上海交通大学、南加州大学、和上海人工智能实验室的研究者们在本文中提出了CoBEVFlow:基于鸟瞰图流(BEV Flow)的时序异步鲁棒的协同感知系统。实验效果表明,CoBEVFlow能有效缓解时序异步带来的影响。
论文链接:https://arxiv.org/abs/2309.16940
代码链接:https://github.com/MediaBrain-SJTU/CoBEVFlow
项目主页:https://sizhewei.github.io/projects/cobevflow/
CoBEVFlow的出发点
近年来,自动驾驶领域在学术界和工业界都受到了极大的关注。但真实世界中道路情况复杂多变,且存在着行人、非机动车、不遵守交通规则的道路参与者甚至少数情况下会出现动物等情况,这些特殊情况都会给自动驾驶技术的应用带来极大挑战。对于在单车部署传感器(如相机、激光雷达、毫米波雷达等),基于单车传感器的目标检测的方法称为单体感知。尽管单体感知在目前的多数情况下表现尚可,但这种感知方式存在固有的局限性。单体感知依赖自身的传感器,其感知能力受限于传感器的视角、有效距离和精度。例如,当传感器遭受遮挡,视角受限时,感知能力就会大幅下降,为智能体后续的认知和决策带来安全隐患。此外,对于远处的物体,激光雷达产生的点云过于稀疏,无法提供有效的位置信息,导致感知系统很难对远距离的环境进行感知。下图就是一个真实场景中由于视线遮挡,对于人类驾驶员也非常头痛的“鬼探头”问题。
多智能体之间的协同感知为单体感知存在的这些问题提供了解决方案。随着通信技术的发展,多个智能体之间可以利用通信共享彼此的信息,每个智能体可以结合自身传感器信息与其他智能体的信息,对周围环境进行感知。通过智能体之间的协作,每个智能体可以获取自身视野盲区与可视距离以外的信息,有助于提升每个智能体的感知以及决策能力。此外,协同感知也能减少智能体对于高精度长距离传感器的依赖,通过多个使用低精度、低成本传感器的智能体相互协作,达到甚至超过单个装配高精度传感器的感知能力。在现实世界中,由于通信延迟、拥塞、中断、时钟错位、以及采样频率不一致等等问题,智能体接收到的协作信息所带有的时间戳不一致是不可避免的。如图所示,蓝色车辆代表元智能体(ego agent),而另外两辆车在连续时间轴上的不同时刻传递协作信息。在这种情况下,元智能体收集到的信息发生在不对齐的时间戳上。
这个问题会导致多智能体融合过程中信息不匹配——来自不同智能体的协作信息中对同一个移动目标的位置信息是不同的,从而导致协同感知得到的感知结果甚至比单个智能体感知结果更差。如果忽视这个问题,仍然使用传统的协作感知方法,得到的协作感知结果如图所示。
Asynchronous Co-Perception | With CoBEVFlow |
图 3. 协作信息时间戳不一致对协作感知造成的影响。红色表示感知结果,绿色表示真实值。左图为协作不一致的情况下,不使用CoBEVFlow的结果,右图为经过CoBEVFlow处理过的结果。
红色框表示检测结果,绿色框表示真实值,“错误的”协作信息会干扰元智能体的单体感知信息,导致结果甚至比单体感知结果。这也就意味着时间戳不对齐问题导致协作失去了意义。
为此,研究者们定义了异步协作感知(Asynchrony Co-Perception)任务。其中异步表示来自参与协作的智能体所传递的协作信息带有的时间戳不一致,而且来自同一个智能体的连续两帧信息之间的时间间隔是不固定的。基于这个问题,该文提出了基于鸟瞰流图(BEV Flow)的时序异步鲁棒的协同感知系统:CoBEVFlow。
CoBEVFlow的问题定义
研究者们首先对异步协同感知任务给出了数学定义:
对于场景中的 个智能体,每个智能体可以向其他智能体发送/接收协作信息,并存储来自任何智能体的最多 个历史帧的消息。对于第 个智能体, 和 分别是在当前时间 的原始观察和感知真实值(ground truth),其中 是智能体 的第 个时间戳, 是智能体 在时间 发送给智能体 的协作消息。异步设置的关键在于每个协作消息的时间戳 是一个连续值,来自其他智能体的这些消息不对齐,即 ,并且两个连续时间戳 之间的时间间隔是不固定的。因此,每个智能体会在任意时间接收到其他智能体发送的协作消息。因此,异步协作感知的任务可以表示为:
其中 是感知评估指标, 是智能体 在时间 的感知结果, 是具有可训练参数 的协作感知网络,并且 $t_m^{j-k+1}<t_m^{j-k+2}<\cdots<t_m^j\le t_n^i$。需要注意的是:当来自其他智能体的协作消息都对齐且两个连续时间戳之间的时间间隔是规则的;即,对于所有智能体对="" $m,n$,有="" $t_m^i="t_n^i$,对于所有智能体" $n$,$t_n^i-t_n^{i-1}$="" 是一个常数,该任务退化为理想情况下时序同步的协作感知。<="" p="">
CoBEVFlow的方法介绍
异步协作感知的本质问题是,来自多个智能体的协作信息可能给同一个移动目标记录不同时刻的位置信息。因此研究者们提出的CoBEVFlow用两个核心思路来解决这个问题:
生成一个感兴趣区域(ROI)集,后续只针对这些集合中的特征进行操作;
捕捉历史帧中这些感兴趣区域的运动趋势,根据运动趋势将对应位置的特征重新对齐到当前时刻的位置。
通过这两个思想,避免了直接修改特征,并保持了背景特征,所以CoBEVFlow不会引入不必要的噪声。
CoBEVFlow的总体框架
如CoBEVFlow框架图所示,原始感知信息 通过编码器得到特征 。在Message Packing 模块中,特征通过 ROI 生成器得到 ROI集 ,同时作为掩码得到稀疏特征 ,每个智能体将ROI集和稀疏特征作为协作信息打包发送。智能体收到来自其他的智能体发送的协作信息之后,在Message Fusion模块中处理协作信息。基于来自同一智能体的过去 帧信息,通过Flow生成器生成鸟瞰流图(BEV Flow Map) ,并利用该流图,将稀疏特征图上的特征挪动到当前时刻的位置上,也即得到挪动后特征 。将处理好的特征与自身的特征进行融合得到融合后特征 ,随机进入解码器得到最后的感知结果 。
信息打包模块(Message Packing)
生成BEV特征图上的ROI集合,然后发送这些集合以及对应的稀疏特征。其中ROI生成器采用的网络架构和解码器一致,但是网络参数并不需要保持一致。这样做的目的是,让ROI生成器学习到更多关于单体感知的特征分布。
信息融合模块(Message Fusion)
捕捉这些ROI的运动趋势,叫做BEV Flow Map,利用BEV Flow来将异步的信息对齐到当前时刻,再进行融合。BEVFlow的生成包括两个关键步骤:
相邻时间戳的ROI匹配;
BEVFlow估计。
相邻帧的ROI匹配:目的是匹配同一智能体在连续两个时间戳上发送的信息中的感兴趣区域(ROI)。匹配上的ROI本质上就是在不同时间戳下的同一个目标。匹配包含三个过程:成本矩阵构建、贪婪匹配和后处理。首先构建成本矩阵,其中每个值表示两个时间戳下两个ROI之间的匹配成本,矩阵中的每个值是基于角度和距离计算的。接着使用贪婪匹配策略来搜索配对的ROI。最后,后处理中通过删除匹配对中过大的值所代表的配对来避免无效匹配。
BEV Flow估计:检索每个ROI在一系列不规则时间戳下的历史位置。这个模块是一个基于注意力机制的模块,使用这些不规则的轨迹段来预测元智能体的当前时间戳下这些ROI的位置和方向,并生成相应的BEV Flow。与使用循环神经网络处理常规通信延迟的方法SyncNet(ECCV'22) 相比,生成的BEV Flow具有两个优点:i)它通过基于注意力机制的估计和适当的时间编码来处理不规则的异步情况;ii)它基于运动趋势的来移动特征,避免了重新生成整个特征图。
实验效果
为了验证CoBEVFlow的效果,研究者们在两个数据集上进行了实验,分别是IRV2V和DAIR-V2X。其中IRV2V是本文提出的首个异步协作感知数据集,其包含不同程度的时间异步性,而DAIR-V2X是真实数据集。实验的任务是基于点云的目标检测。使用交并比(Intersection-over-Union,IoU)阈值为 0.50 和 0.70 对检测性能进行评估,采用平均精度(Average Precision,AP)作为评价指标。
CoBEVFlow (红实线) 在异步情况下显著鲁棒
研究者们对比了现有的协同感知SOTA方法与CoBEVFlow在不同的异步程度下的感知结果。如图,红色虚线表示没有协作的单体检测,红色实线表示CoBEVFlow。所有方法均使用基于 PointPillars 的特征编码器。为了模拟时间异步性,研究者们使用二项分布对接收到的消息的帧间隔进行采样,以获取随机的不规则时间间隔。图中展示了在 IRV2V 和 DAIR-V2X 上,所提出的 CoBEVFlow 和SOTA方法在不同程度时间异步性下的检测性能(AP@IoU=0.50/0.70)比较,其中 x 轴是最新接收信息的延迟时间间隔和相邻帧之间的间隔的期望值,y 轴是检测结果。需要注意的是,当 x 轴为 0 时,表示为标准的协作感知没有任何异步性。可以看出:i)在所有异步程度下, CoBEVFlow 在模拟数据集(IRV2V)和真实世界数据集(DAIR-V2X)中均实现了最佳性能。在 IRV2V 数据集上,在 300ms期望间隔下,CoBEVFlow 在 [email protected] 和 [email protected] 方面分别比最好的SOTA方法提高了 23.3% 和 35.3%。类似地,在 500ms 间隔期望下,分别实现了 30.3% 和 28.2% 的提升。在 DAIR-V2X 数据集上,CoBEVFlow 依旧效果领先。ii)CoBEVFlow 表现出了显著的异步鲁棒性。如图中的红线所示,在不同的异步情况下,CoBEVFlow 在 IRV2V 数据集上仅出现 4.94% 和 14.0% 的 [email protected] 和 [email protected] 下降。这些结果远超过了单一目标检测的性能,甚至在极端的异步情况下也是如此。
Asynchronous Co-Perception | With CoBEVFlow |
图 10. 时序异步情况下采用where2comm(左)直接进行协同感知的结果,与利用CoBEVFlow(右)进行协同感知的结果对比。红色为预测结果,绿色为真实值。
CoBEVFlow (红实线) 显著节省通信带宽
研究者们对比了不同方法的性能与通信带宽之间的关系。如图,红色实线表示CoBEVFlow。在时间异步的期望值为300毫秒的情况下,随着通信量的增加,CoBEVFlow的性能持续稳定提高,而where2comm和SyncNet的性能由于异步信息而导致性能波动。CoBEVFlow能够显著节省通信带宽的原因是,其协作信息只包含ROI区域中的稀疏特征以及ROI集,而不用整个特征图进行协作。
CoBEVFlow能够避免引入额外噪声
CoBEVFlow利用历史协作信息生成鸟瞰流图——BEV Flow Map,并根据流图,将BEV特征图上的“网格”特征找到新的对应的索引。这个过程的思想是“挪动”异步的特征到当前时刻对应的位置上,不涉及对于特征的数值变换,避免了引入额外的噪声(事实上,在挪动特征的过程中,用到了PyTorch内置的函数进行warp操作,存在着微小的差值误差)。研究人员们将原始的特征和挪动后的特征分别进行可视化,如图中的子图(a)、(b)。同时,将生成额BEV Flow Map以及ROI区域的配对结果进行了可视化,如图中的子图(c)、(d)。能从图中看出,该文提出的鸟瞰流图生成器对于不同帧中的ROI区域能够有效配对,也因此可以捕捉到ROI区域的运动趋势,并生成流图,用来矫正特征图。
BEV Flow Map 作用在中融合优于后融合
既然生成的BEV Flow Map能够准确捕捉ROI的运动趋势,那为什么不直接对检测框的位置进行矫正?研究人员们针对这个问题也在消融实验的部分进行了实验验证。如表格中的第3行和第5行的对比,能够看出,对于特征的矫正比对于检测框位置的矫正效果要好。研究人员猜测,可能是感兴趣区域对于单车检测未必是一个完整的物体,但是经过多车融合后的特征图,包含了来自多个协作者的信息,因此对于一些在单车视角下“不确定”的目标,中融合对于中间特征进行操作将更有优势。此外,消融实验中也进行了关于时间编码和不同的匹配算法的效果验证。
总结
CoBEVFlow关注解决协同感知中存在的时序异步问题。其提出的核心思路有两个:一是每个智能体发送的协作信息中应包含感兴趣区域与其对应的稀疏特征图。二是在协作感知时,基于收集到的历史信息生成BEV Flow,并用其“矫正”时序异步的特征。通过这两两个关键思路,CoBEVFlow能够有效处理包含延迟、中断、采样频率不一致等原因导致的时序异步问题,同时不会对特征图引入额外的噪声。
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
视频官网:www.zdjszx.com② 国内首个自动驾驶学习社区
近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!