Я решил исследовать возможности генеративных моделей в воссоздании уникального стиля Ивана Айвазовского. Моей основной целью было не просто копирование визуальных атрибутов, а попытка передать шесть различных состояний морской стихии — от полного штиля на закате до бушующего шторма. В проекте я искал баланс между технической точностью нейросети и эмоциональной глубиной академической живописи XIX века.
Примеры репродукций из датасета
Для обучения я подготовил расширенный датасет из 120 репродукций картин Ивана Айвазовского в высоком качестве. Я отобрал такое большое количество работ, чтобы охватить все ключевые состояния моря — от зеркального штиля до штормовых валов. Каждое изображение я вручную кадрировал, делая упор на то, как художник передает свет, проходящий сквозь толщу воды, и характерные цветовые переходы в облаках. Такой объем данных был необходим, чтобы нейросеть выучила не только общие черты стиля, но и специфическую палитру мастера в разное время суток.
Результирующая серия и процесс генерации


Для генерации я подготовил шесть типов коротких промптов, по десять изображений на каждый, чтобы последовательно передать суточный цикл и смену состояний моря. Я использовал следующие запросы: «В стиле Айвазовского туманное утро, спокойное море, масло», «В стиле Айвазовского ясный полдень, бирюзовые волны, масло», «В стиле Айвазовского золотистый закат, тихая вода, масло», «В стиле Айвазовского пурпурные сумерки, море, холст», «В стиле Айвазовского лунная ночь, блики на воде» и «В стиле Айвазовского бушующий шторм, пена, высокая волна».
В итоговой серии, как мне кажется, мне удалось передать общую атмосферу и характерную палитру. Однако при детальном разборе стало очевидно, что нейросеть крайне плохо справляется с передачей текстуры и объема. Вместо выразительных, пастозных мазков, которыми автор создавал рельеф пены и гребней, я получил слишком гладкие, замыленные поверхности.
Изображениям не хватает материальности холста, вода часто выглядит как цифровой градиент, а не как картина, написанная маслом. Это делает итоговую серию плоской и лишает ее той монументальности, которая была заложена в исходниках.
Хуже всего нейросеть справилась со штормом и непогодой. Если штиль ещё получается воссоздать за счёт градиентов, то в динамике все просто разваливается. Вместо мощных волн и летящих брызг получились невнятные серые пятна и грязные переходы. Нейросеть катастрофически упростила всю сложную анатомию воды, превратив бурю в плоскую и скучную декорацию.


Безусловно, в процессе попадались и очень достойные варианты, которые мне действительно понравились. В них чувствовалась и нужная атмосфера, и правильный свет. Но их было критически мало — буквально по паре штук на каждое состояние моря. Основная же масса результатов всё равно страдала от нехватки резкости и плоской картинки.
Для работы я использовал готовый Colab-блокнот, который был дан на курсе. В нём уже была настроена база кода для обучения SDXL через технологию DreamBooth LoRA. Весь процесс начался с подготовки ресурсов: я настроил GPU, установил необходимые библиотеки и задал основные параметры. Самым важным этапом стал отбор данных — я очень придирчиво выбрал 120 репродукций и вручную обрезал их под квадрат, чтобы в папку попали только самые чистые и качественные исходники.
В процессе я много экспериментировал с настройками. Сначала я пробовал запускать обучение с меньшим количеством шагов, рассчитывая на быстрый результат, но картинки получались слишком сырыми и не передавали нужный стиль. В итоге я решил значительно увеличить количество шагов обучения. Даже после того, как LoRA была готова и загружена на Hugging Face, мне пришлось перегенерировать изображения десятки раз. Я постоянно менял настройки, пока не получил достаточно осмысленные и похожие на мои запросы результаты. Так что даже то, что не кажется мне хорошим с точки зрения концепта, я могу назвать хорошим прогрессом по сравнению с первыми версиями.
Можно также отметить, что на финальном этапе некоторые изображения потребовали ручной доработки. Чтобы довести серию до приемлемого качества, я использовал дополнительные нейросети для увеличения разрешения и удаления очевидных артефактов.
Ссылка на блокнот с кодом
https://drive.google.com/file/d/1BkUPCGVATzpEiVzuEkfeIDd3I7YZXmSe/view?usp=drive_link
Описание применения генеративной модели
- SDXL (Stable Diffusion XL) — базовая генеративная модель для обучения.
- DreamBooth LoRA — технология для дообучения модели на специфическом стиле.
- DeepSeek — нейросеть для траблшутинга и отладки кода в процессе обучения.
- Real-ESRGAN — инструмент для улучшения качества и повышения детализации.
- Upscayl — бесплатное приложение для финальной очистки артефактов.













