MagicDrive 通过对 3D 数据和文本数据的多模态条件融合和隐式视角转换,实现了高质量、多视角一致的 3D 场景生成。
几何条件编码
- Cross-attention:针对顺序数据,适合处理文本标记和边界框等可变长度输入。
- Additive encoder branch:对于地图等网络状规则数据,能够有效保留空间结构。
对于文本
按照模版构建:“A driving scene at {location}. {description}”,并采用预训练的 CLIP 编码。
对于相机位姿
P
=
{
K
∈
R
3
×
3
,
R
∈
R
3
×
3
,
T
∈
R
3
×
1
}
P = \{K \in R^{3×3}, R \in R^{3×3}, T \in R^{3×1}\}
P={K∈R3×3,R∈R3×3,T∈R3×1} ,利用傅里叶变换和 MLP 来对齐文本维度,根据文本模版包含了位置信息,将相机 embeddings 添加到文本 embeddings 之前构建场景 embeddings。
h
t
=
[
h
1
t
,
…
…
,
h
L
t
]
h
c
=
E
c
a
m
(
F
o
u
r
i
e
r
(
(
‾
P
)
)
)
=
E
c
a
m
(
F
o
u
r
i
e
r
(
[
K
,
R
,
T
]
T
)
)
\begin{aligned} &h^t=[h^t_1,……,h^t_L] \\&h^c=E_{cam}(Fourier(\overline(P)))=E_{cam}(Fourier([K,R,T]^T)) \end{aligned}
ht=[h1t,……,hLt]hc=Ecam(Fourier((P)))=Ecam(Fourier([K,R,T]T))
对于 3D 边界框 ( c i , b i ) (c_i,b_i) (ci,bi)
类标签
c
i
c_i
ci 和边界框
b
i
b_i
bi,
c
i
c_i
ci 的池化向量被视为标签 embedding,对边界框
b
i
∈
R
8
×
3
b_i \in R^{8×3}
bi∈R8×3 的 8 个角点,对其用傅里叶编码和 MLP,最后用 MLP 将二者压缩到一个 hidden vector 中。同时由于不同视角的可见框呈现长尾分布,过滤每个视图的可见对象以及添加不可见框的增强。
e
c
b
(
i
)
=
A
v
g
P
o
o
l
(
E
t
e
x
t
(
L
c
i
)
,
e
p
b
(
i
)
)
=
M
L
P
(
F
o
u
r
i
e
r
(
b
i
)
)
h
i
b
=
E
b
o
x
(
c
i
,
b
i
)
=
M
L
P
b
(
e
c
b
(
i
)
,
e
p
b
(
i
)
)
h
v
i
b
=
{
h
i
b
∈
h
b
∣
f
v
i
z
(
b
i
,
R
v
i
,
T
v
i
)
>
0
}
\begin{aligned} &e_c^b(i)=AvgPool(E_{text}(L_{c_i}), e_p^b(i))=MLP(Fourier(b_i)) \\&h_i^b=E_{box}(c_i,b_i)=MLP_b(e_c^b(i),e_p^b(i)) \\&h_{v_i}^b=\{h_i^b\in h^b|f_{viz}(b_i,R_{v_i},T_{v_i})>0\} \end{aligned}
ecb(i)=AvgPool(Etext(Lci),epb(i))=MLP(Fourier(bi))hib=Ebox(ci,bi)=MLPb(ecb(i),epb(i))hvib={hib∈hb∣fviz(bi,Rvi,Tvi)>0}
对于 Road Map
因为有相机位姿和 3D 边界框的数据以及合并文本描述,可以得到隐式的地图编码器而不需要做显示转换(BEV->FPV)。
跨视角注意力机制:
通过一个简单但高效的注意力机制确保了多视角情况下图像的一致性。
A
t
t
e
n
t
i
o
n
c
v
i
(
Q
t
,
K
i
,
V
i
)
=
s
o
f
t
m
a
x
(
Q
t
K
i
T
d
)
⋅
V
i
,
i
∈
l
,
r
h
o
u
t
v
=
h
i
n
v
+
A
t
t
e
n
t
i
o
n
c
v
l
+
A
t
t
e
n
t
i
o
n
c
v
r
\begin{aligned} &Attention_{cv}^i(Q_t,K_i,V_i)=softmax(\frac{Q_tK_i^T}{\sqrt{d}})·V_i,\quad i \in{l,r} \\&h_{out}^v= h_{in}^v+Attention_{cv}^l+Attention_{cv}^r \end{aligned}
Attentioncvi(Qt,Ki,Vi)=softmax(dQtKiT)⋅Vi,i∈l,rhoutv=hinv+Attentioncvl+Attentioncvr
实验结果
由表格,可以看到 MagicDrive 的 FID 得到了明显的提升,在 nuScenes 数据集上 NDS 得到了不错的效果。