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

Общее введение

StarVector - это проект с открытым исходным кодом, созданный такими разработчиками, как Хуан А. Родригес, для преобразования изображений и текста в масштабируемую векторную графику (SVG). Этот инструмент использует визуальную языковую модель, которая понимает содержимое изображений и текстовые инструкции для генерации высококачественного кода SVG. Его основная особенность заключается в том, что он превращает процесс векторизации в задачу генерации кода, подходящего для иконок, технических диаграмм, логотипов и т. д. StarVector обучается на наборе данных SVG-Stack, который содержит более 2 миллионов реальных образцов SVG, что обеспечивает точность и разнообразие результатов. В настоящее время проект поддерживается, в частности, компаниями ServiceNow Research и Mila, а его последнее обновление состоялось в марте 2025 года.

StarVector:从图像和文字生成SVG矢量图的基础模型

 

Список функций

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

 

Использование помощи

Использование StarVector требует некоторой технической подготовки, поскольку это проект, основанный на коде. Ниже приведены подробные шаги по установке и эксплуатации, чтобы помочь пользователям быстро начать работу.

Процесс установки

  1. Подготовка среды
    • Убедитесь, что на вашем компьютере установлен Python 3.11.3. Проверить версию можно с помощью команды:
      python --version
      
    • Если нет, загрузите и установите его с сайта https://www.python.org.
    • Установите Git для загрузки кода с GitHub. Загрузите по адресу https://git-scm.com.
  2. Создание виртуальной среды
    • Откройте терминал и введите следующую команду, чтобы создать новую среду Python:
      conda create -n starvector python=3.11.3 -y
      
    • Активируйте окружающую среду:
      conda activate starvector
      
  3. Скачать StarVector Code
    • Введите его в терминал:
      git clone https://github.com/joanrod/star-vector.git
      
    • Перейдите в папку с проектом:
      cd star-vector
      
  4. Установка зависимостей
    • Обновите pip и установите необходимые библиотеки:
      pip install --upgrade pip
      pip install -e .
      
    • Это позволит установить все пакеты Python, необходимые для работы StarVector.
  5. Установка переменных окружения
    • Если вы хотите обучить модель или использовать расширенные функции, необходимо настроить следующие переменные:
      export HF_HOME=<模型存储路径>
      export HF_TOKEN=<你的 Hugging Face 令牌>
      export WANDB_API_KEY=<你的 Weights & Biases 令牌>
      export OUTPUT_DIR=<输出路径>
      
    • Их можно ввести в терминале или записать в файл конфигурации среды.

Использование

Создание SVG из изображений

  1. Подготовка изображения
    • Выберите значок, логотип или изображение технической диаграммы для сохранения в распространенном формате (например, PNG или JPG).
    • Примечание: StarVector не подходит для работы с природными пейзажами или сложными иллюстрациями, лучше использовать простую графику.
  2. работающий код
    • Поместите изображение в папку проекта и введите его в терминал:
      python scripts/image_to_svg.py --input <图像路径> --output <输出SVG路径>
      
    • Например:
      python scripts/image_to_svg.py --input icon.png --output icon.svg
      
  3. Посмотреть результаты
    • Созданный SVG-файл сохраняется по указанному пути. Его можно открыть для просмотра в браузере или в программе для работы с векторной графикой (например, Inkscape).

Создание SVG из текста

  1. Ввод текстовых команд
    • Откройте терминал и запустите скрипт генерации текста:
      python scripts/text_to_svg.py --text "一个红色圆形" --output circle.svg
      
    • Будьте максимально конкретны, например, "черная пятиконечная звезда" или "синяя прямоугольная коробка".
  2. Проверьте выход
    • Созданный SVG-файл будет сохранен по указанному пути, откройте его, чтобы проверить, соответствует ли он ожиданиям.

Дополнительные возможности: Модели обучения

  • Если вы хотите обучить модель самостоятельно, вы можете использовать набор данных SVG-Stack.
  • Запустите команду обучения (например, StarVector-1B):
deepspeed scripts/train.py --data_path <SVG-Stack路径> --output_dir <输出路径>
  • Примечание: Для обучения требуется компьютер с более высокой конфигурацией и может потребоваться поддержка GPU.

навык работы

  • регулировка компонентов во время тестирования: Если полученные результаты не удовлетворяют, проверьте, не слишком ли сложное исходное изображение или не слишком ли четкое текстовое описание.
  • персонализация: Параметры можно регулировать в коде, например, увеличить количество образцов для повышения точности.
  • Посмотреть документ: Файл README.md в корневом каталоге проекта содержит больше инструкций, поэтому рекомендуется внимательно прочитать его.

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

 

сценарий применения

  1. Иконный дизайн
    Дизайнеры могут использовать StarVector для быстрого преобразования эскизов в векторные иконки, экономя время на ручной трассировке.
  2. технический документ
    Инженеры могут использовать его для создания диаграмм или блок-схем, которые можно встраивать непосредственно в документы или веб-страницы.
  3. Образовательные демонстрации
    Учителя могут создавать учебные графики с текстовыми описаниями для наглядной демонстрации понятий.
  4. веб-разработка
    Разработчики могут использовать его для быстрого создания масштабируемых веб-элементов и повышения скорости загрузки.

 

QA

  1. Может ли StarVector обрабатывать фотографии?
    Нельзя. Он предназначен для иконок, логотипов и технических диаграмм и не подходит для естественных изображений или сложных иллюстраций.
  2. Нужно ли мне платить?
    Нет. StarVector - это проект с открытым исходным кодом, и его код и базовая функциональность бесплатны для использования.
  3. Можно ли редактировать сгенерированный SVG?
    Да. Созданные SVG имеют стандартный формат и могут быть отредактированы в Inkscape или Illustrator.
  4. Что делать, если установка не удалась?
    Проверьте правильность версии Python, убедитесь, что сетевое подключение работает, или посмотрите сообщения об ошибках в терминале.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...