🚀 SVGDreamer:基於擴散模型的文本引導式SVG生成
SVGDreamer是一款先進的文本到SVG生成模型,它採用多粒子優化方法創建高質量的矢量圖形。該模型能夠同時生成多個SVG變體,從而實現多樣化和富有創意的輸出。
🚀 快速開始
SVGDreamer是一個利用多粒子系統和Stable Diffusion引導矢量圖形生成的模型。它可以根據文本提示生成多種不同風格的矢量圖形。以下是使用該模型的示例代碼:
直接調用API
import requests
API_URL = "https://api-inference.huggingface.co/models/jree423/svgdreamer"
headers = {"Authorization": "Bearer YOUR_HF_TOKEN"}
def query(payload):
response = requests.post(API_URL, headers=headers, json=payload)
return response.json()
output = query({
"inputs": "a majestic eagle soaring through clouds",
"parameters": {
"n_particle": 6,
"num_iter": 1000,
"guidance_scale": 7.5,
"style": "iconography",
"width": 224,
"height": 224,
"seed": 42
}
})
使用推理客戶端
from huggingface_hub import InferenceClient
client = InferenceClient("jree423/svgdreamer")
result = client.post(
json={
"inputs": "a cyberpunk cityscape at night",
"parameters": {
"n_particle": 4,
"style": "pixel_art",
"guidance_scale": 8.0
}
}
)
✨ 主要特性
- 多粒子生成:可同時創建多個SVG變體。
- 風格控制:支持不同的藝術風格,如圖標、像素藝術、素描、繪畫等。
- 高質量輸出:生成細節豐富且美觀的矢量圖形。
- 參數靈活:提供廣泛的自定義選項,用於微調輸出結果。
📚 詳細文檔
參數說明
屬性 |
詳情 |
n_particle |
要生成的SVG粒子數量,每個粒子代表對提示的不同解讀,默認值為6。 |
num_iter |
優化迭代次數,更多的迭代次數可提高質量,但會增加時間,默認值為1000。 |
guidance_scale |
控制生成結果與文本提示的貼合程度,默認值為7.5。 |
width |
輸出SVG的寬度(像素),默認值為224。 |
height |
輸出SVG的高度(像素),默認值為224。 |
seed |
隨機種子,用於可重複的結果,默認值為42。 |
style |
生成SVG的風格,選項包括"iconography"、"pixel_art"、"sketch"、"painting",默認值為"iconography"。 |
輸出格式
模型返回一個JSON對象列表,每個對象包含以下信息:
particle_id
:粒子的唯一標識符。
svg
:生成的SVG內容(字符串形式)。
svg_base64
:Base64編碼的SVG,便於傳輸。
prompt
:輸入的文本提示。
style
:用於生成的風格。
parameters
:用於生成的參數。
支持的風格
圖標風格
簡潔、簡約的矢量圖形,適用於圖標和標誌。
像素藝術風格
具有像素化美學的復古風格圖形。
- 示例:"a pixel art character"
素描風格
帶有有機線條和藝術氣息的手繪風格。
- 示例:"a sketch of a mountain landscape"
繪畫風格
具有複雜顏色漸變的豐富繪畫風格。
- 示例:"an oil painting of a sunset"
示例提示
自然場景
- "a forest with tall pine trees"
- "ocean waves crashing on rocks"
- "a field of sunflowers under blue sky"
角色和物體
- "a friendly robot character"
- "a vintage bicycle"
- "a magical wizard casting spells"
抽象藝術
- "geometric patterns in bright colors"
- "flowing organic shapes"
- "mandala design with intricate details"
🔧 技術細節
- 基礎模型:Stable Diffusion 2.1
- 框架:PyTorch + Diffusers
- 矢量渲染:DiffVG(可微矢量圖形)
- 優化方法:多粒子VPSD(基於矢量粒子的分數蒸餾)
- 並行處理:同時優化多個SVG表示
📄 許可證
本模型採用MIT許可證發佈。
📚 引用
@inproceedings{xing2024svgdreamer,
title={SVGDreamer: Text Guided SVG Generation with Diffusion Model},
author={Xing, XiMing and others},
booktitle={CVPR},
year={2024}
}