麻省理工!FlatFormer: 一种高效的点云Transformer

2024-02-07 06:30

本文主要是介绍麻省理工!FlatFormer: 一种高效的点云Transformer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者 | 汽车人  编辑 | 自动驾驶之心

原文链接:https://zhuanlan.zhihu.com/p/607958769?

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!

论文:https://arxiv.org/pdf/2301.08739.pdf

作者单位:麻省理工学院 上海交通大学 清华大学

80b5511bbab8af392e22b2fab2dbf768.png

论文思路:

Transformer,作为CNN的一种替代品,已经被证明在许多模态(例如,文本和图像)中都是有效的。对于3D点云transformer,现有的工作主要集中在将其准确性提高到最先进的水平。然而,它们的延迟滞后于基于稀疏卷积的模型(慢3×),阻碍了它们在资源受限、延迟敏感的应用程序(如自动驾驶)中的使用。这种低效来自于点云的稀疏和不规则的性质,而transformer是为密集、规则的工作负载而设计的。本文介绍了FlatFormer,通过交易空间邻近性(trading spatial proximity ),以获得更好的计算规律性,来缩小这个延迟差距。本文首先使用基于窗口的排序和划分点将点云扁平化(flatten)成相同大小的组(groups of equal sizes),而不是相同形状的窗口(windows of equal shapes)。这有效地避免了昂贵的结构化和填充开销。然后,本文在组内应用自注意力来提取局部特征,交替排序轴从不同的方向收集特征,并移动窗口来在组间交换特征。FlatFormer在Waymo Open Dataset上提供了最先进的精度,比(transformer-based)SST加速4.6×,比(sparse convolutional)CenterPoint加速1.4×。这是第一个在边缘GPUs上实现实时性能的点云transformer,并且比稀疏卷积方法更快,同时在大规模基准测试上达到同等甚至更高的精度。

网络设计:

a43d8e4e312ff41811937b51c7c8e82b.png

图5。FlatFormer将点云划分为相同大小的组(右),而不是相同形状的窗口(左)。这可以有效地利用空间邻近性来获得更好的计算规律性。然后在每个组内应用自我注意来提取局部特征,交替排序轴来聚合不同方向的特征,并移动窗口来在组间交换特征。

FlatFormer的基本构件是Flattened Window Attention(FWA)。如图5r所示,FWA采用基于窗口的排序来flatten点云,并将其划分为相同大小的组,而不是相同形状的窗口。这很自然地解决了组大小不平衡的问题,并避免了填充和分区开销。然后,FWA在组内应用自注意力来提取局部特征,交替使用排序轴来聚集从不同方向上的特征,并移动窗口来在组间交换特征。最后,本文提供了一个FWA的实现,进一步提高了其效率,并最小化了开销。

实验结果:

5fe3dd2cdc852a09682d58f4aae28460.png 4744f8f2d2b4361dacb944816fc9ffb9.png 37ebf0c2160772beac233a1664b9956c.png ac9be0ae5152433c3a11e3367f33242d.png f06f2fe471d5fc246c64a230f9e3a3de.png d73d633900ff31adf8234ef45a25771d.png 94aaff7352b4d77ec9ab64160a066a15.png

往期回顾

史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

c029afe0d7642fa90220df7fc7f33593.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

87e4262bff05ff2eca2d127d68486e09.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

这篇关于麻省理工!FlatFormer: 一种高效的点云Transformer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686803

相关文章

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、