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与否可以将时序融合划分为两种类型(一般来讲都是解耦好些):

实验结果

相关推荐
昨日之日20061 小时前
Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
人工智能·whisper·语音识别
浮生如梦_1 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover1 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
热爱跑步的恒川2 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
孙同学要努力6 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络
Eric.Lee20216 小时前
yolo v5 开源项目
人工智能·yolo·目标检测·计算机视觉
其实吧37 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
丕羽7 小时前
【Pytorch】基本语法
人工智能·pytorch·python
ctrey_7 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习