麻省理工!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

相关文章

在Golang中实现定时任务的几种高效方法

《在Golang中实现定时任务的几种高效方法》本文将详细介绍在Golang中实现定时任务的几种高效方法,包括time包中的Ticker和Timer、第三方库cron的使用,以及基于channel和go... 目录背景介绍目的和范围预期读者文档结构概述术语表核心概念与联系故事引入核心概念解释核心概念之间的关系

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

基于Python构建一个高效词汇表

《基于Python构建一个高效词汇表》在自然语言处理(NLP)领域,构建高效的词汇表是文本预处理的关键步骤,本文将解析一个使用Python实现的n-gram词频统计工具,感兴趣的可以了解下... 目录一、项目背景与目标1.1 技术需求1.2 核心技术栈二、核心代码解析2.1 数据处理函数2.2 数据处理流程

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St