论文阅读笔记——MAGICDRIVE: STREET VIEW GENERATION WITH DIVERSE 3D GEOMETRY CONTROL

news/2025/3/25 13:48:04/

MagicDrive 论文

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={KR3×3RR3×3,TR3×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} biR8×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={hibhbfviz(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(d QtKiT)Vi,il,rhoutv=hinv+Attentioncvl+Attentioncvr
在这里插入图片描述

实验结果

3df.png" alt="在这里插入图片描述" />
由表格,可以看到 MagicDrive 的 FID 得到了明显的提升,在 nuScenes 数据集上 NDS 得到了不错的效果。


http://www.ppmy.cn/news/1582458.html

相关文章

并查集——108. 冗余连接

108. 冗余连接 题目描述 有一个图,它是一棵树,他是拥有 n 个节点(节点编号1到n)和 n - 1 条边的连通无环无向图(其实就是一个线形图),如图: 现在在这棵树上的基础上,添加一条边(依然是n个节点,但有n条边),使这个图变成了有环图,如图: 先请你找出冗余边,删除后…

Java面试黄金宝典5

1. ConcurrentHashMap 和 HashTable 有哪些区别 原理 HashTable:它继承自 Dictionary 类,是 Java 早期提供的线程安全哈希表。其线程安全的实现方式是对每个方法都使用 synchronized 关键字进行同步。例如,在调用 put、get 等方法时&#xff…

Linux进程信号(下:补充)

Linux进程信号(下)https://blog.csdn.net/Small_entreprene/article/details/146323008?fromshareblogdetail&sharetypeblogdetail&sharerId146323008&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link我们本篇来补充…

《概率论与数理统计》期末复习笔记_上

目录 第1章 随机事件与概率 1.1 随机事件 1.2 事件的关系与运算 1.3 概率的定义与性质 1.4 古典概型_重点 1.5 几何概型 1.6 条件概率与乘法公式 1.7 全概率公式与贝叶斯公式_重点 1.8 事件的独立性_重点 1.9 伯努利概型_重难点 第2章 随机变量及其分布 2.1 随机变…

Spring Boot定时任务设置与实现

Spring Boot定时任务设置与实现 在Spring Boot中,可以使用Scheduled注解来创建定时任务。以下是一个简单的示例,展示了如何在项目启动后每5秒调用一次指定的方法。 1. 添加依赖 首先,确保你的pom.xml文件中包含Spring Boot的依赖&#xff…

HTML 图像与多媒体元素:拓展学习边界的进度记录(一)

开篇:学习启程 在前端开发的广袤领域中,HTML 作为构建网页的基石,其重要性不言而喻。而 HTML 图像与多媒体元素,就像是为这座基石添上了绚丽的色彩与灵动的音符,赋予网页更加丰富的表现力和交互性。作为一名热衷于探索…

《Next.js 14 App Router 实战:用「Server Actions」重构全栈表单的最佳实践》

文章目录 一、传统表单方案的七大痛点1.1 开发者调研数据(N500)1.2 Server Actions核心优势 二、十分钟搭建全栈表单系统2.1 启用实验性功能2.2 基础表单组件 三、六大企业级实战场景3.1 场景一:实时地址校验3.2 场景二:防刷验证集…

自定义reset50模型转换到昇腾om

目录 原始转换脚本 脚本运行报错 基于reset50 模型的自定义网络 基本网络结构 卷积模块定义示例 Bottleneck定义示例 网络定义示例 改进的转换脚本 脚本运行报错channels不匹配 脚本运行报错维度不匹配 模型输入数据的类型 tensor size NCHW和NHWC 自定义网络的通…