Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как нейросеть собрала пиксель-арт маскота для сайта из черновиков

Как нейросеть собрала пиксель-арт маскота для сайта из черновиков

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

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

Первый прототип маскота на Qwen Image
Первый прототип, используемый в качестве базового кадра на сайте.
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 12
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 13
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 14
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 15
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 16
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 17
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 18
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 19
Как нейросеть собрала пиксель-арт маскота для сайта из черновиков — изображение 20

Анализ исходных данных и особенности аппаратного стенда

Для генерации первоначальных изображений использовалась связка компонентов на базе ComfyUI. В роли основной модели выступала Qwen Image 2.1 в int8-вариации (6,76 ГиБ), текстовый энкодер qwen3vl_8b_int8_convrot (8,71 ГиБ), улучшатель промпта qwen3.5_9b_qwen_image_2.1_pe_t2i (8,82 ГиБ) и VAE (0,63 ГиБ). Общий объём данных, проходящих через память при работе с улучшателем, составляет почти 25 ГиБ, поэтому система задействует последовательную разгрузку моделей.

Реклама

Аппаратная конфигурация включает процессор Ryzen 7 5800X, 64 ГБ оперативной памяти DDR4, а также графические ускорители RTX 5080 (16 ГБ) под управлением Arch Linux с драйвером 610.57.04 и CUDA 13.3. Набор персонажа состоит из двенадцати кадров с различными эмоциями, созданными для интеграции в веб-интерфейс сайта-визитки.

Реклама
Сравнение черновика и готового спрайта с зумом
Сравнение черновика нейросети и получившегося спрайта на одинаковой области.

Эксперименты с прямым запросом и сторонними нодами

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

Сравнение с готовыми инструментами пикселизации, такими как Krea2 Pixel Art Refiner и PixelOE, выявило их ограничения. Сторонние узлы способны снизить количество цветов до заданного значения, однако они обрабатывают каждый кадр изолированно, не обеспечивая общую палитру для всего набора, и возвращают результат в виде сплошной картинки со светлым фоном вместо прозрачного спрайта с бинарной альфой.

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

Пять ключевых этапов пайплайна обработки

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

Удаление свечения и тени по контуру персонажа
Результат очистки светового ореола и тени вокруг силуэта.

1. Применение медианы блока вместо среднего

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

2. Формирование единой палитры для всего набора

Чтобы избежать мерцания цветов при смене эмоций персонажа, палитра формируется с помощью алгоритма median cut по объединённой гистограмме всех кадров. Полученная палитра закрепляется и в дальнейшем только расширяется при появлении уникальных оттенков, удерживая число уникальных цветов в пределах ограничений текстового формата спрайта.

3. Интеллектуальное удаление свечения и тени

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

Защита глаз персонажа маской ириса
Маска ириса и кожи защищает ключевые детали лица от удаления.

4. Защита глаз по уникальному зелёному оттенку

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

Гистограмма блоков разного размера
Распределение площадей холста по размерам блоков от 1×1 до 8×8.

5. Построение карты блоков

Для создания разноразмерных плоских областей кадр разбирается на максимальные однородные квадраты размером от 1×1 до 8×8 пикселей. Рекурсивное деление позволяет сохранить оригинальную детализацию различных частей одежды и головного убора без превращения спрайта в однородную сетку.

Палитра набора спрайтов
Цветовая палитра набора, отсортированная по площади.

Проверка качества и автоматические тесты

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

Полный набор из двенадцати кадров спрайтов
Итоговый набор из двенадцати кадров маскота.
Живые обои маскота для Wallpaper Engine
Живые обои на логической сетке 640×360 с целочисленным масштабом.

Реализация конвейера базируется на стандартных библиотеках Python (Pillow и numpy), а весь исходный код алгоритмов и замороженная палитра опубликованы в открытом репозитории для независимого воспроизведения.

01.