❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦
🛣️ “还在为自动驾驶测试犯愁?上海AI Lab放出4D场景核弹:128帧动态LiDAR生成,1:1还原城市早晚高峰!”
大家好,我是蚝油菜花。如果你正在经历——
- 👉 斥资百万采集真实路测数据,雨天/夜间的极端场景仍难覆盖
- 👉 模拟器的动态物体像‘纸片人’,导致感知模型泛化性差
- 👉 场景重建工具只能处理静态环境,车辆轨迹全靠人工设计...
那么 DynamicCity 将是你的救星!这个由上海AI Lab研发的4D动态场景框架,基于 DiT+VAE融合架构,能生成80×80米大范围、128帧连续动态的LiDAR点云。更震撼的是,它支持 轨迹引导生成 和 指令驱动控制 ——想象一下,用自然语言描述“早高峰十字路口突发急刹”,立刻获得带物理规律的4D场景数据!接下来我们将拆解其HexPlane黑科技,手把手教你在自动驾驶训练中落地应用。
🚀 快速阅读
DynamicCity 是一个强大的 4D 动态场景生成框架。
- 核心功能:生成大规模、高质量的动态 LiDAR 场景,支持轨迹引导、指令驱动等多样化应用。
- 技术原理:基于 VAE 和扩散模型(DiT),通过 HexPlane 表示和条件注入实现高效生成。
DynamicCity 是什么
DynamicCity 是上海 AI Lab 推出的一个大规模动态场景生成框架,专注于生成具有语义信息的动态 LiDAR 场景。它能够处理大规模空间(80×80×6.4 m³)和长序列(最多 128 帧)的数据,为自动驾驶和机器人技术提供了强有力的支持。
DynamicCity 基于变分自编码器(VAE)将 4D 场景编码为紧凑的 HexPlane 表示,并使用基于扩散模型(DiT)的生成器重建动态场景。在 CarlaSC 和 Occ3D-Waymo 数据集上,DynamicCity 的表现显著优于现有方法,展现了其在高质量动态场景生成中的强大能力。
DynamicCity 的主要功能
- 高质量 4D 场景生成:生成大规模、高质量的动态 LiDAR 场景,捕捉真实世界环境中动态变化的时空演变。
- 多样化下游应用:支持轨迹引导生成、指令驱动生成、动态场景修复和布局条件生成等应用。
- 动态场景修复(Inpainting):对部分缺失或损坏的场景进行修复,生成完整的动态场景。
DynamicCity 的技术原理
VAE 模型:
- 编码阶段:将 4D LiDAR 场景编码为紧凑的 HexPlane 表示,基于 3D 卷积神经网络提取特征,并用 Projection Module 将 4D 特征压缩为六个 2D 特征图。
- 解码阶段:基于 Expansion & Squeeze Strategy (ESS) 并行解码 HexPlane,重建 3D 特征体积。
DiT 模型:
- HexPlane 生成:基于编码后的 HexPlane,DiT 模型用于生成新的 HexPlane,实现 4D LiDAR 场景的生成。提出 Padded Rollout Operation (PRO),将六个特征平面重新组织为一个方形 2D 特征图。
- 条件生成:支持基于条件注入(如轨迹、指令、布局等)实现多样化的 4D 场景生成应用。
如何运行 DynamicCity
1. 安装环境
conda create -n dyncity python=3.10 -y conda activate dyncity conda install pytorch==2.4.0 pytorch-cuda=11.8 -c pytorch -c nvidia conda install einops hydra-core matplotlib numpy omegaconf timm tqdm wandb -c conda-forge -y pip install flash-attn --no-build-isolation
AI 代码解读
2. 数据准备
下载 CarlaSC 数据集并将其解压到 ./carlasc
目录中:
# 解压后目录结构如下:
DynamicCity
├── carlasc/
│ ├── Cartesian/
│ │ ├── Train/
│ │ │ ├── Town01_Heavy
│ │ │ ├── ...
│ │ ├── Test/
AI 代码解读
3. 训练与推理
训练 VAE 模型
torchrun --nproc-per-node 8 train.py VAE carlasc name=DYNAMIC_CITY_VAE
AI 代码解读
使用 VAE 模型生成 HexPlane
torchrun --nproc-per-node 8 infer_vae.py -n DYNAMIC_CITY_VAE --save_rollout --best
AI 代码解读
训练 DiT 模型
torchrun --nproc-per-node 8 train.py DiT carlasc name=DYNAMIC_CITY_DIT vae_name=DYNAMIC_CITY_VAE
AI 代码解读
使用 DiT 模型生成动态场景
torchrun --nproc-per-node 8 infer_dit.py -d DYNAMIC_CITY_DIT --best_vae
AI 代码解读
资源
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦