欢迎来到 DimensionX 的世界,这是一个开创性的框架,它正在改变我们创建和可视化数字环境的方式。在本博客中,我们将探讨 DimensionX 如何突破计算机视觉和模式识别的界限,从单一图像中生成令人惊叹的逼真 3D 和 4D 场景。
视频扩散的力量
DimensionX 利用视频扩散的力量,为三维和四维场景生成引入了一种新方法。与传统方法不同,DimensionX 首先了解到,三维空间结构和四维时间演变都可以通过视频帧序列有效地表示出来。通过利用视频扩散模型,DimensionX 可生成生动逼真的视觉效果。
利用 ST-Director 克服局限性
视频扩散的主要挑战之一是生成过程中有限的空间和时间可控性。为了解决这一问题,DimensionX 引入了 ST-Director,这是一种将空间和时间因素分离开来的革命性技术。通过从维度变化数据中学习维度感知的 LoRA,ST-Director 可实现对空间结构和时间动态的精确控制。这一突破使 DimensionX 能够从连续帧中重建三维和四维表征,将空间和时间维度完美地结合在一起。
利用先进机制缩小差距
为了确保生成的场景与真实世界的环境非常相似,DimensionX 采用了两种创新机制。首先,三维生成采用了轨迹感知机制,确保空间表现准确逼真。其次,在生成 4D 图像时,采用了身份保护去噪策略,以保持物体及其身份随时间变化的完整性。
卓越的成果和应用
在各种数据集上进行的大量实验证明,DimensionX 在可控视频生成以及三维和四维场景生成方面具有卓越的性能。该框架有可能为建筑、游戏和虚拟现实等行业带来革命性的变化,在这些行业中,逼真和可控的场景生成至关重要。
总之,DimensionX 是计算机视觉领域的一大进步,为创建逼真的 3D 和 4D 场景提供了强大而灵活的解决方案。凭借其创新的方法和令人印象深刻的结果,DimensionX 必将成为计算机图形学和虚拟环境设计领域的游戏规则改变者。
https://chenshuo20.github.io/DimensionX/
https://github.com/wenqsun/DimensionX
代码
安装依赖
git clone https://github.com/wenqsun/DimensionX.git
cd DimensionX/src/gradio_demo
pip install -r requirements.txt
pip install peft==0.12.0 # 他代码提示需要peft < 0.13.0
我,吴脑的键客根据diffusers源码修改了官方简略的Demo,支持RTX4090运行
import torch
from diffusers import CogVideoXImageToVideoPipeline
from diffusers.utils import export_to_video, load_image
pipe = CogVideoXImageToVideoPipeline.from_pretrained("THUDM/CogVideoX-5b-I2V", torch_dtype=torch.bfloat16)
lora_path = "wenqsun/DimensionX"
lora_rank = 256
# pipe.load_lora_weights(lora_path, weight_name="orbit_left_lora_weights.safetensors", adapter_name="orbit_left") # 镜头往左
pipe.load_lora_weights(lora_path, weight_name="orbit_up_lora_weights.safetensors", adapter_name="orbit_up") # 镜头往上
# 通过 components=["transformer"] 避免 ValueError: text_encoder is not found in self._lora_loadable_modules=['transformer'].
pipe.fuse_lora(components=["transformer"], lora_scale=1 / lora_rank)
pipe.to("cuda")
# cpu offload
pipe.enable_sequential_cpu_offload()
pipe.vae.enable_tiling()
pipe.vae.enable_slicing()
prompt = "An astronaut hatching from an egg, on the surface of the moon, the darkness and depth of space realised in the background. High quality, ultrarealistic detail and breath-taking movie-like camera shot."
image = load_image(
"https://hf-mirror.com/datasets/huggingface/documentation-images/resolve/main/diffusers/astronaut.jpg"
)
video = pipe(image, prompt, use_dynamic_cfg=True)
export_to_video(video.frames[0], "output.mp4", fps=8)
感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。点赞并关注,获取最新科技动态,不落伍!🤗🤗🤗