CORE: Cooperative Reconstruction for Multi-Agent Perception 论文阅读

论文连接

CORE: Cooperative Reconstruction for Multi-Agent Perception


0. 摘要

本文提出了 CORE,一种概念简单、有效且通信高效的多智能体协作感知模型。

  • 从合作重建的新颖角度解决了该任务:

    • 合作主体共同提供对环境的更全面的观察
    • 整体观察可以作为有价值的监督,明确指导模型学习如何基于协作重建理想的观察
  • CORE 利用三个组件实现:

    • 每个代理共享的压缩器,用于创建更紧凑的特征表示以实现高效广播
    • 用于跨代理消息聚合的轻量级细心协作组件
    • 基于聚合特征表示重建观察的重建模块

CORE 模型在 OPV2V 数据集上进行验证,包括 3D 对象检测和语义分割两个任务。


1. 简介

感知——识别和解释感官信息,是智能体感知周围环境的关键能力。得益于深度学习的不断进步,个体感知在多项任务中展现出了令人瞩目的成就。尽管前景广阔,但它往往会遇到由于单个代理的视线可见性有限而引起的问题(例如遮挡),并且受到安全问题的挑战

协同感知的方法达成了共识:利用多个代理共同提供对环境的观察。但需要解决性能与带宽权衡的实际挑战。其中,有一个关键问题尚未得到解决:
经过信息交换和聚合后,每个智能体的理想感觉状态是什么样的?

本文提出了一种从合作重建的新颖角度出发的方法。

CORE 从合作重建的新角度解决了多智能体感知问题。CORE 采取了一个简单但非常有效的步骤来解决这个问题:除了任务感知学习(例如,对象检测、语义分割)之外,CORE 还明确地学习从合作代理的不完整观察中重建完整的场景(即重建的 BEV)。重建感知学习目标是一个更明智的目标,可以激发互联代理更有效的合作,最终提高感知性能。

CORE 通过三个关键的模块进行协同重建:压缩模块,协作模块,重建模块

  • 压缩模块计算每个BEV的压缩特征表示以实现高效传输。与大多数仅考虑通道压缩的先前工作不同,该模块通过沿空间维度屏蔽(子采样)特征来施加更显着的压缩

  • 协作模块是一个轻量级的注意力模块,它鼓励合作代理之间的知识交换,以增强每个代理的特征表示

  • 重建模块采用解码器结构从增强的特征表示中恢复完整的场景观察

在本文的工作中,原始数据融合因为需要较高的通信成本,仅在训练阶段使用,整个重建模块在推理过程中将被丢弃。


2. 相关工作

协同感知
协作感知使多个智能体能够通过共享观察结果和知识来协作感知周围环境,这为提高个体的安全性、弹性和适应性提供了巨大的潜力。

早期研究中广泛研究的一种简单的解决方案是在合作代理之间直接传输和融合原始传感器数据。尽管性能改进很有希望,但传输高维数据所需的昂贵通信带宽限制了它们在实际情况中的部署。

最近,基于中间融合的方法广播了紧凑的中间表示,已被广泛研究,因为它们能够在感知性能和网络带宽之间提供更好的权衡。这些方法的一个主流分支是采用注意力机制来获得融合权重,而其他方法使用图神经网络对不同代理之间的相对关系进行建模。

CORE
CORE 与 DiscoNet 密切相关,因为两种方法都依赖于早期协作来产生整体视图输入并利用它们作为网络学习的有价值的指导。然而,CORE 解决了基于学习到重构的问题。

CORE 主要由两个有点

  • 通过优化重建感知目标,CORE 实现了更好的泛化性并提高了感知性能

  • 重构思想使得CORE能够进一步屏蔽掉要传输的空间特征,从而实现更高效的通信


3. 方法

CORE 的框架图如下

给定单个代理的原始 BEV 表示(即 I 1 、 I 2 、 I 3 I_1、I_2、I_3 I1I2I3 ),CORE 通过多个组件实现协作感知:用于特征提取的共享 f E N C f_{ENC} fENC 、用于空间和通道特征压缩的压缩器 f C O M f_{COM} fCOM 、轻量级专注协作器 fCOL对于信息聚合,重建解码器 f R E C f_{REC} fREC 用于回归理想、完整的 BEV(即 I 1 ^ 、 I 2 ^ 、 I 3 ^ \hat{I_1}、\hat{I_2}、\hat{I_3} I1^I2^I3^ ),以及用于例如对象检测的特定于任务的解码器 f T A S K f_{TASK} fTASK 。 CORE 由重建 L R E C \mathcal{L}_{REC} LREC 和特定任务 L T A S K \mathcal{L}_{TASK} LTASK 损失联合训练。

CORE 的基本流程图如下

3.1 特征压缩与共享

特征压缩的目标是在保持感知性能的同时尽可能地减少通信带宽。以前的方法仅通过 1 × 1 卷积自动编码器等沿通道维度压缩特征(例如,代理 i 的 I i I_i Ii )。然而,我们认为简单地压缩信道维度并不能最大程度地节省带宽。

具体来说,对于通道压缩,我们按照使用一系列1×1卷积层逐步压缩Ii,压缩后的特征具有形状 (H,W,C′) 且 C′≪C。

其特征图压缩流程如下图所示

3.2 注意机制协作

多智能体协作学习的重点是通过聚合来自其合作伙伴的信息消息来更新每个智能体的特征图。

其注意机制协作的流程图如下:

其中, P i P_i Pi 传达了代理 i 可以向他人提供的信息代理。此外,我们通过 R i = 1 − P i R_i = 1 −P_i Ri=1Pi 计算另一个置信图 R i ∈ [ 0 , 1 ] H × W R_i ∈ [0, 1]^{H×W} Ri[0,1]H×W 。与 P i P_i Pi 相比, R i R_i Ri 中具有较高值的空间位置表明存在由于遮挡或可见性有限而导致的潜在信息丢失,因此,它反映了代理 i 最需要的信息。

给定置信图,对于自我代理 i 及其伙伴代理 j,我们计算如下注意力图

M j → i = R i ⨀ P j ∈ [ 0 , 1 ] H × W M_{j→i}=R_i \bigodot P_j \in[0,1]^{H \times W} Mji=RiPj[0,1]H×W

其中 ⨀ \bigodot 是哈达玛积。这里,注意力图 M j → i M_{j→i} Mji 突出显示了智能体 i 需要信息而智能体 j 可以满足 i 的要求的位置。注意力图使我们能够执行更准确和自适应的特征聚合。除此之外,根据代理 j 的校准特征和注意力掩码更新自我代理 i 的特征。

其公式如下所示

I ^ j → i ↓ = D C o n v l × l ( A ) ⨀ V ⨀ M j → i + I i ↓ ∈ R H × W × C , \hat{I}_ {j→i}^↓= DConv_{l\times l} (A)\bigodot V \bigodot M_{j→i} + I^↓_{i} \in \mathbb{R}^{H\times W \times C} , I^ji=DConvl×l(A)VMji+IiRH×W×C,

A 和 W 分别为如下表示

A = W 1 [ I i ↓ , I j → i ↓ ] ∈ R H × W × 2 C , A=W_1[I^↓_{i},I^↓_{j→i}] \in \mathbb{R}^{H\times W \times 2C}, A=W1[Ii,Iji]RH×W×2C,

V = W 2 I j → i ↓ ∈ R H × W × C . V=W_2I^↓_{j→i} \in \mathbb{R}^{H\times W \times C }. V=W2IjiRH×W×C.

这里 I ^ j → i \hat{I}_ {j→i} I^ji 是基于代理 j 的信息更新的代理 i 的消息, D C o n v l × l DConv_{l\times l} DConvl×l 表示内核大小为 l × l l\times l l×l 的深度卷积,生成输入通道数一半的输出。它增强了特征的感受野,同时降低了复杂性和计算成本。 ‘ [ ⋅ , ⋅ ] ’ ‘[·,·]’ [⋅,⋅] 是一个通道式张量串联运算符,组合来自不同代理的消息。 W 1 W_1 W1 W 2 W_2 W2 是可学习的线性权重,允许跨渠道信息交互。

其计算结构如下图所示

3.3 BEV 重建

本文的 BEV 重建方案通过学习深度卷积解码器从交互的消息重建多视图 BEV 表示来缓解这些问题。

我们首先将来自所有相邻代理的点云 { S j } j = 1 J \{S_j \}^J_{j=1} {Sj}j=1J 投影到自我的坐标系: { S j → i } j = 1 J = Γ ξ ( { S j } j = 1 J ) \{ S_{j→i}\}^J_{j=1} = \Gamma_{\xi}(\{ S_j\}^J_{j=1}) {Sji}j=1J=Γξ({Sj}j=1J) 。接下来,我们聚合每个单独的点云以生成多视图 3D 场景: S ~ = f S t a ( { S j → i } j = 1 J , S i ) \tilde{S} = f_{Sta}(\{ S_{j→i}\}^J_{j=1}, S_i) S~=fSta({Sji}j=1J,Si) ,其中 f S t a ( ⋅ , ⋅ ) f_{Sta}(·,·) fSta(⋅,⋅) 是堆叠算子。

随后,我们投影回每个局部坐标并根据感知范围对其进行裁剪: S i ~ = Γ ξ − 1 ( S ~ ) \tilde{S_i} = Γ^{−1}_\xi (\tilde{S}) Si~=Γξ1(S~) 。最后,我们将 S i ~ \tilde{S_i} Si~ 转换为其相应的 BEV 表示 I i ~ ∈ R h × w × c \tilde{I_i} ∈ \mathbb{R}^{h×w×c} Ii~Rh×w×c

对于每个智能体 i,重建解码器将更新后的特征 I i ^ \hat{I_i} Ii^ 作为输入,并重建相应的 BEV 特征,如下所示:

I i ^ = f R E C ( I i ^ ) ∈ R h × w × c \hat{I_i}=f_{REC}(\hat{I_i}) ∈ \mathbb{R}^{h×w×c} Ii^=fREC(Ii^)Rh×w×c

重建损失计算为它们之间的均方误差 (MSE):

L R E C = ∑ x = 1 h ∑ y = 1 w ∣ ∣ I i ^ ( x , y ) − I i ~ ( x , y ) ∣ ∣ 2 2 \mathcal{L}_ {REC}=\displaystyle \sum^{h}_ {x=1}\displaystyle \sum ^{w}_ {y=1} ||\hat{I_i}(x,y)-\tilde{I_i}(x,y)||^2_2 LREC=x=1hy=1w∣∣Ii^(x,y)Ii~(x,y)22

3.4 网络结构细节

网络结构由三个主要部分组成:

特征提取器
特征提取器 f E N C f_{ENC} fENC 将 BEV 表示作为输入并将其编码为中间特征。我们通过三个内核大小为3×3的2D卷积层来实现它,并且在每层之后采用批量归一化层和ReLU激活层。

重构解码器
重建解码器 f R E C f_{REC} fREC 用于生成高质量的 BEV 特征。它由三个块组成,每个块由一个 2×2 转置卷积层和一个 3×3 普通卷积层组成。每层后面都有一个批量归一化层和一个 ReLU 激活层。

任务特定解码器
对于分割,解码器由三个用于上采样的反卷积层和一个用于生成最终语义分割图的 3×3 卷积层组成。

对于整个网络,其损失函数如下所示

L = L T A S K + λ L R E C \mathcal{L}=\mathcal{L}_ {TASK} + λ\mathcal{L}_ {REC} L=LTASK+λLREC

其中第一项 L T A S K \mathcal{L}_ {TASK} LTASK 是特定于任务的损失。对于检测,我们使用焦点损失作为分类损失,并使用平滑损失进行边界框回归。对于分割,我们使用交叉熵损失。第二个是我们的重建损失 L R E C \mathcal{L}_ {REC} LREC ,用于监督重建解码器的输出。系数 λ 平衡两个损失项。


4. 实验

4.1 实验设置

数据集
我们的实验是在 OPV2V 上进行的,这是一个由联合仿真框架 OpenCDA 和 CARLA 模拟器收集的大规模公共数据集,用于车辆间协作感知。

训练
在训练阶段,从场景中随机选择一组可以相互建立通信的智能体,每个智能体被分配70 m的通信范围。对于 3D 物体检测任务,我们将沿 x、y 和 z 轴的点云范围限制为 [−140.8, 140.8] × [−40, 40] × [−3, 1],并将点云范围限制为 [−51.2] , 51.2] × [−51.2, 51.2] × [−3, 1] 用于 BEV 语义分割任务。由于体素分辨率设置为0.4 m,我们可以得到分辨率分别为200×704×128和256×256×128的BEV图。我们对训练数据应用了多种数据增强技术,包括随机翻转、[0.95, 1.05] 范围内的缩放以及 [−45°, 45°] 的旋转。我们使用 Adam 优化器来训练我们的 CORE,学习率为 0.002,批量大小为 1。我们还采用基于验证损失的早期停止来防止过度拟合。根据经验,超参数 λ、R 和 K 分别设置为 1、90 和 90。

推理
我们应用 0.25 的置信度阈值和 IoU 阈值 0.15 的非极大值抑制 (NMS) 来过滤掉重叠检测

基线
构建了两个基线模型。无协作是指仅使用单个传感器数据而没有来自其他代理的任何信息的单代理感知系统。早期协作在感知管道的早期阶段直接聚合来自多个代理的原始传感器数据。后期协作收集多个智能体的预测结果,并使用 NMS 组合它们以提供最终结果。

评估标准
交并并集 (IoU) 阈值分别为 0.5 和 0.7 时的平均精度 (AP)

4.2 定量结果

3D 目标检测

BEV 语义分割

4.3 定性结果

CORE 可以成功地检测杂乱、稀疏的点云和遮挡环境中的多个对象

CORE即使在拥挤和动态环境等复杂场景下也能实现高质量的分割结果

4.4 消融实验

关键因素分析

通过单独添加注意力协作(即“Colla.”)模块,我们观察到 AP@ 0.7 和 IoU 分数有所提高,与基本情况相比,对 AP@ 0.5 的影响轻微。在协作模块之上添加 BEV 重建(即“侦察”)模块可以进一步改善所有指标。此外,结合重建模块还可以显着提高分割性能,与协作基线相比,IoU 提高了 1.5%。这些发现证明了协作和重建模块在多智能体感知任务中实现最先进性能的重要性。

空间特征压缩

随着空间压缩比从 1.0 增加,性能逐渐下降至 0.1。但令人欣喜的是,即使在 0.4 的大压缩比下,CORE 也能够提供非常有前景的性能。此外,比率为0.6的CORE可以达到与无压缩的DiscoNet相当的性能。为了更好地权衡感知性能和通信效率,我们默认将空间压缩比设置为0.8。

超参数 R 和 K

随着 R 或 K 变小,CORE 的性能往往会变差。然而,我们观察到 CORE 对于这些超参数通常是鲁棒的,即使压缩比低至 10%,性能下降也是中等的。

超参数 λ

最佳性能是在 λ = 1 时实现的,并且当 λ 从此最佳值增加或减少时,我们观察到性能略有下降。


5. 总结

本文引入了 CORE 来解决多智能体场景中的协作感知问题。通过从协作重建的角度解决任务,CORE能够学习更有效的多智能体协作,这有利于特定的感知任务。此外,协作重建自然地与屏蔽数据建模的思想联系在一起,启发我们屏蔽空间特征以进一步减少传输的数据量。 CORE 在 3D 对象检测和 BEV 语义分割任务中展示了 OPV2V 的卓越性能与带宽权衡。

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

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

相关文章

Hive用户中文使用手册系列(二)

命令和 CLI 语言手册命令 命令是 non-SQL statements,例如设置 property 或添加资源。它们可以在 HiveQL 脚本中使用,也可以直接在CLI或Beeline中使用。 命令描述退出使用 quit 或 exit 退出交互式 shell。重启将 configuration 重置为默认值(从 Hive…

【STM32】--PZ6860L,STM32F4,ARM3.0开发板

一、ARM3.0开发板详细介绍 1.开发板整体介绍 (1)各种外设和主板原理图 (2)主板供电部分5V和3.3V兼容设计 注意跳线帽 2.STM32核心板介绍 3.核心板原理图 STM32和51的IO对应关系 下载电路 二、ARM3.0开发板ISP下载原理分析 1.I…

Go语言入门心法(六): HTTP面向客户端|服务端编程

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一:go语言面向web编程认知 Go语言的最大优势在于并发与性能,其性能可以媲美C和C,并发在网络编程中更是至关重要 使用http发送请…

android开源投屏工具scrcpy简介

目录 一,初识scrcpy 1.1 scrcpy介绍 1.2 scrcpy特点 二,scrcpy指令说明 2.1 画面设置 2.1.1 缩小分辨率 2.1.2 修改画面比特率 2.1.3 限制画面帧率 2.1.4 画面裁剪 2.1.5 锁定屏幕朝向 2.2 屏幕录制 2.3 连接方式 2.3.1 无线 2.3.2 多设备…

Ai数字人直播系统SaaS源码大开源,源码独立部署助力中小企业发展!

源码独立部署ai数字人直播系统,如果放在上半年的话没有数百万投资几乎是天方夜谭,连想做个数字人代理商少则投资十万多则数十万才能进得了代理门槛。在此期间,数字人市场一度出现了大批不良企业利用网上下载的视频合成源码二次包装后打着数字…

5.MidBook项目经验之MongoDB,Nacos,网关

1.医院查询接口 //系统1(signsignMD5加密后) ----> 系统2(数据库signMD5加密 相对比),好处在于网络之间传输不会得到直接得到sign 2.上传和删除科室信息 //map转jsonString,然后再转为对象//保存需要查数据库是否存在,存在修改,不存在添加//接口的包引入不对导致调用引包错误…

三级分类部分三级目录无法加载,后端接口能在前端返回所有数据

项目场景: 实现ElementUI中三级分类的功能,发现没有前端三级目录的二级目录可以新建三级目录,数据库中也有数据,但是无法在前端显示!后端的接口没有返回数据库的数据。 问题描述 提示:这里描述项目中遇到…

代码随想录算法训练营第五十七天| LeetCode 392 判断子序列、LeetCode 115 不同的子序列

1 LeetCode 392 判断子序列 题目链接:LeetCode 392 判断子序列 文章讲解:代码随想录(programmercarl.com) 视频讲解:动态规划,用相似思路解决复杂问题 | LeetCode:392.判断子序列 2 LeetCode 115 不同的子序列 题目链接…

群狼调研(长沙消费者满意度调查) | 参展观众满意度调查流程

进行参展观众满意度调查需要一个系统化的流程,以确保数据的收集和分析有效、可靠。群狼调研(长沙大学满意度调查)受顾客委托开展参展观众满意度调查,以下是进行参展观众满意度调查的一般流程: 1. 确定调查目标和目的: 明确为何进…

selenium多窗口、多iframe切换、alert、3种等待

1、多标签/多窗口之间的切换 场景: 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口上进行操作。这种情况下,需要识别多标签或窗口的情况。 操作方法: switch_to.window()方法:切换…

c 语言基础:L1-045 宇宙无敌大招呼

据说所有程序员学习的第一个程序都是在屏幕上输出一句“Hello World”,跟这个世界打个招呼。作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼。 输入格式: 输入在第一行给出一个星球的名字S,是…

【Eclipse】解决插件下载速度太慢

解决方案:修改镜像 下面列出几个国内的镜像网站: 中国科学技术大学(5.6MB/s) http://mirrors.ustc.edu.cn/eclipse/ 北京理工大学(600KB/s) http://mirror.bit.edu.cn/eclipse/ 大连东软信息学院(400KB/s) http://mirrors.neuso…

Dolphinscheduler的API接口问题

在使用java 调用dolphinscheduler的API接口时要注意的事项: 1:官方文档中写的是使用ui界面创建token,然后将token设置在header中,但是如果没有这个token怎么办?因为在一个陌生的环境中,一般没人会记这个to…

基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】

基本功能演示 摘要:YOLOv8是YOLO系列最新的版本,支持多种视觉任务。本文基于YOLOv8的基础模型实现了80种类别的目标检测,可以对图片进行批量自动标注,并将检测结果保存为YOLO格式便于后续进行其他任务训练。本文给出完整的Python实…

八股文学习四(kafka)

一. 消息中间件kafka (1)基本概念 (2) 生产者 生产者将消息发送到topic中去,同时负责选择将message发送到topic的哪一个partition中。通过round-robin做简单的负载均衡。也可以根据消息中的某一个关键字来进行区分。通常第二种方式使用的更多。 (3)消费者 消费模…

【初识Linux】:常见指令(2)

朋友们、伙计们,我们又见面了,本期来给大家解读一下有关Linux的基础知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C 语 言 专 栏:C语言:从入门到精通 数…

OceanBase自动安装部署演示环境demo

OceanBase自动安装部署 前提条件 官方给出硬件条件需要满足以下要求 本文操作系统为:Red Hat Enterprise Linux 8 64 位 下载链接:https://pan.baidu.com/s/1rZ39xJFhk0HdmC4wEJcxvg 提取码:c01x 下载并安装 all-in-one 安装包 执行如下…

防蓝光护眼灯有用吗?教你认识防蓝光护眼台灯

要不是亲眼所见,真的很难想象一个台灯用处如此大,护眼效果非常明显。说起来很久没有用过护眼灯具了,这次用过之后有着明显的反差,如果能给孩子用,那将大大保障了孩子的用眼、护眼问题。我自己是用来睡前看书的&#xf…

大数据 DataX 详细安装教程

目录 一、环境准备 二、安装部署 2.1 二进制安装 2.2 python 3 支持 三、Data X 初体验 3.1 配置示例 3.1.1. 生成配置模板 3.1.2 创建配置文件 3.1.3 运行 DataX 3.1.4 结果显示 3.2 动态传参 3.2.1. 动态传参的介绍 3.2.2. 动态传参的案例 3.3 迸发设置 …

RK3288 Android11 RTL8723DS WiFi 和 蓝牙Bluetooth 适配

目录 一、RTL8723DS WiFi 适配 --- 篇章1、原理图分析(WiFi部分)补充:RTL8723DS时钟输入源讲解 2、根据原理图修改设备树和编辑驱动文件3、实验验证4、RTL8723DS WIFI驱动参考文档和博客网站 二、RTL8723DS 蓝牙Bluetooth 适配 --- 篇章1、原理图分析&am…