Концепция проекта
Бабочки — один из самых ярких примеров природной симметрии и цветового разнообразия.
Проект исследует визуальный язык крыльев бабочек: их структуру, узоры и цветовые комбинации. С помощью генеративной нейросети создаётся серия изображений, в которой природные мотивы крыльев интерпретируются и трансформируются, образуя новые вариации форм и цветов.
Исходные изображения для обучения
— Изображения бабочек были взяты из датасета Butterfly Image Classification с платформы Kaggle.
— Для обучения модели было использовано 200 фотографий бабочек.
— Изображения распространяются под лицензией CC0: Public Domain, что позволяет свободно использовать их для исследования и создания производных работ.
Примеры фотографий из датасета
Серия сгенерированный изображений
Промпты для этой части серии:
a detailed nature photograph of a mybutterfly butterfly with blue, red and purple wings, natural daylight
a detailed nature photograph of a mybutterfly butterfly with red wings, black and white patterns, resting on a flower, natural daylight
a detailed nature photograph of a mybutterfly butterfly with bright blue and yellow wings, resting on the ground, natural daylight
Промпты для этой части серии:
a detailed nature photograph of a mybutterfly butterfly with black geometric patterns, natural daylight
a detailed nature photograph of a mybutterfly butterfly with yellow wings and black tiger-like stripes, natural daylight
a detailed nature photograph of a mybutterfly butterfly with green wings with dark spots, resting on a neutral stone background, natural daylight
Промпты для этой части серии:
a detailed nature photograph of a mybutterfly butterfly with blue and yellow wings, natural daylight
a detailed photograph of a mybutterfly butterfly with pale sky blue wings and thin black outlines, natural daylight
a detailed nature photograph of a mybutterfly butterfly with white wings and small black spots, natural daylight
В результате работы обученной модели была получена серия изображений бабочек с различными цветовыми комбинациями, формами крыльев и декоративными узорами. Целью генерации было создание реалистичных изображений, сохраняющих характерные природные особенности бабочек, но при этом демонстрирующих новые необычные вариации цвета и рисунка.
Полученные изображения показывают, что модель усвоила основные визуальные характеристики бабочек из обучающего датасета. В большинстве изображений сохраняется симметрия крыльев, контрастные границы и разнообразные пятна и полосы, формирующие декоративные узоры.
В серии можно увидеть разнообразные цветовые комбинации синего и жёлтого, жёлтого и чёрного, красного с белыми точками, а также зелёные и белые оттенки.
Некоторые изображения показывают бабочек в естественной среде — например, на цветах или на нейтральном природном фоне. Это делает изображения более реалистичными.
Для генерации использовались подробные текстовые описания, а также негативный промпт, позволяющий уменьшить анатомические ошибки, такие как лишние лапки или усики.
Изображения серии отличаются друг от друга цветом крыльев, формой узоров, положением бабочки и окружающей средой.
Серия демонстрирует, как генеративная модель может создавать новые вариации визуальных характеристик бабочек на основе обучающего датасета.
Основные этапы в написании кода
— Базовая модель: Stable Diffusion 1.5v — Метод адаптации: LoRA — Размер датасета: 200 изображений бабочек — Разрешение: 512×512 пикселей
Обучение проводилось на датасете фотографий бабочек, содержащем различные виды и цветовые вариации крыльев.
Для адаптации базовой модели используется метод LoRA, позволяющий дообучить нейросеть на наборе изображений и сохранить основные возможности исходной модели.
На первом этапе были проверены вычислительные ресурсы (GPU) и установлены необходимые библиотеки для работы с моделью Stable Diffusion, а также загружен датасет изображений бабочек в Google Colab.
Далее для изображений были подготовлены промпты, которые используются моделью во время обучения для связывания визуальных особенностей бабочек с текстовыми описаниями.
Затем выполняется дообучение модели с использованием метода LoRA, который позволяет адаптировать нейросеть под новую визуальную тему без полного переобучения модели.
Далее модель сохраняется локально и загружается на HuggingFace Hub. После загрузки обученная LoRA-модель повторно подключается к пайплайну Stable Diffusion уже из репозитория HuggingFace.
После завершения обучения и загрузки модель используется для генерации новых изображений бабочек на основе текстовых запросов.
Описание применения генеративной модели
Использованные модели ИИ:
Stable Diffusion v1.5 — Ссылка: https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5
— Цель: базовая модель для генерации изображений и дальнейшего дообучения
CLIP (Contrastive Language–Image Pre-training) — Ссылка: https://huggingface.co/openai/clip-vit-large-patch14
— Цель: обработка и сопоставление текстовых описаний с визуальными признаками изображений
LoRA (Low-Rank Adaptation) — Цель: дообучение базовой модели на датасете изображений бабочек для генерации новых вариаций крыльев с сохранением возможностей исходной модели
ChatGPT — Ссылка: https://chatgpt.com/
— Цель: оптимизация кода




