TRELLIS,一键生成3D模型,图像转3D,微软开源

在这里插入图片描述
大家好!今天给大家分享微软最近开源的一个3D模型生成项目——TRELLIS。简单来说就是输入一张图片,它就能自动帮你生成3D模型。这与之前分享的TripoSR项目类似,但是精度和贴图细节比TripoSR要高很多。

好久没关注AI生成3D模型这块,也是在群友的推荐下,我去体验了TRELLIS这个项目并跟TripoSR做了对比。

我选了三张图进行测试,分别是建筑、人物、车辆。上面的是TripoSR的效果,下面的是TRELLIS的效果。

用了一个房子做测试,可以看到TripoSR生成的“乍一看”还行,但是转动一下,完全没办法看!房子直接歪掉了。

TRELLIS的表现很好,保留了房子的整体结构和房檐的细节。

卡通人物,TripoSR生成的人物正面和侧面还可以,但是后面头发部分效果不佳。

TRELLIS不仅在细节上比TripoSR的要丰富(人物身前的饰品的立体度和头发的细节),贴图颜色上也略胜一筹。

选了个推土机图片,试下来发现貌似TripoSR对侧面的图片生成不佳,如果是正面的图像,生成的整体结构是稳定的,至少不会像下图一样是“斜的”。

TRELLIS的表现还是非常的优秀。

虽然我将模型导入到建模软件中去看,贴图细节的部分还是很粗糙,但是整体的结构至少不会有太“夸张”的错误。

我又让朋友发来几张图生成模型,最后导入到Maya里看了布线结构

除了机械鱿鱼镂空部分的机械机构没能很好生成以外,前两个图片总体生成的还行。但是到了下面这个动漫人物形象上就失败了。

目前TRELLIS对于人型或者是非标准人型姿态的推理还是不太支持。生成的有种“残缺”抽象的美…

值得期待的是,TRELLIS官方在后续会支持文本生成模型这项功能!十分期待了!

Windows本地部署

该部分适用于想要自己部署项目的小伙伴,使用整合包的可以跳过这部分。

由于项目官方是用Linux机器进行开发和测试的,在部署的时候会有很多坑。

这里的安装依赖是引用github上iiiytn1k开发者提供的。

git clone --recurse-submodules https://github.com/microsoft/TRELLIS.git
cd TRELLIS
conda create -n trellis python=3.10
conda activate trellis 

pip install torch==2.5.1 torchvision --index-url=https://download.pytorch.org/whl/cu124
pip install xformers==0.0.28.post3 --index-url=https://download.pytorch.org/whl/cu124
pip install pillow imageio imageio-ffmpeg tqdm easydict opencv-python-headless scipy ninja rembg onnxruntime trimesh xatlas pyvista pymeshfix igraph transformers
pip install git+https://github.com/EasternJournalist/utils3d.git@9a4eb15e4021b67b12c460c7057d642626897ec8
pip install https://github.com/bdashore3/flash-attention/releases/download/v2.7.1.post1/flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
pip install kaolin -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.5.1_cu124.html

git clone https://github.com/NVlabs/nvdiffrast.git ./tmp/extensions/nvdiffrast
pip install ./tmp/extensions/nvdiffrast

git clone --recurse-submodules https://github.com/JeffreyXiang/diffoctreerast.git ./tmp/extensions/diffoctreerast
pip install ./tmp/extensions/diffoctreerast

git clone https://github.com/autonomousvision/mip-splatting.git ./tmp/extensions/mip-splatting
pip install ./tmp/extensions/mip-splatting/submodules/diff-gaussian-rasterization/

cp -r ./extensions/vox2seq ./tmp/extensions/vox2seq
pip install ./tmp/extensions/vox2seq

pip install spconv-cu120
pip install gradio==4.44.1 gradio_litmodel3d==0.0.1

set ATTN_BACKEND=flash-attn
set SPCONV_ALGO=native
python ./app.py

按照上述步骤部署完毕后,还没完!还有坑!

一定要安装MSVC组件和VCbuild-tools

也有可能会遇到下面这个错误,需要安装VC++ Redis相关组件

raise RuntimeError(“Could not locate a supported Microsoft Visual C++ installation”)

RuntimeError: Could not locate a supported Microsoft Visual C++ installation

安装后重启即可。

整合包必看!

因为项目需要用到C++相关依赖,在使用TRELLIS整合包之前,还需安装VCbuild-tools

不然在生成的时候会出现这个错误

distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/

进入下载地址

https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

点击下载生成工具

然后在打开的界面勾选使用C++的桌面开发–勾选右边五个选项进行安装

快速上手

上传一张图片,不需要很高的分辨率,分辨率和生成的模型的精度没太大关系!

图像是png的透明通道图像最好。如果不是,程序会直接抠图进行处理。

生成设置这里建议保持默认,第一次生成不要去修改设置。

GLB导出设置可以调节简化程度纹理尺寸

配置足够高建议纹理尺寸拉满试试,毕竟纹理贴图越大越清晰效果越好。

然后点击生成,可以看到会生成了一个模型的预览视频

然后点击导出GLB,等待模型生成,最后点击下载GLB即可。下载的模型文件是包含贴图的。

配置需求

WIN

WindowsN卡需16G显存

如果整合包运行报错,需要安装cuda12.4

https://developer.nvidia.com/cuda-12-4-0-download-archive

关于推理速度

在4090上进行测试,使用示例图片生成模型花费大概20秒钟左右

MAC

暂不支持~~

整合包获取

👇🏻👇🏻👇🏻下方下方下方👇🏻👇🏻👇🏻

夸夸夸盘:
https://pan.quark.cn/s/1d4cb07d9995

度度度盘:
https://pan.baidu.com/s/1xJF2VqQ1jPnxRtwQ7xzx2Q?pwd=7yy4

放到最后

最后我将生成的模型导入到三维软件中,简单加了两个环境光。然后做了一个AR小程序试了下效果。

视频中的模型就是用上面TRELLIS生成的推土机。(CSDN的朋友比较抱歉,视频预览效果请转公众号查看吧~~)

当我分享TripoSR的时候就有朋友说“AI生成三维模型还不行,这技术还早着呢”。

但我想说的是,任何技术都得一步步发展嘛,你看看现在的AI绘画,最开始不也是各种扭曲走样吗?现在不是越来越厉害了。

我相信AI建模这块过段时间效果肯定会比现在好很多,说不定很快就能生成高质量的游戏素材了。

对待新技术,咱们与其一上来就否定,不如用发展的眼光去看待和思考。毕竟技术迭代的速度是很快的,两年前谁能想到AI能做到今天这样呢?所以我对AI生成3D模型的未来还是非常期待的。

制作不易,如果本文对您有帮助,还请点个免费的赞或在看!感谢您的阅读!

从你提供的代码片段来看,这段代码是用于启动一个基于 Flask 框架的 Web 应用。具体来说,它导入了一个名为 `app` 的对象,并在主程序中调用了 `app.run()` 方法来运行这个应用。 关于是否需要 MySQL,这取决于你的 Flask 应用的具体需求和功能。以下是一些可能的情况: 1. **不需要 MySQL**: - 如果你的应用只是一个简单的静态网站或 API,不涉及数据库操作,那么不需要使用 MySQL。 - 例如,一个只返回静态页面或简单 JSON 数据的 Flask 应用不需要数据库。 2. **需要 MySQL**: - 如果你的应用需要存储和管理数据,比如用户信息、产品列表等,那么你需要使用数据库。在这种情况下,MySQL 是一个常见的选择。 - 你可以通过 SQLAlchemy 或其他 ORM(对象关系映射)工具在 Flask 应用中集成 MySQL。 下面是一个简单的示例,展示如何在 Flask 应用中使用 SQLAlchemy 连接 MySQL 数据库: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/dbname' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) if __name__ == "__main__": app.run(host='0.0.0.0', port=5000, debug=True) ``` 在这个示例中,我们配置了 Flask 应用以连接到 MySQL 数据库,并定义了一个简单的 `User` 模型。 总结一下,是否需要 MySQL 取决于你的应用需求。如果需要存储和管理数据,那么就需要 MySQL;否则,可以不需要。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值