一个模型搞定所有视觉任务? SenseNova-Vision 用统一多模态生成给出了答案
计算机视觉这几十年的发展,有点像一座座各自为政的孤岛。做检测的用边界框,做分割的出掩膜,做深度估计的输出灰度图,做三维重建的又要处理点云和相机参数。每个任务都有自己的输出格式、自己的网络头部、自己的评价指标。你要是想用一个模型同时干好几件事,光是输出空间怎么统一就够头疼的。
SenseNova-Vision 这条技术路线,想解决的问题很直接:能不能把计算机视觉里五花八门的任务,全部装进同一个生成式框架里? 就像 GPT 用文本生成统一了 NLP 一样,视觉任务能不能也用”生成”这个单一接口来覆盖?
他们的答案是:可以。而且不需要给每个任务单独设计预测头。
统一多模态生成,到底解决了什么痛点
先看一个具体场景。假设你要做一个视觉系统,既要识别图片里的物体(检测),又要抠出物体轮廓(分割),还要估计场景的深度信息。按照传统做法,你得维护三个独立的模型,或者至少在一个模型上挂三个不同的输出头。训练的时候,每个任务的监督信号各走各的,互不干涉,也互不帮助。
SenseNova-Vision 换了个思路。它把视觉任务的输出统统映射到两种模态上:文本 和 图像。
-
结构化信息,比如检测框坐标、关键点、OCR 识别结果、相机位姿,用文本生成。 -
稠密空间信息,比如深度图、法线图、分割掩膜、三维点云地图,用图像生成。
就这么简单。不需要引入什么特殊的输出头,不需要为每个任务设计不同的解码逻辑。所有任务共享同一个生成器——文本生成走 LLM 的 next-token prediction,图像生成走扩散模型的 VAE 隐空间。两种损失函数在同一次训练中交替优化,参数共享。
你可能觉得这不过是个工程 trick。但在训练层面,这件事的意义不小。不同视觉任务的监督信号第一次可以在同一个参数空间里互相影响。检测任务的坐标信息可以帮助分割任务理解空间位置,分割任务的掩膜信息可以帮助深度估计理解物体边界。这种跨任务的迁移,在以前的任务专用架构里很难实现,因为每个任务的梯度更新路径是隔离的。
我一开始看到这个设计时,最担心的是图像生成的质量能不能满足稠密预测的要求。毕竟扩散模型擅长生成自然图像,但深度图和法线图对数值精度要求很高,差几个像素的灰度值就可能导致几米的深度误差。从实验数据来看,这个问题比我想象的要可控,后面会细说。
四类视觉任务,一套生成接口
SenseNova-Vision 覆盖了四个大的任务家族,每个家族的输出格式在统一框架下都有明确的编码约定。
结构化视觉理解:文本生成搞定检测、OCR、关键点
这类任务的输出天然适合用文本表示。检测框就是四个归一化坐标,关键点就是一组命名坐标点,OCR 结果就是文本加框。
论文里定义了一套轻量级的标记语法,比如 <p>person</p> 表示类别标签,<bbox>[0.1, 0.2, 0.5, 0.8]</bbox> 表示边界框。模型在训练时看到的就是这种带标记的文本序列,生成的时候也按同样格式输出。后处理只需要做简单的正则解析,就能还原成标准的检测结果。
这种做法的好处是,模型可以用同一套文本生成能力来处理检测、指代理解、点定位、GUI 元素定位等多种任务,只需要在 instruction 里告诉它要做什么就行了。比如”Detect all persons in the image”和”Find the object referred to by ‘the red cup on the table'”,底层都是生成带坐标的文本序列,只是指令和标记的排列方式不同。
稠密几何预测:图像生成输出深度和法线
深度图和法线图跟输入图像共享同一个空间布局,用图像生成来做是顺理成章的事。
深度图被编码成逆深度后映射到 0-255 灰度区间,法线图的三个分量直接对应 RGB 三个通道。模型生成的是一张看起来像灰度图或彩色图的图像,但实际上携带的是几何信息。解码的时候按逆变换还原成数值深度或法线向量。
这种编码方式有一个工程细节值得一提:为了适配不同的深度范围,训练时把有效深度值裁剪到 0.1m-80m 区间,超出部分当作无效像素处理。法线图则额外过滤掉天空区域占比超过 10% 的样本,避免大面积无效区域干扰训练。
分割:文本加图像混合输出
分割任务比稠密预测复杂一点,因为不仅要输出掩膜,还要告诉用户每个掩膜对应什么类别或什么描述。
对于单目标分割(指代分割、推理分割、交互式分割),输出一张二值掩膜图就够了。前景用白色,背景用黑色,解码时直接阈值化。
对于多目标分割(语义分割、全景分割、GCG 分割),需要同时输出实例列表和对应的彩色掩膜。实例列表用文本生成,每个实例配一个 RGB 颜色标记;掩膜图用图像生成,不同实例用对应的颜色填充。训练时,文本和图像是分开监督的——文本部分走 CE loss,图像部分走 rectified-flow loss,但在同一个样本里同时优化。
这个设计有个实际的好处:用户可以自由指定颜色描述方式。你可以说”用红色标出所有行人”,也可以说”用十六进制 #FF0000 标记行人”,模型都能理解并生成对应的彩色掩膜。这种灵活性来自文本和图像的耦合——颜色语义在文本空间被理解,颜色值在图像空间被渲染。
多视图视觉几何:多图像输入,混合输出
多视图重建和相机位姿估计需要同时处理多个输入图像,输出每个视图的三维点云地图和相机参数。
点云地图用图像生成输出——每个视图生成一张 RGB 三通道图,三个通道分别编码该像素的 XYZ 世界坐标。相机位姿用文本生成,旋转用四元数表示,平移分解为方向向量和尺度,全部量化成特殊 token 输出。
这个任务对跨视图对齐能力要求很高。训练时每个场景最多采样 10 个视图,所有视图的点云对齐到第一帧的坐标系。为了处理稀疏深度标注的数据集(比如 LiDAR 扫描),他们用 LingBot-Depth 补全深度图,再转换成点云。这套预处理流程在附录里有详细的过滤阈值说明。
数据怎么来?50M 样本的语料库构建
统一输出格式只是第一步。要让模型学会用这些格式表达各种视觉任务,需要海量的配对数据——输入图像加上对应的文本或图像目标输出。
SenseNova-Vision 的解决方案是构建一个大规模转换语料库 SN-VC,把现有的公开视觉数据集转换成统一的 instruction-response 格式。这个语料库覆盖了四个任务家族,总样本量超过 5000 万条(其中 5000 万条作为开源子集 SN-VC-50M 发布)。
数据转换的逻辑不复杂但工作量巨大。每个源数据集都有自己的一套标注格式,需要写对应的转换脚本,把边界框、分割掩膜、深度图、相机参数等原始标注,映射到统一的文本或图像目标格式。同时,每条数据要配一条自然语言指令,告诉模型这是什么任务、输出格式是什么。指令模板是多样化的——同一个任务有几十种不同的措辞方式,避免模型过拟合到固定的 prompt 模式。
对于标注不完整或质量不够高的数据集,他们用额外的数据引擎来补全。比如用 MoGe-2 给稀疏的 LiDAR 深度图生成稠密伪标签,用 Rex-Omni 的 pipeline 扩充检测和 OCR 数据。这部分补全数据单独开源为 SN-VC-50M,其余能从公开数据集直接转换的部分则提供转换脚本,让用户自己生成。
一个值得注意的细节是:对于与评测基准重叠的数据集,训练时会特意排除对应的评测图像和标注,确保评测结果不是来自数据泄露。
训练策略:怎么让一个模型同时学会文本和图像生成
模型基座是 Bagel-7B-MoT,一个原生支持多模态理解和生成的 UMM。SenseNova-Vision 是在这个基座上做 SFT,没有改变模型架构,只是改了训练数据配比和部分超参数。
训练数据分为两类。一类是 SN-VC 里的视觉任务样本,提供结构化的视觉监督信号。另一类是通用的多模态数据——VQA、图文生成、图像到图像翻译等——用来保持基座模型的通用能力不退化。
两类数据在训练时按比例混合采样。每个 mini-batch 里可能同时包含检测样本(走文本 loss)、深度估计样本(走图像 loss)、VQA 样本(走文本 loss)和图像编辑样本(走图像 loss)。文本 loss 和图像 loss 在同一个优化步骤里交替计算,梯度累加后统一更新参数。
这种混合训练策略有一个实际风险:不同任务的梯度方向可能冲突,导致某个任务学得快、另一个任务学得慢甚至退化。从论文里的收敛曲线来看(图 6),深度和法线估计收敛最快,多视图重建次之,稠密检测收敛最慢。这说明模型确实存在任务间的学习速度差异,但最终各项指标都收敛到了可接受的水平,没有出现灾难性遗忘。
高分辨率输入是另一个关键点。Bagel 原版在生成侧对 SigLIP2 的输入分辨率有限制,但分割和稠密预测任务对空间细节很敏感。SenseNova-Vision 把生成侧的 SigLIP2 分辨率上限提升到了 980 像素,同时保持理解侧的分辨率不变。这个改动让分割和深度估计的细节保留能力有明显提升。
效果怎么样?跟专用模型比,差距在缩小
结构化视觉理解:多项领先
在 COCO 通用检测上,SenseNova-Vision 的 mAP 达到 53.7,超过了 Youtu-VL 的 47.1。在 LVIS 长尾检测和 Dense200 密集小目标检测上,表现也优于近期通用的视觉模型。OCR 定位在 HierText 和 ICDAR15 上取得了不错的结果,指代理解在 RefCOCO/+/g 三个子集上的表现与专用模型 LISA 和 X-SAM 接近。
这些结果说明,用文本生成做结构化输出,在精度上已经可以跟任务专用架构掰手腕了。尤其是密集检测场景——一张图里可能有好几十个小目标,模型需要在一次生成中输出几十个带坐标的条目——能做到不遗漏、坐标不漂移,说明文本生成的空间精度是够用的。
稠密几何预测:逼近专用模型
在 NYUv2、KITTI、ETH3D、ScanNet、DIODE 五个深度估计基准上,SenseNova-Vision 的 δ1 指标(精度阈值下的像素比例)都超过了 95%,在 NYUv2 上达到 98.1%,跟 Depth Anything V2 的 97.9% 非常接近。法线估计的 mean error 在 NYUv2 上达到 14.4°,接近 MoGe-2 的 14.7°。
跟同属生成式路线的 Marigold、DICEPTION、Lotus-2 相比,SenseNova-Vision 在所有深度基准上都领先。这说明用扩散模型做稠密预测这条路线是可行的,而且在统一多模态框架下,模型还能同时处理其他任务,不会因为多任务学习而牺牲单任务精度。
分割:推理分割是亮点
在全景分割和语义分割上,SenseNova-Vision 的 PQ 和 mIoU 略低于 X-SAM 等专用分割模型——毕竟专用模型用了 SAM 或 Mask2Former 这类强掩膜先验,而 SenseNova-Vision 是从零学习生成掩膜图像,没有这种先验。
但在推理分割(ReasonSeg)上,SenseNova-Vision 的 gIoU 达到 63.2,超过了 LISA 的 52.9 和 X-SAM 的 56.6。推理分割要求模型理解复杂的语言描述(比如”那个只有在最后才能被打进洞里的球”),然后生成对应的掩膜。这个任务对视觉-语言联合理解能力要求很高,SenseNova-Vision 的优势可能来自它在统一框架下同时接受了大量检测、指代理解和 VQA 数据的训练,跨模态对齐更充分。
多视图几何:跟专用模型还有差距
在多视图点云重建和相机位姿估计上,SenseNova-Vision 的表现跟 VGGT 和 Depth Anything 3 这类专用几何模型相比还有明显差距。比如在 7Scenes 重建的 F1 分数上,专用模型普遍在 70+,SenseNova-Vision 在 60 左右。
这个差距不让人意外。多视图几何涉及跨视图的特征匹配、三角化、位姿优化等复杂计算,这些在专用模型里有精心设计的几何模块(比如 Transformer 中的 cross-view attention 和 iterative refinement)。SenseNova-Vision 用的是统一的生成式框架,没有专门的几何推理模块,全靠数据驱动学习跨视图对齐,能达到这个水平已经不错了。
有意思的发现:任务能力可以”迁移”
论文里有两个实验很值得单独拿出来说。
第一个是”指代式交互分割”。标准交互分割需要用户提供视觉 prompt——点、框、涂鸦或掩膜图像。但在文本-图像生成框架下,点的位置完全可以用文本坐标来表达:<p><point>[0.345, 0.678]</point></p> 比一张带红点的 prompt 图像要简洁得多。
问题是,模型在训练时并没有见过这种”坐标文本→掩膜”的映射。它学过的只是:坐标文本→检测框(来自检测任务),指代文本→掩膜(来自指代分割),视觉点 prompt→掩膜(来自交互分割)。但组合起来,它居然能直接理解文本坐标并生成对应的掩膜。这说明模型在统一的文本-图像空间里建立了某种”空间位置”的通用表征,不同任务学到的空间知识可以互相迁移。
第二个是”自由格式语言到掩膜”。用户说”用红色标出可乐的文字区域”,模型生成对应的文本区域掩膜;用户说”用十六进制颜色码分段标注所有可见字母”,模型也能照做。这些指令的措辞和格式都不在训练集里,但模型能理解颜色的不同表达方式(自然语言 vs 十六进制码)并正确渲染到掩膜图上。
这两个现象指向同一个方向:当检测、分割、深度、OCR 等任务在同一个生成空间里被联合训练时,模型学到的不只是每个任务本身的映射,而是一种更通用的”视觉-语言-空间”联合表征。这种表征可以在不同任务之间灵活组合,产生训练集里没有明确覆盖的行为。
局限和未来方向
几个值得注意的局限。
第一,多视图几何任务跟专用模型还有差距。如果主要需求是三维重建或 SLAM,目前还是专用模型更可靠。
第二,训练成本不低。7B 模型在 50M 样本上训 50K 步,计算资源要求较高。虽然论文里没有给出具体的 GPU 小时数,但从 token 量和上下文长度(32K tokens/sample)来看,不是普通个人开发者能轻易复现的。
第三,图像生成的分辨率限制。目前分割和深度估计的输出分辨率跟输入图像一致(最高 980px),但对于高分辨率应用(比如 4K 图像的精细分割),VAE 的压缩损失可能会影响细节。论文没有讨论这方面的扩展性。
未来值得关注的几个方向:把统一多模态生成从图像扩展到视频,利用时间维度的监督信号训练更强的空间理解能力;引入更强的 in-context learning,让用户可以用示例或少样本 prompt 定义全新的视觉任务,而不需要重新训练;跟更强的大语言模型结合,利用 LLM 的推理能力来处理更复杂的视觉推理任务。
还有一个更宏大的想象空间:如果 2D 和 3D 感知任务都能在同一个生成框架下被吸收,那这种模型可能不只是个视觉工具,而是朝着”世界模型”的方向在演进——能感知空间、理解物理规律、预测交互结果。当然,这还只是方向上的推测,离真正实现还有很长的路。
实用摘要 / 操作清单
如果你在考虑用 SenseNova-Vision 或类似的统一多模态模型做视觉任务,这几条可以帮你快速判断:
-
检测和结构化输出:可以放心用,精度已经接近甚至超过专用模型。尤其适合需要同时输出多种结构化信息的场景,比如既要检测框又要属性识别还要 OCR。
-
深度和法线估计:效果不错,跟专用几何模型的差距在可接受范围内。如果不想维护单独的深度模型,可以用它替代。
-
分割任务:推理分割表现亮眼,常规分割稍弱于专用模型。如果场景里需要理解复杂语言指令来做分割(比如”把那个站在树下穿红衣服的人抠出来”),SenseNova-Vision 反而可能比专用模型更好用。
-
多视图几何:目前还不是首选,建议继续用 VGGT 或 Depth Anything 3 这类专用模型。
-
语言定义的新任务:这是统一多模态框架最有想象力的地方。如果你的应用需要用户用自然语言自定义视觉任务(比如”把画面里所有蓝色的圆形物体标出来”),这个方向值得深入探索。
-
部署考虑:模型开源,推理时不需要加载多个专用模型,显存和延迟成本更低。7B 参数量在单卡 A100 上可以跑起来。
一页速览
| 任务家族 | 输出模态 | 表现水平 | 适合场景 |
|---|---|---|---|
| 检测 / OCR / 关键点 | 文本 | 领先 | 通用结构化输出 |
| 深度 / 法线估计 | 图像 | 逼近专用模型 | 单目几何感知 |
| 分割(常规) | 图像 / 混合 | 略低于专用模型 | 需要语言理解的分割 |
| 分割(推理) | 混合 | 领先 | 复杂语言指令分割 |
| 多视图重建 / 位姿 | 混合 | 有差距 | 暂时不推荐 |
常见问题
SenseNova-Vision 跟 SAM 是什么关系?
SAM 是专用的分割模型,用了一个强大的掩膜解码器作为先验,分割质量很高但只能做分割。SenseNova-Vision 是一个统一的多模态生成模型,能做检测、深度、位姿等多种任务,分割只是其中之一。在分割精度上,专用 SAM 仍然更强,但 SenseNova-Vision 在处理需要语言理解的推理分割时有优势。
训练这个模型需要多少数据?
训练用了超过 5000 万条转换后的视觉指令样本,外加通用多模态数据作为辅助。其中 5000 万条作为开源子集发布,其余部分提供转换脚本。不是所有数据都需要用户自己准备——开源部分可以直接下载使用。
推理速度怎么样?
论文里没有给出具体的推理时间数据。从模型设计来看,文本生成和图像生成是同一个 Transformer 在跑,推理速度跟 Bagel 基座类似。跟多个专用模型级联的方案相比(比如先用检测模型找框,再用分割模型抠图),端到端延迟应该更低,因为所有任务共享一次前向传播。
能用中文指令吗?
模型基座 Bagel 支持多语言,SN-VC 语料库里有部分中文数据(从中文数据集的标注转换而来),所以可以用中文指令。但英文指令的泛化能力可能更强,因为训练数据的主体还是英文来源。
怎么处理训练集里没有的任务?
这是统一多模态框架最有意思的地方。模型可以组合不同任务学到的能力来应对新指令。比如”用文本坐标做交互分割”这个任务在训练集里不存在,但模型靠检测任务的空间坐标理解和分割任务的掩膜生成能力,组合出了这个新能力。当然,这种零样本泛化有边界,复杂的新任务还是需要加入训练数据。
跟 GPT-4V 这类多模态大模型比有什么区别?
GPT-4V 是理解型多模态模型,能看懂图像并生成文本描述,但不能生成图像输出(分割掩膜、深度图等)。SenseNova-Vision 是生成型多模态模型,既能理解也能生成图像,所以能直接输出稠密的视觉预测结果。两者的能力定位不同,是互补关系而非替代关系。

