Идея проекта
Для обучения нейросети я выбрала работы художника BIJIJOO, за которым давно слежу, и которого знаю по тиктокам с процессом работы. Художник создаёт персонажей, которых сложно представить. Кажется, что их уже сгенерировала нейросеть. Персонажи и обстановка вокруг них всегда разные, но композиция полотен почти всегда одна и та же — а это интересный материал для обучения нейросети.
BIJIJOO — это американский художник, работающий в смешанной технике. С помощью наслоения цвета, света, текстуры он создаёт гротескных антропоморфных и зооморфных существ в разных сюжетах.
Отличительные черты работ BIJIJOO:
- Расположение главного объекта крупно и в центре полотна;
- Ломаный, сложный контур персонажа;
- Объёмность фигуры персонажа, многочисленные блики;
- Помещение персонажа в определённую прорисованную среду — комната, город, природа;
- Полотна разнообразны и детализированы — на них можно увидеть много разных текстур и объектов помимо персонажей.
Мне интересно посмотреть, сможет ли обученная нейросеть сгенерировать новых персонажей, насколько четко она сможет уловить и передать основные черты стиля художника, а главное — я хочу проанализировать и предположить, чем обученная нейросеть и процесс её обучения могут быть полезны.
Процесс обучения
Код основан на готовом ноутбуке, обучающим методом DreamBooth модель Stable Diffusion XL при использовании технологии LoRa.
До-обучение я провожу в ноутбуке на Kaggle, используя GPU 100.
Первый шаг — проверка GPU, загрузка всех необходимых библиотек и скрипта train_dreambooth_lora_sdxl — это подготовительные работы:
Далее я загружаю в Kaggle датасет с изображениями, на которых я буду обучать модель. Затем я создаю в текущей директории директорию для датасета и копирую туда файлы изображений. Далее я вывожу подгруженные изображения:
Следующий шаг — сгенерировать подписи к картинкам, исходные промпты, используя модель BLIP. После этого я создаю файл с подписями к картинкам, также определив префикс в начале промпта «painting in BIJIJOO style»:
Далее я готовлюсь к самому процессу обучения. Сначала конфигурирую скрипт accelerate, далее добавляю токен Hugging Face, а затем устанавливаю библиотеку datasets:
Запускаю accelerate для обучения и далее сохраняю модель на Hugging Face:
Наконец, генерирую изображения с помощью модели:
Генерации
Щедро поэкспериментировав, я решила представить несколько серий изображений, объединённых чем-то одним: работой с фоном, работой с лицами персонажей, работой с цветом.
painting in BIJIJOO style, a red dog at the beach
painting in BIJIJOO style, a pink bear with 8 legs at the beach // painting in BIJIJOO style, a brown bear with a big nose at the beach
Забавно, что даже имя автора в углу работы нейросеть тоже перенесла и попыталась воспроизвести.
painting in BIJIJOO style, a creature is walking in the night
painting in BIJIJOO style, a creature with a very big mouth is walking in the night // painting in BIJIJOO style, a creature with very big eyes is walking in the night
Я проанализировала результат обучения по пунктам, составленным в начале работы. Нейросеть действительно замечательно уловила композиционные особенности полотен художника — главная фигура всегда крупна и располагается в середине. Также в сгенерированных изображениях чётко видны приёмы художника в отношении работы с объёмами, бликами, контурами и текстурами персонажа.
Такая особенность как помещение персонажа в определённую прорисованную среду так же передана. Но в этом аспекте нейросеть выдаёт однообразные фоны с повторяющимися деталями. Фоны также не отличаются текстурно — нет того же разнообразия, что у художника.
a dog with a tie around its neck / a cow with a scarf / a dog with a big red nose / a creature in the bright colorful landscape
Работой нейросети с генерацией персонажей и их вариативностью я была удовлетворена. Несмотря на прослеживающуюся закономерность в выборе поз персонажей, меня порадовала вариативность таких деталей как обувь и лица.
painting in BIJIJOO style, a yellow dog with a pink nose in the city
painting in BIJIJOO style, a bright blue creature with very big yellow nose // painting in BIJIJOO style, a bright green dog with red cheeks
Вывод
До-обученная нейросеть действительно смогла уловить основные черты стиля BIJIJOO. Работать с обучением и генерацией мне было очень интересно, несмотря на моё неоднозначное отношение к этической стороне процесса.
Конечно, говорить о замене художника искусственным интеллектом нельзя — работу со смыслами, творческим потоком, вдохновением, историей машина воспроизвести не может.
Возвращаясь к последней цели моей работы — определить полезность: я не могу отвечать за художника, но могу позволить себе предположить, что такая работа с нейросетью может дать художнику взгляд со стороны машины на свои работы. Компиляция машиной образов и последующая генерация может дать неожиданный взгляд — возможно, какой-то из персонажей, найденный в процессе генерации, смог бы стать вдохновением для создания авторского персонажа.




