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} Qt−1′,Ct−1,那么在ego-motion下实现前一帧道当前帧的变换 R t − 1 t R_{t-1}^t Rt−1t,则可推出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 Ct−1′=(Ct−1+Vt−1Δt)⋅(Rt−1t)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}^{'}) Ot−1t=L2(Ct−Ct−1′)

那么再结合分类的结果 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 Ot−1t≤γ and st=st−1if Ot−1t≥γ or st=st−1

则对应的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⋅(Ot−1t+M))

这样经过加权之后的前一帧query再和当前帧做融合,这样级连优化query的表达,如下图所示:

回归和分类是否需要解耦

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

实验结果

相关推荐
吴佳浩 Alben5 小时前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
多年小白5 小时前
OpenClaw 本周技术更新速递
人工智能·ai·ai编程·openclaw
深瞳智检5 小时前
lesson-02 NLP 基础-文本表示与词向量
人工智能·自然语言处理·llm·大语言模型
twc8296 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
宇擎智脑科技6 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
IT_陈寒6 小时前
Redis缓存击穿:3个鲜为人知的防御策略,90%开发者都忽略了!
前端·人工智能·后端
电商API&Tina7 小时前
【电商API接口】开发者一站式电商API接入说明
大数据·数据库·人工智能·云计算·json
湘美书院--湘美谈教育7 小时前
湘美谈教育湘美书院网文研究:人工智能与微型小说选集
人工智能·深度学习·神经网络·机器学习·ai写作
uzong7 小时前
Harness Engineering 是什么?一场新的 AI 范式已经开始
人工智能·后端·架构
墨有6667 小时前
FieldFormer:基于物理场论的极简AI大模型底层架构,附带源码
人工智能·架构·电磁场算法映射