
Концепция
Цель проекта — дообучение нейросети Stable Diffusion и генерация серии изображений в стиле живописного направления «Марина», а конкретнее — на основе работ И. К. Айвазовского. В результате должны получиться морские композиции с похожей манерой исполнения и полупрозрачной цветовой гаммой.
Исходные изображения — датасет из 98 работ художника, морские пейзажи разных настроений и композиционного строения.

И. К. Айвазовский, «Солнечный день», 1884 г.

И. К. Айвазовский, «Буря», 1886 г.

И. К. Айвазовский, «Радуга», 1873 г.
И. К. Айвазовский, «Этюд воздуха над морем», 1835 г.
Стартовый архив
Первый архив картин состоит из элементов разного размера и расположения.
Для приведения всех изображений в один формат 512×512 пикс. был написан дополнительный код. Для избегания лимита операций Google collab код воспроизведен в отдельной среде.
Принцип работы кода строится по алгоритму: 1. Импорт библиотек 2. Определение путей для Input и Output 3. Обрезка по центру квадрата (через функцию crop_center_square (img)) 4. Обработка изображений: - Проверка расширения файла (работаем только с .jpg, .jpeg, .png). - Открытие изображение и преобразование в формат RGB. -Автоматическая коррекция ориентации изображения на основе данных EXIF (если они присутствуют), чтобы устранить возможные проблемы с ориентацией (например, когда фото сделано вертикально). - Изменение размера изображения до 512×512 пикселей с использованием метода LANCZOS (качественное уменьшение). - Сохранение в папку Output
Итоговая серия изображений
После обучения нейросеть сгенерировала несколько изображений по промптам: от короткого, простого предложения до сложного, детального запроса с описанием цвета, настроения и абстрактного погодного ощущения в пейзаже.
Все изображения созданы на основе изначального формата, 512×512.
Экспериментальные промпты о штормовом море отличаются только парой слов — временем суток и силой непогоды. Вот почему результаты получились схожие:
Далее — более детальные, сюжетные промпты по типу «Утро. Одинокий корабль далеко в море.»
Промпт: «Романтичный вечер. Корабль уходит тихую ночь.». Для тишины и романтики нейросеть добавила сиреневые и розовые оттенки.
Более сложный результат на развернутый запрос: «Огни в море теплы, небо наполнено глубокими синими цветами. Корабль уплывает в тихую темноту.»
Промпт про утро с указанием цветов:
Развернутые запросы с описаниями облаков и их состояния, некоторых дополнительных деталей пейзажа:
В итоге, в серии наблюдается схожая тенденция: изображения генерируются по аналогичному композиционному плану. Большая часть облаков и волн (форма волны) похожи, а корабли следуют одной перспективе, наклону и оформлению конструкции.
Различия проявляются в цветовой гамме и контрастности — в зависимости от запроса изображение содержит либо вариацию одного цвета, либо плавный/резкий микс из нескольких.
Среда выполнения
Код написан в Google Collab и сохранен в формате IPYNB, для обучения использована модель Stable Diffusion. Изображения в стартовом датасете взяты из публичных архивов творчества И. К. Айвазовского.
Пояснительные комментарии к процессу обучения добавлены в исходном коде. Ссылка на файл: https://drive.google.com/file/d/1JAlg3ZzLRwD3S-WgZovwThuAjmLwKkpg/view?usp=sharing
Дополнительные источники
В качестве вспомогательного инструмента использован Chat GPT-4o. Он объяснил некоторые куски кода и их функции, а также перевел часть пояснительных комментариев на русский язык.