尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

一张照片生成6个视角:Zero123++ 开源多视角生成工具上手全攻略

一张照片生成6个视角:Zero123++ 开源多视角生成工具上手全攻略 一张照片生成6个视角Zero123 开源多视角生成工具上手全攻略【免费下载链接】zero123plusCode repository for Zero123: a Single Image to Consistent Multi-view Diffusion Base Model.项目地址: https://gitcode.com/gh_mirrors/ze/zero123plus你是不是也遇到过这样的尴尬手里只有一张产品照片却要交出一组多角度展示图打开建模软件界面上的工具按钮多得让人头晕请人建模报价又让人肉疼。别急着放弃开源项目Zero123就是为解决这个痛点而生的——它只靠一张普通图片就能自动生成同一物体 6 个不同视角的视图而且视角之间保持一致不会出现正面是猫、侧面变成狗的翻车情况。Zero123 是一个基于扩散模型的单图多视角生成工具代码完全开源免费可用。本文会带你从零开始理解它的原理、跑通它的三种使用方式并给出调参与避坑建议让你今天就能产出自己的第一组多视角作品。先搞懂一件事它凭什么能从一张图变出6个视角Zero123 的全称是 Single Image to Consistent Multi-view Diffusion Base Model翻译成大白话就是输入单张图像、输出视角一致的多视图扩散基础模型。它的工作方式可以这样理解你给的图片相当于主角定妆照模型内部记住了主角长什么样然后围绕它虚拟转动相机在 6 个固定角度各拍一张新照片。这些新照片不是简单拉伸或镜像而是根据学习到的 3D 结构知识重新生成的所以每个角度都像真实拍摄一样有光影、有层次。为什么强调视角一致因为这是它区别于普通图像生成模型的关键。普通模型每张图各自为政而 Zero123 生成的 6 张图会保持同一个物体、同一套细节直接可以拿去做 3D 重建的输入素材。上图是 Zero123 对蘑菇灯、动漫角色、玩具、南瓜马车等多种物体生成的多视角结果可以看到每个物体 6 个视角的造型、配色高度一致。三种上手路径选一条适合你的项目提供了从易到难的三条路径图形界面、Python 代码、命令行脚本。新手建议走第一条开发者可以直接跳到第二条。路径一2 分钟跑起图形界面适合零基础这是最省心的方式项目内置了两个 Web 界面任选其一# 先安装依赖需要 Python 环境 pip install -r requirements.txt # 方式 A启动 Streamlit 界面 streamlit run app.py # 方式 B启动 Gradio 界面 python gradio_app.py浏览器会自动打开一个上传页面你只需要上传一张方形图片点击生成稍等片刻就能看到 6 个视角的结果平铺在界面上。界面里还内置了背景移除基于 SAM 分割的预处理逻辑可以一键把照片里的主体抠出来再生成效果更干净。路径二10 行代码接入自己的项目适合开发者如果你想把生成能力集成到自己的程序里官方提供了 diffusers 自定义管道几行代码就能调用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) # 读取你的图片注意必须是方形 cond Image.open(your_image.jpg) # 生成返回的是一张6宫格拼接图 result pipeline(cond, num_inference_steps75).images[0] result.save(output.png)这段代码做的事情很直白加载模型 → 读取图片 → 推理生成 → 保存结果。其中num_inference_steps是推理步数步数越多细节越丰富、耗时越长。上面这个示例大约需要 5GB 显存。路径三直接运行官方示例脚本不想自己拼代码可以 clone 仓库后直接跑现成脚本git clone https://gitcode.com/gh_mirrors/ze/zero123plus cd zero123plus pip install -r requirements.txt python examples/img_to_mv.pyexamples/img_to_mv.py是官方的单图转多视角示例跑完会在当前目录生成output.png。examples/目录下还躺着好几个同类脚本比如text_to_img.py文生图、depth_controlnet.py深度控制、normal_gen.py法线生成后面进阶部分会讲到。新手最常见的5个问题一次讲清Q1输入图片有什么要求方形、清晰、主体完整。官方推荐分辨率至少 320×320越大细节越好。如果原图不是方形建议先裁剪或加白边补成方形别让主体被裁掉一半。Q2推理步数设多少合适普通物体杯子、玩具、日用品28 步左右就够了带精致细节的物体人脸、二次元角色、复杂花纹建议75~100 步给模型足够时间去雕琢细节。步数不是越多越好超过 100 步边际收益很低还白等时间。Q3默认结果带灰色背景怎么办这是正常现象——模型默认输出带灰色背景的不透明图灰色是 Stable Diffusion VAE 的零值。想得到透明背景用rembg库一条命令即可import rembg result rembg.remove(result) result.show()Q4能固定生成结果吗可以。设置随机种子torch.manual_seed()就能复现同一结果不设种子每次都会得到略有差异的变体适合批量探索不同风格。Q5对显卡有要求吗基础生成示例约需 5GB 显存加了深度 ControlNet 约 5.7GB。没有独显的机器可以先用官方 Demo 体验效果或者调低输出分辨率凑合跑。进阶玩法让生成结果再上一个台阶玩法一输入带引导输出更可控如果你有一张深度图depth map可以用深度 ControlNet 引导生成让输出的 6 个视角严格贴合深度信息。参考examples/depth_controlnet.py核心就一行pipeline.add_controlnet(ControlNetModel.from_pretrained( sudo-ai/controlnet-zp11-depth-v1, torch_dtypetorch.float16 ), conditioning_scale0.75)conditioning_scale控制深度信息的约束强度默认 0.75想让结果更贴合深度图可以调高到 1.0但太高会让画面显得僵硬建议在 0.5~1.0 之间试。玩法二v1.2 专属的法线生成器v1.2 版本新增了法线生成器 ControlNetsudo-ai/controlnet-zp12-normal-gen-v1能生成视图空间的法线图。法线图是什么简单说就是给每个像素标出这个表面朝向哪里它在 3D 重建、光照计算里是核心数据。用法参考examples/normal_gen.py先跑主模型生成 6 视角图再把它作为输入跑一次法线生成器得到normals.png。官方在 Objaverse 验证集上的指标很能打alpha 掩码 IoU 98.81%、平均法线角度误差仅 10.75°。左侧是 Zero123 生成的汉堡多视角彩色图右侧是配套的法线图每一层馅料的表面朝向都被清晰标注出来。玩法三用 matting 抠出高质量透明图法线图还有个妙用——生成比 SAM 更精确的遮罩。examples/matting_postprocess.py里的postprocess函数会把法线图转为前景/背景三值图trimap再通过 pymatting 库估计 alpha 通道最后输出干净的透明背景图和抠好的法线图。如果你做电商图、做 3D 重建需要干净遮罩这条链路值得一试。玩法四理解相机参数掌握机位输出的 6 个视角是固定的相机位姿方位角相对输入视角30°、90°、150°、210°、270°、330°正好绕物体一圈仰角v1.2 版本20°、-10°、20°、-10°、20°、-10°俯视与平视交替视场角v1.2 版本统一为 30°。v1.2 把仰角从 v1.1 的 30°/-20° 调整为 20°/-10°并统一输出视场角为 30°更贴近现实中近距离观察物体的视角也提高了对不同输入视场角、裁剪方式的鲁棒性。简单说新版本更适合 3D 生成场景输出更规整。它到底能用在哪儿三个真实场景电商产品展示给商品拍一张图自动生成一圈多角度视图详情页直接放 6 连拍比干巴巴一张主图有说服力得多。游戏与动画前期角色设计图、道具草图丢进去几秒钟得到多角度预览快速验证造型比手绘转面图高效几个量级。动漫角色的银发、猫耳、礼服细节在多个视角下都保持了高度一致这种角色类输入正是细节密集型场景建议推理步数拉到 75 以上。创意内容生产不只是真实物体天马行空的组合场景也能生成。官方示例里甚至有一张幽灵吃汉堡的创意图说明模型对虚构角色、复杂场景同样有不错的理解力。需要留意的几件事许可协议代码采用 Apache 2.0模型权重采用 CC-BY-NC 4.0——意味着模型本身不能直接用于商业产品管线但模型生成的输出可以自由使用你需要对自己生成的输出及后续用途负责。版本选择追求通用效果用 v1.1 即可做 3D 生成、需要法线图请升级到 v1.2对应模型sudo-ai/zero123plus-v1.2。环境提示官方推荐 diffusers 0.20.2 和 torch 2.0老版本 diffusers 可能损失部分性能timestep_spacing参数在老版本中不受支持。从哪里获得更多帮助项目根目录的README.md包含完整使用说明与版本更新日志examples/目录提供了 5 个可直接运行的示例脚本覆盖多视角生成、深度控制、法线生成、抠图后处理diffusers-support/pipeline.py是自定义管道的源码想深入研究的可以读它。从一张照片到一圈视角中间只差一个 Zero123。它把过去需要专业软件、专业技能才能完成的活压缩成了几行代码或一次点击。今天就可以动手随便找一张你手机里的照片跑一遍上面的流程当 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),仅供参考
返回列表