Мне было интересно обучить LoRA на работах Кацусики Хокусая, чтобы нейросеть могла рисовать в стиле японской гравюры укиё-э.
Хокусай известен прежде всего серией «36 видов горы Фудзи» и своей знаменитой «Большой волной». Его стиль отличается мягкими плавными линиями, приглушённой цветовой палитрой и вниманием к природным пейзажам. Именно эти черты я хотел передать нейросети.
Для обучения использовалась базовая SDXL-модель с подключёнными обученными LoRA-весами. Датасет собирался вручную из открытых источников. Всего 17 гравюр в формате 1:1.
Результаты
Я сгенерировал серию изображений с разными сюжетами в стиле Хокусая.
Пейзажи и природа получаются лучше всего. Деревья, горы, вода выглядят очень близко к оригинальному стилю. Модель хорошо передаёт характерную цветовую гамму и мягкость линий. Это логично, потому что весь датасет состоял именно из природных пейзажей.
Животные
С животными всё хуже. С кошкой не очень хоршо вышло. Силуэт и общая стилистика считываются, хотя с хвостом проблемы.
Люди
А вот с людьми совсем плохо. Это ожидаемо, ведь в датасете не было изображений с людьми. Данный промт я вставил ради интереса.
На некоторых изображениях также появляются псевдоиероглифы. Модель видела их в оригинальных гравюрах и пытается воспроизвести, но они выходят нечитаемыми. Это ожидаемо для обучения на небольшом датасете.
В целом стиль передаётся хорошо на уровне палитры, композиции и характера линий. Модель лучше работает с тем, чего было больше в обучающей выборке, а для более сложных сюжетов нужен был бы более разнообразный датасет.
Код
Обучение проводилось 500 шагов на T4 GPU в Google Colab. DreamBooth LoRA fine-tuning поверх SDXL
Использование ИИ
Я использовал Claude Ai как технического консультанта. Для помощи в разборе ошибок кода и объяснения непонятных моментов.