生图平面类

一张图里同时有画面和距离:开源模型第一次把「深度」塞进生图模型的同一条去噪链,但许可证不是 Apache 2.0

2026年11月12日1 次阅读
一张图里同时有画面和距离:开源模型第一次把「深度」塞进生图模型的同一条去噪链,但许可证不是 Apache 2.0

3分钟看懂

11 月 11 日晚,西班牙两人团队 Speridlabs 在 Hugging Face 上传了一个叫 Iris-Z 的图像模型。它的特别之处不是画得更好看,而是一套权重同时会做四件事:

  • 文生图(prompt → 图)
  • 文生图 + 深度图(prompt → 图 + 灰度深度图)
  • 照片 → 深度图(单张照片,不需要第二台相机或深度传感器)
  • 深度图 → 成图(给定空间布局,反推画面)

它有两个尺寸:Iris-Z-big 32.2B 参数、Iris-Z-small 9.1B 参数,都基于 Black Forest Labs 的 FLUX.2。

为什么这件事值得看:过去你要出图,用 FLUX 或 Stable Diffusion;要估深度,另装一个专用模型,比如 MoGe-3 或 Marigold。两套模型、两次前向、还得自己对齐坐标。Iris-Z 把深度当成"另一种图"塞进同一条去噪序列,让画面和几何在每一步相互修正。官方自测的深度精度,第一次超过了专用模型 MoGe-3。

但有三句必须提前说清楚:

  1. 不是 Apache 2.0。 模型卡写的是 license_name: flux-non-commercial-license,只有代码是 Apache-2.0。这是本轮中文稿集体写错的地方。
  2. 显存门槛高。 big 版跑全部任务约 112 GB,small 版约 33 GB。24 GB 的消费卡跑不了全任务。
  3. 它慢。 同一张图出深度,MoGe-3 要 0.4 秒,Iris-Z-small 要 4.8 秒,big 要 15 秒。

它「合」的到底是什么

多数"多任务模型"的做法是:一个主干加几个头,或者两个网络串起来。Iris-Z 没这么做。

项目页的原话是:「One sequence, one backbone」。具体做法是把深度存成归一化的对数射线距离,编码成一张图,再交给同一个 VAE,然后和画面 token 放进同一条序列。没有 depth head,没有第二个网络。

这样带来的差别是:深度不是生成完再算的后处理,而是在去噪的每一步都跟画面互相约束。你让它画一间屋子,它同时得决定墙离你多远;这两个判断必须自洽,否则早期步就会互相拉扯。团队的说法是「image and depth condition each other at every step of denoising」。

这也是它能超过专用模型的结构性原因:专用深度模型只看一张已经画好的图,是"事后猜";Iris-Z 是在"画的时候就知道"。

跑分:整体赢了,但单项会输

官方给了两张表,分别按 MoGe-3 和 Marigold 两套评测协议。指标是 AbsRel×100,越低越好。

MoGe-3 协议(7 个数据集,relative-error L1 对齐):

  • MoGe-3(团队自己复现):平均 3.70
  • Iris-Z-small:3.84
  • Iris-Z-big:3.56

Marigold 协议(5 个数据集,RANSAC log 深度对齐):

  • MoGe-3(复现):平均 3.12
  • Marigold V2(复现):4.10
  • Iris-Z-small:3.11
  • Iris-Z-big:2.92

看出来了吗——small 版在 MoGe-3 协议上其实输了(3.84 vs 3.70)。真正全面领先的是 32B 的 big 版。

还有一个细节值得指出:在 MoGe-3 协议表的 DIODE 这一列,Iris-Z-big 是 3.18,MoGe-3 是 2.65,官方自己把加粗给了 MoGe-3。这说明它是"平均分赢、个别数据集输",不是全面压制。

团队自己在项目页写了一句很实在的话:「a specialist is still much cheaper per image」(专用模型单张图的成本还是低得多)。这句话比任何跑分都值得记住。

速度与显存:真正的门槛在这里

以下全部是单张 H200、SDK 默认参数的数字,不是你手上那张卡的数字。

  • 文生图(50 步):big 512² 33.2 秒 / big 1024² 122.8 秒 / small 512² 10.2 秒 / small 1024² 38.3 秒
  • 文生图 + 深度(50 步):big 34.6 / 128.2 秒;small 10.8 / 40.3 秒
  • 图 → 深度(只要 4 步):big 1.44 / 5.29 秒;small 0.52 / 1.92 秒
  • 深度 → 图(50 步):big 33.3 / 123.0 秒;small 10.3 / 38.5 秒

显存:big 跑全部任务约 112 GB,small 约 33 GB。

翻译成实际硬件:

  • big 基本是 1 张 H200(141 GB)或 2 张 H100 80G。
  • small 的 33 GB 卡在 A100 40G 之下、4090 24G 之上——单卡 A100 40G 能跑,消费级 24 GB 卡跑不了全任务。
  • 分辨率只支持 512 和 1024,没有更高档。

对比一下:MoGe-3 用 ViT-G 一次前向 0.4 秒;Iris-Z 的精度是用 8 到 40 倍的时间换来的。

许可证:这是本轮所有中文稿都写错的地方

先看官方字段。Hugging Face 模型卡的 YAML 头写得很清楚:

  • license: other
  • license_name: flux-non-commercial-license
  • license_link:指向 black-forest-labs/FLUX.2-dev 的 LICENSE.txt
  • base_model:black-forest-labs/FLUX.2-dev、black-forest-labs/FLUX.2-klein-base-9B

而 SDK 仓库 README 的 License 段落只有一句:「The code is licensed under the Apache License 2.0」。

也就是说:代码 Apache-2.0,权重继承 FLUX 非商用许可。 这两件事被传播时被合成了一句"权重、代码、demo 全部 Apache 2.0",这是错的。

还有第二层坑:Iris-Z 还要读 FLUX.2 的 autoencoder,而这个仓库是 gated 的。你必须先去 black-forest-labs/FLUX.2-dev 页面接受条款、再 hf auth login,才能跑起来。也因为这个门禁,我在未登录状态下无法读到 LICENSE.txt 原文(返回 "Access to model is restricted"),所以具体商用条款我不做解读——想商用的人必须自己走一遍这个流程去读。

顺带说一句:今天的中文 AI 日报(比如 RecsysFrontier 的 11-12 期)把这句"全部 Apache 2.0"写进去了。基于多家媒体转述整理的信息里,这一条是错的,以官方模型卡字段为准。

怎么用:三条路径,按你的硬件选

路径一:只想看看效果(零门槛)

HF Space 已经在线:speridlabs/iris-z,跑在 zero-a10g 上,状态是 RUNNING。上传一张照片就能看图→深度。

路径二:本地跑全套

  1. git clone https://github.com/speridlabs/iris-z-sdk.git
  2. cd iris-z-sdk
  3. uv sync(Python 3.10 / PyTorch 2.9.1 / CUDA 13.0)

环境要求写得很硬:NVIDIA 驱动 580 或更新(因为 PyTorch 是 CUDA 13.0 构建)。Apple Silicon 和 AMD 卡目前没有路径。

然后要先登录:

  • hf auth login(要先在 HF 上接受 black-forest-labs/FLUX.2-dev 的条款)

四条命令对应四个任务:

  • uv run python -m iris_z.sample image --prompt "a lighthouse at dusk" —— 纯文生图
  • uv run python -m iris_z.sample rgbd --prompt "a lighthouse at dusk" —— 图 + 深度
  • uv run python -m iris_z.sample depth --image photo.jpg —— 照片 → 深度
  • uv run python -m iris_z.sample paint --depth-map depth.png --prompt "a snowy village" —— 深度 → 成图

路径三:只做深度,省显存

image_to_depth 不需要文本编码器。关掉它,只加载 transformer + autoencoder:

用 Python 直接调,两行就够:

  • from iris_z import IrisZPipeline
  • p = IrisZPipeline.from_pretrained("speridlabs/iris-z", variant="big", load_text_encoder=False)
  • depth = p.image_to_depth("photo.jpg", seeds=range(10))

CLI 上就是 --model small --resolution 512。

适用场景:谁该用

  • 3D 重建的前处理:需要"图和几何严格对应"的时候,同一条去噪链比两个模型拼起来更稳。
  • 机器人与具身智能:单目深度是抓取、避障的输入,而且这里要的是几何精度不是画面好看。
  • 合成训练数据:一次拿到成对的 RGB + 深度,标注成本近乎零。
  • ControlNet 式控图:depth → image 这条路径本质就是"给定布局生成",比外部 ControlNet 更紧。
  • 需要深度但只有一张照片:不用双目、不用 LiDAR。

不适用场景:谁别碰

  • 只想出好看的图:直接用 FLUX 或 SD,单张成本低一到两个数量级。
  • 只有 24 GB 消费卡:small 要 33 GB,big 要 112 GB,都跑不了全任务。
  • 要商用又不想读许可:权重是 FLUX 非商用许可继承,先别规划产品化。
  • 要 2K/4K:只支持 512 和 1024。
  • 要绝对尺度深度:它输出的是相对对数深度,要米制得自己标定。
  • 要实时:1024 深度 5.29 秒是 H200 上的数字。

避坑:五个容易踩的地方

  1. 别按"Apache 2.0"做商业规划。 代码开源 ≠ 权重开源。模型卡字段才是准的。
  2. 别忘了 gated 仓库。 没 hf auth login 也没接受 FLUX.2-dev 条款,第一次跑会直接 401。
  3. 深度是相对值,不是米。 输出 .npy 是 relative log depth,另外给你一张上色的 PNG(近红远蓝)。要真实距离,得自己做尺度标定。
  4. 单次结果会抖,论文口径是十次中位数。 官方基准用的是 seeds=range(10) 逐像素取中位数。拿单次结果去对比别人的论文数字会失真。
  5. 分辨率不要混搭。 --resolution auto 的规则是:图像小于 0.5 MP 用 512,大于用 1024。你要拿 512 的深度去配 1024 的图,得显式指定,别让它自动选。

成本和时间:算一笔实在账

  • 权重:免费下载,但要 gated 权限。
  • 硬件:big ≈ 1×H200 或 2×H100 80G;small ≈ 1×A100 40G。
  • 出图:1024² 一张,big 约 2 分钟,small 约 38 秒(H200)。文生图+深度几乎不额外加时间(128.2 对 122.8 秒)。
  • 出深度:1024² 一张,big 5.29 秒,small 1.92 秒。
  • 云端折算:按 H200 小时租价摊到单张图,成本明显高于直接调 FLUX 接口。它的价值在"顺带拿到几何",不在"更便宜的图"。

一句话:如果你本来就要深度,这套是省事;如果你只要图,这套是浪费。

行动建议

第一步,什么卡都不用准备:打开 HF Space,传一张你自己拍的、有头发和玻璃的照片。这两个是深度模型最容易崩的地方——头发会糊成一片,玻璃会判成实墙。看一眼就知道它值不值得你投入。

第二步,如果你已经在用 MoGe-3 或 Marigold 做 3D 重建,拿同一批图跑一遍 Iris-Z 的深度,比下游重建质量,不要只比 AbsRel。AbsRel 赢 5% 不代表网格就好看。

第三步,商用之前,走一遍 black-forest-labs/FLUX.2-dev 的 gated 流程,把 LICENSE.txt 逐条读完。这一步没人能替你做。

参考来源

  • Hugging Face 权重页:https://huggingface.co/speridlabs/iris-z
  • 官方项目页(含论文与完整跑分):https://speridlabs.com/research/iris-z
  • 官方 SDK:https://github.com/speridlabs/iris-z-sdk
  • 官方 Demo:https://huggingface.co/spaces/speridlabs/iris-z
  • Tokenstrom 报道(11-11):https://tokenstrom.com/posts/iris-z-open-flux-2-based-model-generates-images-and-their-depth-maps-i/
  • adsimple KI-Update(11-12,德文):https://www.adsimple.at/ki-update-12-november-2026/

评论

0 条已公开
登录或注册后可以参与评论。

正在加载评论...