InstantMesh模型构建指南

一、介绍

InstantMesh 是一个由腾讯 ARC 实验室推出的创新项目,该项目旨在通过单张图像快速生成高质量的三维网格模型。

image.png

1. 项目背景与意义

随着 3D 内容在游戏、动画、虚拟现实等领域的广泛应用,传统的 3D 模型制作流程繁琐且耗时,需要专业人员投入大量时间和精力。InstantMesh 项目的出现,极大地简化了 3D 内容创作流程,提高了工作效率,降低了技术门槛,使得更多的人能够参与到 3D 内容的创作中来。

2. 核心技术

InstantMesh 采用了前馈框架,结合了多视图扩散模型和基于大规模重建模型(LRM)的稀疏视图重建技术。具体来说,它首先利用一个预训练的多视角扩散模型,从单张输入图像中生成多张 3D 一致的视角图像。然后,使用一个基于 LRM 架构的稀疏视角重建模型,从多视角图像中直接生成 3D 网格。此外,InstantMesh 还引入了可微分等值面提取模块 FlexiCubes,直接从 3D 隐式场中提取网格表面,并应用深度和法线等几何信息进行监督,进一步提升了网格模型的精度和光滑度。

3. 项目特点

快速生成 :InstantMesh 能够在极短的时间内(约 10 秒)完成从图像到 3D 网格的转换,这在 3D 建模领域是一个巨大的时间节省。

高质量输出 :尽管生成速度快,但 InstantMesh 生成的 3D 模型质量高,满足专业应用的需求。

易于使用 :InstantMesh 提供了命令行工具,并支持多种功能,如视频保存、前景分割、导出带有顶点颜色的.obj 网格或带有纹理映射的模型等。此外,它还提供了在线 Demo 和 Jupyter Notebook,方便用户无需复杂安装即可立即尝试。

广泛应用 :InstantMesh 适用于游戏开发、动画制作、建筑可视化、AR/VR 内容创作、教育和研究等多个领域。

4. 项目评估与性能

InstantMesh 在 Google Scanned Objects (GSO) 和 OmniObject3D (Omni3D) 两个公开数据集上进行了评估,结果显示,在 2D 视觉质量和 3D 几何质量方面均显著优于其他 SOTA 方法。具体来说,在 2D 新视角合成任务中,InstantMesh 在 SSIM 和 LPIPS 指标上显著优于其他方法;在 3D 几何质量评估中,InstantMesh 在 Chamfer Distance (CD)和 F-Score (FS)指标上也显著优于其他方法。

5. 项目影响与展望

InstantMesh 的出现,为 3D 建模和可视化领域带来了新的变革。它不仅提高了 3D 内容创作的效率和质量,还降低了技术门槛,使得更多的人能够参与到 3D 内容的创作中来。未来,随着技术的不断发展和完善,InstantMesh 有望在更多领域发挥重要作用,推动 3D 内容创作的快速发展。

6. 项目资源

二、容器构建说明

由于模型较大建议使用两张RTX3090 +24G显卡(该项目支持在两个 GPU 上运行 gradio demo 以节省内存),或者使用单张高于RTX3090+24G性能的显卡。

1. 安装 miniconda

进入 Anaconda 官网:

Miniconda — Anaconda 文档

找到快速命令行安装,选择 Linux 系统,复制代码进入终端进行安装。

image.png

image.png

等待安装完成。

2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs

apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs

image.png

3. 克隆项目仓库,并打开文件

git clone https://github.com/TencentARC/InstantMesh.git
cd InstantMesh

4. 创建 python 为 3.10 版本的虚拟环境,名称为instantmesh

conda create --name instantmesh python=3.10

5. 激活虚拟环境instantmesh

conda activate instantmesh

6. 通过 pip 安装所需的 torch 环境(国内镜像源快一些,以下使用了清华源)

pip install -U pip
conda install cuda -c nvidia/label/cuda-12.1.0
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple

7. 安装项目依赖文件及相应包

为了安装速度更快可以将 pip 进行永久换源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt
conda install Ninja
pip install xformers==0.0.22.post7
pip install triton

该项目最后运行时会出现下载不了模型的问题,是因为库太老了,提前升级一下库即可

pip install -U huggingface_hub

8. 更改代码,删减端口部分,否则该项目gradio界面显示不出

找到/InstantMesh/app.py最后几行代码,根据下图所示进行删减

删减为

image.png

9. 指定端口,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅,以下使用了国内镜像下载模型速度快些)

export HF_ENDPOINT=https://hf-mirror.com
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python app.py

耐心等待,若网络不畅通出现下载中断的情况,就重新运行继续下载。

image.png

出现以下界面即为运行成功

image.png

三、网页演示

运行成功后获取访问链接,即可进入 webUI 界面(还需下载模型):

image.png

此时点击“生成”按钮,终端会自动下载模型,需要关闭代理连接至github继续下载,或者下载后上传

image.png

运行成功也就代表着webUI也相应出现运行结果

image.png

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值