Cyclic Refiner: Object-Aware Temporal Representation Learning for Multi-View 3D Detection and Tracking
原文链接:https://arxiv.org/pdf/2407.03240v1
简介:本文提出统一的、物体感知的时序学习框架,进行多视图3D检测和跟踪任务。由于目前的时序融合策略可能会被历史帧中的干扰物和背景噪声影响,本文提出循环学习机制,提高表达学习的鲁棒性。反向修正后,历史帧中目标无关区域的响应会被抑制,从而提高时间融合的物体感知能力。此外,基于循环学习模型,本文还为跟踪任务设置了物体感知的关联策略。
0. 引言
传统方法多采用“顺序”方式实现(即“多视图图像→图像/BEV特征→时间融合→预测”,图中黑色箭头),其中图像或BEV特征会同时用于当前帧的前向推断和下一帧的时序融合。但过去帧中的干扰物和背景噪声会对未来帧的检测带来影响。因此,本文使用帧的后验预测去修正其图像/BEV表达(“反向修正”,图中红色箭头),使得修正后的特征中干扰物的响应被抑制。
1. Cyclic Refiner
Cyclic Refiner的关键在于“反向修正”机制,其与前向推断一起,创建了图像/BEV特征和模型预测的循环。
首先从预测物体
O
i
O_i
Oi收集信息(表达和预测值)。记图像特征为
F
i
m
g
∈
R
H
×
W
×
C
F_{img}\in\mathbb R^{H\times W\times C}
Fimg∈RH×W×C,BEV特征为
F
b
e
v
∈
R
H
′
×
W
′
×
C
F_{bev}\in\mathbb R^{H'\times W'\times C}
Fbev∈RH′×W′×C,头部特征(对于DETR方法为稀疏查询
R
N
×
C
\mathbb R^{N\times C}
RN×C,对于其余方法则是密集2D特征)为
F
h
e
a
d
F_{head}
Fhead,则根据预测物体的中心和大小,从
{
F
i
m
g
,
F
b
e
v
,
F
h
e
a
d
}
\{F_{img},F_{bev},F_{head}\}
{Fimg,Fbev,Fhead}中,通过RoI池化,提取相应的特征嵌入
{
e
i
m
g
,
e
b
e
v
,
e
h
e
a
d
∈
R
1
×
C
}
\{e_{img},e_{bev},e_{head}\in\mathbb R^{1\times C}\}
{eimg,ebev,ehead∈R1×C}。随后,拼接这些特征嵌入作为表达
e
c
a
t
∈
R
1
×
3
C
e_{cat}\in\mathbb R^{1\times 3C}
ecat∈R1×3C,并记物体的状态为
O
i
=
{
e
c
a
t
,
p
}
O_i=\{e_{cat},p\}
Oi={ecat,p},其中
p
p
p为预测物体的位置和大小信息。
随后,使用 O O O修正图像/BEV特征,将其转化为掩膜抑制与目标无关的响应。步骤如下:
- 为每个目标初始化2D权重掩膜,其位置对应预测物体的中心;
- 将 e c a t e_{cat} ecat映射为决定2D权重掩膜空间范围的独热向量,并分配给物体(空间范围外的权重为0);
- 将 e c a t e_{cat} ecat线性映射为空间范围内的权重分布,其中有判别力的区域权重更高;
- 相同尺度等级物体的权重掩膜会被合并,得到最终掩膜 M l M_l Ml。
注意图像和BEV空间下的尺度等级数可以不一致。
本文将预测的掩膜视为空间注意力,并通过按元素乘法应用于图像和BEV特征,随后通过核大小不同的DCN提高学习特征的尺度感知。最后,拼接不同尺度的修正特征和原始特征,并通过DCN融合,得到物体感知的特征 F ^ i m g ∈ R H × W × C \hat F_{img}\in\mathbb R^{H\times W\times C} F^img∈RH×W×C和 F ^ b e v ∈ R H ′ × W ′ × C \hat F_{bev}\in\mathbb R^{H'\times W'\times C} F^bev∈RH′×W′×C。
修正
t
t
t时刻的特征后,将修正特征表达
F
^
t
=
{
F
^
i
m
g
t
,
F
^
b
e
v
t
}
\hat F^t=\{\hat F_{img}^t,\hat F_{bev}^t\}
F^t={F^imgt,F^bevt}前向送入下一帧进行时间融合。
时间融合使用可变形注意力。物体感知的先验知识
F
^
t
\hat F^t
F^t可用于进一步修正
F
t
+
1
F^{t+1}
Ft+1。首先将
F
t
F^t
Ft与
F
t
+
1
F^{t+1}
Ft+1拼接并生成物体感知的注意力权重
A
A
A和采样偏移量
Δ
s
\Delta s
Δs,随后按下式采样:
DeformAttn
(
A
,
p
,
Δ
p
,
F
t
+
1
)
=
∑
h
=
1
H
W
h
[
∑
k
=
1
K
A
h
k
⋅
W
h
′
F
t
+
1
(
s
+
Δ
s
h
k
)
]
\text{DeformAttn}(A,p,\Delta p,F^{t+1})=\sum_{h=1}^HW_h[\sum_{k=1}^KA_{hk}\cdot W'_hF^{t+1}(s+\Delta s_{hk})]
DeformAttn(A,p,Δp,Ft+1)=h=1∑HWh[k=1∑KAhk⋅Wh′Ft+1(s+Δshk)]
其中 h h h和 k k k分别索引注意力头和采样特征点。
2. 物体感知的关联
为了建立统一的检测和跟踪框架,本文还设置了跟踪的关联算法,以利用修正的图像和BEV特征。
如图所示,给定
t
t
t时刻的检测集合
D
t
D_t
Dt和现有轨迹集合
T
T
T(第一帧时为空集),本文的物体感知的关联(OAA)需要匹配
D
t
D_t
Dt中的被检测物体和
T
T
T中相应的轨迹。本文先使用卡尔曼滤波器预测
T
T
T中轨迹在当前帧的位置,然后进行关联。关联包含两个步骤:多线索匹配和级联尺度感知匹配。
多线索匹配:定义外观状态 E = { e ^ i m g , e ^ b e v , e h e a d } E=\{\hat e_{img},\hat e_{bev},e_{head}\} E={e^img,e^bev,ehead}(即“多线索”),其中 e ^ i m g , e ^ b e v \hat e_{img},\hat e_{bev} e^img,e^bev为从修正图像/BEV特征中获取的修正物体嵌入。给定现有轨迹 T = { T j = { E T j , p } } j = 1 M T=\{T_j=\{E^{T_j},p\}\}_{j=1}^M T={Tj={ETj,p}}j=1M和新检测 D = { D i = { E D i , p } } i = 1 N D=\{D_i=\{E^{D_i},p\}\}_{i=1}^N D={Di={EDi,p}}i=1N,多线索匹配会计算 E T E^T ET和 E D E^D ED的归一化内积相似度,得到三个相似度矩阵 { C i m g , C b e v , C h e a d } \{C_{img},C_{bev},C_{head}\} {Cimg,Cbev,Chead},将其加权求和后得到匈牙利算法的代价矩阵,进行二部匹配。匹配的检测用于更新关联的轨迹,而未匹配的检测 D r e m a i n D_{remain} Dremain和轨迹 T r e m a i n T_{remain} Tremain用于级联尺度感知匹配。
级联尺度感知匹配:该步骤通过边界框的IoU来匹配
D
r
e
m
a
i
n
D_{remain}
Dremain和
T
r
e
m
a
i
n
T_{remain}
Tremain。由于BEV空间中的边界框覆盖尺度小于图像空间,本文参考BIoU,使用扩大策略扩展匹配空间,以比例
r
r
r扩大边界框
B
B
B:
B
b
u
f
f
e
r
=
(
1
+
r
)
⋅
B
B_{buffer}=(1+r)\cdot B
Bbuffer=(1+r)⋅B
其中,小尺度级别物体(由上节中的Cyclic Refiner预测)的比例 r r r较大。此外,BEV下卡尔曼滤波后的大型物体更容易覆盖附近的小物体,因此仅对尺度相近的物体进行匹配(按照从大尺度到小尺度的顺序进行)。具体来说,对于BEV下尺度 l l l的物体,仅与 { l − 1 , l , l + 1 } \{l-1,l,l+1\} {l−1,l,l+1}尺度的轨迹进行IoU匹配。
最后,余下的未匹配轨迹 T r e − r e m a i n T_{re-remain} Tre−remain会被删除;而对于余下的未匹配检测 D r e − r e m a i n D_{re-remain} Dre−remain,若其分数高于 τ \tau τ,则初始化其为新轨迹。
3. 统一的检测和跟踪框架
本文建立统一的时间表达学习框架,进行BEV检测与跟踪。如图所示,框架包括3部分:输入、物体感知的时序表达学习、检测与跟踪头。给定时刻
t
t
t下的输入,图像主干提取图像特征,随后视图变换器将图像特征变换到BEV下,作为任务头的输入。
t
+
1
t+1
t+1时刻前向推断前,Cyclic Refiner利用
t
t
t时刻的信息修正
t
t
t时刻的图像和BEV特征,用于
t
t
t与
t
+
1
t+1
t+1时刻特征的时间融合。