国内搭建图生3D功能(Stable Fast 3D)无需GPU

360影视 2024-12-19 03:20 3

摘要:SF3D 是一个基于 TripoSR 的大型重建模型,能够接收单个物体的图片,并生成一个带有纹理的 UV 展开的 3D 网格资产。该模型在不到一秒钟内完成 3D 模型的创建,生成的资产多边形数量相对较低,适用于多种应用场景。此外,模型还能预测每个物体的材料参数

SF3D 是一个基于 TripoSR 的大型重建模型,能够接收单个物体的图片,并生成一个带有纹理的 UV 展开的 3D 网格资产。该模型在不到一秒钟内完成 3D 模型的创建,生成的资产多边形数量相对较低,适用于多种应用场景。此外,模型还能预测每个物体的材料参数(如粗糙度、金属性),从而增强渲染过程中的反射效果。

SF3D 使用了 Objaverse 数据集的渲染图进行训练。Objaverse 数据集在开放数据共同体归因许可证下可用,提供了大量高质量的 3D 对象渲染图。为了提高模型的泛化能力,开发团队采用了增强的渲染方法,使生成的图像更接近现实世界的分布。此外,根据许可证的审查,团队对对象进行了筛选,并策划了一个适合训练需求的子集。

下载源码

下载源码

进入源码路径

源码路径

修改源码

(1)stable-fast-3d/sf3d/system.py 文件

11行去掉,并改成snapshot_download

导包依赖

from modelscope import snapshot_download

修改下载模型的方式,用snapshot_download来下载,存储到当前路径stable-fast-3d/ 下

下载模型

model_dir = snapshot_download(model_id=pretrained_model_name_or_path, cache_dir="./")config_path = os.path.join(model_dir, config_name)weight_path = os.path.join(model_dir, weight_name)

(2)修改 stable-fast-3d/sf3d/models/tokenizers/image.py

先把dinov2模型下载下来,Dinov2Model加载路径为模型缓存路径

Dinov2Model

model_dir = snapshot_download( model_id=self.cfg.pretrained_model_name_or_path, cache_dir="./")self.model = Dinov2Model.from_pretrained(model_dir)

(3)修改stable-fast-3d/sf3d/models/image_estimator/clip_based_estimator.py

导包依赖

cache_dir = snapshot_download( model_id="AI-ModelScope/CLIP-ViT-B-32-laion2B-s34B-b79K", cache_dir="./")self.model, _, self.preprocess = open_clip.create_model_and_transforms( self.cfg.model, pretrained=os.path.join(cache_dir, "open_clip_pytorch_model.bin"))

4.只需要修改上面三个位置可以运行了

!pip install -i requirements.txt!python run.py demo_files/examples/chair1.png --output-dir output/

大功告成,无需GPU

来源:信息百宝囊

相关推荐