

Неизведанность морского мира поражает. По оценкам учёных, мировой океан изучен всего на 20%, хотя покрывает 70% нашей необъятной планеты. И ведь сама вода из этого океана, по сути, имеет множество способов применения, в том числе и рисование акварельными красками!

Пример изображений, на которых обучалась нейросеть (source — pinterest.com)

В этом проекте я захотел представить, какие подводные жители могут существовать, помимо имеющихся, и попытаться запечатлеть их с помощью самого «водного» вида живописи — акварельных красок.

Нейросеть всегда нужно на чём-то обучать. Для этого создаются датасеты — собрание текста, или, как в данном случае, изображений, которые создаются для того чтобы компьютер их анализировал. Для данного проекта был собран датасет из 78 изображений. Они все были подверженны небольшой обработке, а именно: обрезание до соотношения 1:1 и изменение размера на 512×512px.

Изображения из датасета (source — pinterest.com)
Для датасета специально были выбраны несколько причудливые рисунки рыб. Именно такого я и хотел добиться. Основные критерии отбора для попадания в дотаяет — Это рыба, и она нарисована акварелью или чем-то, что похоже на неё в digital-рисунках.


giant deep sea fish in TOK style, realistic tones, dark blue, grey and desaturated colors, watercolor painting, soft diffusion, delicate brush strokes, atmospheric, isolated

↑ giant TOK fish, realistic natural colors, muted tones, lifelike palette, watercolor painting, soft pigment bleeding, wet on wet technique, detailed scales, subtle gradients,
← giant TOK fish, realistic natural colors, muted tones, lifelike palette, watercolor painting, soft pigment bleeding, wet on wet technique, detailed scales, subtle gradients, isolated on pure white background #ffffff
Промпт для разделяющих плашек a dense school of medium-sized TOK fish, tightly packed together, bodies overlapping and intertwining, elegant and dynamic composition, watercolor painting with visible pigment bleeding, wet-on-wet technique, layered transparent washes, rich dark red tones with subtle variations (crimson, burgundy, deep maroon), soft edges blending into each other, organic and flowing shapes, subtle texture of watercolor paper visible
Слайд 1: watercolor painting of giant TOK fish, realistic natural colors, muted tones, lifelike palette, soft pigment bleeding, wet on wet technique, detailed scales, subtle gradients
Слайд 2: watercolor painting of TOK three mythical fish, each in a unique whimsical pose with curved flowing bodies and unusual shapes, subtle fantasy anatomy
atercolor painting of giant TOK fish, realistic natural colors, muted tones, lifelike palette, soft pigment bleeding, wet on wet technique, detailed scales, subtle gradients




Рыба спрашивает рыбу.....
Но, конечно, не всё всегда идёт гладко. Иногда нейросеть очень забавно галлюцинирует, и если при генерации людей эти галлюцинации превращаются в третью ногу или шестой палец, то тут можно создать отдельную ветку ИИ-брейнрота


watercolor painting of giant TOK fish, realistic natural colors, muted tones, lifelike palette, soft pigment bleeding, wet on wet technique, detailed scales, subtle gradients
Для обучения использовался метод DreamBooth + LoRA (Low-Rank Adaptation) поверх базовой модели Stable Diffusion XL 1.0. LoRA позволяет не переобучать всю модель целиком, а добавить к ней небольшой набор значений, отвечающих за новый стиль — это делает процесс значительно более экономичным по памяти и времени.
Сперва нужно загрузить все необходимые библиотеки для работы со Stable Diffusion, а затем уже загружать объекты для обучения
Каждому изображению датасета автоматически была присвоена текстовая подпись с помощью модели BLIP — она описывала содержимое картинки, а к описанию добавлялся префикс watercolor painting of TOK fish, (не оригинально, но работает.)

Далее, я очищаю немного памяти и начинаю подготовку к обучению. Настраиваю accelerate для корректной работы и скачиваю библиотеку Datasets (для этого необходима авторизация через HuggingFace и специальный токен)
Для того, чтобы ничего не вылетало, можно забить токен от HuggingFace в Secrets в Colab
И наконец, мы приступаем к обучению нейросети. Весь процесс занял 500 шагов длился около часа времени.
Теперь можно выгрузить модель на HuggingFace, чтобы не переобучать её каждый раз, когда крашится runtime в Colab’е. .....и можно приступать к генерации!
Вы сами можете попробовать данную модель!
Она лежит по ссылке, или вы можете скачать её напрямую из кода, если импортируете эту LoRA c помощью команды:
pipe.load_lora_weights("dogshitentertainment/fish_watercolor_LoRA")
Результат обучения оказался неожиданно хорошим — акварельный характер изображений считывается сразу. Нейросеть смогла уловить самое главное в технике: полу-прозрачность и «лёгкость» акварельной техники, мягкое растекание пигмента по краям, приглушённую палитру и наложение оттенков. Она позволяет генерировать всяких разнообразных морских обитателей, о которых мы можем только гадать, существуют они или нет…
Для помощи в написании промптов использовался OpenAI ChatGPT 4o, а для помощи в написании кода Anthropic Claude Sonnet 4.6
Ссылка на блокнот






