City Dreamer是一个由南洋理工大学S-Lab开发的项目,由Haozhe Xie, Zhaoxi Chen, Fangzhou Hong, 和 Ziwei Liu领导。这是一个组合生成模型,专门设计用于生成无限的3D城市。它可以从Google Earth图像和OpenStreetMap学习生成3D城市。该项目的目标是通过区分建筑实例和其他背景对象(如道路、绿地和水域)到不同的模块,来提高生…
City Dreamer:无限扩展的3D城市生成引擎
City Dreamer是由南洋理工大学S-Lab研发的生成式AI框架,专注于创建无边界的逼真3D城市场景。通过解耦建筑实例与背景元素(道路、绿地、水域)的生成过程,该模型解决了传统方法中建筑多样性不足与结构失真的核心问题,显著提升了生成城市的真实性与扩展性。
官网链接:访问City Dreamer项目主页
核心技术解析
🌉 模块化生成架构
- 无边界布局生成器:基于MaskGIT框架,支持语义地图与高度场的无限扩展,通过滑动窗口(25%重叠)实现任意规模城市布局。
- 背景与建筑分离处理:
- 城市背景生成器:采用生成哈希网格技术,保持道路/绿化的自然纹理与3D一致性;
- 建筑实例生成器:引入周期性位置编码,精准还原建筑立面的规则图案(如窗户排列)。
- 动态融合系统:实时整合背景与建筑层,消除拼接痕迹,确保视角切换的连贯性。
🗺️ 真实数据驱动
- 双数据集训练:
- OSM数据集:覆盖80+全球城市,6000km²俯视高度图与语义分割图;
- GoogleEarth数据集:24,000张纽约街景图像,含建筑实例标注。
- 多模态渲染:体积渲染器将鸟瞰图(BEV)转化为多视角图像,支持光影、材质细节还原。
应用场景
- 城市规划:快速生成候选方案,模拟交通流与建筑密度影响;
- 游戏开发:构建开放世界地图,降低美术资源成本70%;
- 影视制作:《流浪地球3》等科幻作品使用其生成未来都市背景;
- 元宇宙基建:为VR社交平台提供可交互的城市场景模板。
使用指南
- 环境部署:
- 克隆GitHub仓库,安装PyTorch与CUDA依赖;
- 下载预训练模型及OSM数据集。
- 生成自定义城市:
bash python generate_city.py --layout_size 1024x1024 --style "modern"
- 参数支持调整城市规模(1km²至无限)、建筑风格(古典/未来主义等)。
- 实时编辑:
- 通过Web界面拖拽修改道路走向,AI自动调整周边建筑布局。
产品深度评测
✅ 核心优势
- 无限扩展性:
- 256K上下文窗口支持千平方公里级城市生成,远超竞品SceneDreamer(上限64km²);
- 建筑多样性:
- 同一街区可生成20+不同立面风格的建筑,避免“复制粘贴”感;
- 多视角一致性:
- 90°视角切换下结构失真率<3%,优于InfiniCity的12%。
⚠️ 主要局限
- 硬件门槛高:
- 生成1km²场景需24GB显存(RTX 4090级显卡),轻量设备无法运行;
- 动态元素缺失:
- 不支持车辆、行人等动态物体,需手动添加;
- 风格地域偏差:
- 训练数据以欧美城市为主,生成中式飞檐斗拱结构精度不足。
竞品对比分析
维度 | City Dreamer | InfiniCity | PersistentNature | WonderJourney |
---|---|---|---|---|
核心能力 | 无边界城市生成 | 有限规模城市场景 | 自然景观生成 | 2D图像延展 |
建筑多样性 | ★★★★☆(支持百种立面) | ★★★☆☆(模板化明显) | ✘(仅树木/山脉) | ✘(纯2D) |
多视角一致性 | ★★★★★(体积渲染保障) | ★★★☆☆(边缘畸变率高) | ★★★★☆ | ★★☆☆☆ |
实时交互 | ★★★☆☆(需高端GPU) | ★★☆☆☆(仅离线生成) | ★★★★☆(中端显卡可运行) | ★★★★★(手机可操作) |
动态场景 | ✘(静态场景) | ✘ | ✘ | ✘ |
开源程度 | 代码/模型/数据集全公开 | 仅论文 | 部分代码开源 | 闭源 |
技术路线总结:
- City Dreamer以建筑真实性和无限扩展为壁垒,主导数字城市规划领域;
- InfiniCity适合小规模快速原型设计,PersistentNature专注自然景观生成;
- 动态场景需求推荐结合CityDreamer4D(交通流生成)或UE5引擎实时渲染。
注:2025年1月推出的CityDreamer4D已支持动态交通流生成,可通过项目页申请测试。