论文阅读:CenterFormer: Center-based Transformer for 3D Object Detection
目录
概要
Motivation
整体架构流程
技术细节
Multi-scale Center Proposal Network
Multi-scale Center Transformer Decoder
Multi-frame CenterFormer
小结
论文地址:[2209.05588] CenterFormer: Center-based Transformer for 3D Object Detection (arxiv.org)
代码地址:GitHub - TuSimple/centerformer: Implementation for CenterFormer: Center-based Transformer for 3D Object Detection (ECCV 2022)
概要
CenterFormer,这是一种基于中心的变压器网络,用于3D目标检测。CenterFormer首先使用中心热图在标准基于体素的点云编码器之上选择中心候选。然后它使用中心候选的特征作为转换器中的查询嵌入。设计了一种通过交叉注意融合特征的方法,能进一步聚合多帧的特征。最后,添加回归头来预测输出中心特征表示上的边界框。整体设计降低了变压器结构的收敛难度和计算复杂度;与无锚目标检测网络强基线相比有显著改进。
Motivation
- 与图像域目标检测相比,LiDAR数据中的扫描点可能是稀疏且不规则的,这取决于与传感器的距离;
- 目前的两阶段网络缺乏上下文和全局信息学习,它们只使用提案的局部特征(RoI)来优化结果,其他方框或相邻位置中的特征也可能有利于细化,但这些特征被忽略;
- 自动驾驶场景的环境不是静止的。当使用扫描序列时,局部特征学习有更多的局限性;
- 变压器解码器使用大的特征映射,查询嵌入很难在训练过程中集中;
- DETRstyle编码器-解码器变压器网络有两个主要问题:随着输入大小的增加,计算复杂度呈二次增长,限制了转换器仅将低维特征作为输入,这导致小对象的性能较低;查询嵌入是通过网络学习的,使得训练很难收敛。
整体架构流程
一种基于中心的变压器网络,称为中心变压器(CenterFormer),用于三维目标检测。具体来说,首先使用标准的基于Voxel的骨干网将点云编码为BEV特征表示。接下来,使用多尺度中心提议网络将特征转换为不同的尺度并预测初始中心位置。所提出的中心的特征被输入Transformer解码器作为query embedding。在每个Transformer 模块中,使用可变形交叉注意力层来有效地聚合来自多尺度特征图的特征。然后输出对象表示回归到其他对象属性以创建最终的对象预测。
如下图所示,该方法可以对对象级连接和远程特征注意力进行建模。为了进一步探索变压器的能力,还提出了一种多帧设计,通过交叉注意融合来自不同帧的特征。
上图中,center前与 RCNN 样式检测器的比较。RCNN 在 RoI 中聚合点或网格特征,而居中前可以通过注意力机制学习对象级上下文信息和远程特征。
上图所示为CenterFormer的整体架构。该网络由四个部分组成:将原始点云编码为 BEV 特征表示的体素特征编码器、多尺度中心提议网络 (CPN)、基于中心的Transformer解码器和用于预测边界框的回归头。
技术细节
Multi-scale Center Proposal Network
DETR
风格的 Transformer
编码器需要将特征图压缩成小尺寸,以便计算成本可以接受。这使得网络失去了对检测小物体至关重要的细粒度特征,这些小物体通常占据 BEV
地图中小于 1% 的空间。因此,提出了一个多尺度中心提议网络(CPN)来代替 BEV
特征的Transformer
编码器。为了准备多尺度特征图,使用特征金字塔网络将 BEV
特征表示处理成3个不同的尺度。在每个尺度结束时,添加一个卷积块注意力模块 (CBAM
),以通过通道和空间注意力来增强特征。
使用最高比例特征图 C 上的中心Head
来预测目标中心的 l 通道Heatmap
。每个通道包含一个类的Heatmap
分数。将前 N 个Heatmap
分数的位置作为中心提案。在实验中凭经验使用 N = 500。
Multi-scale Center Transformer Decoder
在建议的中心位置提取特征作为Transformer
解码器的query embedding
。使用线性层将中心的位置编码为位置嵌入。传统的 DETR
解码器使用可学习的参数初始化query
。因此,在解码器中获得的注意力权重在所有特征中几乎相同。通过使用中心特征作为初始query embedding
,可以引导训练专注于包含有意义的目标信息的特征。
在 vanilla Transformer
解码器中使用相同的自注意力层来学习目标之间的上下文注意力。计算中心query
对所有多尺度 BEV
特征的交叉注意力的复杂度为 :
由于 BEV
特征图的分辨率需要相对较大以保持小目标的细粒度特征,因此将所有 BEV
特征用作attending keypoints
是不切实际的。或者,将attending keypoints
限制在每个尺度的中心位置附近的一个 3×3 小窗口,如上图 所示。这种交叉注意力的复杂度为 ,比正常实现更有效。由于具有多尺度特征,因此能够在提议的中心周围捕获广泛的特征。多尺度交叉注意力可以表述为:
其中p表示中心建议,这里的Ωj是中心周围的窗口,s是尺度的索引。前馈层也保持不变。
Multi-frame CenterFormer
多帧通常用于 3D 检测以提高性能。当前基于 CNN
的检测器无法有效融合快速移动物体的特征,而由于注意力机制,transformer
结构更适合融合。为了进一步探索 CenterFormer
的潜力,提出了一种使用交叉注意力transformer
的多帧特征融合方法。使用相同的骨干网络单独处理每个帧。前一帧的最后一个 BEV
特征被转换为当前坐标,并与中心头和交叉注意力层中的当前 BEV
特征融合。
小结
- 引入了一种基于中心的变压器网络进行3D目标检测。
- 使用中心特征作为初始查询嵌入query embedding来促进Transformer的学习。
- 提出了一种多尺度交叉注意层来有效地聚合相邻特征,而不会显著增加计算复杂度。
- 建议使用交叉注意Transformer来融合来自不同帧的对象特征。
- 方法大大优于所有以前发布的方法,在Waymo开放数据集上设置了新的最先进的性能。
相关文章:

论文阅读:CenterFormer: Center-based Transformer for 3D Object Detection
目录 概要 Motivation 整体架构流程 技术细节 Multi-scale Center Proposal Network Multi-scale Center Transformer Decoder Multi-frame CenterFormer 小结 论文地址:[2209.05588] CenterFormer: Center-based Transformer for 3D Object Detection (arx…...

Arduino驱动BNO055九轴绝对定向传感器(惯性测量传感器篇)
目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序 BNO055是实现智能9轴绝对定向的新型传感器IC,它将整个传感器系统级封装在一起,集成了三轴14位加速度计,三轴16位陀螺仪,三轴地磁传感器和一个自带算法处理的32位微控制器。...

MQTT测试工具及使用教程
一步一步来:MQTT服务器搭建、MQTT客户端使用-CSDN博客 MQTT X 使用指南_mqttx使用教程-CSDN博客...

yolov7改进优化之蒸馏(一)
最近比较忙,有一段时间没更新了,最近yolov7用的比较多,总结一下。上一篇yolov5及yolov7实战之剪枝_CodingInCV的博客-CSDN博客 我们讲了通过剪枝来裁剪我们的模型,达到在精度损失不大的情况下,提高模型速度的目的。上一…...

视频美颜SDK,提升企业视频通话质量与形象
在今天的数字时代,视频通话已经成为企业与客户、员工之间不可或缺的沟通方式。然而,由于网络环境、设备性能等因素的影响,视频通话中的画面质量往往难以达到预期效果。为了提升视频通话的质量与形象,美摄美颜SDK应运而生ÿ…...

webmin远程命令执行漏洞
文章目录 漏洞编号:漏洞描述:影响版本:利用方法(利用案例):安装环境漏洞复现 附带文件:加固建议:参考信息:漏洞分类: Webmin 远程命令执行漏洞(CV…...

docker离线安装和使用
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://ullx9uta.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo syste…...

解决 MyBatis 一对多查询中,出现每组元素只有一个,总组数与元素数总数相等的问题
文章目录 问题简述场景描述问题描述问题原因解决办法 问题简述 笔者在使用 MyBatis 进行一对多查询的时候遇到一个奇怪的问题。对于笔者的一对多的查询结果,出现了这样的一个现象:原来每个组里有多个元素,查询目标是查询所查的组,…...

这应该是关于回归模型最全的总结了(附原理+代码)
本文将继续修炼回归模型算法,并总结了一些常用的除线性回归模型之外的模型,其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、随…...

基于闪电连接过程优化的BP神经网络(分类应用) - 附代码
基于闪电连接过程优化的BP神经网络(分类应用) - 附代码 文章目录 基于闪电连接过程优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.闪电连接过程优化BP神经网络3.1 BP神经网络参数设置3.2 闪电连接过程算…...

Linux性能优化--性能工具:网络
7.0 概述 本章介绍一些在Linux上可用的网络性能工具。我们主要关注分析单个设备/系统网络流量的工具,而非全网管理工具。虽然在完全隔离的情况下评估网络性能通常是无意义的(节点不会与自己通信),但是,调查单个系统在网络上的行为对确定本地配置和应用程…...

【Linux】线程互斥与同步
文章目录 一.Linux线程互斥1.进程线程间的互斥相关背景概念2互斥量mutex3.互斥量的接口4.互斥量实现原理探究 二.可重入VS线程安全1.概念2.常见的线程不安全的情况3.常见的线程安全的情况4.常见的不可重入的情况5.常见的可重入的情况6.可重入与线程安全联系7.可重入与线程安全区…...

敏捷开发中,Sprint回顾会的目的
Sprint回顾会的主要目的是促进Scrum团队的学习和持续改进。在每个Sprint结束后,团队聚集在一起进行回顾,以达到以下目标: 识别问题: 回顾会允许团队识别在Sprint(迭代)期间遇到的问题、挑战和障碍。这有助于…...

排序【七大排序】
文章目录 1. 排序的概念及引用1.1 排序的概念1.2 常见的排序算法 2. 常见排序算法的实现2.1 插入排序2.1.1基本思想:2.1.2 直接插入排序2.1.3 希尔排序( 缩小增量排序 ) 2.2 选择排序2.2.1基本思想:2.2.2 直接选择排序:2.2.3 堆排序 2.3 交换排序2.3.1冒…...

人大与加拿大女王大学金融硕士项目——立即行动,才是缓解焦虑的解药
!在这个经济飞速的发展的时代,我国焦虑症的患病率为7%,焦虑已经超越个体范畴,成为整个社会与时代的课题。焦虑,往往源于我们想要达到的,与自己拥有的所产生的差距。任何事情,开始做远比准备做更会给人带来成…...

老卫带你学---leetcode刷题(46. 全排列)
46. 全排列 问题: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1:输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#x…...

6.6 图的应用
思维导图: 6.6.1 最小生成树 ### 6.6 图的应用 #### 主旨:图的概念可应用于现实生活中的许多问题,如网络构建、路径查询、任务排序等。 --- #### 6.6.1 最小生成树 **概念**:要在n个城市中建立通信联络网,则最少需…...

100问GPT4与大语言模型的关系以及LLMs的重要性
你现在是一个AI专家,语言学家和教师,你目标是让我理解语言模型的概念,理解ChatGPT 跟语言模型之间的关系。你的工作是以一种易于理解的方式解释这些概念。这可能包括提供 例子,提出问题或将复杂的想法分解成更容易理解的小块。现在…...

Linux:mongodb数据逻辑备份与恢复(3.4.5版本)
我在数据库aaa的里创建了一个名为tarro的集合,其中有三条数据 备份语法 mongodump –h server_ip –d database_name –o dbdirectory 恢复语法 mongorestore -d database_name --dirdbdirectory 备份 现在我要将aaa.tarro进行备份 mongodump --host 192.168.254…...

凉鞋的 Godot 笔记 109. 专题一 小结
109. 专题一 小结 在这一篇,我们来对第一个专题做一个小的总结。 到目前为止,大家应该能够感受到此教程的基调。 内容的难度非常简单,接近于零基础的程度,不过通过这些零基础内容所介绍的通识内容其实是笔者好多年的时间一点点…...

数据结构 - 4(栈和队列6000字详解)
一:栈 1.1 栈的概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原…...

MySQL InnoDB引擎深入学习的一天(InnoDB架构 + 事务底层原理 + MVCC)
目录 逻辑存储引擎 架构 概述 内存架构 Buffer Pool Change Buffe Adaptive Hash Index Log Buffer 磁盘结构 System Tablespace File-Per-Table Tablespaces General Tablespaces Undo Tablespaces Temporary Tablespaces Doublewrite Buffer Files Redo Log 后台线程 事务原…...

TX Text Control .NET Server for ASP.NET 32.0 Crack
TX Text Control .NET Server for ASP.NET 是VISUAL STUDIO 2022、ASP.NET CORE .NET 6 和 .NET 7 支持,将文档处理集成到 Web 应用程序中,为您的 ASP.NET Core、ASP.NET 和 Angular 应用程序添加强大的文档处理功能。 客户端用户界面 文档编辑器 将功能…...

Leetcode刷题详解——将x减到0的最小操作数
1. 题目链接:1658. 将 x 减到 0 的最小操作数 2. 题目描述: 给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作…...

精选免费热门api接口分享
IP归属地-IPv4城市级:根据IP地址查询归属地信息,支持到城市级,包含国家、省、市、和运营商等信息。IP归属地-IPv6城市级:根据IP地址(IPv6版本)查询归属地信息,支持到中国大陆地区(不…...
androidx.appcompat.widget.Toolbar最右边设置控件不能仅靠最右边
androidx.appcompat.widget.Toolbar最右边设置控件不能仅靠最右边 Android Toolbar左、中、右对齐-CSDN博客Android Toolbar左、中、右对齐默认的Android Toolbar中添加子元素view是从左到右依次添加。需要注意的是,Android Toolbar为自身的…...

Springboot整合WebSocket实现浏览器和服务器交互
Websocket定义 代码实现 引入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>配置类 import org.springframework.context.annotation.Bean;i…...

这些 channel 用法你都用起来了吗?
channel 是什么? channel 是GO语言中一种特殊的类型,是连接并发goroutine的管道 channel 通道是可以让一个 goroutine 协程发送特定值到另一个 goroutine 协程的通信机制。 关于 channel 的原理,channel通道需要注意的地方,之前…...

纽交所上市公司安费诺宣布将以1.397亿美元收购无线解决方案提供商PCTEL
来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,纽交所上市公司安费诺(APH)宣布将以每股7美元现金,总价格1.397亿美元收购无线解决方案提供商PCTEL(PCTI)。 该交易预计将在第四季度或2024年初完成。 Lake Street Capital Markets担任…...

二分查找算法(Python)
目录 1、概念 2、思路 3、实现算法 1、概念 二分查找又称折半查找,它是一种效率较高的查找方法 原理:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成…...