Sat3DGen:从单张卫星图像生成完整街道级三维场景 Sat3DGen: Comprehensive Street-Level 3D Scene Generation from Single Satellite Image
卫星图直出街道级3D场景,几何精度与逼真度双跃升
前置知识
Tri-plane NeRF(三平面神经辐射场)
Tri-plane NeRF 用三个相互正交的二维特征平面(XY、XZ、YZ)表示三维辐射场。查询 3D 点时正交投影到三个平面并双线性采样后求和,再用 MLP 预测体密度 $\sigma$ 和颜色 $c$。相比纯 MLP-NeRF 训练更快、显存更小。
本文以 tri-plane NeRF 作为骨干表征,所有几何创新(重力损失、深度正则)都是作用在 tri-plane 特征场上的密度 $\sigma$ 上,不理解这个表征就难以读懂各损失的物理意义。
DINOv3 ViT 编码器
DINOv3 是 Meta 2025 年发布的自监督视觉 Transformer,无需微调就具备强大的语义与几何结构感知。本文将其作为冻结编码器把卫星图 $I_{sat}$ 编码为 16×16×1024 的 token 网格。
本文的几何创新建立在 DINOv3 提供的高质量卫星特征之上,强 backbone 是 Canonical 基线(RMSE 6.21m)已经超过 Sat2Density++(6.76m)的关键原因之一。
MiDaS 尺度-平移不变深度损失
MiDaS 损失在比较预测深度 $\hat{D}$ 与伪标签 $D^*$ 时,先用最小二乘估出最优尺度 $s$ 和偏移 $t$,再计算 L1 距离并加入空间梯度项,保证深度排序与平滑而不要求绝对度量。
本文的卫星视角深度正则项 $\mathcal{L}_{depth}$ 直接采用 MiDaS 损失,把单目相对深度先验注入 NeRF,强制屋顶结构有合理的深度排序,是纠正屋顶几何模糊的核心机制。
体积渲染与 Marching Cubes 网格导出
体积渲染沿射线 $r(t)=o+td$ 采样 3D 点,用 MLP 预测 $\sigma(x)$、$c(x)$,再以透射率 $T_k$ 累积得像素颜色。Marching Cubes 是基于密度等值面提取三角网格的算法。
论文宣称模型能 'renderable',必须先理解体积渲染和网格导出的原理;这也是为什么 3D 结果可以同时呈现为彩色 mesh 和 street-view 视频。
研究动机
现有从单张卫星图生成街道级 3D 的方法存在两难折中:第一类是基于几何着色的方法(Sat2Scene、Sat2City),先预测建筑物高度场再贴纹理,输出的几何干净,但只能重建建筑物,丢失斑马线、树木、车辆等地物,与卫星图的语义一致性差(图 1a、b);第二类是基于代理的 3D proxy 方法(Sat2Density++),用前馈式 image-to-3D 框架联合学习几何与纹理,语义丰富但几何破碎——边界撕裂、屋顶鼓包、垂直立面出现漂浮碎片、整体呈现严重扭曲(图 1c)。论文还指出这两种方法在 VIGOR-OOD 数据上的 FID 高达 40.8,几何 RMSE 高达 6.76 米,根本原因是卫星到街道的极端视角跳跃与稀疏不一致的二维监督让屋顶缺乏多视角约束。
本文的目标是论文的目标是设计一个能从单张卫星图直接生成可渲染、几何合理、语义忠实且支持多视角/全景视频的街道级 3D 场景的算法,并在 VIGOR 的跨城市 OOD 测试集上同时大幅提升几何 RMSE(目标 5.20m)和图像逼真度 FID(目标 19 量级)。该方法须不依赖显式 3D 几何监督、不需要视频或 LiDAR 训练数据,且生成的 3D 资产能直接用于语义图→3D、卫星→DSM、环视多相机视频等下游应用。
与已有工作不同的是,本文的独特切入角度是'geometry-first 整体方法论'——不重新设计 image-to-3D 主干,而是诊断已有 proxy 范式几何失败的三个根因(漂浮碎片、边界错位、屋顶模糊),并为每个根因精准设计一个轻量级几何约束:重力密度变化损失 $\mathcal{L}_{grav}$ 抑制漂浮与空洞、Spatial Token 正则化卫星-街景覆盖范围错位、卫星视角 MiDaS 深度先验消除屋顶歧义,外加 Perspective View Training 加密有效视角。这套组合拳以极小的额外开销(仅一个边界 padding N=2 与三个损失项)就让 FID 从 40 降到 19、RMSE 从 6.76m 降到 5.20m。
核心方法
Sat3DGen 采用'前馈图像到 3D 主干 + 几何先验'的两层结构。整体直觉是:先用一个强大的 image-to-3D 框架(tri-plane NeRF)从卫星图一次性回归出可渲染的 3D 场,再针对卫星到街景场景的几何病态问题,叠加四个针对性的几何/监督改进。技术上,冻结的 DINOv3 ViT 将 256×256 卫星图编码为 16×16×1024 的 token 网格 $F_{token}$,沿四边各补 N=2 个零值 Spatial Token 扩成 20×20 以容纳卫星图外的街道内容;接着 VAE 风格解码器 $\mathcal{D}$ 把 token 上采样 16 倍到 320×320×96 的三平面特征;最后用轻量 MLP 沿射线做体积渲染预测密度 $\sigma$ 和颜色 $c$,并通过 Marching Cubes 导出网格。
核心创新不在主干网络,而在'针对失败模式的几何正则三件套 + 训练策略'。已有 Sat2Density++ 的失败被归因于:(1) 稀疏监督导致漂浮碎片和地面空洞;(2) 卫星-街景覆盖范围错位导致边界撕裂;(3) 屋顶缺乏多视角约束导致形状模糊。本文为每个根因给出一个轻量解:$\mathcal{L}_{grav}=\mathbb{E}_{x,\delta z}[\mathrm{ReLU}(\sigma(x+\delta z)-\sigma(x)-\epsilon)]$ 用 $\epsilon=1$ 的松弛量鼓励密度随海拔单调不增;Spatial Token 把有效场景立方体从 L 扩展到 $L\cdot\frac{1+2N}{H_t}$;$\mathcal{L}_{depth}$ 用 MiDaS 损失对卫星视角的相对深度先验做正则;Perspective View Training 把全景投影成多组随机视角的透视图像共同监督,视角覆盖率倍增。
方法步骤详情
训练流程按以下顺序进行:(1) 输入 256×256 卫星图 $I_{sat}$ 和可选的全局光照特征 $f_{ill}$(从真实街景提取,测试时由用户控制);(2) DINOv3 编码得到 $F_{token}\in\mathbb{R}^{16\times16\times1024}$,pad 2 像素得 $F_{token}^{pad}\in\mathbb{R}^{20\times20\times1024}$;(3) 解码为三平面 $F_{tri}\in\mathbb{R}^{320\times320\times32\times3}$;(4) 沿射线采样 N=96 个点,查询三平面并用 MLP 预测 $\sigma$、$c$;(5) 同时从训练全景图中按 pitch∈[-30°,30°]、yaw∈[-79°,179°]、FOV∈{90,105,120} 度随机投影出 256×256 透视图像作为附加监督;(6) 联合优化 $\mathcal{L}_{total}=\lambda_{rgb}\mathcal{L}_{RGB}+\lambda_{grav}\mathcal{L}_{grav}+\lambda_{sky-op}\mathcal{L}_{sky-op}+\lambda_{sky-L1}\mathcal{L}_{sky-L1}+\lambda_{depth}\mathcal{L}_{depth}$,其中 $\lambda_{grav}=3.5$、$\lambda_{depth}=0.1$;(7) 推理时直接在密度场 $\sigma$ 上跑 Marching Cubes 得水密网格,并可按任意相机轨迹渲染卫星/透视/全景图。
技术新颖性
技术新颖性主要体现在三方面:第一,$\mathcal{L}_{grav}$ 把'重力导致物质堆在低海拔'的物理直觉形式化为 NeRF 中的密度单调性约束,并用 $\epsilon$ 软约束保留树冠、拱桥等悬空结构,比直接用 TV 正则(表 4 中 TV 损失 FID 仅 24.83)更适合户外场景;第二,Spatial Token 是一种比显式扩张体素或重复采样更便宜的边界正则机制,用 N=2 的零 padding 把 50m 立方体扩到 62.5m 就能稳定边界;第三,Perspective View Training 首次把卫星→街景任务的视角密度提升一个量级,而无需视频或 LiDAR 训练数据,使其与现有 feed-forward 范式天然兼容。这三个组件具有正交互补性——消融表 2 表明它们单独使用都能改进指标,但全部叠加后才能在 FID 和 RMSE 上同时最优。
实验结果
实验在 VIGOR(训练 Chicago、New York、San Francisco,OOD 测试 Seattle)上完成,主要发现可归纳为四点。(1) 街道视图逼真度(表 1):本文 FID 19.2、KID 0.014、DINO 0.525、SSIM 0.37、PSNR 12.83、LPIPS 0.30/0.38,相对 Sat2Density++(FID 40.8)FID 减半,相对 ControlNet(FID 23.6)和 ControlS2S(FID 28.0)扩散基线也有显著优势。(2) 几何精度(表 3):在新建的 VIGOR-OOD+DSM 基准上,RMSE 从 Sat2Density++ 的 6.76m 降到 5.20m、MAE 从 4.72m 降到 3.47m、误差 <2.5m 的像素占比从 49.69% 跃升至 62.69%。(3) 消融研究(表 2、3)显示 $\mathcal{L}_{grav}$ 对 FID 贡献最大(去掉后 FID 升至 25.9),$\mathcal{L}_{depth}$ 和 Spatial Token 对几何贡献最大(去掉后 RMSE 分别升至 5.75m 和 5.64m),Perspective Training 同时提升两个指标(FID 19.2、RMSE 5.20m)。(4) 表 4 中 $\epsilon=1.0$ 的 $\mathcal{L}_{grav}$ 最优,验证了软约束的必要性;定性上本文生成的 3D 网格具有平整屋顶、清晰立面、连贯地面和干净的边界,而 Canonical 基线在相同位置出现大量鼓包和浮渣。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 卫星图→街景图像生成(VIGOR-OOD) | FID↓ | 19.2 | Sat2Density++ 40.8 | ↓52.9%(接近减半) |
| 卫星图→街景图像生成(VIGOR-OOD) | KID↓ | 0.014 | Sat2Density++ 0.035 | ↓60.0% |
| 卫星图→街景图像生成(VIGOR-OOD) | DINO 语义相似度↑ | 0.525 | Sat2Density++ 0.465 | ↑12.9% |
| 卫星图→街景图像生成(VIGOR-OOD) | SSIM↑ | 0.37 | Sat2Density++ 0.34 | ↑8.8% |
| 卫星图→街景图像生成(VIGOR-OOD) | PSNR↑ | 12.83 | Sat2Density++ 12.51 | ↑2.6% |
| 3D 几何精度(卫星视角 DSM) | RMSE↓(米) | 5.20 | Sat2Density++ 6.76 | ↓23.1% |
| 3D 几何精度(卫星视角 DSM) | MAE↓(米) | 3.47 | Sat2Density++ 4.72 | ↓26.5% |
| 3D 几何精度(卫星视角 DSM) | 误差<2.5m 像素占比↑ | 62.69% | Sat2Density++ 49.69% | ↑13.0 个百分点 |
局限与改进
作者在 G 节明确承认三个核心限制:(1) 姿态不准——卫星图被简化为正交投影,且街景全景图只提供 GPS 而无真实内外参,模型假设全景图垂直于地面,忽略了路拱和地形带来的 roll 角;(2) 几何与地形假设——模型假设局部地面平整,无法建模陡坡或山地,且对训练数据稀有的非典型建筑(异形屋顶、特殊构造)表现差,因为缺乏显式 3D 形状监督;(3) 评估指标受限——VIGOR 数据是非序列稀疏采集的,无法计算时序闪烁或多视角光度一致性指标。此外,我们观察到:模型依赖 DINOv3 冻结特征,对不同卫星源/不同 zoom level 的泛化能力尚未充分验证;VIGOR 仅覆盖四个美国城市,训练数据本身存在地理偏差;DSM 评估受卫星-激光雷达采集时间差(一年以上)影响,存在固有噪声上限。
独立分析的弱点
独立分析可指出四个潜在弱点及改进方向:(1) 重力损失 $\mathcal{L}_{grav}$ 用 $\epsilon$ 软约束只允许一层'凸起',对复杂多层建筑(观景台、双层桥梁)可能过度平滑,可改为局部自适应阈值或学习 $\epsilon$;(2) Spatial Token 的零填充等价于'无信号',对边界外的内容只能靠外推,可能在大幅出界的街景区域产生不确定几何,可用学到的 'context token' 或复制边缘 token 替代零向量;(3) MiDaS 深度正则的权重仅 0.1,相对 RGB 重建的监督弱,导致远处建筑仍有屋顶失真,可考虑迭代细化伪标签或换用更大规模深度基础模型;(4) 训练需 8 张 H20 GPU 跑 60 万次迭代,计算门槛较高,且推理时三平面分辨率 320³ 加 96 采样点对显存敏感,不适合边缘部署,可蒸馏到稀疏体素或哈希场(如 Instant-NGP)。
未来方向
作者明确提出的方向有:融合多模态数据(如地形 DEM)以建模坡地与山地;引入更精确的相机姿态估计或自监督姿态优化;扩展到更多城市以提升地理泛化。基于成果可延伸的研究包括:(1) 把 Sat3DGen 与 LRM、InstantMesh 等大模型主干结合,验证 gravity loss 的可迁移性;(2) 把生成的高质量 3D 资产作为自动驾驶仿真(CARLA、Waymax)的'程序化城市资产生成器',结合 ControlNet+SDXL 流水线(论文已示范)做语义编辑;(3) 探索 zero-shot 编辑能力——给定街景参考图,通过更精细的 fill 编码实现'重光照'、'重材质';(4) 拓展到视频输入或多时相卫星图,融合时间维度的变化检测,做动态 3D 重建。
复现评估
复现评估整体良好但有门槛:作者在 Reproducibility Statement 中承诺公开训练脚本、配置文件、推理代码和数据准备指南,并明确数据集使用 VIGOR、评估采用 RMSE/MAE/FID/KID 等标准指标,模型架构(tri-plane NeRF + DINOv3)和超参数($\lambda_{grav}=3.5$、$\lambda_{depth}=0.1$、N=2、s=16、batch 32、60 万 iter)也在正文中完整报告。代码链接 https://github.com/qianmingduowan/Sat3DGen 已在摘要中给出。然而实际复现存在三重障碍:(1) 训练需要 8 张 NVIDIA H20 GPU(等价于 8×96GB 显存),单卡或普通 A100 难以完成 60 万次迭代;(2) VIGOR 数据集需向原作者申请,且全景点云的 GT 姿态精度有限;(3) 新建 DSM 基准需自行从 Washington DNR 拉取 6 张 GeoTIFF 并实现 Algorithm 1 的对齐流程。整体可复现性中等偏上,门槛主要在算力。
论文图表
顶部表格比较 Sat2City、Sat2Scene、Sat2Density++ 和本文在 Renderable、Satellite Faithful、More than Buildings、Supervision Signal、Synthetic/Real、Geometry Quality 六个属性上的支持情况,本文在所有属性上均打勾;底部可视化对比显示 Sat2Scene/Sat2City 只能生成建筑外壳、Sat2Density++ 语义对但几何扭曲,本文的几何最干净。
这张图在 5 秒内就能让读者明白本文相对前作的全面优势,是论文封面级别的图,motivation 和 main finding 同时呈现在一张图里。
四栏内容:(a) 卫星图和相机轨迹、(b) Sat2Density++ vs Ours 网格对比、(c) 全景视频帧对比、(d) Ours 生成的 4 个 120° FOV 多视角透视视频帧。
展示了下游应用所需的全套产物(mesh、panorama、perspective video),是评估多视角一致性的关键证据。
伪代码描述从 VIGOR-OOD 卫星图批量生成对齐 DSM 的流程:解析经纬度→计算地理包围盒→空间索引查找候选 tile→双线性重投影到卫星图网格→英尺转米→NaN 比例 ≤5% 才保留。
新基准的可复现性核心,所有表 3 数字都依赖此流程。