QTNet:Query-based Temporal Fusion with Explicit Motion for 3D Object Detection

参考代码:QTNet

动机和出发点
自动驾驶中时序信息对感知性能具有较大影响,如在感知稳定性维度上。对于常见的时序融合多是在feature的维度上做,这个维度的融合主要分为如下两个方案:

  • 1)BEV-based方案:将之前帧的结果按照ego-motion进行warp之后再叠加融合,这样的操作简单,但低效且引入较多无关噪声
  • 2)Proposal-based方案:将目标做RPN,然后再将多帧RPN之后的特征融合起来,这样的操作是高效,但是对proposal有质量要求

这俩方案具有各自的优缺点,那么基于query的方式便是一种折中的考量了,query中包含了物体语义信息,reference point中包含了位置信息,而这篇文章提出的方案便是在query的维度上对齐(按照距离作为度量对齐),之后再去做感知预测。那么上面三种时序方案各自的实现过程和对比见下图所示:
在这里插入图片描述
其实在了解完整篇文章的思路之后会觉得文章的方案其实并不是那么靠谱,在文章的方案中分类、速度预测、ego-motion精度等是关键因素,直接影响了attn-mask的质量,要是这些拉垮了,那就完犊子了。并且这个机制更加适合障碍物的检测,那么对于其它的感知任务就不是那么友好了,扩展性比较差。反倒个人更加倾向cross-attn的方式(如StreamPETR)。

方法的设计
要使用到时序信息,那么自然的就需要添加一个FIFO队列去存储之前帧的信息,再使用一个时序融合网络去融合多帧的信息,对此下图中的M模块(参数是共享的)便是完成这个工作的,并且是按照时间帧级连的过程。下图是结构图:
在这里插入图片描述

时序融合过程
假设之前帧的query和reference point分别表示为 Q t − 1 ′ , C t − 1 Q^{'}_{t-1},C_{t-1} Qt1,Ct1,那么在ego-motion下实现前一帧道当前帧的变换 R t − 1 t R_{t-1}^t Rt1t,则可推出reference point的对齐变换关系为:
C t − 1 ′ = ( C t − 1 + V t − 1 Δ t ) ⋅ ( R t − 1 t ) T C_{t-1}^{'}=(C_{t-1}+V_{t-1}\Delta t)\cdot (R_{t-1}^t)^T Ct1=(Ct1+Vt1Δt)(Rt1t)T
那么依据reference point之间的距离度量:
O t − 1 t = L 2 ( C t − C t − 1 ′ ) O_{t-1}^t=L_2(C_t-C_{t-1}^{'}) Ot1t=L2(CtCt1)
那么再结合分类的结果 s t s_t st和距离阈值 γ \gamma γ可以得到不同query之间的度量,从而得到attn-mask:
M = { 0 , if  O t − 1 t ≤ γ and  s t = s t − 1 1 e 8 , if  O t − 1 t ≥ γ or  s t ≠ s t − 1 M= \begin{cases} 0, & \text{if $O_{t-1}^t\le \gamma$ and $s_t=s_{t-1}$} \\ 1e8, & \text{if $O_{t-1}^t\ge \gamma$ or $s_t\neq s_{t-1}$} \end{cases} M={0,1e8,if Ot1tγ and st=st1if Ot1tγ or st=st1
则对应的attn-weight描述为(注意原文少个括号):
A = s o f t m a x ( − 1 ⋅ ( O t − 1 t + M ) ) A=softmax(-1\cdot(O_{t-1}^t+M)) A=softmax(1(Ot1t+M))
这样经过加权之后的前一帧query再和当前帧做融合,这样级连优化query的表达,如下图所示:
在这里插入图片描述

回归和分类是否需要解耦
对于级连优化query的方式在回归和分类上是share与否可以将时序融合划分为两种类型(一般来讲都是解耦好些):
在这里插入图片描述

实验结果
在这里插入图片描述

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

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

相关文章

鸿蒙 - arkTs:渲染(循环 - ForEach,判断 - if)

ForEach循环渲染: 参数: 要循环遍历的数组,Array类型遍历的回调方法,Function类型为每一项生成唯一标识符的方法,有默认生成方法,非必传 使用示例: interface Item {name: String,price: N…

Linux之yum管理器

目录 yum管理器 yum相关指令 yum list yum list | grep yum install yum remove 拓展 1.yum install -y man-pages 2.切换yum源 3.yum install -y epel-release 4. yum install -y lrzsz rz指令 sz指令 在window系统上,我们会在电脑自带的应用商…

【python基础】-- yarn add 添加依赖的各种类型

目录 1、安装 yarn 1.1 使用npm安装 1.2 查看版本 1.3 yarn 淘宝源配置 2、安装命令说明 2.1 yarn add(会更新package.json和yarn.lock) 2.2 yarn install 2.3 一些操作 2.3.1 发布包 2.3.2 移除一个包 2.3.3 更新一个依赖 2.3.4 运行脚本 …

华清远见嵌入式学习——ARM——作业1

要求: 代码: mov r0,#0 用于加mov r1,#1 初始值mov r2,#101 终止值loop: cmp r1,r2addne r0,r0,r1addne r1,r1,#1bne loop 效果:

【VRTK】【VR开发】【Unity】16-磁吸区域

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 记得《半条命艾利克斯》中神奇的磁吸手套吗?这就是用本篇介绍的Snap Zone实现的!Snap Zone可以达到将两个物体以特定方式对齐的效果,比如让…

YOLOv8改进 | 主干篇 | 利用MobileNetV1替换Backbone(轻量化网络结构)

一、本文介绍 本文给大家带来的改进机制是MobileNetV1,其是专为移动和嵌入式视觉应用设计的轻量化网络结构。这些模型基于简化的架构,并利用深度可分离卷积构建轻量级深度神经网络,其引入了两个简单的全局超参数,用于在延迟和准确…

自学精灵--专业的编程学习网站

这是我看过的最靠谱的编程学习网站,名字是:自学精灵,网站是:learn.skyofit.com。(某度搜"自学精灵"也可找到此站,搜不到可以用必应搜)。 自学精灵是全网最强的学习平台,我…

Flink Table API 与 SQL 编程整理

Flink API总共分为4层这里主要整理Table API的使用 Table API是流处理和批处理通用的关系型API,Table API可以基于流输入或者批输入来运行而不需要进行任何修改。Table API是SQL语言的超集并专门为Apache Flink设计的,Table API是Scala和Java语言集成式…

Ubuntu录屏方法带声音

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装二、使用步骤总结 前言 有时候需要在Ubuntu录制下屏幕,在Windows下面录制比较简单使用Nvidia自带的效果就蛮好,如果不是N卡就使…

直排轮滑教程3

轮滑三大要求: 三点直线、腿要直、轮要正。 直线蹬地技术 1,直排轮滑,直线蹬地技术的陆地模仿练习。 2,在滑行做动作之前,先陆地上模仿。支撑腿、运动腿怎么蹬地,髋怎么移动。来讲一下要领。 3&#xf…

WPF Halcon机器视觉和运动控制软件通用框架,插件式开发,开箱即用 仅供学习!

点我下载,仅供个人学习使用 参考easyvision开发,集成几十个软件算子此版本以添加ui设计器。具体功能如上所示,可以自定义变量,写c#脚本,自定义流程,包含了halcon脚本和封装的算子,可自定义ui&a…

ansible的脚本------playbook剧本

playbook组成部分: 1.task 任务:包含要在目标主机上执行的操作,使用模块定义这些操作。每个都是一个模块的调用。2.variables 变量:存储和传递数据。变量可以自定义,可以在playbook当中定义为全局变量,也可…

drf知识--01

前后端开发模式 在开发Web应用中,有两种应用模式: 前后端混合开发: bbs 项目--renderajax 1、全栈开发--前端html后端都是一个人写 2、前端人员:写空页面,没有模板语法,只要html,c…

【小沐学Unity3d】3ds Max 减面工具:Simplyon(Unity3d,Python)

文章目录 1、简介2、下载安装2.1 安装Simlygon插件2.2 安装USD插件 3、使用测试4、Python测试结语 1、简介 Simplygon 带有一个 Unity 插件,它公开了优化功能,例如缩减、聚合、重新划分网格、冒名顶替者(SingleView、BillboardCloud / Veget…

软件设计模式:UML类图

文章目录 前言一、📖设计模式概述1.软件设计模式的产生背景2.软件设计模式3.设计模式分类 二、📣UML图1.类图概述2.类的表示法3.类与类之间的关系关联关系(1)单向关联(2)双向关联(3)…

opencv 入门一(显示一张图片)

头文件添加如下&#xff1a; 库目录添加如下&#xff1a; 依赖的库如下&#xff1a; #include <iostream> #include "opencv2/opencv.hpp" int main(int argc,char ** argv) { cv::Mat img cv::imread(argv[1], -1); if (img.empty()) return -1; …

Cesium 3DTiles数据格式详解

目录 0 引言1 3DTiles1.1 起源1.2 后缀类型及特点1.2.1 b3dm1.2.2 i3dm1.2.3 pnts1.2.4 cmpt1.2.5 json1.2.6 总结 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;CesiumforUnreal专栏&#x1f4a5; 标题&#xff1a;Cesium 3DTiles数据格式详解❣…

[DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案

[网络故障] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案 问题描述 最近&#xff0c;我在使用CSDN插件浏览 MOOC 网站时&#xff0c;遇到了一些网络故障。具体表现为&#xff1a; MOOC 中国大学慕课网&#xff1a;www.icourse163.org点击CSDN插件首页的 MOOC&#xff08…

【漏洞复现】CVE-2023-6895 IP网络对讲广播系统远程命令执行

漏洞描述 杭州海康威视数字技术有限公司IP网络对讲广播系统。 海康威视对讲广播系统3.0.3_20201113_RELEASE(HIK)存在漏洞。它已被宣布为关键。该漏洞影响文件/php/ping.php 的未知代码。使用输入 netstat -ano 操作参数 jsondata[ip] 会导致 os 命令注入。 开发语言:PHP 开…

无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测

无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测 无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测介绍题目一. 背景&#xff08;解决的问题&#xff09;二. 系统模型2.1 信道模型2.1.1 信道系数2.1.2 进行标准化 2.2 信道估计 和 数据传输2.2.1 信道估计…