PETR/PETRv2

PE: position embedding

一、PETR算法动机回归

1.1 DETR

输入组成:包含2D位置编码和Object Query
核心流程:通过Object Query直接索引2D特征图,结合位置编码迭代更新Query
特点:整体流程简洁,每个Query代表一个潜在目标

1.2 DETR3D

特征采样机制:通过Query生成3D参考点,反投影到2D图像采样特征
存在问题

  • 投影偏差:参考点位置出错会导致特征采样失效
  • 特征局限性:仅使用单点特征导致全局信息学习不足
  • 流程复杂度:需要反复投影和特征重采样,影响落地效率

二、PETR网络结构

三种结构的对比

在这里插入图片描述
核心改进:引入3D位置编码生成3D感知特征
关键技术

  • 特征融合:将2D图像特征与3D位置编码结合形成
  • 流程简化:省略反投影步骤,直接建立3D语义环境
  • 优势:避免特征采样偏差,增强全局特征学习能力

PETR网络结构

在这里插入图片描述

1. Image-view Encoder设计流程

输入输出:处理6视角图像(如nuScenes数据集),输出多尺度特征
Backbone选择:支持ResNet/Swin Transformer等架构
特征处理

  • 初始特征:维度为(原始图像) 3HW
  • 输出特征:通过FPN得到的多尺度融合特征 C * Hf * Wf
2. 3D Coordinates Generator设计流程

在这里插入图片描述
空间离散化:将相机视锥空间划分为三维网格
坐标转换
公式:(为相机转换矩阵)
实现步骤

  • 像素坐标与深度值构成网格点
  • 通过相机内外参转换到世界坐标系
  • 对6视角结果进行归一化处理

输出特性:不同视角转换结果存在重叠区域,共同构成完整3D空间

3. 3D Position Encoder设计流程

在这里插入图片描述

双支路处理

  • 图像特征支路:使用1×1卷积进行通道降维
  • 坐标支路:通过3D PE模块对齐维度

特征融合

  • 操作方式:将处理后的2D特征与3D坐标特征相加
  • 输出特性:生成具有位置感知的3D特征

后续处理:展平后与Object Query共同输入Decoder进行预测

三、PETR损失函数

损失组成: 包含分类损失和回归框损失等标准3D检测损失
结构特点: 与DETR3D等模型采用相同的损失函数设计
训练稳定性: 通过CBGS(Class Balanced Grouping and Sampling)策略进行训练优化

四、PETR性能对比

在这里插入图片描述

分辨率影响: 高分辨率图像(如1600×900)性能明显优于低分辨率(1056×384)
Backbone影响: ResNet101性能优于ResNet50,Swin Transformer表现最佳
收敛特性: 相比DETR3D收敛速度较慢,需要更长训练时间
位置编码优势: 3D位置编码(3D PE)相比传统2D PE带来显著性能提升

五、PETR V2

5.1 网络结构

在这里插入图片描述

核心改进: 引入时序建模和多任务学习两大创新点
时序建模: 通过姿态变换对齐历史帧3D坐标,实现隐式时序特征融合,如图中模块1
多任务扩展: 新增分割头和车道线检测任务,形成统一感知框架,如图中模块3

5.2 多任务学习

任务类型: 同时支持3D检测、BEV分割和车道线检测
查询设计: 针对不同任务设计专用Query(Det/Seg/Lane queries)
性能优势: 多任务联合训练带来各任务性能的协同提升

5.3 网络结构与输入输出

输入保持: 延续多视角RGB图像输入
输出扩展: 除3D检测框外,新增分割mask和车道线输出
特征提取: 支持ResNet/Swin Transformer等多种backbone

5.4 特征提取与融合

2D特征提取: 通过共享backbone提取多视角图像特征
3D坐标生成: 将视锥空间坐标转换为世界坐标系
特征融合: 通过改进的position encoder融合2D特征和3D坐标

5.5 时序信息处理

关键创新: 通过实现历史帧3D坐标对齐
性能验证: 时序建模显著提升运动物体检测精度

5.6 检测任务扩展

检测头改进: 在原有检测头基础上增加分割分支
查询机制: 不同任务使用独立可学习的query向量
联合优化: 通过多任务损失函数实现端到端训练

5.7 实验性能与结论

综合性能: 在nuScenes等基准测试中达到SOTA水平
计算效率: 保持实时性(FPS>10)的同时提升精度
框架优势: 验证了统一感知框架的可行性

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

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

相关文章

计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、项目介绍二、…

英伟达显卡GPU驱动的本质

我们来深入、详细地探讨一下英伟达(NVIDIA)GPU驱动程序的本质。 普通用户眼中的驱动程序可能只是一个“让显卡工作的软件”,但它的本质远比这复杂和深刻。我们可以从几个层面来理解它。 核心比喻:翻译官、指挥官与优化大师 如果说…

算法 ---哈希表

一、哈希介绍 是什么 存储数据的容器 什么用 快速查找某个元素 什么时候用哈希表 频繁的查找某一个数的时候 怎么用哈希表 (1)容器(哈希表) (2)用数组模拟哈希表(字符串的字符&#xf…

基于分布式环境的令牌桶与漏桶限流算法对比与实践指南

基于分布式环境的令牌桶与漏桶限流算法对比与实践指南 在高并发的分布式系统中,限流是保障服务可用性和稳定性的核心手段。本文聚焦于令牌桶算法与漏桶算法在分布式环境下的实现与优化,对多种解决方案进行横向对比,分析各自的优缺点&#xff…

WPF MVVM入门系列教程(TabControl绑定到列表并单独指定每一页内容)

在以前的开发过程中&#xff0c;对于TabControl控件&#xff0c;我一般是习惯直接定义TabItem&#xff0c;在TabItem下布局&#xff0c;并进行绑定。 类似这样 1 <TabControl ItemsSource"{Binding TabList}" SelectedIndex"0">2 <TabItem…

L2CAP 面向连接信道(CoC)在 BLE 中的应用:建立、流控与数据传输

在物联网(IoT)蓬勃发展的今天,低功耗蓝牙(BLE)技术因其高效节能、低成本等特性,成为短距离无线通信的首选方案。作为 BLE 协议栈的核心组件,逻辑链路控制与适配协议(L2CAP)的面向连接信道(CoC)承担着数据传输的关键任务。本文将深入解析 L2CAP CoC 在 BLE 中的应用,…

医疗AI与医院数据仓库的智能化升级:异构采集、精准评估与高效交互的融合方向(上)

摘要: 随着医疗信息化建设的深入,医院数据仓库(Data Warehouse, DW)作为医疗AI应用的核心数据底座,其效能直接决定智能化转型的深度与广度。本文聚焦医疗AI驱动下医院数据仓库的三大关键升级功能——异构采集支持数据库体检与智能SQL分析、评估引擎重构实现六大数据库精准…

2015-2018年咸海流域1km归一化植被指数8天合成数据集

数据集摘要数据集包含2015年-2018年咸海流域NDVI 8天均值数据。提取美国国家航空航天局中分辨率成像光谱仪MOD13A2产品第一波段作为归一化植被指数数据&#xff0c;乘以比例因子0.0001&#xff0c;叠加咸海流域边界数据&#xff0c;裁切后得到咸海流域范围内的NDVI月均值数据。…

Kafka消息持久化机制全解析:存储原理与实战场景

目录 引言​ 一、Kafka消息持久化的核心目标 二、底层存储机制深度剖析 1.【文件系统分层】——日志分组 日志段 核心结构 示例目录结构 2.【消息写入流程】——从内存到磁盘的旅程✈️ 3.【默认存储参数】——生产环境的黄金比例 三、典型应用场景与案例实战 案例1…

Python训练营打卡Day41-Grad-CAM与Hook函数

知识点回顾回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 作业&#xff1a;理解下今天的代码即可 在深度学习中&#xff0c;我们经常需要查看或修改模型中间层的输出或梯度。然而&#xff0c;标准的前向传播和反向传播过程通常是一个黑盒&#xff0c;我们很难…

使用VBA宏批量修改Word中表格题注格式

目录&#x1f4c2; 使用步骤✅ 方式一&#xff1a;应用已有样式&#xff08;推荐&#xff09;代码实现说明✅ 方式二&#xff1a;手动设置字体格式&#xff08;无需预定义样式&#xff09;代码实现参数说明如何运行宏&#xff1f;补充建议总结在撰写论文、技术文档或报告时&…

Redis面试精讲 Day 27:Redis 7.0/8.0新特性深度解析

【Redis面试精讲 Day 27】Redis 7.0/8.0新特性深度解析 在“Redis面试精讲”系列的第27天&#xff0c;我们将聚焦Redis最新版本——7.0与8.0的核心新特性。随着Redis从内存数据库向云原生、高可用、高性能中间件持续演进&#xff0c;7.0和8.0版本引入了多项颠覆性改进&#xf…

使用自制的NTC测量模块测试Plecs的热仿真效果

之前构建的 NTC 温度测量模型是进行 PLECS 热仿真的完美起点和核心组成部分。 PLECS 的强大之处在于它能够进行多域仿真,特别是电-热联合仿真。您可以将电路仿真(包括您的 NTC 测量模型)与热仿真(散热器、热容、热阻等)无缝地结合起来。 电-热联合仿真原理 整个仿真闭环…

C语言初学者笔记【动态内存管理】

、 文章目录一、为什么需要动态内存分配&#xff1f;二、malloc 和 free1. malloc2. free三、calloc 和 realloc1. calloc2. realloc四、常见的动态内存错误1. 对 NULL 解引用2. 越界访问3. 对非动态内存使用 free4. 释放部分动态内存5. 多次释放同一块内存6. 内存泄漏五、动态…

AI模型部署 - 大语言模型(LLM)部署技术与框架

目录 一、 大语言模型部署的核心挑战与关键技术 二、 主流开源部署框架深度解析 2.1. Ollama:本地部署的极简主义者 2.2. Hugging Face TGI (Text Generation Inference) 2.3. vLLM:为吞吐量而生 2.4. sglang:面向复杂提示与结构化输出的革新者 三、 特定硬件与云平台…

Windows11 GeForce GTX 1060 CUDA+CUDNN+Pytorch 下载及安装

一、查看显卡型号信息 系统&#xff1a;Windows11 显卡&#xff1a;GeForce GTX 1060 型号&#xff1a; &#xff08;1&#xff09;搜索 NVIDIA&#xff0c;选择 NVIDIA Control Panel&#xff08;2&#xff09;打开 NVIDIA control Panel&#xff0c;打开系统信息&#xff0c;…

在通义灵码中配置MCP服务

目录 查找mcp列表 通义灵码中配置MCP 使用方式 STDIO (Standard Input/Output) 组成部分&#xff1a; SSE (Server-Sent Events) 特点&#xff1a; 主要区别对比 配置方式 配置优先级 个人设置 项目设置 验证 通过MCP调用高德地图 查找mcp列表 打开ModelScope - …

网络中的IO问题(五种常见的IO方式)

什么是高效的IO&#xff1f; 正常情况下&#xff0c;IO等拷贝 高效的IO拷贝&#xff08;即让IO尽量不等&#xff09; 为什么我们平常玩电脑的时候&#xff0c;感觉不到等待的过程呢&#xff1f; 任何通信场景&#xff0c;IO通信场景&#xff0c;效率一定是有上限的. 花盆里&am…

JAVA核心基础篇-修饰符

Java 修饰符主要用于定义类、方法或变量&#xff0c;通常放在语句的最前端&#xff0c;可分为访问修饰符和非访问修饰符两类。一、访问修饰符public&#xff1a;对所有类可见&#xff0c;可用于类、接口、变量和方法。被声明为 public 的类、方法、构造方法和接口能够被任何其他…

笔试——Day46

文章目录第一题题目思路代码第二题题目思路代码第三题题目思路代码第一题 题目 AOE还是单体&#xff1f; 思路 贪心 剩余怪物数量 >x时&#xff0c;使用AOE&#xff1b;否则使用单体 代码 #include <iostream> #include <algorithm> using namespace std;…