
Идея проекта
Идея проекта — натренировать нейросеть Stable Diffusion на фото паровых и часовых механизмов, чтобы позже, при генерации изображений, она помогала в творческой задаче набора идей для будущих проектов в сеттинге «стимпанк».
Брейншторм — это одна из начальных фаз работ над любой творческой задачей, которую бывает проблематично пройти в одиночку, ведь в таком случае человек ограничен исключительно собственным разумом и идеями. Суть моего проекта — помочь потенциальному автору, работающему в стимпанк-стилистике, подобрать помощника в этой непростой задаче в лице обученной мной модели.
Примеры фотографий, вошедших в датасет для обучения
Финальные изображения
Несколько финальных изображений, получившихся в результате обучения, демонстрируют необычные и мрачные работы в стимпанк-стилистике, которые могут войти в идейную основу того или иного проекта. Эти изображения сложно назвать готовыми сразу для отправки в папку с финальными концепт-артами проекта, но такой задачи и не стояло, задача была дать художнику несколько идей, которые могут войти в основу чистовых работ (далее все работы, нагенерированные в нейросети, представлены с подписями, представляющие промпты, привёдшие к их созданию).
Стилистические особенности финальных изображений
Стоит отметить, что модель захватила «дух стимпанка» довольно точно — от аэростатов и устаревших на вид, но волшебных, механизмов до мрачной погоды и зачастую затянутого дымом неба. Из датасета модель явно извлекла шестерёнки и краны — на многих работах можно углядеть активное использование механических частей подобного вида, явно отсылающих на оригинальные изображения с часами и трубами.
Также в глаза бросаются переплетённые и сложно скрученные различными проводами и трубами машины, примеров которых тоже было достаточно в оригинальном подборе изображений.
Нейросеть получала исходные данные по принципу обучения «картинка-описание», когда каждая картинка из датасета попадала в модель с уникальным описанием того, что на ней изображено и что происходит, чтобы натренировать нейросеть не только на внешний вид и стилистику, но и на примерные объекты и сюжет, которые ожидаешь от неё на выходе, чтобы в случае чего модель сама смогла заполнить пробелы и понимала как что выглядит.
Код проекта
Код проекта писался в Google Colaboratory. Также я использовала HuggingFace для генерации токена и BLIP для генерации описаний изображений на этапе подготовки к обучению модели Stable Diffusion.
Поэтапно проект состоял из скачивания всех необходимых библиотек для дальнейшего использования в коде. При первом запуске, когда я загрузила исходные картинки, они отображались сжатыми и странного формата, и тогда я вспомнила, что лучше всего использовать квадратные изображения, поэтому мне пришлось поменять формат всех картинок на квадраты одного размера, добавив черные поля по краям.
Когда BLIP вывел подписи ко всем картинкам в датасете, я добавила префикс «photo collage in STEAMPUNK style», чтобы в дальнейшем использовать эту формулировку в промптах к изображениям и нейросеть понимала, что от неё требуется.
В итоге обучение модели заняло около сорока минут, финальные работы, на генерированные нейросетью, представлены выше.
Описание применения генеративной модели
В данном проекте используются нейросети «BLIP» и «Stable Diffusion» с целью генерации подписей к изображениям и целью генерации изображений соответственно. Генеративная модель Stable Diffusion была обучена на серии фотографий, найденных в интернете. Также использован HuggingFace для генерации уникального токена с целью обучения генеративной модели и её загрузки на сайт.
Stable Diffusion — https://stability.ai/ BLIP — https://huggingface.co/docs/transformers/model_doc/blip. HuggingFace — https://huggingface.co