Zero123++ 零基础教程:一张照片生成 6 个视角,3D 预览从此告别手工建模

Zero123++ 零基础教程:一张照片生成 6 个视角,3D 预览从此告别手工建模 Zero123 零基础教程一张照片生成 6 个视角3D 预览从此告别手工建模【免费下载链接】zero123plusCode repository for Zero123: a Single Image to Consistent Multi-view Diffusion Base Model.项目地址: https://gitcode.com/gh_mirrors/ze/zero123plus把一张平平无奇的照片变成 6 个不同角度的视图再拼出一组可以来回检视的 3D 预览——这是 Zero123Single Image to Consistent Multi-view Diffusion Base Model单图到一致多视角扩散基础模型的核心能力。不需要建模软件不需要环绕拍摄一张图就能生成多视角图像。它的价值主张简单到难以置信3D 预览的门槛从此降到会拍照片就行。而你可能没想到过去要做到这件事要么花大价钱请人建模要么在专业软件里折腾大半天。先搞懂一件事一张照片凭什么变出 6 个视角Zero123 的本质是一个基于扩散模型的想象力引擎。它在大规模 3D 数据集上训练学会了从单个视角反推物体看不到的那一面长什么样并把想象出的多个角度钉在一组固定的相机位姿上方位角依次为 30°、90°、150°、210°、270°、330°也就是绕物体一周均匀分布的 6 个机位。更妙的是 v1.2 版本对相机内参的精细处理输出视场角统一为 30°更贴近真实近距离观察的透视效果仰角也调整为 20° 与 -10° 交替生成结果在物体大小归一化上更加稳定。换句话说你不需要研究任何摄影测量知识模型自己会挑好最合理的角度。上图是项目主页的展示效果从主视图出发模型立刻给出该物体 6 个角度的视图细节和材质保持一致——这正是一致多视角四个字的含金量。环境搭建只需 3 步5GB 显存就能跑 上手前先确认两件事一张显存不低于 5GB 的 NVIDIA 显卡生成基础视图约需 5GB若叠加深度 ControlNet 约需 5.7GB以及可用的 Python 环境。然后按下面 3 步走git clone https://gitcode.com/gh_mirrors/ze/zero123plus cd zero123plus pip install -r requirements.txt依赖中比较关键的是torch建议 2.0 以上与diffusers建议 0.20.2项目为 diffusers 提供了自定义管道装完即用无需手写任何采样逻辑。整个过程十分钟内可以完成。第一次实操让一张照片长出6 个视角下面这段代码同样可见于examples/img_to_mv.py就是生成多视角图像的全部核心逻辑加载预训练管道、调整调度器、喂入图片、保存结果。import torch from PIL import Image from diffusers import DiffusionPipeline, EulerAncestralDiscreteScheduler pipeline DiffusionPipeline.from_pretrained( sudo-ai/zero123plus-v1.1, custom_pipelinesudo-ai/zero123plus-pipeline, torch_dtypetorch.float16 ) pipeline.scheduler EulerAncestralDiscreteScheduler.from_config( pipeline.scheduler.config, timestep_spacingtrailing ) pipeline.to(cuda:0) result pipeline(Image.open(my_photo.jpg), num_inference_steps75).images[0] result.save(output.png)运行后你会在output.png里得到一张6 宫格图像——同一物体 6 个视角的并排视图。两个小提醒输入图必须是正方形建议分辨率不低于 320×320默认输出的背景是灰色因为这是 Stable Diffusion VAE 的零值。去背景与进阶玩法深度控制、法线生成想要干净的透明背景图补一次rembg抠图即可两行代码的事import rembg result rembg.remove(result) result.save(output_clean.png)更进阶的是两类控制网络ControlNet。其一是深度控制代码见examples/depth_controlnet.py它允许你传入一张深度图让生成的多视角结果严格贴合几何结构适合需要精确轮廓的场景from diffusers import ControlNetModel pipeline.add_controlnet(ControlNetModel.from_pretrained( sudo-ai/controlnet-zp11-depth-v1, torch_dtypetorch.float16 ), conditioning_scale0.75) result pipeline(cond, depth_imagedepth, num_inference_steps36).images[0]其二是 v1.2 新增的法线生成器代码见examples/normal_gen.py它输出视图空间的法线图像既能为后续重建提供几何线索还能借助examples/matting_postprocess.py得到比 SAM 抠图更精确的 alpha 遮罩。上图为项目文档中的演示左侧是常规多视角生成右侧是法线输出轮廓信息一目了然。4 个调参建议让效果更稳定推理步数普通物体约 28 步就够人脸等细节丰富的图建议 75~100 步细节会慢慢长出来。调度器务必使用EulerAncestralDiscreteScheduler并设置timestep_spacingtrailing旧版 diffusers 不支持该参数时性能会下降。输入质量正方形、光线均匀、主体居中的图效果最好先用内置预处理或rembg去掉杂乱背景能显著提升一致性。随机种子固定 seed 可复现结果换 seed 可探索不同变体批量出图时建议记录每个 seed。如果你偏好可视化操作仓库里的gradio_app.py和app.py分别提供了 Gradio 与 Streamlit 界面上传图片、点按钮就能出结果适合先玩再写代码。谁在用这类能力电商、游戏与 3D 打印场景并不遥远电商卖家可以用它给商品生成多角度展示图游戏开发者拿角色原画秒出预览视角3D 打印爱好者在打印前生成一圈视图提前发现模型缺陷教育场景里二维插图瞬间变成可多角度观察的立体演示。这些都不需要任何 3D 软件基础。动手前须知开源协议与相关生态有一点务必留意项目代码采用 Apache 2.0 协议但模型权重采用 CC-BY-NC 4.0非商业协议即你不能把模型本身接入商业产品管线但用模型生成的结果可以自由使用。另外Zero123 的前身是 Zero123同源家族还包括 One-2-3-45 系列若你想从多视角走向完整网格重建沿着这条技术脉络探索会很顺。现在就可以动手路线已经给你铺好了克隆仓库 → 跑通examples/img_to_mv.py→ 换一张自己的照片 → 尝试深度与法线玩法。想深入原理可以读diffusers-support/pipeline.py里的自定义管道源码它展示了推理全流程想换输入方式examples/text_to_img.py还能用文本生成条件图。遇到问题仓库的 README 与社区讨论都是好去处。从一张照片到一圈视图Zero123 把原本属于专业领域的 3D 预览变成了人人都能玩的一步操作。别犹豫挑一张最喜欢的照片现在就去生成你的第一个 6 视角作品吧——你离3D 创作者只差一次运行的距离。【免费下载链接】zero123plusCode repository for Zero123: a Single Image to Consistent Multi-view Diffusion Base Model.项目地址: https://gitcode.com/gh_mirrors/ze/zero123plus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考