DC娱乐网

商汤最新开源SenseNova-Vision 一个模型统一所有计算机视觉任务?

商汤科技旗下 OpenSenseNova 在 7 月初悄悄开源了一个叫 SenseNova-Vision 的东西。悄悄是

商汤科技旗下 OpenSenseNova 在 7 月初悄悄开源了一个叫 SenseNova-Vision 的东西。悄悄是真的悄悄,GitHub star都不多,但技术含量绝对值得研究研究。

先说结论:这个项目在尝试做一件计算机视觉领域很多人想做但没做好的事——用一个统一的多模态模型,同时搞定几乎所有经典视觉任务。 不是那种"多任务模型"的缝合怪,而是从底层范式上重新定义了"视觉任务"是什么。

先说痛点:为什么视觉领域的"统一"这么难

在深度学习早期,计算机视觉的格局很分散:目标检测有一套模型(YOLO、Faster RCNN),语义分割有一套(DeepLab、SegFormer),深度估计又是一套(DepthAnything),OCR 又是另一套……每个任务有专属架构,专属训练数据,专属推理方式。

这带来的问题显而易见:

工程部署时要维护多个模型,内存占用和维护成本高各任务之间的视觉知识无法共享组合任务时需要手动串联多个模型

NLP 领域用 Transformer + 指令微调解决了"统一"问题,所有 NLP 任务在同一个 LLM 里搞定了。视觉领域能复制这条路吗?

SenseNova-Vision 给出的答案是:可以,但你得换个思路。

核心思路:把所有视觉任务重新表达为"生成问题"

这是这个项目最值得深究的地方。

SenseNova-Vision 的核心哲学是:将所有异构的计算机视觉任务,统一表达为多模态生成任务。 具体来说:

文本生成 来表达符号化的视觉结果:比如目标检测的 bounding box 坐标、OCR 识别出的字符串、关键点坐标、相机参数图像生成 来表达稠密的空间输出:比如分割掩码(mask)、深度图、法线图、多视角点云图混合文本+图像 来处理组合任务

这听起来简单,实际上是一个非常聪明的设计。它意味着模型不需要为每个任务设计独立的输出头(prediction head),不需要特殊的解码器或分支结构,所有任务共用同一套输入/输出接口。

用人话说就是:你给模型一张图 + 一条自然语言指令,模型直接输出你想要的结果,不管你要的是一个坐标、一段文字,还是一张深度图。

它能做哪些任务?范围之大超出我预期

我翻了一遍 README 和 benchmark,支持的任务列表让我有点目瞪口呆:

结构化视觉理解(输出为文本)

目标检测(Object Detection):COCO、LVIS、密集目标、无人机视角指代检测(Referring Detection):根据自然语言描述定位目标OCR:文本行级别、单词级别检测关键点检测(Keypoint Detection):人体、动物GUI 界面定位(GUI Grounding):识别 UI 元素位置布局定位(Layout Grounding)

稠密几何预测(输出为图像)

单目深度估计(Monocular Depth Estimation)表面法线估计(Surface Normal Estimation)

图像分割(输出为图像)

语义分割、全景分割指代分割(Referring Segmentation)推理分割(Reasoning Segmentation):根据复杂推理定位目标交互分割:支持点击、框选、涂抹等交互方式

多视角几何(输入/输出均为图像)

多视角三维重建相机位姿估计

这个任务覆盖范围,在我印象中没有哪个单一模型做到过。

Benchmark 数据怎么说?

开源项目最怕的就是"PPT 模型"——说得很好听,实际跑分一塌糊涂。我特意看了 SenseNova-Vision 在各个 benchmark 上的表现,整体来说不是刷榜水平,但在多任务统一模型里是真的强。

几个关键结论:

目标检测:在 LVIS(长尾分布)、Dense200(密集场景)、VisDrone(无人机视角)上全面超越 Qwen3-VL-8B 和 Bagel。COCO 上与专门的 Grounding DINO-Swin-T 打平(56.6 mAP)——要知道 GD 是针对检测专门优化的专用模型。

深度估计:在 NYUv2 上达到 δ1=98.1,与专门的 DepthAnything V2 持平。DIODE 数据集上绝对误差 20.6,超过 Marigold(30.8)和 DICEPTION(28.9)。

推理分割:Val 63.2 / Test 60.7,超过所有对比模型,这个任务需要理解复杂的自然语言推理,是 LMM 的强项,SenseNova-Vision 充分利用了这一点。

多视角重建:在 ETH3D 上表现不错,在 7Scenes 上略逊于专门的 DepthAnything3 和 VGGT——这属于正常,毕竟专用模型在单项任务上有优势。

我的判断:SenseNova-Vision 在大多数任务上能打到专用模型的 85-95% 水平,同时覆盖范围远超任何单一专用模型。 这个 tradeoff 对绝大多数实际应用来说是划算的。

怎么上手使用?

项目提供了完整的推理代码,入门门槛不高。基本流程如下:

第一步:克隆仓库 + 安装环境

git clone https://github.com/OpenSenseNova/SenseNova-Vision.git
cd SenseNova-Vision
bash setup.sh sensenova-vision
conda activate sensenova-vision

第二步:下载模型权重

模型托管在 HuggingFace,叫 SenseNova-Vision-7B-MoT(7B 参数,MoT 指 Mixture of Tokens 架构)。

from huggingface_hub import snapshot_download
model_path = snapshot_download("sensenova/SenseNova-Vision-7B-MoT")

第三步:跑推理

项目提供了统一的脚本入口。以二值分割为例:

bash scripts/run_sensenova_vision.sh inference \
binary_seg \
"person" \
examples/images/2.jpg

前面的 binary_seg 是任务类型,"person" 是自然语言指令,最后是图片路径。就这么简单。

交互式 Demo(需要 80GB GPU):

MODEL_PATH=/path/to/SenseNova-Vision-7B-MoT \
bash scripts/run_sensenova_vision.sh demo

跑起来是一个 Gradio 界面,可以实时上传图片、选择任务类型进行推理。

真正让我感兴趣的点:训练数据范式

SenseNova-Vision 同步开源了一个叫 SenseNova-Vision-Corpus-50M 的训练数据集,顾名思义,五千万条样本。

这个数据集的设计非常有意思:它把所有经典视觉数据集(COCO、RefCOCO、NYUv2、ScanNet 等等)的标注,统一转换成"指令-响应"格式。每条样本包含:

一张或多张图片一条自然语言指令(描述任务和输出格式)一个可解码的目标(文本、图像或混合)

这个范式的意义在于:任何新的视觉任务,只要能把标注转换成这个格式,就可以直接加入训练。这实际上定义了一个通用的视觉任务训练协议。

这个项目对你有什么实际用处?

如果你是开发者、在做视觉相关的项目:

最直接的价值是"一个模型替代多个"。如果你的应用需要同时做检测 + 分割 + OCR,以前你需要部署三个模型,现在一个 7B 的模型可以全包了。显著降低推理延迟和内存占用。

更有意思的是自然语言定义任务这个能力。你不需要写复杂的后处理代码——想要什么,直接用自然语言告诉模型,它会帮你按格式输出。这对快速原型开发非常友好。

如果你在做机器人 / 自动驾驶 / 具身智能:

这个模型几乎覆盖了感知系统需要的所有能力:目标检测、深度估计、分割、相机位姿估计、多视角重建。一个统一的感知后端,比维护七八个专用模型要干净得多。

如果你是研究者:

50M 训练语料 + 完整训练代码全部开源,这是可以直接复现和二次研究的材料。特别是那个"将视觉标注统一转换为指令格式"的数据处理 pipeline,对做多任务学习研究的人来说价值很高。

如果你在做内容创作、设计、电商类工作:

推理分割 + GUI Grounding 的组合可以做很多有意思的事:自动抠图(推理分割)、自动截取 UI 元素、OCR 提取图片文字等。这些任务以前需要多个工具串联,现在一个模型搞定。

写在最后

先说我认为真正有价值的地方:

范式是对的。 把视觉任务统一为生成问题,方向和 NLP 的发展路径一致,长期来看这条路走得通。数据集的贡献可能大于模型本身。 50M 的统一格式训练数据,对整个社区的价值不亚于模型权重。工程完整度不错。 推理脚本、benchmark 评测代码、Gradio demo 全都有,不是那种开源了但用不了的。

再说我的保留意见:

显存要求较高。 7B 模型 + 图像生成任务,跑完整 demo 需要 80GB GPU,这在学术界和个人开发者里是一个门槛。希望后续有量化版本。

部分任务仍有差距。 比如全景分割(48.8 mIoU vs PSALM 的 55.9)和 GUI Grounding(85.9 vs Qwen3.5-9B 的 92.2),说明统一模型在某些专项任务上还不是最优解。

刚刚开源,生态还早。社区生态几乎为零。踩坑可能性较高,不建议直接用于生产环境。

总结

SenseNova-Vision 是一个思路非常清晰的研究工作:它不是在已有范式上堆任务,而是真正从底层重新设计了"视觉任务是什么"这件事。

用一个类比来说:如果以前的视觉模型是各个专业工匠,每人掌握一门手艺,SenseNova-Vision 想做的是培养一个全科医生——不一定在每个专项上打败专科医生,但可以独立诊断和处理大部分问题。