)
Zero123如何用一张照片快速生成 6 个一致视角附完整上手步骤【免费下载链接】zero123plusCode repository for Zero123: a Single Image to Consistent Multi-view Diffusion Base Model.项目地址: https://gitcode.com/gh_mirrors/ze/zero123plus你盯着购物网站上那件心仪的商品页面却只有一张正面照——它侧面长什么样背面有没有细节你完全猜不出来。过去想弄清这个问题要么反复求商家多发图要么老老实实学一套 3D 建模软件。而Zero123这个开源项目正在把这件事变成一句话丢给它一张照片几十秒后还给你 6 个彼此一致的视角就像真的把物体转了一圈看了一遍。先问一句只有一张正面照你甘心吗拍过产品图、画过角色设定、做过手办预览的人都有同感一张图只能展示一个面信息太少了。多角度展示曾经是专业团队的专利——要建模、要渲染、要花钱买软件。Zero123 想解决的就是这个信息差它是面向单张图像的多视角扩散基础模型你给它一张图它自己脑补出物体在三维空间里其他角度的样子而且是一次性生成 6 个视角。一句话看懂它到底做了什么Zero123 你只需投喂一张正方形照片它就能在几十秒内生成 6 个相机位姿固定、内容一致的视角图。下面这张图就是官方展示的多种物体多视角生成效果从左到右、从上到下每个物体都被转了一圈它的输出视角是一组固定相机位姿方位角分别为 30°、90°、150°、210°、270°、330°相对输入视角相当于围绕物体转了一圈每隔 60° 拍一张。v1.2 版本还把仰角调整为 20° 和 -10° 交替输出视场角统一为 30°更贴近人眼近距离看物体的真实感觉。它凭什么好用三个让你心动的理由理由一一张照片6 个互相对得上的视角解决什么问题传统的单图生成每个角度单独生成的话容易出现正面是红色、侧面变蓝色花纹对不上这类前后矛盾。怎么解决Zero123 不是逐个角度孤立生成而是在一次推理里同时产出 6 个视图模型内部保证它们共享同一套几何结构和材质特征视角之间天然一致。带来什么好处你拿到的不再是 6 张各说各话的图而是一组可以直接用来做展示、做 3D 重建素材的连贯视角。理由二输入不用太讲究随手拍也能喂解决什么问题很多生成模型对输入图片挑剔得很构图偏一点、视场角不对结果就崩。怎么解决v1.2 版本对相机内参的处理更精细对输入图像的视场角、裁剪方式都更鲁棒输出视场角统一固定为 30°模型始终按归一化物体大小来生成视角而不是跟着输入忽大忽小。带来什么好处手机随手拍的产品照、网上存的商品图裁成正方形就能用省去了标定相机的麻烦。理由三装上即用几行代码跑通全流程解决什么问题扩散模型的推理管线又长又绕自己实现容易劝退新手。怎么解决项目为diffusers提供了自定义 pipeline源码在 diffusers-support/pipeline.pypip装好依赖后加载模型、跑推理全部封装好了不需要你写任何额外代码。带来什么好处从零到出图的最短路径甚至不需要深入理解扩散模型原理。从 0 到 1把一张汉堡照片变成 6 个视角下面我们走一个具体任务把一张汉堡的照片变成 6 个不同角度的展示图——这正是电商产品图最常见的需求。第一步准备一张合格的照片先找到一张正方形的物体照片分辨率建议不低于 320×320。图片可以直接用手机拍也可以用现成的产品图关键是物体在画面里尽量居中、完整。硬件上你需要一块 NVIDIA 显卡基础生成约需5GB 显存。如果只有 CPU也能跑但速度会慢很多。第二步安装依赖几分钟搞定先把项目代码拉到本地并安装核心依赖git clone https://gitcode.com/gh_mirrors/ze/zero123plus cd zero123plus pip install torch diffusers0.20.2 transformers这里推荐diffusers0.20.2项目的调度器参数timestep_spacing在旧版本里不被支持版本太旧会出现明显的性能下降。如果你用的是 torch 1.x建议再补装一个xformers来加速注意力计算。第三步写代码跑起来新建一个 Python 文件粘贴下面的代码。它做的事就三件加载预训练模型、读入你的图片、生成多视角结果。import torch from PIL import Image from diffusers import DiffusionPipeline, EulerAncestralDiscreteScheduler # 加载模型custom_pipeline 指定了项目自带的推理逻辑不用自己写 pipeline DiffusionPipeline.from_pretrained( sudo-ai/zero123plus-v1.1, custom_pipelinesudo-ai/zero123plus-pipeline, torch_dtypetorch.float16 ) # 换用更合适的调度器trailing 时间步能让结果更稳定 pipeline.scheduler EulerAncestralDiscreteScheduler.from_config( pipeline.scheduler.config, timestep_spacingtrailing ) pipeline.to(cuda:0) # 换成你自己的图片 cond Image.open(my_burger.jpg) # 推理步数普通物体 28 步就够细节多的图如人脸建议 75-100 步 result pipeline(cond, num_inference_steps75).images[0] result.save(output.png)第一次运行会从 Hugging Face 下载模型权重需要耐心等一会儿。跑完之后output.png就是一张 6 宫格的多视角图——同一个汉堡的 6 个角度。第四步看到结果再做一次去背景注意一个细节默认生成结果带着灰色背景这是 Stable Diffusion VAE 的零值底色。如果想让物体抠出来、背景干净多装一个rembg就能一行解决pip install rembgimport rembg result rembg.remove(result) result.show()到这里一张干净的多视角展示图就完工了。下面是类似的汉堡生成效果左列是写实风格右列是赛博朋克风格6 个视角的对齐程度一目了然另外提醒一句版权相关的真实情况代码采用 Apache 2.0 许可但模型权重是 CC-BY-NC 4.0意味着模型本身不能放进商业产品管线不过用它生成的图片可以自由使用你需要对自己生成的内容负责。新手最容易踩的 4 个坑附正确姿势场景❌ 错误做法✅ 正确做法输入图片直接丢一张长方形照片进去先裁成正方形分辨率 ≥320×320物体尽量居中推理步数生成人像、手办等细节图只给 28 步普通物体 28 步细节丰富的图给 75-100 步输出结果拿到灰底图就直接用用rembg.remove()去一次背景得到透明底依赖版本随便装个旧版 diffusers固定diffusers0.20.2torch 1.x 记得装 xformers把它玩出花样三个进阶玩法玩法一深度 ControlNet让视角更听话适用人群希望生成更可控、还需要深度信息的 3D 内容创作者效果以深度图作为额外条件约束生成多视角的几何关系更稳关键操作加载sudo-ai/controlnet-zp11-depth-v1并pipeline.add_controlnet(...)参考 examples/depth_controlnet.py约需 5.7GB 显存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]玩法二法线生成器拿到更干净的 3D 资产适用人群做 3D 重建、对物体遮罩精度有要求的开发者效果v1.2 新增的 normal ControlNet 能生成视图空间法线图像用它得到的 alpha 遮罩比基于 SAM 的方法更精确官方验证集上遮罩 IoU 达 98.81%关键操作使用 v1.2 模型 sudo-ai/controlnet-zp12-normal-gen-v1跑 examples/normal_gen.py再用 examples/matting_postprocess.py 做后处理输出colors.png和normals.png玩法三不写代码浏览器里直接玩适用人群设计师、普通用户等不想碰代码的人效果上传图片、调参数、看结果全程可视化关键操作pip install -r requirements.txt后运行streamlit run app.py或直接python gradio_app.py打开 Gradio 界面像下面这种幽灵吃汉堡的脑洞场景也是它信手拈来的作品——草图和概念图喂进去马上就有多视角预览可以看现在轮到你了看到这里你已经掌握了 Zero123 的核心用法一张正方形照片装上依赖跑几行代码就能得到 6 个一致视角还能用 ControlNet 玩出深度、法线等进阶花样。整个过程不需要建模基础也不需要理解扩散模型内部原理。下一步行动现在就找一件手边的物体——马克杯、键盘、手办都行——给它拍一张正方形的正面照按上面的步骤跑一遍亲眼看看那 6 个视角是如何长出来的。第一次看到自己的照片被转起来的那一刻你会觉得这一切都值得。动手吧祝你玩得开心 【免费下载链接】zero123plusCode repository for Zero123: a Single Image to Consistent Multi-view Diffusion Base Model.项目地址: https://gitcode.com/gh_mirrors/ze/zero123plus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考