在当前人工智能取得突破性进展的时代,从单一输入图像生成全景场景仍是一项关键挑战。大多数现有方法都使用基于扩散的迭代或同步多视角内绘。然而,由于缺乏全局场景布局先验,导致输出结果存在重复对象(如卧室中的多张床),或者每个视图都需要耗时的人工文本输入。我们提出的 L-MAGIC 是一种新型方法,它利用大型语言模型进行引导,同时扩散 360 度全景场景的多个连贯视图。L-MAGIC 利用预先训练好的扩散和语言模型,无需微调,确保零误差性能。超分辨率和多视图融合技术进一步提高了输出质量。广泛的实验证明,与相关研究相比,所生成的全景场景具有更好的场景布局和透视图渲染质量,在人类评估中的优越性大于 70%。结合条件扩散模型,L-MAGIC 可以接受各种输入模式,包括但不限于文本、深度图、草图和彩色脚本。通过深度估计,还能生成三维点云,并利用摄像机的流体运动进行动态场景探索。
Pipeline
论文:https://arxiv.org/pdf/2406.01843
项目:https://zhipengcai.github.io/MMPano/
Github:https://github.com/IntelLabs/MMPano
方法
L-MAGIC 是一个结合了语言模型及扩散模型的场景生成框架。L-MAGIC 通过自然图像连接各类不同模态的输入。当输入不是一张自然图像时,L-MAGIC 使用成熟的条件扩散模型如 ControlNet 从各种模态的输入(文字,手绘草图,深度图等等)生成一张自然图像。
在获得自然图像之后,L-MAGIC 通过 iterative warping and inpainting 来生成 360 度场景的多个视角。在每一个 iteration 中,warping step 将已生成的多视角 warp 到一个新的视角,实例中的黑色部分代表新视角中的缺失像素。Inpainting step 使用基于扩散的图像 inpainting 模型(Stable Diffusion v2)生成缺失像素。为了使图像扩散模型能够生成多样的全局场景结构,L-MAGIC 使用语言模型控制扩散模型在每个视角需要生成的场景内容。
除了生成 360 度场景的全景图,利用深度估计模型,L-MAGIC 还能够生成包含相机旋转及平移的沉浸式视频,以及场景的三维点云。由于无需微调,L-MAGIC 能够有效地保持语言及扩散模型的泛化性,实现多样化场景的高质量生成。
L-MAGIC 的核心是使用语言模型全自动地控制扩散模型。
使用 ChatGPT 作为 LLM 控制器可以获得最佳性能,这需要您申请 OpenAI API 密钥。
如果您所在地区无法访问 ChatGPT API,我们还提供了使用免费开源 LLM 控制器(如 Llama3)的方法。有关如何启用的说明,请参阅下文。您可能需要设置 HF_TOKEN 或传递 huggingface 令牌。你也可以自由贡献代码,启用其他 LLM。
python3 mm_pano/mmpano.py \
--init_image exp/example/0.png \
--output_folder exp/outputs \
--dtype bfloat16 --device hpu \
--llm_model_name gpt-4 \
--api_key <your ChatGPT API key> \
--save_pano_img \ # To save the generated panorama picture
--gen_video # To generate and save the video
详情请看github