Original size 1024x1536

Где были три оранжевые собаки

PROTECT STATUS: not protected
5

Идея и описание

Три оранжевые собаки — это проект про три поколения рыже-белых восточносибирских лаек.

big
Original size 1920x615

Знакомьтесь: Гайда, Марта и Юта

Гайда, Марта и Юта (собака-бабушка, дочка и внучка соответственно) живут в деревне у бабушки и дедушки. У собак есть одна черта, передающаяся из поколения в поколение — рыже-белый окрас. Из-за этого очень часто незнакомые с ними люди путают их.

big
Original size 1024x1024

prompt = «three LAIKAA dogs standing on the porch of a wooden house, waiting at the door, returned home, evening light, cozy cottage, detailed fur, realistic photo, domestic scene»

Но дело в том, что ни одной из них ни секунды не сидится на месте и при любой удобной возможности они бегут исследовать всё, что за пределами двора. Однажды, все трое вернулись только ближе к ночи.

Так я выявила две задачи, которые хочу решить обучением модели. Во-первых попробовать пофантазировать, куда пропали три оранжевые лайки на весь день. Во-вторых, я собрала датасет из 55 фотографий 512/512 с изображением всех трёх собак, где постаралась равномерно распределить количество фото с каждой из трёх. И мне стало интересно, чья мордочка и чьи очертания станут ведущими в создания образа рыжей собаки. Или нейросеть сможет их дифференцировать?

Original size 1920x305

Я начала с базовых генераций одной-трёх собак по самым простым промптам, чтобы понять, насколько нейросеть способна прочитать образ собаки в целом. Изначально все собаки на изображениях выглядели в основном как Марта.

prompt = «LAIKAA dogs having picnic in the park»

Далее я попросила Deepseek помочь скорректировать промпт, чтобы уйти от резких анатомических искажений и абсолютного непонимания заданного количества собак в кадре. Нейросеть составила для меня дополняющий негативный промпт: «ugly, bad anatomy, extra limbs, missing limbs, deformed, mutated, disfigured, 3 legs, 5 legs, bad proportions, blurry, malformed, distorted, poorly drawn».

Original size 0x0

prompt = «LAIKAA dogs having picnic in the park» + negative_prompt

Original size 1024x1024

prompt = «baby LAIKAA dog sitting on the bench» + negative_prompt

Такие базовые генерации были сделаны с целью не только оценить возможности обученной нейросети, но и понять примерный уровень дифференциации образов трёх собак. Первое время нейросеть выдавала только образ Марты, но стоило ей чуть больше поработать, другие тоже стали проглядываться.

Так где же были три оранжевые собаки?

Original size 1024x1024

prompt = «two LAIKAA dogs sitting near to the pond» + negative_prompt

Кажется, сначала рыжие собаки могли пойти в парк, смотреть на уток. Но свернули в магазин…

0

prompt = «one LAIKAA dog looking through a supermarket window at food products, modern grocery store interior, clean floors, shopping carts, fluorescent lighting, photorealistic»

Генерации в магазине кажутся одними из наиболее удачных в проекте, потому что мы видим трёх разных собак на всех фото. И интеграция объектов в среду получилась пока что самой приятной.

prompt = «two LAIKAA dogs wearing large headphones at a live concert, crowd in the background, stage lights, realistic photo», prompt = «two LAIKAA dogs trying to fit on flamingo at the pool»

И неожиданно оказались в Париже.

Original size 1024x1024

prompt = «two LAIKAA dogs sitting together with Eiffel Tower in background, Paris cityscape, Champs de Mars, realistic photo, detailed fur, looking at the tower»

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

prompt = «one LAIKAA dog in a spacesuit floating in space, Earth in the background, detailed suit, realistic astronaut dog», «one LAIKAA dog inside spaceship cockpit, viewing Earth from window, detail

И всё же, рыжие собаки смогли вернуться домой.

Original size 1024x1024

prompt = «tree LAIKAA dogs standing on the porch of a wooden house, waiting at the door, returned home, evening light, cozy cottage, detailed fur, realistic photo, domestic scene»

Как это было сделано?

Для генерации изображений была обучена нейросеть Stable Diffusion, используя метод DreamBooth с LoRA. Для начала были подгружены необходимые библиотеки.

Original size 1920x581

Затем подгружаем собранную базу для обучения в коллаб и выводим изображения, чтобы убедиться.

Original size 1920x967

Далее настраиваем GPU, ускоряем работу чисткой и подгружаем Hugging Face для последующего хранения обученной модели.

Original size 1920x502

Обучаем модель на примерах собранного датасета.

Original size 1920x625

Сохраняем обученную нейросеть в Hugging Face.

Original size 1920x893

Загружаем обученную модель для генерации и вводим промпты.

Original size 1920x506

Выводы

В первую очередь мне удалось обучить Stable Diffusion работать с объектом. Нейросеть запомнила трёх рыжих собак, благодаря чему смогла помещать их в разные среды. А я смогла визуализировать, где же они так долго были.

Original size 1920x948

prompt = «one LAIKAA dog standing on the porch of a wooden house, waiting at the door, returned home, evening light, cozy cottage, detailed fur, realistic photo, domestic scene»

На мой взгляд, чем дольше нейросеть обучалась генерировать запрашиваемый контент, тем лучше она начинала различать Гайду, Марту и Юту между собой, хотя изначально любимицей была выбрана очевидно Марта. Но в итоге их образ не слился в один.

Где были три оранжевые собаки
5
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more