Генерация изображений или зачем нужна видеокарта
-
В последнее время появилось много моделей генерации изображений, от устрашающе правдоподобной "Dall-E 2" до более простых, но интересных и главное доступных обычному пользователю без регистрации и регулярных платежей.
Все что нужно это компьютер с видеокартой с памятью от 4Гб (чем больше тем лучше).
так как многие модели используют CUDA (это библиотека от nVidia), то видеокарту предпочтительнее брать тоже nVidia.
Это было небольшое введение.
Сегодняшний пост касается модели: stable-diffusion (название по имени репозитория)
Вот ссылки на исходный код и инструкции по установке.
https://github.com/hlky/stable-diffusion
https://github.com/hlky/stable-diffusion/wiki/InstallationЗдесь про установку писать не буду, так как она есть в ссылке выше.
Если не будет получатся лучше спросить здесь. И если смогу помогуДля чего могут понадобится такие сгенерированные картинки?
Можно сгенерировать себе картинку по вкусу. Например по описанию или по простому наброску.
Можно попробовать сгенерировать интерьер комнаты и тп. и тд.Возвращаюсь к главной теме поста, что же мы модем сделать с помощью stable-diffusion?
- Генерировать картинку по описанию
- Генерировать картинку на примере другой картинки.
- Увеличивать разрешение картинки. Так как размер генерируемой картинки довольно маленький, у меня на 6Гб это только 384x256, то используя эту модель можно добавить детализацию и увеличить разрешение картинки.
Для примера я решил попробовать сделать картинку с озером на закате.
Первый набросок и результат:
Не то что бы совсем не попал, но пока довольно примитивно.Пробуем еще раз. В этот раз генерируем десяток картинок, небось что то путное получится.
Результат:
Уже лучше есть даже картинка на основе которой можно продолжить генерацию и получить хороший результат.
Но попробуем в третий раз.
Изменим образец (идея с пристанью оказалась не по зубам), да и солнце надо бы закрасить.
Результат:
А)
Б)
Есть пара неплохих картинок, пока возьмём для дальнейшей работы эту картинку А.
На ее основе сгенерируем еще несколько.
Результат:
Довольно любопытный результат.
Выбрал эти:
А)
Б)
В)
Результат вполне неплохой, но для проверки возможности добавления деталей - добавим птичек.
Сначала птички отдельно
Результат:
Соберем все вместе и создадим окончательный вариант.
Для генерации окончательного варианта зададим малую величину изменения, т.е. постараемся сохранить первоначальную картинку.
Результат:
Попробую увеличить разрешение:
Довольно интересно, можно круглые сутки генерировать картинки.
Спасибо за внимание!
-
Ещё из забавного
-
Картинки на тему "Осень".
-
Ну что же, stable diffusion немного обновила программную часть для генерации картинок.
Сама модель осталась прежней.
Но добавленный функционал стоит детального обновления. Как говорится, не проходите мимо.Из того что заметно сразу:
- запуск веб-интерфейса стал быстрее
- код был немного оптимизирован (теперь на моей системе с 6Гб VRAM можно генерировать картинки размером 512x512)
- добавился генератор сцен (о нем ниже)
- стал возможен просмотр промежуточных результатов
- добавилась пара дополнительных параметров, которые можно изменять прямо из веб-интерфейса
Попробуем сделать картинку размером 512x512.
Генерировать буду пейзаж (пейзажи это то что модели действительно удается хорошо)Сюжет: дерево освещаемое солнцем на закате.
Более привычные прямоугольные пропорции картинок (такие пропорции мне больше нравятся)
Теперь про новый режим генератор сцен
Основное его назначение, как я понял это на данный момент, это возможность отдельной генерации основного объекта, фона и автоматическое совмещение этих изображений.
Все это описывается в текстовом виде.
Более подробно попробую этот режим позже.А сейчас попробуем сгенерировать картинку похожую на картины японских живописцев.
За основу взята картина: "Ливень у моста Охаси" (Хиросигэ, Андо)
Так же получались такие картинки
-
Зимний набор:
Vincent Van Gogh
John Singer Sargent
Norman Rockwell
Pierre-Auguste Renoir
Claude Monet
Thomas Kinkade
Edward Hopper
William-Adolphe Bouguereau
Albert Bierstadt
Leonid Afremov