论文阅读 | UniFormer

news2024/11/18 10:54:56

UniFormer: Unified Multi-view Fusion Transformer for Spatial-Temporal Representation in Bird’s-Eye-View

文章目录

  • UniFormer: Unified Multi-view Fusion Transformer for Spatial-Temporal Representation in Bird’s-Eye-View
    • 摘要
    • 介绍
      • Question: 说了半天这个时空融合到底什么意思?
    • 方法
      • 多视图融合的推导过程
      • 统一多视图融合的网络架构
        • 主干网络
        • 融合Transformer
        • 分割头
    • 实验结果
    • Reference
      • >>>>> 欢迎关注公众号【三戒纪元】 <<<<<

2022年7月,浙江大学、大疆公司和上海AI实验室发表了《UniFormer: Unified Multi-view Fusion Transformer for Spatial-Temporal Representation in Bird’s-Eye-View》,

1College of Computer Science, Zhejiang University; 
2DJI
3Shanghai Institute for Advanced Study of Zhejiang University; 
4Shanghai AI Lab

摘要

Bird’s eye view (BEV) 表达自动驾驶中的一种新的感知构想,基于空间融合。BEV表达中引入时序融合,也取得了巨大成功。

本篇文章,介绍了一种新的方法统一时空融合,并融合到一个统一的数学表达。

因为有了时空融合,所以可以支持远距离融合,这是传统BEV方法做不到的。此外,BEV融合有时间自适应性且时间融合的权重也是可以学习的。而传统时间融合使用固定和相同的权重。此外,统一融合能够避免传统BEV融合中的信息丢失,且充分利用特征数据。

介绍

BEV表示是将多个相机特征映射到自车坐标系空间内。

Illustration of the map segmentation task in BEV

这种空间融合构建了一个集成的BEV空间,来自不同相机的重复结果在BEV空间被唯一的表示出来,极大地降低了多相机特征融合的难度。
BEV空间融合自然地共享相同的3D空间,使得多模态融合更简单。基于空间融合的集成BEV表达提供了时间融合的基础。

好处:

1.可以表达出被暂时遮挡的物体;
2.基类远距离观测数据,可用于生成地图
3.稳定静止车辆的感知结果

Question: 说了半天这个时空融合到底什么意思?

所谓时空融合,就是对数据在空间上进行组合,在多个时间片段上予以融合。

  • 空间:不同位置多相机(或其他传感器)融合;
  • 时间:多个历史帧数据融合

Different methods in BEV temporal fusion

上图从左到右,无时域融合、基于warp的时域融合和提出的统一多视图融合。对于无时域融合的方法,仅在当前时间步长用周围图像预测BEV空间;基于warp的时域融合将上一时间步的BEV空间warp,是一种串行融合方法;统一的多视图融合,是一种并行方法,可以支持远距离融合。Virtual views

由于时间特征来自于过去,当前时间不存在,为了时间融合,作者提出了 虚拟视角(virtual views)的概念,假装它们存在于当前时间。

virtual views 就是将相机过去的视野当成现在的视野,根据相机的运动为这些视野分配当前BEV空间的虚拟位置。

通过这种方法,这个时空表达能够被简单当成一个统一的多视角融合,包含当前空间融合和过去的虚拟视角。

时间和空间同步融合了能够通过时空一次性获取到有用的特征。

由于直接获取到所有时间特征,因此可以实现可适应的时间融合。

并行的特征保证了在融合过程中没有丢失信息。

多视角统一融合可以支持不同传感器的融合,还能架起更高层次和异构融合的桥梁,比如车辆侧和道路侧的感知,比如车上的摄像头和交通灯上监控摄像头的信息融合。

方法

建立统一的多角度融合包括2部分:

  1. 多视图融合的推导过程;
  2. 统一多视图融合的网络架构

多视图融合的推导过程

Derivation of virtual views

传统的BEV时间融合是基于扭曲时间的融合,即基于不同时间步长的自车运动扭曲过去的BEV特征信息。因为所有特征已经在扭曲前的某一时刻的定义的BEV自车空间中组织好了,一般会按照ROI的范围进行组织,所以范围变小了,会丢失一些信息,比如原来传感器能够捕获到100米远的信息,但是经过ROI可能就设定为55米。

因此使用传感器原始范围进行融合,效果会更好。

为了得到更好的时间融合,提出了 virtual view的概念。

虚拟视角(virtual view):不在当前时间步长内显示的传感器视角。将过去的视角通过平移和旋转到当前自车BEV空间,好像它们就在当前时间步长内一样。

说白了,就是将过去时刻的数据转换到当前时刻下
P P o i n t C l o u d = K i ( R i v P b e v + t i v ) P_{PointCloud} = K_i \left( R_i^vP_{bev} + t_i^v \right) PPointCloud=Ki(RivPbev+tiv)

统一多视图融合的网络架构

Network architecture

网络架构主要由3部分组成:

  1. 主干网络
  2. 统一多视角融合Transformer
  3. 分割头

主干网络

主干网络使用3种广泛使用的主干网络:ResNet50、Swin-Tiny、VoVNet 提取多尺度特征。

融合Transformer

使用 Transformer encoder 融合多角度特征。

主要包含4部分:

  • BEV 查询
  • 自注意模块
  • 交叉注意模块
  • 自回归机制

用BEV query Q来迭代BEV空间不同位置的特征、时间步、多尺度级和采样高度。可以以统一的方式直接检索来自任何地点和时间的信息,而不会造成任何损失。

受BEVFormer 的启发,自回归机制是将Transformer的输出与BEV查询连接起来作为新的输入,并重新运行Transformer以获得最终的特征。

Overall architecture of BEVFormer

BEVFormer在自关注模块之前将扭曲的先前BEV特征与BEV查询连接起来以实现时间融合。这是性能提高的根本原因。

已有方法可以归类叫做warp-based temporal fusion,就是根据不同时刻BEV空间的位置关系,把过去时刻的BEV features 对齐(align,具体就是根据ego运动信息进行旋转、平移)到当前时刻,并与当前时刻的BEV features实施add、concat或transformer attention操作来融合形成temporal fusion BEV features。

BEV特征和查询的连接是隐式地加深和增加Transformer层的数量。

分割头

分割头是ERFNet

实验结果

Reference

  • UniFormer:在BEV Features中融合更久远的信息
  • 《UniFusion: Unified Multi-view Fusion Transformer for Spatial-Temporal Representation in Bird’s-Eye-View》

>>>>> 欢迎关注公众号【三戒纪元】 <<<<<

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

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

相关文章

开放式耳机漏音严重吗?开放式耳机哪个品牌好?

开放式耳机因其不入耳、不伤耳设计&#xff0c;深受大家喜欢&#xff0c;开放式耳机不会对耳朵产生任何物理伤害&#xff0c;也不会影响听觉神经&#xff0c;所以不会出现传统入耳式耳机音质损伤的问题。相信还有部分用户不知道什么是开放式耳机&#xff1f;开放式漏音严重吗&a…

剑指Offer-29-顺时针打印矩阵

剑指Offer-29题 题目描述&#xff1a;顺时针打印矩阵 输入一个矩阵&#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字。 **题解思路&#xff1a;**使用 模拟 的方法 定义四个边界变量表示当前要遍历的边界&#xff1a;上(top)、下(bottom)、左(left)、右(right)&am…

爬取新闻评论数据并进行情绪识别

一、为什么要爬取新闻评论数据并进行情绪识别&#xff1f; 爬取新闻评论数据并进行情绪识别的目的是为了从网页中抓取用户对新闻事件或话题的评价内容&#xff0c;并从中识别和提取用户的情绪或态度&#xff0c;如积极、消极、中立等。爬取新闻评论数据并进行情绪识别有以下几个…

mysql查看引擎、默认引擎、表引擎

文章目录 1、查看mysql 数据库引擎2、查看mysql当前默认的存储引擎3、查看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):扩展知识&#xff1a;最常使用的2种存储引擎: 1、查看mysql 数据库引擎 命令&#xff1a; SHOW ENGINES 2、查看mysql当…

CPU高速缓存cache分类与查看

cat /sys/devices/system/cpu/cpu0/cache/index0/size #查看L1数据缓存大小 2~4 个时钟周期 cat /sys/devices/system/cpu/cpu0/cache/index1/size #查看L1指令缓存大小 2~4 个时钟周期 cat /sys/devices/system/cpu/cpu0/cache/index2/size #查看 CPU 里的 L2 Cache 的容量大…

PROFINET转ETHERNET/IP网关西门子通讯协议profinet

大家好&#xff0c;今天我们来聊一款令人兴奋的产品——远创智控YC-PN-EIP&#xff01;它是一款自主研发的 PROFINET 从站功能的通讯网关&#xff0c;可以将 PROFINET网络和ETHERNET/IP 网络连接起来&#xff0c;实现数据传输和交换。但这只是它的基础功能&#xff0c;它还有哪…

定时器中断

背景&#xff1a;使用动态数码管读取光电传感器的值并且显示&#xff0c;因此要使用到定时器&#xff0c;每隔一个阶段进行一次检测并进行中断。 51单片机里的关于中断的寄存器如下&#xff1a; IE – 中断允许控制寄存器 IP – 中断优先级控制寄存器 TMOD – 定时器工作方式寄…

操作系统12:I/O系统的功能、模型、接口及 I/O 设备和设备控制器

目录 1、I/O系统的功能、模型和接口 &#xff08;1&#xff09;I/O系统的基本功能 1.1 - 隐藏物理设备的细节 1.2 - 与设备的无关性 1.3 - 提高处理机和I/O设备的利用率 1.4 - 对 I/O 设备进行控制 1.5 - 确保对设备的正确共享 1.6 - 错误处理 &#xff08;2&#xff…

浅谈用于配电室的内部环境监控系统设计

摘要&#xff1a;配电室是配电系统的重要组成部分&#xff0c;影响着电力用户的用电需求&#xff0c;需要保障其安全、可靠运行。针对配电室内部环境进行了深入分析&#xff0c;设计了一种内部环境监控系统。通过该系统可以采集配电室内部的温度、湿度、液位、SF6气体和烟雾&am…

Unity游戏开发智能巡逻兵

完整资料进入【数字空间】查看——baidu搜索"writebug" 1.1 游戏设计要求&#xff1a; 创建一个地图和若干巡逻兵(使用动画)&#xff1b; 每个巡逻兵走一个3~5个边的凸多边型&#xff0c;位置数据是相对地址。即每次确定下一个目标位置&#xff0c;用自己当前位置…

STM32单片机不同型号之间的HAL库代码移植浅谈(代码解析)

在嵌入式系统开发中&#xff0c;STM32HAL库是一种常用的软件开发工具&#xff0c;用于开发STM32系列微控制器的应用程序。由于不同型号的芯片具有不同的硬件架构和外设&#xff0c;因此在将代码移植到不同类型的芯片上时&#xff0c;需要进行一些适配和调整。 首先&#xff0c;…

wps中excel如何实现模糊搜索匹配的内容(可以匹配想要的各种格式)

1&#xff0c;在某一列进行搜索-筛选搜索-如包含“XXX信息XX公司XX”这种格式的。 输入 &#xff1a;信息*公司 &#xff08;1&#xff09;选择第一种搜索方式代表寻找符合条件&#xff1a; 包含信息和公司两个关键字&#xff0c; 且信息在前公司在后&#xff0c; 且两个词语之…

SIP 抓包后获取媒体内容备忘(解析RTP)

SIP呼叫并抓包 从网上找免费的sip 软中端&#xff0c; 两个转中端建立呼叫且抓包 详情可以参考 https://blog.csdn.net/liuxingrui4p/article/details/96709136?spm1001.2014.3001.5502 使用wireshark检查SIP flow&#xff1a; 点击Telephony > SIP Flows 打开页面如下…

下一代边缘计算技术在哪里?

扫描文末二维码&#xff0c;立刻免费报名 云网一体&#xff0c;超大规模流量下 边缘云的架构与技术揭秘 伴随超高清视频时代的开启&#xff0c;热点赛事、晚会直播等特殊场景的巨大流量对业务的带宽储备、节点资源、流量调度和安全保障能力提出了新的挑战。 火山引擎边缘云基于…

JUC之十一:CompletableFuture用法详解

JUC之十一&#xff1a;CompletableFuture用法详解 文章目录 JUC之十一&#xff1a;CompletableFuture用法详解一、前言二、CompletableFuture类简介三、功能分类3.1、获取结果3.2、依赖关系3.3、and聚合关系3.4、or聚合关系3.5、并行执行3.6、结果处理 四、方法详解4.1、结果转…

【JavaScript】ES6新特性(5)

16. Promise Promise 是异步编程的一种解决方案&#xff0c;比传统的解决方案回调函数, 更合理和更强大 ES6 将其写进了语言标准&#xff0c;统一了用法&#xff0c;原生提供了Promise对象 指定回调函数方式更灵活易懂解决异步 回调地狱 的问题 16.1 回调地狱 当一个回调函数…

Linux 进程管理与调度

一、前言 本篇文章是对Liunx的进程管理调度的实验过程记录&#xff0c;读者可以通过这篇文章加深对Liunx中进程管理和调度的理解&#xff0c;本文所使用的操作系统为RHEL 8.0版本&#xff0c;为在Vmware workstation中运行的虚拟机。 二、实验目的 ① 掌握linux进程相关操作 ②…

RabbitMQ学习笔记9 TTL死信队列+延迟队列实战

我们去新建一个交换机&#xff1a; 然后我们再用这种方法直接创建一个队列&#xff1a; 点击bind这样我们的交换机和队列就绑定到一起了。 然后我们要新建普通队列&#xff0c;设置过期时间&#xff0c;指定死信交换机。 发布一条消息。 它会把队列传递到死信队列中去。

Openlayers实战:overlay上播放视频

在企业或者城市等的宣传上,视频能很好的传达出一些信息。 那么在openlayer中如何展示视频呢, 可以通过overlay的方式,点击某一个点,弹出overlay层,展示出视频,并自动播放。下面的实战就能够达到这种效果。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还…