昇腾社区首页
中文
注册
全景生成、可漫游、可交互!支持轻量化部署的混元3D世界模型Lite版本已上线魔乐社区

全景生成、可漫游、可交互!支持轻量化部署的混元3D世界模型Lite版本已上线魔乐社区

昇腾部署混元3D世界模型魔乐社区

发表于 2025/08/25

2025年8月15日,腾讯混元团队全新推出混元3D世界模型1.0-Lite版本,大幅降低运行显存开销,支持消费级显卡部署。混元团队采取了动态FP8量化技术、SageAttention量化技术、Cache算法加速推理等一系列关键技术优化,即使显卡“降级”,模型的效果不仅没有变差,反而更好了

昇腾支持该模型开箱部署,目前适配模型和权重已上线魔乐社区,欢迎下载体验!https://modelers.cn/models/MindIE/HunyuanWorld-1.0

01 模型介绍

腾讯混元3D世界模型 1.0,是业界首个开源可编辑的世界生成模型,用户只需输入一句话或上传一张图片,就能生成一个完整、可漫游的3D世界,这一创新不仅降低了3D内容创作的门槛,也为游戏开发、VR、数字内容创作等领域带来了全新的可能性。

通过结合全景生成与层次化3D重建等技术,混元3D世界模型1.0 同时支持文字或者图片输入,实现了可交互、可编辑、高质量的360度可漫游场景生成。混元3D世界模型的技术亮点在于其全方位的场景生成能力和高度的可编辑性。通过层次化3D场景表征及生成算法,该模型支持3D Mesh导出,在保证生成场景的逼真度和沉浸感的同时,兼容已有CG管线进行二次开发,如游戏开发、物理仿真、场景编辑等。

自发布以来,混元3D世界模型1.0在社区中备受关注。为了让更多开发者能便捷部署使用混元3D世界模型,混元团队推出了混元3D世界模型1.0-Lite版本,让消费级显卡也能跑世界模型

接下来,手把手教你如何在昇腾上部署该模型。

02 准备运行环境

表 1 版本配套表

配套版本
Python3.10 or 3.11
torch2.1.0

1. 获取CANN&MindIE安装包&环境准备

2. CANN安装

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构,{soc}表示昇腾AI处理器的版本。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
chmod +x ./Ascend-cann-kernels-{soc}_{version}_linux.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
./Ascend-cann-kernels-{soc}_{version}_linux.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install
/Ascend-cann-kernels-{soc}_{version}_linux.run --install

# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh

3. MindIE安装

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-mindie_${version}_linux-${arch}.run
./Ascend-mindie_${version}_linux-${arch}.run --check

# 方式一:默认路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install
# 设置环境变量
cd /usr/local/Ascend/mindie && source set_env.sh

# 方式二:指定路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install-path=${AieInstallPath}
# 设置环境变量
cd ${AieInstallPath}/mindie && source set_env.sh

4. Torch_npu安装

1) 安装pytorch框架 版本2.1.0

安装包下载: https://download.pytorch.org/whl/cpu/torch/

2) 使用pip安装

# {version}表示软件版本号,{arch}表示CPU架构。
pip install torch-${version}-cp310-cp310-linux_${arch}.whl

3) 下载 pytorch_v{pytorchversion}_py{pythonversion}.tar.gz

tar -xzvf pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
# 解压后,会有whl包
pip install torch_npu-{pytorchversion}.xxxx.{arch}.whl

03 权重和代码下载

1. 权重及配置文件说明

1) 下载HunyuanWorld-1.0权重,HunyuanWorld-1.0开源版本基于Flux构建,图/文生世界可按需下载FLUX.1-Fill-dev/FLUX.1-dev模型权重。

2) 各模型的配置文件、权重文件的层级样例如下所示。

|----HunyuanWorld-1
|    |---- HunyuanWorld-PanoDiT-Text
|    |    |---- 模型权重
|    |---- HunyuanWorld-PanoDiT-Image
|    |    |---- 模型权重
|    |---- HunyuanWorld-PanoInpaint-Scene
|    |    |---- 模型权重
|    |---- HunyuanWorld-PanoInpaint-Sky
|    |    |---- 模型权重

|----FLUX.1-Fill-dev / FLUX.1-dev
|    |---- model_index.json
|    |---- scheduler
|    |    |---- scheduler_config.json
|    |---- text_encoder
|    |    |---- config.json
|    |    |---- 模型权重
|    |---- text_encoder_2
|    |    |---- config.json
|    |    |---- 模型权重
|    |---- tokenizer
|    |    |---- config.json
|    |    |---- 模型权重
|    |---- tokenizer_2
|    |    |---- config.json
|    |    |---- 模型权重
|    |---- transformer
|    |    |---- config.json
|    |    |---- 模型权重
|    |---- vae
|    |    |---- config.json
|    |    |---- 模型权重

|----grounding-dino-tiny
|    |---- json配置文件
|    |---- 模型权重

|----moge-vitl
|    |---- model.pt

2. 下载代码 & 安装依赖

   git clone https://modelers.cn/MindIE/HunyuanWorld-1.0.git
   pip3 install -r requirements.txt
   pip3 install torchvision==0.16.0 --no-deps
   https://github.com/xinntao/Real-
ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth  # 下载后放置在
/HunyuanWorld-1.0/hy3dworld/utils/weights路径下

3. 下载其余依赖代码

 # moge
   git clone https://github.com/microsoft/MoGe.git

   # real-esrgan install
   cd ..
   git clone https://github.com/xinntao/Real-ESRGAN.git
   cd Real-ESRGAN
   python setup.py develop

   # zim anything install & download ckpt from ZIM project page
   cd ..
   git clone https://github.com/naver-ai/ZIM.git
   cd ZIM; pip install -e .
   mkdir zim_vit_l_2092
   cd zim_vit_l_2092
wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/encoder.onnx
   wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/decoder.onnx

   # TO export draco format, you should install draco first
   cd ../..
   git clone https://github.com/google/draco.git
   cd draco
   mkdir build
   cd build
   cmake ..
   make
   make install

4. 代码修改

1) 修改/HunyuanWorld-1.0/demo_panogen.py文件中的权重路径。

FLUX_MODEL_PATH = "/……/FLUX.1-dev"
FLUX_FILL_MODEL_PATH = "/……/FLUX.1-Fill-dev"
HUNYUANWORLD_MODEL_PATH = "/……/HunyuanWorld-1"

2)修改/HunyuanWorld-1.0/hy3dworld/utils/pano_depth_utils.py文件中路径。

sys.path.append("/……/HunyuanWorld-1.0/MoGe/")
MOGE_MODEL_PATH = "/……/moge-vitl/model.pt"

3)修改/HunyuanWorld-1.0/hy3dworld/utils/seg_utils.py文件中路径。

sys.path.append("/……/HunyuanWorld-1.0/ZIM")

4)修改/HunyuanWorld-1.0/hy3dworld/models/layer_decomposer.py文件中路径。

GROUNDING_MODEL_PATH = "/……/grounding-dino-tiny"
ZIM_CHECKPOINT_PATH = "/……/HunyuanWorld-1.0/ZIM/zim_vit_l_2092"
FLUX_MODEL_PATH = "/……/FLUX.1-Fill-dev"
HUNYUANWORLD_MODEL_PATH = "/……/HunyuanWorld-1"

5)修改diffusers源码文件/diffusers/models/embeddings.py中的

get_1d_rotary_pos_embed函数

修改前:

if use_real and repeat_interleave_real:
    # flux, hunyuan-dit, cogvideox
    freqs_cos = freqs.cos().repeat_interleave(2, dim=1).float()  # [S, D]
    freqs_sin = freqs.sin().repeat_interleave(2, dim=1).float()  # [S, D]
return freqs_cos, freqs_sin

修改后:

if use_real and repeat_interleave_real:
    # flux, hunyuan-dit, cogvideox
    freqs=freqs.float()
    freqs_cos = freqs.cos().repeat_interleave(2, dim=1)  # [S, D]
    freqs_sin = freqs.sin().repeat_interleave(2, dim=1)  # [S, D]
    return freqs_cos, freqs_sin

04 HunyuanWorld-1.0使用

1. 图生世界

1) 图生全景图

TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_panogen.py \
        --prompt "" \
        --image_path examples/case2/input.png \
        --output_path test_results/case2

参数说明:

▪  TASK_QUEUE_ENABLE=2:开启二级流水。

▪  ASCEND_RT_VISIBLE_DEVICES=0:device id,当前仅支持单卡,可设置其他卡id。

▪   prompt:文本,用于控制生成的文字描述提示。

▪   image_path:输入图像路径。

▪   output_path:生成的保存路径。

2) 使用全景图像,生成3D世界场景。

TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_scenegen.py \
        --image_path test_results/case2/panorama.png \
        --labels_fg1 stones \
        --labels_fg2 trees \
        --classes outdoor \
        --output_path test_results/case2

参数说明:

▪  image_path:输入图像路径。

▪  labels_fg1:分层的前景对象1标签,可以通过使用参数labels_fg1和labels_fg2来指定想要分层的前景对象标签,例如设置sculptures、flowers……

▪  labels_fg2:分层的前景对象2标签,例如设置tree、mountains……

▪  classes:场景类别

▪  output_path:生成的保存路径。

2. 文生世界

1) 文生全景图    

TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_panogen.py \
        --prompt "At the moment of glacier collapse, giant ice walls collapse and create waves, with no wildlife, captured in a disaster documentary" \
        --output_path test_results/case7

参数说明:

• prompt:文本,用于控制生成的文字描述提示。

• output_path:生成的保存路径。

2) 使用全景图像,生成3D世界场景

TASK_QUEUE_ENABLE=2 ASCEND_RT_VISIBLE_DEVICES=0 python demo_scenegen.py \
        --image_path test_results/case7/panorama.png \
        --classes outdoor \
        --output_path test_results/case7

参数说明:

• image_path:输入图像路径。

• classes:场景类别

• output_path:生成的保存路径。

3. 3D世界可视化

• 方法一,使用本仓库提供的ModelViewer工具,在网页浏览器中快速可视化自己生成的3D世界。只需在浏览器中打开modelviewer.html,上传生成的3D场景PLY文件,即可享受实时播放体验。

• 方法二,安装MeshLab软件,可处理和编辑三维网格和点云数据,可视化PLY文件。

注意:

1. image_path、output_path应皆为本地合法路径,否则会导致推理抛异常。

2. 由于硬件限制,某些场景可能无法加载。

欢迎体验

欢迎大家下载体验HunyuanWorld-1.0昇腾版本。如您在使用模型的过程中,发现任何问题(包括但不限于功能问题、规范性问题),请在模型的讨论区提交issue,相关开发者将及时审视并解答。



本页内容