【自动驾驶】PETR/PETRv2/StreamPETR论文分析

news2024/11/16 3:46:12

1.PETR

PETR网络结构如下,主要包括image-backbone, 3D Coordinates Generator, 3D Position Encoder, transformer Decoder

1.1  Images Backbone

采用resnet 或者 vovNet,下面的x表示concatenate

 1.2  3D Coordinates Generator

坐标生成跟lss类似,假设一系列深度值,再有相机内存进行坐标转换

1.3 3D Position Encoder 

将多视图2D图像特征输入到1×1卷积层以进行降维。这个由三维坐标生成器生成的三维坐标被转换为通过多层感知的3D位置嵌入。3D位置嵌入与同一视图的2D图像特征相加,生成3D位置感知功能。最后,3D位置感知特征被展平并且用作变换器解码器的输入。

这里2D部分是经过三角函数编码后与3DpositionEmb相加作为K, 原始的iamge feature作为V 输入transformerDecoder

1.4 Transformer Decoder

 DET Query Generator

为了缓解在3D场景中的收敛困难,类似于Anchor DETR,我们首先在均匀分布的3D世界空间中初始化一组可学习的锚点从0到1。然后将3D锚点的坐标输入到小MLP具有两个线性层的网络,并生成初始对象查询Q0。在我们的实践中,在三维空间中使用锚点可以保证收敛在采用DETR中的设置或生成锚点的同时在BEV空间中不能实现令人满意的检测性能。

1.5 测试

训练资源如下:

代码执行图:

可视化效果

 

时延测试:

extract_feat_time

0.0166

positional_encod_time

0.0150

transformer_time

0.0074

fnn_time

0.0031

get_bboxes_time

0.0015

2. PETRV2

petrv2的整体框图如下,与petr不同的地方在于加入了时序模块,分割头,以及改变了 3D Position Encoder

2.1 与petr差异 

PE : 3D Position Encoder部分

 Query Generator

 3. StreamPETR

StreamPETR的总体架构。内存队列存储历史对象查询。在Propagation Transformer中,最近的对象查询依次与历史查询和当前图像特征交互,以获得时间和空间信息。输出查询被进一步用于生成检测结果,并且前K个非背景目标查询被推送到存储器队列中。通过存储器队列的循环更新,长期时间信息被逐帧传播。

 3.1 Propagation Transformer模块

Propagation Transformer和MLN 的细节。在PT中,object查询与混合查询和图像特征进行迭代交互。运动感知层规范化对运动属性进行编码(姿态、时间戳、速度),并隐式地执行补偿。不同色调的矩形象征着来自不同帧,灰色矩形表示当前帧的初始化查询,虚线矩形对应于背景查询。

3.2  Hybrid Attention

Hybrid Attention在这里用于取代原生的self-attention。首先它起到self-attention的作用,对于当前帧的重复框进行抑制。其次,当前帧的object query还需要和历史帧object query做类似cross attention操作,进行时序的交互。 由于hybrid queries远小于cross attention中 image token的数量,因此所带来的额外计算量可以忽略不计。此外历史object query也会传递到当前帧为当前帧提供更好的初始化(propagate query)。

其他部分与petrv2模块相同

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

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

相关文章

从零开始的SRC挖掘

前言 每一次成功的渗透,都有一个非常完备的信息搜集。 大师傅讲的好呀:信息搜集的广度决定了攻击的广度,知识面的广度决定了攻击的深度。 点击此处即可领取282G网络安全学习资料 信息搜集 信息搜集可以从多个领域来看: 公司…

springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用

概述 1、安装nohup(后台进程运行java) 2、安装中文字体(防止中文乱码) 3、安装chrony(保证分布式部署时间的一致性) 5、安装mysql数据,迁移目录,并授权自启动; 6、安…

基于JavaSpring的学生宿舍管理系统

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88407844

Bootstrap网格系统的原理

Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。 Bootstrap 网格系统(Grid System)的工作原理 网格系统通过一系列包含内容的行和…

HRM人力资源管理系统源码

HRM人力资源管理系统源码 运行环境:PHP8.1或以上 MYSQL5.7或以上 php扩展要求 fileinfo imagemagick 功能介绍: 综合仪表板 它通过其综合仪表板提供了员工总数、工单和帐户余额的概览。 您可以轻松访问组织中的缺席者以及详细的公告和预定会议列…

阿里云域名免费配置HTTPS

阿里云域名配置HTTPS - 知乎

零基础也能学会!Linux下安装RStudio工具及实现远程访问的详细指南

前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问,从而将 RStudio IDE 的强大功能和工作效率带到基于服务器的集中式环境中。 下面介绍在Linux docker中安装RStudio Server并结合cpolar内网…

JuiceFS 目录配额功能设计详解

JuiceFS 在最近 v1.1 版本中加入了社区中呼声已久的目录配额功能。已发布的命令支持为目录设置配额、获取目录配额信息、列出所有目录配额等。完整的详细信息,请查阅文档。 在设计此功能时,对于它的统计准确性,实效性以及对性能的影响&#…

工业交换机的“自适应”是什么意思?

工业交换机诸多性能指标中,我们常常看见有“自适应”这个指标。它到底是什么意思呢? 自适应也叫自动匹配、自协商,以太网技术发展到100M速率以后,出现了一个如何与原10M以太网设备兼容的问题,自协商技术就是为了解决这…

python中一些代码提速技巧

目录 用set而非list进行查找用dict而非两个list进行匹配查找优先使用for循环而不是while循环循环代替递归用缓存机制加速递归函数用numba加速Python函数使用collections.Counter加速计数使用collections.ChainMap加速字典合并使用map代替推导式进行加速使用filter代替推导式进行…

nacos2.0.2漏洞分析及解决方法

绕过鉴权情况 1. userAgentAuthWhite 设置为true,官方没有还没有解析为啥可以通过设置userAgent可以绕过鉴权 实验一 只要把请求header:User-Agent设置为:Nacos-Server,即可绕过鉴权 实验二 只要把请求header:User…

SpringBoot原理解析篇(一):parent 版本管理

SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来 简化 Spring 应用的初始搭建以及开发过程。 Spring 程序缺点:依赖设置繁琐、配置繁琐 SpringBoot 程序优点:起步依赖(简化依赖配置)、自动配置&#x…

查看当前目录下文件所占用内存 du -sh

1. du -sh 查看当前目录下文件所占用内存 2.查看当前文件夹下,每个文件所占用内存 du -ah --max-depth1/

点云配准流程

迭代最近点算法(Iterative CLosest Point简称ICP算法) ICP算法对待拼接的2片点云,首先根据一定的准则确立对应点集P与Q,其中对应点对的个数,然后通过最小二乘法迭代计算最优的坐标变换,即旋转矩阵R和平移矢…

Soul CEO张璐团队优化治理平台安全生态,构建健康社交秩序

致力于构建真实、温暖、多元线上社交空间的Soul APP,在2023第二季度发布了全新的《Soul生态安全治理报告》。报告显示,Soul 主要以五大安全点位为阵地,开展专项安全生态治理,五大专项分别是反电信网络诈骗、引导社交礼仪规范、未成年保护、用户共治众裁和防治网暴骚扰。Soul CE…

红动大湾区!“红西凤”领衔西凤酒核心产品亮相秋糖

执笔 | 文 清 编辑 | 萧 萧 600亿元酒水消费规模的广东市场,再遇中国四大名酒之一的西凤酒,会碰撞出什么样的火花? 10月7日-11日,西凤酒携红西凤系列、西凤酒珍藏版、老绿瓶系列等全明星产品阵容,在深圳华侨城洲…

WindowsServer2019-部署与管理Active Directory域服务-01

文章目录 创建和配置域控制器1、创建域控制器步骤1:更名计算机步骤2:修改DC的IP地址步骤3:安装Active Directory域服务和DNS服务器角色步骤4:提升为域控制器 2、添加额外域控制器(BDC)步骤1:按照…

Vue3目录结构与Yarn.lock 的版本锁定

Vue目录结构与Yarn.lock 的版本锁定 一、Vue3.0目录结构图总览 举个例子看vue的目录,一开始不知道该目录是什么意思目录里各个文件包里安放有什么,程序员在哪里操作该如何操作。 下图目录看Vue新项目 VS Code 打开文件包后出现一列目录 二、目录结构 1…

IMU应用于犬类步态分析

客观的步态分析可以为临床医生提供治疗决策的重要信息。它不仅可以用于诊断,还为育种提供重要信息。而目前在兽医学中用于收集运动学和动力学数据的步态分析系统非常昂贵并且需要专门的空间。 惯性测量单元系统为犬类步态分析提供了新思路。IMU传感器可以成为光学运…

一文拿捏线程和线程池的创建方式

1 创建线程的四种方式 继承 Thread 类并重写 run方法创建线程,实现简单但不可以继承其他类; 实现 Runnable 接口并重写 run 方法,避免了单继承局限性,编程更加灵活,实现解耦; 实现 Callable 接口并重写 c…