🚀 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}
}