OmniSVG: из текста и изображений генерировать векторную графику SVG с открытым исходным кодом

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

OmniSVG - это проект с открытым исходным кодом, направленный на создание высококачественной векторной графики (SVG) с помощью мультимодальной модели. Он использует предварительно обученные визуально-лингвистические модели для поддержки генерации SVG на основе текстовых описаний или изображений, охватывая широкий спектр сценариев - от простых иконок до сложных аниме-персонажей. Проект предоставляет набор данных MMSVG, включая подмножества иконок и иллюстраций, а подмножество персонажей будет добавлено в будущем. OmniSVG разработан Фуданьским университетом и командой StepFun, а код и документация размещены на GitHub. Проект находится на ранней стадии, и основной код и модели еще не полностью опубликованы; однако набор данных и протокол оценки, MMSVG-Bench, уже предоставлены и подходят для исследователей и разработчиков. исследователей и разработчиков.

OmniSVG:从文本和图像生成SVG矢量图形的开源项目

 

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

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

 

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

Подготовка проекта

В настоящее время OmniSVG не предоставляет полных файлов развертывания, а основной код и предварительно обученные модели еще не выпущены. Для того чтобы пользователи могли получить доступ к данным и понять суть проекта, мы предлагаем следующие подготовительные шаги, основанные на имеющейся документации:

  1. Репозиторий клонированного кода
    Откройте терминал и выполните следующую команду, чтобы получить репозиторий OmniSVG:

    git clone https://github.com/OmniSVG/OmniSVG.git
    

    Перейдите в каталог проектов:

    cd OmniSVG
    

    Текущий репозиторий содержит следующие файлы:

    • assets/: Хранит демонстрационные изображения и GIF-файлы для демонстрации сгенерированных результатов.
    • data/: Содержит примеры данных или метаданных для конкретных целей. README.md.
    • LICENSE: Проект находится под лицензией с открытым исходным кодом (конкретные условия см. в документации).
    • README.md: Предоставляет краткое описание проекта, ссылки на наборы данных и планы на будущее.
  2. Проверка окружения Python
    OmniSVG опирается на Python 3.8+ и библиотеки машинного обучения (например, PyTorch, Transformers). Несмотря на то, что пока нет возможности предоставить requirements.txtРекомендуется установить следующие базовые библиотеки для последующих выпусков кода:

    pip install torch transformers pillow numpy
    

    Если код будет выпущен в будущем, могут потребоваться дополнительные библиотеки; обратитесь к официальной документации в это время.

  3. Скачать набор данных MMSVG
    Набор данных MMSVG является текущим основным ресурсом для проекта и содержит два подмножества, размещенных на сайте Hugging Face:

    • MMSVG-Icon:https://huggingface.co/OmniSVG/MMSVG-Icon
    • MMSVG-Иллюстрация:https://huggingface.co/OmniSVG/MMSVG-Illustration
      Операционная процедура:
    • Перейдите по ссылке выше, чтобы загрузить набор данных.
    • Распакуйте файл, рекомендуется хранить его в папке OmniSVG/datasets/ Каталог (может быть создан вручную).
    • Набор данных содержит около 2 миллионов SVG-иконок и иллюстраций, пригодных для обучения или анализа.
  4. Просмотр демо-ресурсов
    assets/ Папка содержит демонстрационные GIF-файлы (например. omnisvg-teaser.gif), демонстрирующий процесс преобразования текста в SVG и создания персонажей аниме. Пользователи могут просматривать его следующими способами:

    • показать (билет) assets/ Каталог, загрузите GIF в браузер или программу просмотра изображений.
    • Обратитесь к примерам ввода и вывода в GIF, чтобы узнать о возможностях модели (например, создание персонажей аниме со сложными траекториями).
  5. Следите за официальными обновлениями
    Текущий код и модели не выпускаются, поэтому мы рекомендуем следить за обновлениями по каналам ниже:

    • Репозитории GitHub:https://github.com/OmniSVG/OmniSVG
    • Официальный сайт проекта:https://omnisvg.github.io
    • Страница "Обнимая лицо":https://huggingface.co/OmniSVG
      Официально планируется выпустить подмножество MMSVG-Character и полный код, который, как ожидается, будет включать скрипты развертывания и веса моделей.

Использование набора данных

Набор данных MMSVG является основным доступным ресурсом, и ниже подробно описано, как его использовать:

1. Подмножество MMSVG-Icon

  • использоватьВключает в себя минималистичные SVG-иконки для дизайна пользовательского интерфейса, веб-разработки и обучения моделей.
  • процедура::
    • После загрузки набора данных распакуйте его в datasets/MMSVG-Icon/.
    • Например, используйте сценарии Python для навигации по данным:
      import os
      for file in os.listdir("datasets/MMSVG-Icon"):
      if file.endswith(".svg"):
      print(file)
      
    • Откройте SVG-файл (с помощью браузера или Inkscape) и просмотрите стиль иконки.
  • прибор: Анализ структур пиктограмм, извлечение данных о путях или предварительное обучение для создания моделей.

2. Подмножество MMSVG-иллюстраций

  • использовать: Содержит сложные иллюстрации, подходящие для художественного оформления и мультимодальных исследований.
  • процедура::
    • Разархивируйте в datasets/MMSVG-Illustration/.
    • Используйте аналогичный скрипт для просмотра файла с иллюстрациями и изучения содержимого SVG.
    • Иллюстрации можно импортировать в программное обеспечение для дизайна (например, Adobe Illustrator) для редактирования.
  • особенностиИллюстрации содержат множество контуров и цветов, демонстрируя способность модели генерировать сложные формы.

3. Оценка MMSVG-Bench

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

Предварительный просмотр функций

Хотя основной код еще не выпущен, в официальной документации и демо-версиях подробно описаны следующие функции, о которых пользователи могут узнать заранее:

1. Генерация текста SVG

  • функциональность: Пользователь вводит текстовое описание (например, "красная пентаграмма"), а модель генерирует SVG-файл.
  • демонстрации::assets/omnisvg-teaser.gif Продемонстрируйте процесс создания текста для иконок.
  • Предполагаемая эксплуатация: Когда будущий код будет выпущен, пользователи смогут запускать скрипт, вводить слова подсказки и выводить векторную графику.
  • особенности: Создавайте масштабируемые результаты без потерь для веб-дизайна и печати.

2. Изображение в SVG

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

3. Формирование ролевой последовательности

  • функциональность: Создание новой графики персонажей в едином стиле на основе эталонных SVG или изображений.
  • демонстрации::assets/OmniSVG-demo-gen-proc-anime-1080.gif Продемонстрируйте создание персонажей аниме.
  • доминирование: Поддерживает высокую детализацию, сохраняя особенности персонажей (например, цвета, силуэты).
  • прибор: Подходит для разработки игр, генерируя многофункциональные персонажи.

предостережение

  • Статус проекта: В настоящее время доступны только наборы данных и демонстрационные ресурсы, а основная функциональность должна дождаться выхода кода.
  • Рекомендации по аппаратному обеспечениюЗапуск моделей в будущем может потребовать использования графического процессора (например, видеокарты NVIDIA) для ускорения генерации.
  • ссылка на документацию::README.md и официальный сайт (https://omnisvg.github.io), чтобы предоставить актуальную информацию.
  • Участие в жизни общества: Получайте поддержку разработчиков, задавая вопросы или оставляя отзывы через GitHub Issues.

 

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

  1. Анализ наборов данных иконок
    Дизайнеры используют подмножество MMSVG-Icon для изучения структуры путей минималистичных иконок, чтобы вдохновиться дизайном пользовательского интерфейса.
  2. Разработка иллюстративных ресурсов
    Художники используют подмножество MMSVG-Illustration для создания сложных иллюстраций, оптимизированных для рекламы или публикации.
  3. Моделирование исследований
    Исследователи использовали набор данных MMSVG для разработки новых моделей генерации SVG и изучения мультимодальных методов.
  4. образовательные ресурсы
    Преподаватели объясняют принципы создания векторной графики, демонстрируя GIF-файлы, чтобы помочь студентам понять, как использовать искусственный интеллект в дизайне.

 

QA

  1. Работает ли OmniSVG в настоящее время?
    В настоящее время доступны только наборы данных и демонстрационные ресурсы, основной код и модели еще не выпущены, необходимо дождаться официального обновления.
  2. Как используется набор данных MMSVG?
    Загрузите подмножество иконок или иллюстраций, распакуйте и просмотрите с помощью скрипта Python или дизайнерского программного обеспечения, подходящего для обучения или дизайна.
  3. Требуется опыт программирования?
    Для просмотра набора данных не требуется программирование; для запуска модели в будущем могут потребоваться базовые знания Python, которые будут указаны в документации.
  4. Бесплатны ли наборы данных?
    Да, MMSVG-Icon и MMSVG-Illustration бесплатны и открыты в Hugging Face.
  5. Как генерировать персонажей аниме?
    В настоящее время мы ждем выхода кода Role Conformance Generation, но демонстрационный GIF показывает ожидаемый результат.
© заявление об авторских правах

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

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

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