Skip to content
ComfyUI Wiki
Помогите создать лучшую базу знаний ComfyUI Стать спонсором
НовостиStarVector: мультимодальная модель для генерации SVG кода

StarVector: новый инструмент для генерации SVG кода из изображений и текста

Недавно проект с открытым исходным кодом под названием StarVector объявил о своем принятии на ведущей конференции по компьютерному зрению CVPR 2025. Этот проект предлагает решение на основе мультимодальной большой языковой модели, которая может автоматически генерировать SVG (Scalable Vector Graphics) код из изображений или текстовых описаний.

StarVector Main Visual

Онлайн-опыт

Вы можете напрямую испытать функциональность StarVector для преобразования изображений в SVG через интерактивную демонстрацию ниже:

StarVector Online Demo

Через эту демонстрацию вы можете загружать свои собственные изображения, просматривать эффект генерации SVG в реальном времени и получать сгенерированный SVG код.

Что такое StarVector?

StarVector - это мультимодальная модель зрения-языка, специально разработанная для задач генерации SVG. Она может достичь двух основных функций:

  1. Изображение-в-SVG: Преобразует растровые изображения в SVG векторный код.
  2. Текст-в-SVG: Генерирует соответствующие SVG графики на основе текстовых описаний.

В отличие от традиционных инструментов векторизации, StarVector не просто выполняет подгонку кривых; он понимает семантическую структуру изображений и использует соответствующие SVG базовые элементы (такие как круги, многоугольники, текст и т.д.) для генерации более лаконичного и точного векторного графического кода.

Техническая архитектура и принцип работы

StarVector принимает инновационную мультимодальную архитектуру, которая трансформирует задачи векторизации изображений в задачи генерации кода. Исследовательская команда построила архитектуру модели на основе StarCoder (большая модель генерации кода), позволяя ей работать непосредственно в пространстве SVG кода.

StarVector Architecture Diagram

При выполнении преобразования изображения-в-SVG, изображение сначала проецируется в визуальные токены визуальным энкодером, а затем модель генерирует соответствующий SVG код. Для генерации текст-в-SVG, модель напрямую получает текстовые инструкции (без необходимости предоставлять изображение) и создает полностью новые SVG графики.

Обучение StarVector использует двухэтапный метод:

  • Этап предварительного обучения: Изучение способности отображения от изображений к SVG на наборе данных SVG-Stack, который содержит 2.1 миллион образцов. Этот этап позволяет модели изучить основную способность обрабатывать различные элементы векторной графики.
  • Этап тонкой настройки: Дальнейшая оптимизация на конкретных доменных наборах данных (таких как SVG-Fonts, SVG-Icons и т.д.) для улучшения производительности модели на конкретных задачах.

Проект предлагает две версии модели для удовлетворения различных потребностей:

  • StarVector-1B: С 1 миллиардом параметров, подходящая для сред с ограниченными ресурсами, балансируя производительность и эффективность.
  • StarVector-8B: С 8 миллиардами параметров, предоставляющая наивысшее качество генерации, подходящая для сценариев, которые преследуют предельные эффекты.

Ключевые технологические инновации

StarVector приносит несколько ключевых технологических прорывов:

Семантическое понимание и компактное выражение

Традиционные методы векторизации (такие как AutoTrace, Potrace и т.д.) в основном полагаются на подгонку кривых и не имеют понимания семантики изображений, часто производя длинные и трудные для редактирования пути. StarVector может напрямую генерировать семантически релевантные SVG примитивы (такие как <circle>, <text> и т.д.) через мультимодальный анализ, приводя к более лаконичному и редактируемому коду.

Инновационные метрики оценки

Проект вводит метрики оценки, специально предназначенные для векторной графики, такие как DinoScore, решая проблему, что традиционные пиксельные метрики (такие как MSE) не могут точно захватить топологическую структуру векторной графики, делая результаты оценки ближе к человеческому визуальному восприятию.

Сравнение с существующими методами

В тестах бенчмарка SVG-Bench, модель StarVector (особенно версия 8B) значительно превосходит существующие методы векторизации:

StarVector Effect Comparison

Диаграмма сравнения показывает эффекты различных методов при обработке различных изображений. Очевидно, что SVG код, сгенерированный StarVector, более лаконичен и точно захватывает структуру и семантику оригинального изображения. Результаты визуально яснее, и сгенерированный код легче редактировать и модифицировать позже.

Наборы данных и тестирование бенчмарка

Для обучения и оценки StarVector, исследовательская команда создала два важных ресурса:

Набор данных SVG-Stack

Крупномасштабный, разнообразный набор данных, содержащий 2.1 миллион образцов, охватывающий различные векторные графики, такие как иконки, диаграммы и шрифты. Этот набор данных позволяет модели научиться обрабатывать различные SVG примитивы и достичь хорошего обобщения на различных типах графики.

Бенчмарк оценки SVG-Bench

Комплексный бенчмарк оценки, содержащий 10 поднаборов данных, охватывающий три основные задачи:

  • Генерация изображения-в-SVG
  • Генерация текст-в-SVG
  • Генерация диаграмм

Каждый поднабор данных имеет различные характеристики и трудности, делая результаты оценки более комплексными и надежными.

Сценарии применения и ограничения

StarVector особенно подходит для следующих сценариев применения:

  • Веб- и UI дизайн: Эффективное преобразование иконок, кнопок и других элементов интерфейса.
  • Технические диаграммы и блок-схемы: Преобразование нарисованных от руки или растровых диаграмм в редактируемые векторные форматы.
  • Дизайн шрифтов и логотипов: Преобразование эскизов или растровых логотипов в точные векторные версии.
  • Визуализация данных: Предоставление четких, масштабируемых векторных представлений для диаграмм и графики.

Важно отметить, что текущая версия StarVector имеет определенные ограничения в следующих областях:

  • Она плохо работает на естественных изображениях (таких как пейзажи и портреты), потому что данные обучения не включают сложную текстуру и информацию об освещении.
  • Она может чрезмерно упрощать результаты для высоко сложных иллюстраций.
  • Обработка очень больших изображений может потребовать более длительного времени вывода.

Развертывание и использование

StarVector предлагает различные варианты развертывания для размещения различных сценариев использования:

HuggingFace API

Предоставляет готовый к использованию интерфейс модели, подходящий для быстрой интеграции в существующие проекты. Пользователи могут конвертировать изображения в SVG код через простые API вызовы.

VLLM ускоренный бэкенд

Оптимизирует скорость вывода через технологию Paged Attention, поддерживая сценарии высокой конкурентности (такие как пакетная обработка изображений). Этот метод развертывания особенно подходит для производственных сред, которые должны обрабатывать большое количество изображений.

Локальное развертывание и демонстрация

Проект предоставляет полные руководства по развертыванию и интерфейсы демонстрации Gradio, позволяя пользователям запускать модель в локальных средах и просматривать результаты в реальном времени. Интерфейс демонстрации поддерживает загрузку изображений или ввод текста и визуализацию сравнения различных выходов модели.

Вклад в открытый исходный код и будущее развитие

Проект StarVector был полностью открыт на GitHub (лицензия Apache 2.0), предоставляя полный код, предварительно обученные модели и инструменты оценки. Исследовательская команда также выпустила наборы данных SVG-Stack и SVG-Bench для обучения и оценки, предоставляя важные ресурсы для исследований в области генерации векторной графики.

В будущем исследовательская команда планирует дальше улучшить StarVector в следующих областях:

  • Улучшить способность обрабатывать естественные изображения.
  • Предоставить более детальные опции контроля, позволяя пользователям указывать конкретные параметры во время процесса генерации.
  • Оптимизировать производительность модели для уменьшения времени вывода и требований к ресурсам.
  • Расшириться на больше сценариев применения, таких как генерация 3D моделей и создание динамических SVG.

Связанные ссылки