Original size 1140x1600

Helen Frankenthaler глазами искусственного интеллекта

PROTECT STATUS: not protected
6

Идея проекта

Создание ИИ-модели для рисования картин в стиле знаменитого экспрессиониста Хелен Франкенталер.

Абстракции созданные Франкенталер кажутся оживленными невидимой энергией. Новым и действительно замечательным было применение Франкенталер ее масляной среды, которую она разбавляла до консистенции акварели, чтобы она впитывалась и окрашивала холст, а не скапливалась на его поверхности. Она использовала скипидар для разбавления масляной краски. Достигнув желаемой консистенции, она затем осторожно выливала ее на холст. Этот метод разбавления имел эффект смягчения цветов. Кроме того, поскольку ее холсты не были запечатаны грунтовкой, они впитывали цвета, создавая необычные оттенки. В более теоретическом плане техника Хелен представляла собой важный шаг для проекта модернизма в целом. Тема модернизма — это напряжение между присущей холсту плоскостностью и иллюзией глубины в живописи. Плоскость изображения разрушалась с последующими, всё более абстрактными движениями, которые с готовностью признавали реальность их плоскостности. Франкенталер описала свой способ начала картины как «начать с чего-то, а затем посмотреть, что получится в ходе непрерывного акта живописи…».

Это обычная практика для современных художников, особенно абстракционистов. Это очень инстинктивный способ работы, и он отличается от традиционного метода выполнения ряда предварительных рисунков и композиционных исследований для картин. Более спонтанный современный метод допускает неожиданные направления, счастливые случайности и самопознание в искусстве — более «экзистенциальное» мышление, сомнение в предубеждениях и догмах и акцент на важности индивидуального намерения, а не коллективного соответствия. Эта спонтанность никоим образом не подразумевает отсутствие обоснованности. Однако зачастую человеку трудно сформулировать почему-то или иное абстрактное произведение выглядит гармонично и красиво.

Цель проекта

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

Генерация

Технически, был использован код преподавателя, а именно программа предназначенная для точной настройки модели Stable Diffusion XL (SDXL) с использованием методов DreamBooth и LoRA (Low-Rank Adaptation) на бесплатном ноутбуке Google Colab с графическим процессором T4. DreamBooth — это метод персонализации диффузионных моделей путем обучения их новым концепциям (например, определенному художественному стилю) с использованием небольшого набора изображений. Вместо точной настройки всех весов массивной модели SDXL, LoRA замораживает предварительно обученные веса и вводит обучаемые низкоранговые матрицы в слои модели. Это снижает использование памяти и вычислительные затраты, сохраняя при этом исходные знания модели. Модель обрабатывает входные изображения и подписи, генерируя прогнозы. Разница между прогнозируемыми и фактическими выходами (на основе подписей) вычисляется с использованием функции потерь (например, потери с весовым коэффициентом SNR).

Градиенты вычисляются, а матрицы LoRA обновляются с использованием 8-битного оптимизатора Adam. Градиенты накапливаются в нескольких пакетах для моделирования большего размера пакета, что повышает стабильность. Цель состоит в том, чтобы научить модель определенному художественному стилю — в данном случае абстрактному экспрессионистскому стилю Хелен Франкенталер — путем обучения её на тщательно подобранном наборе данных её картин. Код преподавателя был немного модифицирован, а именно был написан небольшой скрипт, который извлекает изображения картин Хелен Франкенталер с указанного URL-адреса, фильтрует их по квадратным пропорциям и сохраняет локально:

Original size 3499x2683
Original size 3499x3237
Original size 3499x1441

Примеры изображений, используемых в обучении

Original size 3499x3299

Далее были использованы сервисы BLIP для генерации подписей к рисункам. Данная модель учится связывать уникальный идентификатор («Helen Frankenthaler») со стилем, изображенным на обучающих изображениях. В процессе работы в ноутбуке Google Colab устанавливается необходимые библиотеки: bitsandbytes, transformers, acceler, peft и последние диффузоры из репозитория Hugging Face и загружается обучающий скрипт train_dreambooth_lora_sdxl.py из репозитория Hugging Face GitHub. LoRA применяется к модели для её эффективной тонкой настройки путем обновления только матриц низкого ранга, что значительно сокращает количество обучаемых параметров. Обучающая конфигурация установлена таким образом, что используется 8-битный оптимизатор Adam и обучение со смешанной точностью (fp16) для уменьшения использования памяти, также используются контрольные точки градиента и накопление градиента для обработки большого размера модели и устанавливается скорость обучения 1e-4 с постоянным планировщиком и без шагов разогрева. Обучение происходит за 500 шагов с контрольными точками, сохраняемыми каждые 250 шагов. Подсказка экземпляра установлена на «Хелен Франкенталер», чтобы связать стиль с её именем.

Скрипт запускает процесс обучения с использованием библиотеки ускорения, которая оптимизирует распределенное обучение. Модель обучается на курируемом наборе данных с пользовательскими подписями, обучаясь связывать художественный стиль с предоставленными подсказками. Обученные веса LoRA сохраняются локально и загружаются в Hugging Face Hub для совместного использования и повторного использования. Таким образом загружается тонко настроенная модель, и генерируются образцы изображений с использованием подсказок, описывающих желаемый стиль (например, «Helen Frankenthaler, abstract color field painting…»). Обученная модель была сохранена в: https://huggingface.co/Katrun/Frankenthaler_style_sd1_LoRA

Сгенерированные изображения

В итоговой серии изображений ИИ было предложено показать картины в стиле Хелен Франкенталер. В первых трёх случаях ИИ было предложено сгенерировать изображения на основе описания цветов, форм, положения различных элементов абстрактной картины:

Original size 3499x1658
Original size 3499x1001

В последующих трёх случаях ИИ было предложено нарисовать объекты реального мира, таких как горы и море, мужчина, женщина. Было интересно узнать, как ИИ передаст объекты реального мира через абстрактное искусство. Результирующая серия изображений, соответственно:

Original size 3499x1658
Original size 3499x683

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

Original size 3499x503

Результирующая картинка выглядит следующим образом (Рис.7):

Original size 3499x1546

Если же добавить технику нанесения краски и текстуру поверхности, то получим следующее изображение (Рис.8):

Original size 3499x1546
Original size 3499x591

Если же сделать акцент на счастливых эмоциях, то получается следующая картинка (Рис.9):

Original size 3499x1546
Original size 3499x591

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

Original size 3499x1573

Данный вопрос последовательно задавался Chat GPT для каждой картинки и ответ сохраняются в словаре и как файл metadata.jsonl. Таким образом в оригинальный код преподавателя было внесено изменение, а именно часть кода, связанная с загрузкой BLIP, заменяется следующим кодом:

Original size 3499x1372

В остальном был сохранен исходный код преподавателя. Обученная модель была сохранена в:https://huggingface.co/Katrun/Frankenthaler_style_sd_LoRA. В результате были сгенерированы изображения, используя те же самые подсказки, что и при прежнем методе обучения с использованием BLIP.

Original size 3499x1658
Original size 3499x1061

Полученные изображения явно сгенерированы в стиле абстрактной живописи, напоминающей стиль Хелен Франкенталер. Создавался эффект «текущих» по полотну красок, в которых сочетаются различные цветовые тона. В последующих трёх случаях ИИ было предложено нарисовать объекты реального мира, таких как горы и море, мужчина, женщина. Было интересно узнать, как ИИ передаст объекты реального мира через абстрактное искусство. Результирующая серия изображений, соответственно:

Original size 3499x1658
Original size 3499x753

Данные изображения выглядят более красиво, чем Рис. 4-6.

В результате нескольких итераций также была получена следующая картинка:

Original size 3499x1546

Для этой картинки использовалась следующая подсказка:

Original size 3499x614

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

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

return 0.8 <= w/h <= 1.2 на return 0.75 <= w/h <= 1.25

Тем самым количество входных в модель изображений увеличилось с 48 на 63. Примеры добавленных изображений:

Original size 3499x3299

Таким образом, как видно, новые картинки более или менее однородные по цвету. Были также добавлены советующие подписи к новым картинкам используя Chat GPT. Модель была переобучена и сохранена в: https://huggingface.co/Katrun/Frankenthaler_style_sd2_LoRA

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

Original size 3499x1658
Original size 3499x1658
Original size 3499x1602

Сравнивая эти картинки с аналогичными Рис. 10-16 можно заметить, что обучение нейросети картинами однородными по цвету увеличило однородность по цвету у выходных изображений. В общем и целом качество изображений, которые должны предавать понятия в человеческом языке, такие как горы и море, мужчина, женщина, можно сказать, повысилось, хотя еще далеко от оригиналов художника. Подученные изображения Рис. 20-22 выглядят более объёмно, чем аналоги их, Рис. 13-15, соответственно.

Вывод

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

Источники изображений

Helen Frankenthaler глазами искусственного интеллекта
6
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more