【论文笔记】FastPillars: A Deployment-friendly Pillar-based 3D Detector

原文链接:https://arxiv.org/abs/2302.02367

1. 引言

目前基于激光雷达的主流方法分为基于点云的方法和基于体素的方法。前者能保留最多的几何信息,但点查询和遍历耗时;后者使用3D/2D卷积处理体素化点云,但用于提高效率的3D稀疏卷积在部署时会遇到困难。

PointPillars作为设备部署的流行方法,使用对部署有利的2D卷积。但其使用最大池化提取每个柱体内点的特征,无法获取细粒度特征,影响最终性能(特别是对于小物体)。此外,其颈部网络FPN直接融合多尺度特征,缺少充分的特征交互。尽管PillarNet提高了PointPillars的性能,但其使用了部署困难的稀疏卷积。

本文提出FastPillars,基于标准卷积,容易部署。网络包含4个部分:柱体编码、特征提取、特征融合和3D边界框回归。对于柱体编码,本文提出最大-注意力柱体编码(MAPE)模块,在不引入额外计算时间的情况下自动学习局部几何模式。对于特征提取,本文提出紧凑而高效的主干网络CRVNet。特征融合模块中,通过层次融合不同尺度和感受野的特征丰富语义特征。3D边界框回归使用基于中心的方法。

2. 相关工作

3D目标检测中的工业级轻量网络结构:YOLO系列使用CSPNet,在独立的两个分支中处理部分特征,达到更丰富的梯度组合,从而减小存储和计算并提高性能。

RepVGG使用重参数化结构,使用3个分支替代VGG中的Conv-BN-ReLU结构,以帮助优化;推断时使用重参数化将3个分支合并以提高推断速度。

3. 本文的方法

网络结构如下图所示。网络包含4个部分:柱体编码、特征提取、特征融合和3D边界框回归。
在这里插入图片描述

3.1 最大-注意力柱体编码(MAPE)

如下图所示,本文的MAPE包含三个单元:点编码单元、最大池化编码单元和注意力池化编码单元。记非空柱体 i i i内的点集为 p i ∈ R N × 5 p_i\in\mathbb{R}^{N\times 5} piRN×5(5表示3维位置、反射强度和相对时间戳)。
点编码:首先使用各点与柱体中心的偏移量 ( x i c , y i c , z i c ) (x^c_i,y_i^c,z_i^c) (xic,yic,zic)以及各点坐标与最小坐标的偏移量 ( x i r , y i r , z i r ) (x^r_i,y_i^r,z_i^r) (xir,yir,zir)增强各点的特征,得到 p ^ i ∈ R N × 11 \hat{p}_i\in\mathbb{R}^{N\times 11} p^iRN×11。注意此处与PointPillars不同,不会为了保证各柱体点数相同而丢弃任何点。然后使用MLP将各点映射到高维空间得到 p i e ∈ R N × D p_i^e\in\mathbb{R}^{N\times D} pieRN×D
最大池化编码:使用最大池化聚合柱体内点的特征,得到 f i m e ∈ R D f_i^me\in\mathbb{R}^{D} fimeRD
注意力池化编码:用于保留细粒度信息。使用MLP处理柱体内的点得到注意力分数 s i ∈ R N × D s_i\in\mathbb{R}^{N\times D} siRN×D,然后根据 s i s_i si加权求和:
f i a = ∑ s i ⋅ p i e ∑ s i f_i^a=\frac{\sum s_i\cdot p_i^e}{\sum s_i} fia=sisipie
其中 f i a ∈ R D f^a_i\in\mathbb{R}^{D} fiaRD

最后,平均 f i a f_i^a fia f i m f_i^m fim得到 f i ∈ R D f_i\in\mathbb{R}^{D} fiRD,其包含了柱体内的全局信息和细粒度局部信息。MAPE能极大提升小物体的检测能力。

3.2 CRVNet主干

基于CSPNet和RepVGG,本文提出CRVNet,基于VGG或ResNet34搭建模型,其基本结构单元如下图所示。使用CSP结构能实现紧凑而高效的网络。由于单路径网络的计算代价和参数量会随模型容量指数增加,本文引入RepBlock。推断时,每个RepBlock会被转化为 3 × 3 3\times3 3×3卷积+激活函数的形式(称为RepConv),以减小推断时间。
在这里插入图片描述

3.3 颈部与基于中心的头部

颈部使用PillarNet的颈部设计,融合主干网络多尺度特征。回归头在CenterPoint的基础上添加IoU分支,估计预测边界框和真实边界框的IoU,并使用IoU感知的修正函数减小分类与回归预测的间隙。修正的置信度分数 C C C按下式计算,并用于NMS后处理:
C = S 1 − α + I α C=S^{1-\alpha}+I^{\alpha} C=S1α+Iα
其中 S S S为预测置信度分数, I I I为预测IoU, α ∈ [ 0 , 1 ] \alpha\in[0,1] α[0,1]

分类与回归预测的间隙/不一致性:分类分数最高的框不一定是最回归最准的框。

3.4 损失函数

使用CenterPoint的损失函数。对于IoU预测,使用L1损失,回归目标 I I I被缩放到 2 × ( I − 0.5 ) ∈ [ − 1 , 1 ] 2\times(I-0.5)\in[-1,1] 2×(I0.5)[1,1]内;此外添加DIoU损失 L o d − i o u \mathcal{L}_{od-iou} Lodiou。总损失如下:
L t o t a l = λ 1 L c l s + λ 2 L i o u + λ 3 ( L o d − i o u + L r e g ) \mathcal{L}_{total}=\lambda_1\mathcal{L}_{cls}+\lambda_2\mathcal{L}_{iou}+\lambda_3(\mathcal{L}_{od-iou}+\mathcal{L}_{reg}) Ltotal=λ1Lcls+λ2Liou+λ3(Lodiou+Lreg)

4. 实验

实施细节:使用随机翻转、旋转和缩放数据增广、GT增广(带衰退策略);测试时使用双翻转数据增广。

4.1 主要结果

4.1.1 定量评估

在nuScenes测试集上,FastPillars能超过SotA方法的性能,且能达到实时性。

4.1.2 与实时一阶段方法比较

与PillarNet比较,本文的方法有2倍的速度而性能相当。

4.2 消融实验

4.2.1 最大-注意力柱体编码模块

与最大池化相比,本文的MAPE模块能提高性能,且在小物体上的性能提升较大。这证明了MAPE能提取细粒度的局部集合信息。

补充材料

B. MAPE不同池化操作的消融实验

与仅使用注意力池化或仅使用最大池化等方法相比,本文的最大+注意力池化方法有最高的性能,因其融合了主要特征和局部几何特征。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql面试题——MVCC

一:什么是MVCC? 多版本并发控制,更好的方式去处理读-写冲突,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。 二&#xff1a…

webrtc网之sip转webrtc

OpenSIP是一个开源的SIP(Session Initiation Protocol)服务器,它提供了一个可扩展的基础架构,用于建立、终止和管理VoIP(Voice over IP)通信会话。SIP是一种通信协议,用于建立、修改和终止多媒体…

【Python】 生成二维码

创建了一个使用 python 创建二维码的程序。 下面是生成的程序的图像。 功能描述 输入网址(URL)。 输入二维码的名称。 当单击 QR 码生成按钮时,将使用 QRname 中输入的字符将 QR 码生成为图像。 程序代码 import qrcode import tkinterd…

30、卷积 - 参数 stride 的作用

在卷积运算中,还有一个参数叫做 stride,它对卷积的运算以及运算结果影响也很大。 还是先看卷积动图,从图上你能猜到 stride 参数在哪吗? 在卷积操作中,stride 指的是卷积核在滑动过程中每次跳过的像素数量。 stride 决定了卷积核在输入图像上移动的速度。例如,如果 str…

CentOS7安装Docker,DockerCompose

安装docker 1、卸载docker 查看是否有旧版本docker docker info首先检测我们虚拟机是否已经安装过Docker,如果安装则需卸载。代码中“\”符号为换行符,相当于一行内容分为多行,这是检测docker的各种组件 yum remove docker \docker-clien…

大数据安全保障的四种关键技术

随着大数据时代的到来,数据安全保障的重要性日益凸显。大数据安全保障涉及多种关键技术,以下是四种关键技术的详细介绍。 数据加密技术 数据加密技术是大数据安全保障的核心技术之一。它通过将明文数据转化为密文数据,以保护数据的机密性和完…

GPT4停止订阅付费了怎么办? 怎么升级ChatGPT plus?提供解决方案

11月中旬日OpenAI 暂时关闭所有的升级入口之后,很多小伙伴就真的在排队等待哦。其实有方法可以绕开排队,直接付费订阅升级GPT的。赶紧用起来立马“插队”成功!亲测~~~ 一、登录ChatGPT账号 1、没有账号可以直接注册一个,流程超级…

Flutter一直 Running Gradle task ‘assembleDebug‘

Flutter升级到3.13.7之后,一直Running Gradle task ‘assembleDebug’,之前运行还没问题。 试了各种方法,比如添加阿里云镜像,flutter\packages\flutter_tools\gradle目录下修改build.gradle.kts文件,都不行。 参考大佬…

2024年甘肃省职业院校技能大赛信息安全管理与评估赛项二三阶段样题一

2024年甘肃省职业院校技能大赛高职学生组电子与信息大类信息安全管理与评估赛项样题一 第二阶段 任务书 任务描述 随着网络和信息化水平的不断发展,网络安全事件也层出不穷,网络恶意代码传播、信息窃取、信息篡改、远程控制等各种网络攻击 行为已严重…

上网监控软件丨5大不同人群的锋利观点

上网监控软件是一种可以监控员工上网行为的软件,通常被用于企业或组织内部。这种软件可以记录员工访问的网站、发送的邮件、聊天的记录等,并可以对员工的上网行为进行控制和限制,从而提高员工的工作效率,防止数据泄露和网络攻击。…

每日一道c语言

任务描述 题目描述:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组 相关知识(略) 编程要求 请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充&#xf…

课堂练习3.1:进程的描述与状态

3-1 进程是操作系统中一个非常重要的概念。程序的运行是通过进程来完成的。在层次结构的操作系统中,进程不仅是系统分配资源的基本单位,而且是 CPU 调度的基本单位。进程管理是操作系统最重要的功能之一。 通过本实训将会学习到:Linux 0.11 …

Java-JDBC操作MySQL

Java-JDBC操作MySQL 文章目录 Java-JDBC操作MySQL一、Java-JDBC-MySQL的关系二、创建连接三、登录MySQL四、操作数据库1、返回型操作2、无返回型操作 练习题目及完整代码 一、Java-JDBC-MySQL的关系 #mermaid-svg-B7qjXrosQaCOwRos {font-family:"trebuchet ms",verd…

Vue 3 + Tailwind CSS:打造现代化项目的完美组合

Vue 3 Tailwind CSS:打造现代化项目的完美组合 本篇教程将向你介绍如何将 Tailwind CSS 与 Vue 3 项目搭配使用,为你的项目提供现代化的 UI 呈现和开发体验。通过本文的逐步演示和示例代码,你将很快掌握在 Vue 3 中集成和使用 Tailwind CSS…

29、卷积 - 参数 padding 的作用

在卷积过程中,Padding(填充)是一个关键的概念,它对于保留输入信息和有效地处理边缘信息至关重要。 1、Padding是什么? Padding 指的是在输入图像的周围添加额外的像素值,用来以扩大输入图像的尺寸,这些额外填充的像素值通常设置为零,卷积操作在这个填充后的输入图像上…

解决Unity打包Apk卡在calling IPostGenerateGradleAndroidProject callbacks

防盗镇楼 本文地址:https://superliii.blog.csdn.net/article/details/134820215 问题 好烦,又双叒卡BUG,在解决此问题的10多个小时里面鬼知道我经历了什么… 构建APK卡在calling IPostGenerateGradleAndroidProject callbacks 好不容易搜到个极其隐蔽的帖子,说删C:\Users\…

Windows下使用CMD修改本地IP

在网络适配器界面查看当前网线连接的哪个网口,我当前连的是 以太网 这个名字的: 在windows下使用管理员权限打开CMD命令工具,输入如下命令(如我想本地ip改成192.168.2.4): netsh interface ip set address "以太网" st…

HTML5+CSS3+JS小实例:文字依次点击验证

实例:文字依次点击验证 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&quo…

人工智能原理复习--搜索策略(一)

文章目录 上一篇搜索概述一般图搜索盲目搜索下一篇 上一篇 人工智能原理复习–确定性推理 搜索概述 问题求解分为两大类&#xff1a;知识贫乏系统&#xff08;依靠搜索技术解决&#xff09;、知识丰富系统&#xff08;依靠推理技术&#xff09; 两大类搜索技术&#xff1a; …