首頁 > AI工具 > WeVisOne-VL:騰訊開源的視覺模型 檢測和摳圖共用一個模型

WeVisOne-VL:騰訊開源的視覺模型 檢測和摳圖共用一個模型

更新時間:2026-11-06 03:13:50 發布時間:4小時前 閱讀:9次

WeVisOne-VL 是騰訊微信視覺團隊 2026 年 10 月 23 日開源的視覺語言模型,2B 和 4B 兩檔,程式碼 Apache-2.0,基座是 Qwen3-VL。它把目標檢測、指代定位、計數、點標註、OCR、指代分割和提示式摳圖放進一個模型,輸出可以是點、框、二值掩碼或 alpha 蒙版,目標不存在時返回 None。項目頁在 tencent.github.io/WeVisOne-VL,權重在 Hugging Face 的 tencent/WeVisOne-VL-4B 和 tencent/WeVisOne-VL-2B。

WeVisOne-VL 項目首頁
項目首頁。頂部五個入口:Paper、Code、Weights (4B)、Weights (2B)、Live Demo

WeVisOne-VL是什麼

名字拆開是 WeChat Vision All-in-One。它做細粒度視覺感知,不做開放式對話:給一張圖和一句查詢,返回查詢目標的位置或者畫素。

位置用座標 token 表示。<0> 到 <1000> 共 1,001 個專用 token 編碼歸一化座標,一個框佔 4 個 token,一個點佔 2 個。

畫素結果由 9.6M 參數的解碼器出,掛在語言模型吐出的 <OBJ> token 後面。解碼器不接第二個圖像編碼器,直接取 Qwen3-VL ViT 的四層 pre-merge 特徵,所以分割和摳圖不用外掛 SAM。解碼器內部分三段:視覺特徵適配器做投影、6 個 deformable cross-attention 用 <OBJ> 隱狀態和框當 query、稠密頭按 S/4 到 S/2 到 S/1 逐級細化成全解析度掩碼。

WeVisOne-VL 架構圖
解碼器結構。左邊適配器取四層 ViT 特徵,中間按框做可變形交叉注意力,右下出 mask 和 alpha matte

WeVisOne-VL能做什麼

task 參數有九個取值,query 按任務填類別列表或自然語言描述:

task query 填什麼 輸出
detection 類別列表 每個實例的框
referring 自然語言描述 框,或 None
point 類別 / 描述 座標點
count_box 類別 / 描述 框,加數量
count_point 類別 / 描述 點,加數量
ocr 空 文字和文字框
ocr_grounding 要查詢的文字 文字和文字框
segmentation 類別 / 描述 框加二值掩碼
matting 類別 / 描述 框加 alpha 蒙版
WeVisOne-VL 任務示例
官方任務示例。上半是畫素級的分割與摳圖,下半是目標級的檢測、計數、點標註、指代和拒識,右下角那格是查詢目標不存在時返回 none

只做文件轉 Markdown 或 JSON 的時候,Xiaomi-OCR-0 那類文件解析模型更對口,它出的是結構化文字,不是框和掩碼。

WeVisOne-VL怎麼用

  1. 裝環境:克隆倉庫後建 conda 環境,裝依賴和包。
    git clone https://github.com/Tencent/WeVisOne-VL.git
    cd WeVisOne-VL
    conda create -n wevisone-vl python=3.10 -y
    conda activate wevisone-vl
    pip install -r requirements.txt
    pip install -v -e .
  2. 載入模型:backend 傳 transformers 或 vllm,2B 換模型名。
    from wevisone_vl import WeVisOneVL
    
    model = WeVisOneVL(
        "tencent/WeVisOne-VL-4B",
        backend="transformers",
    )
  3. 調任務:predict 傳圖和 task,query 按任務類型給列表或字串。
    result = model.predict(
        image,
        task="detection",
        query=["sofa", "pillow"],
    )
    
    result = model.predict(
        image, task="matting", query="person"
    )
WeVisOne-VL 檢測演示
項目頁的 Detection 回放。左邊畫出 dog、chair、bush 的框,右邊是模型返回的座標 token 原文
  1. 落盤:結果用 visualization 裡的 save_result 存圖,傳輸出目錄、原圖、result 三個參數。
  2. 起本地演示:倉庫帶 Gradio 頁面,指定顯卡和模型名就能起。
    CUDA_VISIBLE_DEVICES=0 python demo/app.py \
        --model tencent/WeVisOne-VL-4B
  3. 調設備與精度:device 取 auto、cuda:0、npu:0、cpu,另有 dtype、min_pixels、max_pixels、max_new_tokens、temperature。

WeVisOne-VL的評測成績

4B 版本在官方表裡的九項關鍵指標,對比列是各榜開源基線裡的最好成績:

任務 基準 指標 基線最好成績 4B
目標檢測 LVIS 平均 F1 50.7 55.3
密集檢測 Dense200 平均 F1 58.7 71.3
指代檢測 RefCOCOg test 平均 F1 77.6 81.8
目標計數 PixMo-Count test 準確率 82.8 89.6
點標註 PointBench 準確率 69.9 71.9
OCR TotalText 平均 F1 43.3 52.0
指代分割 ReasonSeg val gIoU 65.0 71.2
框提示摳圖 P3M-500-NP MAD 越低越好 15.4 7.3
文字提示摳圖 WeRefMat MAD 越低越好 22.4 9.8
WeVisOne-VL Dense200 榜單
Dense200 密集檢測榜。前兩條是 WeVisOne-VL 的 4B 和 2B,下面接著 LocateAnything、Rex-Omni、GroundingDINO-T 和 Qwen3-VL 各檔

檢測、指代、OCR 的 F1 按 IoU 0.5 到 0.95 取平均,貪心解碼。這些數字都出自騰訊自己的評測表,目前沒有第三方復現。

2B 和 4B 怎麼選

兩個權重在 Hugging Face 上標的是 2.44B 和 4.83B 參數。官方單獨給了 2B 在 Dense200 的分數,61.7,比 4B 低 9.6 個點。摳圖反過來:P3M-500-NP 的 MAD 2B 是 6.6,4B 是 7.3,這項越低越好。要跑密集檢測、OCR、指代定位取 4B;只做摳圖和主體分割,2B 更小也更準。

WeVisOne-VL是怎麼訓出來的

資料來自一條知識圖譜驅動的標註管線:SAM3、Rex-Omni 和自研檢測器提候選區域,Qwen3-VL 覈驗,覈驗過的框再擴成掩碼和 alpha 蒙版,累計 1 億張以上圖像。把掩碼轉成透明蒙版的標註器按 mask2alpha 分支單獨開源。

訓練是三段 SFT 接一段強化學習:

階段 樣本量 做的事
SFT 第 1 段 9,020 萬 對齊輸出格式
SFT 第 2 段 4,050 萬 提到 1,960 個視覺 token,單次最多 500 個框
SFT 第 3 段 4,180 萬 訓畫素解碼器,之後在 1.3 億樣本上專訓摳圖
GRPO 17.8 萬 混合任務強化學習,按不確定度篩樣本

訓練上下文 8,192 token。報告裡沒給部署時的上下文上限,也沒給顯存佔用。

WeVisOne-VL的限制

WeVisOne-VL的應用場景

WeVisOne-VL的項目地址

倉庫首次公開提交在 2026 年 10 月 23 日,README 在 10 月 25 日更新過一版。