StarVector:從圖像與文本生成 SVG 代碼的多模態模型

什麼是 StarVector?

StarVector 是一款專門為 Scalable Vector Graphics (SVG) 生成而設計的多模態視覺語言模型(VLM)。它可以透過 圖像轉 SVG(Image-to-SVG)文本轉 SVG(Text-to-SVG) 兩種方式生成高精度、語義豐富的 SVG 代碼。與傳統的曲線向量化方法不同,StarVector 直接在 SVG 代碼層面 運作,使其能夠準確使用 SVG 原語(如 橢圓、矩形、多邊形、文本 等),避免傳統方法常見的失真與偽影。


StarVector 的核心技術

1. 多模態架構

StarVector 採用 多模態架構,能夠處理 圖像文本 兩種輸入:

  • Image-to-SVG:將圖像轉換為視覺標記(visual tokens),然後生成 SVG 代碼。
  • Text-to-SVG:僅根據文本指令(無需圖像)創建新的 SVG。

模型核心基於 StarCoder,使其能夠將編碼能力遷移到 SVG 生成領域,確保代碼精簡且語法正確。


SVG 生成的挑戰與 StarVector 的優勢

1. 避免傳統方法的缺陷

傳統 SVG 生成方法,如 AutoTrace、Potrace、VTracer 等,主要依賴於 曲線擬合,無法準確理解圖像的語義,經常產生 扭曲或冗長的路徑數據,且難以處理 複雜的 SVG 元素

StarVector 的優勢:

  • 語義理解:模型能夠分析圖像內容,並正確選擇適當的 SVG 原語(如 圓形、矩形、折線 等)。
  • 代碼精簡:直接輸出 結構清晰緊湊 的 SVG 代碼,而非複雜的路徑數據(<path>)。
  • 支援多種 SVG 生成場景:如 標誌(logo)、技術圖表(technical diagrams)、圖示(icons) 等。

2. 更準確的評估標準

過去,許多 SVG 生成方法依賴於 像素級評估指標(如 MSE),但這些方法無法真正衡量 SVG 的語義準確性。因此,StarVector 團隊開發了 SVG-Bench,這是一個專門用於測試 SVG 生成質量 的基準測試,涵蓋 10 個數據集與 3 種 SVG 生成任務:

  1. Image-to-SVG
  2. Text-to-SVG
  3. Diagram-to-SVG

StarVector 模型與評測結果

目前,StarVector 提供 兩個模型版本,並在 Hugging Face 上開放下載:

  • 💫 StarVector-8B
  • 💫 StarVector-1B

在 SVG-Bench 測試中,StarVector 在 DinoScore 指標上的表現超越了所有基準模型:

方法 SVG-Stack SVG-Fonts SVG-Icons SVG-Emoji SVG-Diagrams
AutoTrace 0.942 0.954 0.946 0.975 0.874
Potrace 0.898 0.967 0.972 0.882 0.875
VTracer 0.954 0.964 0.940 0.981 0.882
Im2Vec 0.692 0.733 0.754 0.732 -
LIVE 0.934 0.956 0.959 0.969 0.870
DiffVG 0.810 0.821 0.952 0.814 0.822
GPT-4-V 0.852 0.842 0.848 0.850 -
💫 StarVector-1B 0.926 0.978 0.975 0.929 0.943
💫 StarVector-8B 0.966 0.982 0.984 0.981 0.959

注意: StarVector 不適用於自然圖像或插畫,因為模型的訓練數據主要來自 圖標、技術圖表、圖表(charts)、標誌等矢量圖形


SVG-Bench 數據集詳解

StarVector 的訓練數據來自 SVG-Bench,這是一個專門為 SVG 生成模型設計的數據集,涵蓋 10 個子數據集,每個數據集針對不同的 SVG 生成場景:

數據集 訓練集 驗證集 測試集 平均 Token 長度 支援的 SVG 原語 註釋類型
SVG-Stack 2.1M 108k 5.7k 1,822 ± 1,808 所有 SVG 原語 圖像標註
SVG-Stack_sim 601k 30.1k 1.5k 2,000 ± 918 Vector path -
SVG-Diagrams - - 472 3,486 ± 1,918 所有 SVG 原語 -
SVG-Fonts 1.8M 91.5k 4.8k 2,121 ± 1,868 Vector path 字體標註
SVG-Fonts_sim 1.4M 71.7k 3.7k 1,722 ± 723 Vector path 字體標註
SVG-Emoji 8.7k 667 668 2,551 ± 1,805 所有 SVG 原語 -
SVG-Emoji_sim 580 57 96 2,448 ± 1,026 Vector path -
SVG-Icons 80.4k 6.2k 2.4k 2,449 ± 1,543 Vector path -
SVG-Icons_sim 80.4k 2.8k 1.2k 2,005 ± 824 Vector path -
SVG-FIGR 270k 27k 3k 5,342 ± 2,345 Vector path 圖像分類 & 標註

總結:StarVector 為何重要?

SVG 在 圖標、商標、技術圖表、地圖設計 等領域至關重要,而 StarVector 是目前最先進的 Image-to-SVG 與 Text-to-SVG 生成模型。與傳統曲線擬合方法相比,它提供: ✅ 語義理解,能正確識別圖像結構
精簡代碼,生成更高效的 SVG
更準確的評測標準,解決像素級評估的局限性
支援 Hugging Face 訓練與測試,可供開發者使用

StarVector 讓 AI 生成 SVG 變得更加精確、可靠,並為未來的向量圖形應用開啟了更多可能性。💡

👉 相關資源:

Share on:
Previous: DeepSeek-V3-0324 震撼發布:免費商業使用,支援消費級設備
Next: OpenAI 推出全新語音 AI 模型:gpt-4o-transcribe 及其應用前景