Русская Япония
    • Зарегистрироваться
    • Войти
    • Категории
    • Последние
    • Метки
    • Популярные

    Генерация изображений или зачем нужна видеокарта

    Компьютерный раздел
    1
    5
    92
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • pelikan
      pelikan отредактировано

      В последнее время появилось много моделей генерации изображений, от устрашающе правдоподобной "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, то используя эту модель можно добавить детализацию и увеличить разрешение картинки.

      Для примера я решил попробовать сделать картинку с озером на закате.
      Первый набросок и результат:
      01.PNG
      Не то что бы совсем не попал, но пока довольно примитивно.

      Пробуем еще раз. В этот раз генерируем десяток картинок, небось что то путное получится. 🙂
      Результат:
      02.PNG

      Уже лучше есть даже картинка на основе которой можно продолжить генерацию и получить хороший результат.

      Но попробуем в третий раз.
      Изменим образец (идея с пристанью оказалась не по зубам), да и солнце надо бы закрасить.
      Результат:
      03.PNG

      А)
      04a.png
      Б)
      04b.png

      Есть пара неплохих картинок, пока возьмём для дальнейшей работы эту картинку А.

      На ее основе сгенерируем еще несколько.
      Результат:
      05a.jpg
      Довольно любопытный результат.
      Выбрал эти:
      А)
      06_1.png
      Б)
      06_2.png
      В)
      06_3.png

      Результат вполне неплохой, но для проверки возможности добавления деталей - добавим птичек.
      Сначала птички отдельно
      Результат:
      07.PNG

      Соберем все вместе и создадим окончательный вариант.
      Для генерации окончательного варианта зададим малую величину изменения, т.е. постараемся сохранить первоначальную картинку.
      Результат:
      09.png
      Попробую увеличить разрешение:
      10.png

      Довольно интересно, можно круглые сутки генерировать картинки.

      Спасибо за внимание!
      11.png

      1 ответ Последний ответ Ответить Цитировать 1
      • pelikan
        pelikan отредактировано pelikan

        Ещё из забавного
        03.jpg

        02.jpg

        01.jpg

        1 ответ Последний ответ Ответить Цитировать 1
        • pelikan
          pelikan отредактировано pelikan

          Картинки на тему "Осень".

          00000-77_k_lms_43813518.png

          00011-70_k_heun_2579007915.png

          00004-70_k_heun_3259066820.png

          00008-70_k_lms_3071901188.png

          00006-70_k_heun_3259066822.png

          00005-70_k_lms_500200227.png


          00010-70_k_heun_1858252905.png

          00007-70_k_lms_1101942422.png

          00023-70_k_heun_575685207.png


          00028-70_k_heun_575685212.png

          1 ответ Последний ответ Ответить Цитировать 1
          • pelikan
            pelikan отредактировано pelikan

            Ну что же, stable diffusion немного обновила программную часть для генерации картинок.
            Сама модель осталась прежней.
            Но добавленный функционал стоит детального обновления. Как говорится, не проходите мимо.

            Из того что заметно сразу:

            • запуск веб-интерфейса стал быстрее
            • код был немного оптимизирован (теперь на моей системе с 6Гб VRAM можно генерировать картинки размером 512x512)
            • добавился генератор сцен (о нем ниже)
            • стал возможен просмотр промежуточных результатов
            • добавилась пара дополнительных параметров, которые можно изменять прямо из веб-интерфейса

            Попробуем сделать картинку размером 512x512.
            Генерировать буду пейзаж (пейзажи это то что модели действительно удается хорошо)

            Сюжет: дерево освещаемое солнцем на закате.

            01.png

            02.png

            03.png

            Более привычные прямоугольные пропорции картинок (такие пропорции мне больше нравятся)
            04.png

            05.png

            Теперь про новый режим генератор сцен
            Основное его назначение, как я понял это на данный момент, это возможность отдельной генерации основного объекта, фона и автоматическое совмещение этих изображений.
            Все это описывается в текстовом виде.
            Более подробно попробую этот режим позже.

            А сейчас попробуем сгенерировать картинку похожую на картины японских живописцев.

            За основу взята картина: "Ливень у моста Охаси" (Хиросигэ, Андо)

            06.png

            Так же получались такие картинки
            07.png

            08.png

            1 ответ Последний ответ Ответить Цитировать 1
            • pelikan
              pelikan отредактировано pelikan

              Зимний набор:

              Vincent Van Gogh
              00000-50_k_lms_3779533139_0.00_Van_Gogh.png

              John Singer Sargent
              00000-50_k_lms_3779533139_0.00_Sargent.png

              Norman Rockwell
              00000-50_k_lms_3779533139_0.00_Rockwell.png

              Pierre-Auguste Renoir
              00000-50_k_lms_3779533139_0.00_Renoir.png

              Claude Monet
              00000-50_k_lms_3779533139_0.00_Monet.png

              Thomas Kinkade
              00000-50_k_lms_3779533139_0.00_Kinkade.png

              Edward Hopper
              00000-50_k_lms_3779533139_0.00_Hopper.png

              William-Adolphe Bouguereau
              00000-50_k_lms_3779533139_0.00_Bouguereau.png

              Albert Bierstadt
              00000-50_k_lms_3779533139_0.00.png

              Leonid Afremov
              image-20221026092033-4.png

              1 ответ Последний ответ Ответить Цитировать 0
              • Первое сообщение
                Последнее сообщение
              Powered by NodeBB | Contributors