腾讯开源的 WeVisOne-VL 用一个 4B 模型统一了检测、指点、计数、OCR、分割和抠图七类视觉任务,在 30 余项公开基准上整体超过 Qwen3-VL 同规模模型,抠图无需外挂 SAM。
这是腾讯微信团队 WeChat Vision 实验室交出的一份完整工程包。论文 10 月 22 日提交到 arXiv,10 月 25 日权重、推理代码、评测管线和三份 Cookbook 一起放出,GitHub 仓库三天里拿到 252 个 star、18 个 fork,许可证是 Apache 2.0。模型分 2B 和 4B 两个规格,权重都挂在 Hugging Face 上,还配了可以直接点的 Gradio 演示。
值得多看两眼的原因是它反着来。视觉任务过去默认的做法是拉一条流水线,检测挂一个模型,分割挂一个模型,抠图再挂一个,OCR 还要第四个。每个模型各自一套权重、各自一套推理框架,延迟叠加、显存吃紧、串联时误差还会一级一级往上传。WeVisOne-VL 把这七件事压进同一个权重,用同一套结构化输出格式表达,配合一个只有 960 万参数的像素解码器把掩码和 alpha 通道直接吐出来。
七个视觉任务共用一套结构化输出
WeVisOne-VL 的基座是 Qwen3-VL,所有视觉任务都被改写成结构化 next-token 预测。坐标用一组专用 token 表示,从 <0> 排到 <1000>,归一化到千分位;物体类别跟在坐标后面一起解码。像素级任务靠一个特殊标记 <OBJ> 桥接,模型每吐出一个 <OBJ>,就等于宣告这里有一个实例,后面的像素解码器接手去画轮廓。
这套接口覆盖七类任务,官方代码里的 task 参数与论文的评测口径完全对应:
detection开放词表检测,输入类别列表,输出框referring指代表达定位,输入一句自然语言描述,输出框或 Nonepoint指点,输入类别或表达,输出坐标点count_box与count_point计数,输出框或点加数量ocr与ocr_grounding文字识别与文字定位segmentation语义与指代分割,输出框加二值掩码matting可提示抠图,输出框加 alpha 通道
目标不存在的时候,模型返回 None,这一点是整套设计的重点,后面会单独展开。推理端默认贪心解码、temperature 设为 0,每张图最多送进 1,960 个视觉 token。同门的 Qwen3.8-Omni-Flash 走的是原生全模态 Agent 路线,把音视频和工具调用一起塞进同一个 Agent 框架,思路是把能力做加法;WeVisOne-VL 反过来做减法,把视觉任务做减法,这个差异值得留意。
像素解码器只有 960 万参数,抠图不依赖 SAM
抠图是这套方案里最见功力的部分。传统路线是先让 SAM 或 SAM 2 从框里生成二值掩码,再交给另一个抠图模型去细化边缘和透明度,两段推理、两个模型。WeVisOne-VL 换了个做法:像素解码器直接挂在 ViT 上,读 <OBJ> token 的隐状态、该实例预测出的框、以及 Qwen3-VL 视觉编码器中间层抽出的多层特征,一次画出全分辨率掩码或 alpha matte,不需要额外的分割大模型。
整个解码器连同细化分支一共约 960 万参数。视觉特征适配器取的是 ViT pre-merging 阶段的中间层特征,理由是合并前的特征保留的细粒度空间信息更多,对边缘和小目标更友好。解码器内部是 box-guided query decoder 加 instance-conditioned dense prediction 两条支路,掩码最终经 Sigmoid 输出连续透明度。
训练分两步走。先做预热,把随机初始化的解码器接在 SFT-S2 的模型上,用 2.5 亿条分割样本联合训练 10 万步,解码器学习率 1e-6,掩码输出分辨率 512 乘 512。预热结束后只保留训练好的解码器和 <OBJ> embedding,挂回原始的 SFT-S2 检查点继续做交替式 token 与像素联合训练,其余被改动的 VLM 权重全部丢弃。这样避免了预热阶段把主模型带偏。最后冻结整个 VLM,单独微调解码器 10 万步做抠图,输出分辨率提到 1024 乘 1024,解码器学习率 5e-7,粗到细的细化分支用 2.5e-6。
抠图训练数据由公开数据集和自建数据两部分组成,公开侧只有 0.3M 条,自建侧有 129.8M 条。分割数据则是公开 171.4M 加上自建 288.4M。负责把二值掩码转成高质量 alpha 通道的标注器 Mask2Alpha 单独开了分支发布出来,这个工具本身也有独立的使用价值。像 Qwen-Image-2.1 那种把文生图与编辑打包进 7B 的做法,也在走类似的路子,把原本分属多个工具的能力压缩进单一模型,只是方向上一个管生成、一个管感知。
检测与计数:4B 版本压过同规模通用模型
先把话说在前面,评测口径要看清楚。AP 这类依赖置信度校准的指标对生成式视觉语言模型不适用,论文沿用 Rex-Omni 和 LocateAnything 的做法统一报 F1,在 IoU 阈值 0.5 到 0.95 之间取平均,记作 Mean。推理时每图限 1,960 视觉 token,Qwen3.5 系列开启思考模式参与对比。
| 方法 | COCO F1 Mean | LVIS F1 Mean | Dense200 F1 Mean | VisDrone F1 Mean |
|---|---|---|---|---|
| GroundingDINO-T(专用检测器) | 56.6 | 38.8 | 33.1 | 38.5 |
| Qwen3-VL-8B | 47.8 | 42.9 | 13.8 | 29.5 |
| Qwen3.5-9B | 49.5 | 43.7 | 18.0 | 31.3 |
| Rex-Omni-3B | 52.9 | 46.9 | 58.3 | 35.8 |
| LocateAnything-3B | 54.7 | 50.7 | 58.7 | 39.9 |
| WeVisOne-VL-2B | 55.2 | 53.3 | 61.4 | 40.4 |
| WeVisOne-VL-4B | 57.1 | 55.3 | 71.3 | 44.7 |
通用视觉语言模型在密集小目标场景下的塌陷在这张表里看得最清楚。Qwen3-VL-8B 在 Dense200 上只有 13.8,WeVisOne-VL-4B 是 71.3,差距超过五倍。Dense200 和 VisDrone 都是拥挤小目标数据集,这正好是拿通用模型做密集检测的软肋。相比之下 LocateAnything-3B 这类专门做定位的模型在这两栏是 58.7 和 39.9。
计数任务上的分化更夸张。MixCount 数据集专门考混合场景里的计数,Qwen3.5-9B 只有 7.0,LocateAnything-3B 是 15.2,WeVisOne-VL-4B 到了 40.4。
| 方法 | CountQA | PixMo-Count test | CLOC test | KubriCount testB | MixCount test |
|---|---|---|---|---|---|
| Qwen3.5-9B | 41.6 | 80.4 | 22.4 | 19.1 | 7.0 |
| Rex-Omni-3B | 37.6 | 71.9 | 22.3 | 18.8 | 11.4 |
| LocateAnything-3B | 52.4 | 82.8 | 23.9 | 22.4 | 15.2 |
| WeVisOne-VL-2B | 47.9 | 88.1 | 26.9 | 32.4 | 32.2 |
| WeVisOne-VL-4B | 57.1 | 89.6 | 28.3 | 40.1 | 40.4 |
OCR 是另一条被拉开的线。总文本数据集 TotalText 上,专用 OCR 系统 PP-OCRv5 只有 25.7,Qwen3-VL-8B 是 35.4,WeVisOne-VL-4B 到了 52.0。复杂版面场景下的 HierText 上,4B 版本拿 39.0,同样超过 PP-OCRv5 的 30.5。
| 方法 | HierText | ICDAR2015 | TotalText | SROIE |
|---|---|---|---|---|
| PP-OCRv5(专用 OCR) | 30.5 | 25.6 | 25.7 | 58.6 |
| Qwen3-VL-8B | 25.7 | 27.1 | 35.4 | 43.3 |
| Rex-Omni-3B | 28.0 | 28.1 | 40.6 | 44.8 |
| LocateAnything-3B | 29.4 | 24.1 | 43.3 | 40.3 |
| WeVisOne-VL-2B | 30.5 | 42.6 | 42.5 | 62.1 |
| WeVisOne-VL-4B | 39.0 | 47.8 | 52.0 | 68.1 |
把一张图里要定位的东西、要数的数量、要认的字、要抠的轮廓全部交给同一个模型,收益就体现在这里。视觉世界知识类的评测可以对照 WorldVQA 的 3500 题原子视觉知识基准,看模型在知识层面和像素层面的分工。更大的通用多模态底座也在往这条线挤,英伟达 Nemotron 3.5 Super VL 是 1200 亿参数的开放权重路线,走的是完全相反的规模思路。
拒答率:目标不存在时模型肯说不知道
如果这份报告只能留一个数字,那就留拒答率。论文自建了一个 WeRef-Bench,包含 2,880 条中英文查询,覆盖单目标指代、多目标指代和目标缺失三种情况。目标缺失的查询里,模型什么都不输出才算答对,这个指标叫 Rejection Rate。
| 方法 | RefCOCOg test | RefCOCOg Rej | WeRef-Bench Mean | WeRef-Bench Rej | HumanRef | Ref-L4 |
|---|---|---|---|---|---|---|
| Qwen3-VL-8B | 74.9 | 22.5 | 36.7 | 18.3 | 71.6 | 72.4 |
| Qwen3.5-9B | 74.6 | 15.2 | 50.7 | 70.7 | 77.8 | 72.0 |
| Rex-Omni-3B | 74.3 | 0.5 | 50.3 | 43.3 | 79.9 | 65.2 |
| LocateAnything-3B | 77.6 | 0.6 | 51.7 | 73.0 | 78.7 | 74.3 |
| WeVisOne-VL-2B | 78.2 | 50.2 | 73.2 | 92.9 | 77.4 | 75.1 |
| WeVisOne-VL-4B | 81.8 | 67.4 | 78.7 | 96.4 | 80.7 | 78.1 |
对比很刺眼。LocateAnything-3B 在 RefCOCOg 的缺失目标拒答率只有 0.6%,几乎等于从不认输。Qwen3-VL-8B 是 22.5%。WeVisOne-VL-4B 是 67.4%,自建基准上是 96.4%,基本等于问什么答什么,没有就说没有。
这个能力来自数据侧的设计。数据引擎的标注环节本身就包含目标缺失的查询样本,模型在训练阶段就被反复教育这件事:如果图里没有,就不要编一个坐标出来。生产环境里这条比多几个点的 F1 重要得多,一个不肯说不知道的检测模型,落到自动化流程里就是持续的错误输入。
训练配方:1 亿图像、三阶段 SFT 加 GRPO
数据侧的核心是一个叫 WDE 的数据引擎,流程分七步。概念发现阶段用优化过的 Tokenize Anything 模型挖掘物体类别,用 Qwen3-VL 生成描述目标属性、状态、动作和关系的组合式指代表达,两类标注轮流交叉验证。检测标注、referring 标注、掩码标注依次往下走,硬样本构造负责把难例挑出来,抠图数据引擎用专家预测加精挑数据支撑连续 alpha 监督,最后靠模型错误复盘反过来驱动新一轮的数据获取、标注修正和难例采样。整套下来标注了约 1 亿张图。
| 阶段 | 训练模块 | 样本量 | 训练步数 | 视觉 token 上限 | 最大序列长度 |
|---|---|---|---|---|---|
| SFT-S1 任务对齐 | 仅语言模型 | 90.2M | 13,000 | 16–512 | 4,096 |
| SFT-S2 分辨率与密度扩展 | 视觉编码器 + 投影器 + 语言模型 | 40.5M | 8,995 | 64–1,960 | 8,192 |
| SFT-S3 token 与像素交替优化 | 上述全部 + 像素解码器 | 41.8M | 9,062 | 64–1,960 | 8,192 |
| RL 混合任务强化学习 | 仅语言模型 | 178K | 593 | 64–1,960 | 4,096 + 4,096 |
第一阶段只训语言模型,视觉编码器和投影器冻结,用 9,020 万条样本走 13,000 步,让模型先学会新 token 和结构化输出格式。第二阶段解冻全部,把视觉 token 上限提到 1,960,单次响应允许的框和点数量上限提到 500,上下文拉到 8,192,喂 4,050 万条样本。第三阶段引入像素任务,语言模型部分用 LoRA 微调,秩 128、alpha 256、dropout 0.05,token embedding 和输出头全量可训练,每张 GPU 随机抽 24 个 <OBJ> token 送进解码器做分割预测,同时保留完整文本序列做 next-token 预测。
强化学习阶段用 GRPO。奖励算在整个结构化响应上,对每个图像提示采样 8 个完整回复,解析出预测框集合,与真值框集合按语义类别做一对一匈牙利匹配,再算 grounding reward。样本筛选用了一个不确定性指标,公式是 4 乘以均值乘以一减均值乘以标准差,这个式子偏好那些有时对有时错的样本,因为它们给出的相对优势信号更强。训练规模不大,178K 样本 593 步就收尾。
算力上,SFT 用 128 张 GPU,RL 用 160 张,统一 AdamW、weight decay 0.01、梯度范数上限 1.0、BF16 精度,SFT 走余弦学习率衰减。RL 用 FSDP2 加 vLLM 混合并行。这个投入规模放在行业里算克制,它省的是数据合成和标注的人力。
值得一提的是数据闭环里的难例机制。英伟达开源的机器人标注引擎 Flora 把一小时标注成本压到 0.72 美元,是同一个方向上的另一种答案,一个解决标注产能,一个解决模型能力。
部署成本:2B 与 4B 怎么选
两个规格的权重都在 Hugging Face 上,2B 用于演示空间,4B 用于主模型。推理包支持 transformers 和 vLLM 两种后端,device、dtype、min_pixels、max_pixels、max_new_tokens、temperature 这些常规参数都能传。Cookbook 分成三份,一份讲目标级流水线,一份讲 OCR 流水线,一份讲分割与抠图流水线,每份都是可运行的 notebook。
依赖版本钉得比较死,值得留意。torch 是 2.11.0,transformers 是 5.12.1,vllm 是 0.23.0,gradio 是 6.30.0,accelerate 是 1.14.0,Python 要求 3.10 以上。vLLM 和 triton 在非 Windows 平台才安装。
选型上有几个可以参考的点。抠图任务里 2B 版本在 P3M-500-NP 上的 MAD 是 6.6,反而优于 4B 的 7.3,指代抠图 WeRefMat 上 2B 是 15.8,4B 是 9.8。2B 在密集检测 Dense200 上是 61.4,4B 是 71.3。如果业务场景里目标尺寸偏小、图像偏密集,4B 的收益比纸面参数更大;如果只是跑常规的电商图抠图和文案识别,2B 已经够用。
4B 版本的模型体积处在消费级显卡能跑的区间,和谷歌 EmbeddingGemma2 把 740M 参数塞进手机是同一条路线上的不同位置,一个管端侧检索,一个管端侧感知。感知能力往车载和机器人场景延伸也是自然的下一步,Qwen-Drive-1.0 已经在做 3D 感知与运动规划的统一,腾讯自己在混元这条线上也有开源动作,Hy Memory 2.0 就是一次。
论文承认的四处短板
作者在 Limitations 一节里写得比多数论文诚实,一共列了四条。
第一条是通用能力可能受损。训练数据聚焦在基础视觉感知上,通用训练数据量相对受限,相比基座模型的通用能力存在被牺牲的风险。第二条是不做思维链。为了推理效率,模型被训练成直接输出结构化结果,没有中间推理过程,复杂推理任务上的表现因此可能受限。第三条是只支持单轮预测,作者认为后续应该接上 Agent 框架,通过多轮工具交互逐步精修视觉理解。
第四条最实在。基准测试里的物体提示词通常是清晰、规整、没有歧义的,而真实用户的指令往往含糊、犹豫、上下文跳跃。上下文或者表达方式一变,连定位目标这种基础任务都会变得很难。这说明论文里的分数离真实生产环境还有距离。
还有一处工程细节值得提醒。仓库的 pyproject.toml 里许可证写的是 license = { file = "LICENSE" } 这种文件引用形式,GitHub 的许可证识别器解析不了,元数据里显示为 NOASSERTION。仓库里的 LICENSE 文件本身是标准的 Apache 2.0 全文,按文件内容使用没有问题,只是依赖平台自动识别标签的流水线要留意这一点。
常见问题
WeVisOne-VL 能替代 SAM 和 GroundingDINO 吗?
不能完全替代,但很多场景下够用。论文数据是 WeVisOne-VL-4B 在 LVIS 上 F1 Mean 55.3,GroundingDINO-T 是 38.8,在 COCO 上是 57.1 对 56.6。检测能力已经越过专用检测器的线。但它没有 GroundingDINO 那种置信度校准好的分数输出,AP 这类依赖校准的指标不适用,生产系统如果需要按分数做阈值筛选,得多做一层适配。抠图则是明确的替代关系,WeVisOne-VL 直接出 alpha,SAM2-Matting 那套两段式不再需要。
2B 和 4B 该怎么选?
看任务密度和图像拥挤程度。密集小目标检测、复杂版面 OCR、指代抠图这几种,4B 优势明显,MixCount 上从 32.2 涨到 40.4,TotalText 上从 42.5 涨到 52.0。常规电商图、简单文案识别、常规物体框,2B 的表现已经够用,而且体积和延迟都更友好。资源紧张的场景建议先跑 2B 看误差卡在哪类任务上,再决定要不要上 4B。
权重和许可证是什么情况?
两个规格的权重都放在 Hugging Face,仓库代码用 Apache 2.0 协议,论文以 CC BY 4.0 发布。推理包、Cookbook、评测管线和抠图标注器 Mask2Alpha 都公开了,微调代码官方标注为尚未开放,TODO 里最后一项还空着。
小结
WeVisOne-VL 最有价值的部分不是某一列跑分,而是它证明了一件事:视觉任务的流水线可以被压平。检测、定位、计数、OCR、分割、抠图这六七个原本需要独立模型的活儿,在一个 4B 权重加一个 960 万参数解码器的组合下被统一起来了,推理延迟、显存占用、部署复杂度都会跟着往下走。
它给出的几个数字值得记住。Dense200 上 71.3 对通用模型的 13.8,MixCount 上 40.4 对 7.0,WeRef-Bench 拒答率 96.4 对 LocateAnything-3B 的 73.0。密集小目标和拒答这两块,是过去用通用多模态模型最难啃的。
要留意的是它的边界。不做思维链,只支持单轮预测,通用能力相对基座可能有折损,真实场景里含糊的用户指令还没有被解决。这意味着它现在更适合做一个视觉能力的底座模块,塞进既有的工作流,而不是直接当成一个能听懂人话就会干活的智能体。要试的话,2B 权重加官方 Cookbook 是成本最低的入口。
相关阅读
- Qwen3.8-Omni-Flash发布:原生全模态Agent,29项基准涨25%,音视频API降幅超93%
- WorldVQA 是什么:评估多模态大模型原子视觉世界知识的3500题基准
- 英伟达 Nemotron 3.5 Super VL:1200 亿参数开放权重
- 谷歌EmbeddingGemma2开源:740M参数塞进手机,端侧多模态检索首次轻量落地
- Qwen-Drive-1.0:首个统一3D感知与运动规划的自动驾驶视觉-语言模型
- 腾讯混元 Hy Memory 2.0 开源:55.49% 超 Claude Opus 5
延伸阅读
- Qwen VLo 多模态模型解析:逐行渐进式生成,支持任意分辨率输入输出的图文统一模型1 月前
- Octop 自托管多智能体助手:腾讯云开源团队 AI 助手,GitHub 3217 Star1 月前
- Hy-Nomas 拆解:8B 世界模型用 20.53 GiB 显存跑 100 秒11 小时前
- 腾讯 WorkBuddy 教育公益版:10 万教师申领覆盖 4.5 万学校5 天前
继续读
同一批更新里这几篇值得一看:
