摘要
Vision Banana是Google DeepMind提出的通用视觉模型,核心思想是"感知即生成"(Perception as Image Generation):在图像生成基座模型Nano Banana Pro上进行低比例指令微调,将所有视觉任务(语义分割、实例分割、度量深度、表面法线)统一为"生成一张RGB图像"的范式。无需任务专用解码头,zero-shot在Cityscapes语义分割(mIoU 69.9超SAM 3的65.2)、度量深度(delta1 0.929超Depth Anything V3的0.918且不需要相机内参)等多项任务上达到SOTA或接近SOTA。
论文:Image Generators are Generalist Vision Learners
一、问题背景
当前视觉理解领域的主流范式是为每个任务设计专用模型:SAM系列做分割、Depth Anything系列做深度、专用法线估计网络做表面法线。每个模型有独立的编码器、解码器和训练流程。
Vision Banana的核心问题:能否像LLM一样,用一个生成式预训练模型覆盖所有视觉理解任务?
关键观察:
- LLM通过next-token预训练学会了语言理解,那么图像生成预训练是否也学会了视觉理解?
- 如果把分割mask编码为彩色图、深度编码为伪彩色图,那么"视觉理解"就等价于"条件图像生成"
二、核心方法
2.1 整体架构
图 1:Vision Banana系统架构。重点看中间红色高亮的Universal RGB Output Interface——所有视觉任务统一为生成一张可逆编码的RGB图像,无需任何任务专用头。来源:重绘自 design skill
核心流程:
- 输入RGB图像 + 自然语言指令(如"预测度量深度图"或"用红色标注所有汽车")
- 生成模型输出一张RGB图像(深度伪彩色图 / 分割着色图 / 法线色图)
- 对生成的RGB图像做逆映射,恢复出任务输出(米制深度值 / 分割mask / 法线向量)
2.2 指令微调策略
不重新训练,而是低比例混合:将视觉任务数据以极低比例混入原始生成训练数据中。这样既让模型学会响应视觉任务指令,又保持原始生成能力(T2I 53.5% win rate vs base,近乎无损)。
训练数据来源:
- 2D任务:网络爬取图像 + 内部模型标注
- 3D任务:合成渲染引擎生成(零真实世界深度数据)
- 严格排除所有评测benchmark的训练集
2.3 度量深度的RGB编码
这是论文技术含量最高的部分。如何将d ∈ [ 0 , ∞ ) d \in [0, \infty)d∈[0,∞)的深度值编码为RGB像素?
Step 1: Power Transform Warp
f ( d , λ , c ) = 1 − ( 1 − d λ c ) λ + 1 f(d, \lambda, c) = 1 - \left(1 - \frac{d}{\lambda c}\right)^{\lambda + 1}f(d,λ,c)=1−(1−λcd)λ+1
参数λ = − 3 \lambda = -3λ=−3,c = 10 / 3 c = 10/3c=10/3。将深度映射到[ 0 , 1 ] [0, 1][0,1],近处分辨率高、远处压缩(类对数行为)。
Step 2: 3D Hilbert Curve → RGB
归一化深度[ 0 , 1 ] [0, 1][0,1]沿RGB立方体边缘做分段线性插值。Hilbert空间填充曲线保证相近深度值映射到相近颜色,最大化色彩区分度。
训练增强:同时使用Plasma/Inferno/Viridis/灰度等多种colormap训练,模型学会从任意颜色方案反推深度,增强鲁棒性。
推理时不需要相机内参——这是超越Depth Anything V3的关键优势。
2.4 语义分割的RGB编码
Semantic Segmentation:为每个类别预定义颜色,模型生成对应着色图,后处理时每个像素取最近RGB类别。支持多种prompt风格:自然语言描述、JSON格式、hex码、RGB元组。
Instance Segmentation:模型动态为未知数量的实例分配唯一颜色。后处理通过5阶段聚类算法:
- 背景初始化(颜色容差τ = 14 \tau = 14τ=14)
- 颜色相似度分组(16连通域)
- 噪声裁剪(面积阈值θ = 2 × 10 − 4 \theta = 2 \times 10^{-4}θ=2×10−4)
- 边界伪影消除(3 × 3 3 \times 33×3腐蚀,θ erosion = 0.1 \theta_{\text{erosion}} = 0.1θerosion=0.1)
- 空间约束合并(扩展因子γ = 5.0 \gamma = 5.0γ=5.0)
2.5 表面法线编码
相机空间法线直接映射到RGB:
R = trunc ( 1 − n x 2 ) × 255 , G = trunc ( 1 + n y 2 ) × 255 , B = trunc ( 1 + n z 2 ) × 255 R = \text{trunc}\!\left(\frac{1-n_x}{2}\right) \times 255, \quad G = \text{trunc}\!\left(\frac{1+n_y}{2}\right) \times 255, \quad B = \text{trunc}\!\left(\frac{1+n_z}{2}\right) \times 255R=trunc(21−nx)×255,G=trunc(21+ny)×255,B=trunc(21+nz)×255
右手坐标系:+ x +x+x向右,+ y +y+y向上,+ z +z+z朝向相机。直觉:面向相机的平面呈浅蓝色,向左倾斜偏粉红,向上倾斜偏浅绿。
三、实验分析
图 2:度量深度流水线细节与"感知即生成"的设计优势分析。重点看Power Transform公式和delta1结果对比——VB用纯合成数据且不需内参,仍超过使用真实数据+内参的Depth Anything V3。来源:重绘自 design skill
3.1 语义分割
| 方法 | Cityscapes mIoU | 条件 |
|---|---|---|
| SAM 3 (zero-shot) | 65.2 | zero-shot |
| Vision Banana | 69.9 | zero-shot |
| SegMan-L | 84.2 | non-zero-shot |
3.2 实例分割(SA-Co/Gold)
| 方法 | cgF1 | IL_MCC | pmF1 |
|---|---|---|---|
| OWLv2 | 24.6 | - | - |
| VB + Gemini | 47.5 | 0.84 | 56.0 |
| SAM 3 (trained) | 54.1 | - | - |
3.3 度量深度估计
| 方法 | NYU delta1 | ETH3D delta1 | KITTI delta1 | 平均 delta1 | 内参需求 |
|---|---|---|---|---|---|
| Depth Anything V3 | .964 | .853 | .876 | .918 | 训练+推理 |
| Vision Banana | .948 | .935 | .915 | .929 | 不需要 |
VB在ETH3D和KITTI上反超DepthAnyV3,平均高1.1个点,且完全不使用相机内参、不使用真实世界深度训练数据。
3.4 表面法线估计
| 方法 | 平均mean error | 平均median error |
|---|---|---|
| Lotus-2 | 19.64 | 9.68 |
| Vision Banana | 18.93 | 9.30 |
3.5 Referring Expression Segmentation
| 方法 | RefCOCOg cIoU | ReasonSeg gIoU |
|---|---|---|
| SAM 3 + Gemini 2.5 Pro | 73.4% | 77.0% |
| VB + Gemini 2.5 Pro | 73.8% | 79.3% |
四、关键设计决策
4.1 为什么生成预训练能学会视觉理解?
生成模型要合成逼真图像,必须理解场景结构:物体边界(→分割)、空间关系(→深度)、表面朝向(→法线)、光照交互(→材质)。这些理解是生成质量的必要条件,因此生成预训练天然积累了视觉理解能力。
4.2 可逆RGB编码的精妙之处
所有编码方案都保证双射(bijective):RGB↔ \leftrightarrow↔task output 一一对应。这让标准图像生成loss直接作为任务loss使用,无需设计task-specific损失函数。
4.3 歧义处理的分布式优势
传统分割模型需要multi-mask trick处理边界歧义(如SAM的3个mask输出)。生成模型天然学习完整数据分布,在采样时即隐式处理歧义。
小结
Vision Banana的核心贡献是实证了图像生成预训练产生的视觉表征足以支撑通用视觉理解,且通过可逆RGB编码将异构任务统一到单一生成范式。
创新点:
- "感知即生成"范式——无需任务专用decoder,所有视觉任务→生成RGB图像→逆映射
- Power Transform + Hilbert Curve的度量深度编码——双射、连续、无需相机内参
- 低比例指令微调——保持生成能力的同时获得视觉理解能力
局限性:
- 计算开销远高于轻量级专用模型(生成推理本身就慢)
- 实例分割后处理复杂(5阶段聚类),且仍落后于SAM 3 trained版本
- nuScenes深度delta1仅0.643,远距离场景表现差
- 未公开具体模型架构和参数量
个人判断:这篇论文的意义类似GPT-3之于NLP——证明了一个"足够大的生成模型+正确的编码方案"可以通吃多个视觉任务。Power Transform + Hilbert Curve的深度编码设计尤为精彩,将连续物理量映射到离散像素空间的思路有普适价值。但"慢"是致命问题——实时系统(如VIO/SLAM)不可能用生成模型做深度估计。中期看,这一范式更适合离线场景(3D重建、机器人场景理解),实时场景仍需轻量专用网络。长期看,如果生成模型推理速度能提升1-2个数量级,"感知即生成"可能真的统一视觉理解。