Нейросеть для генерации изображений Stable Diffusion
Содержание:
В этой публикации, друзья, рассмотрим мощную нейросеть для генерации изображений Stable Diffusion. Генерирующие изображения нейросети сложны в разработке, требуют больших вычислительных мощностей. Они пока что не так доступны нам, как языковые нейросети - умные чат-боты типа ChatGPT, Bing AI, YaGPT, Aria, Bard AI. Годные рисующие нейросети, доступные бесплатно, на вес золота. В числе таких – рассмотренные ранее Шедеврум от Яндекса, DALL-E. И, собственно, та, о которой будем говорить ниже детально - Stable Diffusion.
↑ Нейросеть для генерации изображений Stable Diffusion
↑ Что такое Stable Diffusion
Stable Diffusion — это рисующая нейросеть, точнее платформа (технология) генерации изображений на базе нейросети. Её создатель – компания Stability AI. Stable Diffusion генерирует изображения по текстовым описаниям и исходным изображениям. Может создавать реалистичные картинки людей, животных, предметов, пейзажей. Сильна в генерации реалистичных изображений, способна создавать такие, что их трудно отличить от реальных фотографий.
Нейросеть может создавать абстрактные, сюрреалистические, футуристические изображения.
Может создавать изображения в разных художественных стилях и сочетающие в себе различные стили и элементы. Может использоваться для создания новых методов обработки изображений (стилизация, анимация и т.п.).
Stable Diffusion работает по принципу диффузии. Её алгоритм начинает с изображения, состоящего из шума, и постепенно добавляет информацию о целевом изображении. Принцип диффузии отображён в названии нейросети: Stable Diffusion переводится как стабильная диффузия. А стабильная она потому, что её алгоритм генерирует изображения постепенно, шаг за шагом, что обеспечивает стабильность процесса генерации. Это снижает вероятность получения искажённых или нереалистичных изображений, какие часто выдаёт, например, DALL-E. Алгоритмы Stable Diffusion более точны и более устойчивы к ошибкам, чем алгоритмы других рисующих нейросетей.
Друзья, Stable Diffusion может удивить своими возможностями. Она может идеально воспроизвести природу, людей, животных, архитектуру. Хороша в художестве. Вот такой фэнтези-шедевр в кинематографическом стиле нам удалось сгенерировать с её помощью.
Но даже такая мощная рисующая нейросеть, как Stable Diffusion, увы, не тянет генерацию реалистичных снимков электроники. Вот так по мнению Stable Diffusion выглядит процессор на материнской плате.
Тем не менее Stable Diffusion – это мощь. Нейросеть требовательна к ресурсам. Генерация изображений с её использованием будет занимать дольше времени, чем, к примеру, с использованием той же DALL-E, более простой генерирующей изображения нейросети. Тогда как DALL-E – это простой инструмент, подходящий обывателям, Stable Diffusion можно использовать в профессиональных целях. Это как Photoshop среди других, менее функциональных графических редакторов. Stable Diffusion имеет множество параметров генерации, позволяющих гибко настраивать создаваемые изображения. Эти параметры включают размер, качество, сложность, различные нюансы изображения. Stable Diffusion предусматривает модификаторы для изменения стиля, формата или перспективы изображения. Позволяет работать с разными моделями создания изображений.
Нейросеть генерирует изображения по текстовому описанию и по исходному загруженному изображению. В последнем случае можем улучшать качество исходных изображений, менять стиль, добавлять или убирать детали, создавать похожие изображения. Текстовое описание лучше вводить на английском, в отличие от DALL-E Stable Diffusion плохо справляется с переводом. При генерации по текстовому описанию можем использовать негативные подсказки – описания того, что мы не хотим видеть на изображении, например, деформации, размытия, дефекты анатомии людей и т.п.
Stable Diffusion доступна бесплатно онлайн на сайте проекта. Есть бесплатные мобильные приложения для генерации изображений на базе Stable Diffusion. Максимальный функционал нейросети доступен в бесплатной компьютерной программе Easy Diffusion. Рассмотрим десктопные реализации Stable Diffusion.
↑ Сайт Stable Diffusion
Сгенерировать изображение с помощью Stable Diffusion можно на любом устройстве десктопном или мобильном – на сайте нейросети Stablediffusionweb.Com. На данный момент это бесплатно, более того, даже не требуется регистрация. Сайт Stable Diffusion предлагает три варианта работы с нейросетью, отличающиеся своими возможностями.
Самый простой вариант – Playground с минимальными возможностями. Создаёт изображения с разрешением 512х512 пикселей. Можно использовать текстовые описания и негативные подсказки. Можно выбрать стиль изображения. Здесь изображения генерируются относительно быстро: до минуты, если серверы сайта не загружены. Этот вариант можно использовать на старте ознакомления с возможностями нейросети, чтобы усвоить азы, как с ней взаимодействовать. Вводим описание, выбираем стиль, жмём «Generate». Сгенерированное изображение можем скопировать или сохранить, вызвав на нём контекстное меню браузера. Либо можем воспользоваться кнопкой скачивания.
Усреднённый вариант – WebUI. Здесь получим более качественные картинки, и нам будет предлагаться 4 варианта генерации. Разрешение здесь также 512х512 пикселей. Изображения могут генерироваться дольше минуты. Вводим описание, жмём «Generate» и получаем разные видения заданного запроса нейросетью.
Помимо этого, WebUI позволяет загружать свои изображения. Их можно использовать в качестве исходных данных для генерации новых изображений. Можно попросить нейросеть сгенерировать это изображение в другом стиле, оставить акцентный объект, но сменить фон, сменить время суток или время года на картинках пейзажей. Можно попросить создать новое изображение в тонах представленного на картинке. Сгенерированные изображения добавляем, кликнув их порядковые номера. Картинки с компьютера добавляем через форму загрузки изображений. Вводим описание, жмём «Generate».
Сгенерированные изображения можем скопировать или сохранить, вызвав на них контекстное меню браузера.
Максимальный вариант - Stable Diffusion XL. Здесь генерируется одна картинка, но она лучшего качества, а её размер может быть увеличен до 1024х1024 пикселей. Генерация может длится долго, несколько минут. Вводим описание, выбираем стиль, указываем размер изображения, жмём «Generate». Сгенерированное изображение можем скопировать или сохранить, вызвав на нём контекстное меню браузера. Либо можем воспользоваться кнопкой скачивания.
↑ Программа Easy Diffusion
Сайт Stable Diffusion предлагает ограниченные возможности нейросети. Весь её потенциал раскрывается в бесплатной компьютерной программе Easy Diffusion. Но, друзья, на сайте процесс генерации обеспечивается серверными мощностями сайта, при использовании же программы аппаратное обеспечение полностью лежит на нас. Системные требования программы:
- Минимум 8 Гб оперативной памяти;
- Видеокарта с минимальным объёмом видеопамяти 2 Гб;
- Минимум 25 Гб места на диске.
Для Easy Diffusion важна видеокарта, именно от её мощности будет зависеть скорость генерации картинок. Но, друзья, не отчаивайтесь, если у вас видеокарта с меньшим объёмом видеопамяти. 2 Гб – это требование для генерации изображений с максимально возможным разрешением 2048х2048. Имея видеокарту с меньшим объёмом видеопамяти, вы сможете создавать изображения с меньшим разрешением. Так, например, в нашем случае использовалась видеокарта с видеопамятью 1 Гб, и мы могли генерировать картинки с разрешением 1024х1024. Правда, генерация одной такой картинки у нас занимала час времени.
Easy Diffusion есть для Windows, Linux и Mac. Отправляемся за программой на GitHub. Качаем инсталлятор для нужной операционной системы, например, для Windows.
Устанавливаем программу. При установке можно выбрать путь и установить её не на системный диск С (ведь программе нужно много места). После установки запускаем в её папке файл командной строки Start Stable Diffusion UI.cmd.
Stable Diffusion работает как локальный клиент-сервер. Этот файл командной строки запускает серверную часть. Соответственно, командную строку при работе с программой мы не закрываем. Клиентская часть – сама программа Stable Diffusion – откроется в окне браузера. Программа на английском, но мы можем перевести её интерфейс на русский язык с помощью функционала браузера.
У Easy Diffusion много настроек и возможностей на долгую перспективу исследования. Давайте рассмотрим основные. Раскроем настройки изображения.
Здесь обратим внимание на количество изображений. По умолчанию стоит одно. Но если у вас, друзья, мощная видеокарта – начиная с GeForce RTX 3060, можете установить 2, 3 или 4 картинки. Тогда нейросеть по вашему запросу будет генерировать одновременно разные варианты, и вы сможете выбрать нужный. Но каждая картинка будет добавлять время на обработку запроса генерации. И обратим внимание на размер изображения. На старте, пока мы не освоимся в работе с программой, можно установить небольшой размер генерируемого изображения. Чем больше размер, тем дольше по времени будет длиться генерация.
Как работать с Easy Diffusion? В текстовое поле вводим описание того, что мы хотим, чтобы нейросеть сгенерировала. Можем добавить модификаторы.
Модификаторы – это настройки стилей и фильтров рисования. Можем выбрать какой у нас тип рисунка – лицо или пейзаж. И можем выбрать стиль или фильтр: к примеру, мы будем рисовать берег моря, и можем выбрать для него модификатор HD.
Запускаем генерацию изображения – жмём «Сделать изображение».
Справа будем видеть прогресс генерации и оставшееся время. Можно составить следующее задание на генерацию изображения и поставить его в очередь, оно запустится, когда завершится текущее задание.
По завершении генерации получаем изображение. При наведении на него появляется его меню, можем нажать «Загрузить изображение» и скачать на компьютер.
Для генерации картинок на базе имеющихся у нас кликаем кнопку обзора.
И далее вводим описание, что с этой картинкой или на базе этой картинки должна сделать нейросеть, добавляем при необходимости модификаторы и запускаем генерирование.
Друзья, Easy Diffusion – продвинутый инструмент, открывающий перед нами большие возможности. По мере ознакомления с ним вы сможете экспериментировать с настройками и изучать возможности программы. Для её изучения на GitHub есть мануалы, отсылки по разным вопросам найдём в разделе «Помощь и сообщество».
И что самое интересное: Easy Diffusion может работать с разными моделями создания изображений. В настройках изображения у нас есть дефолтная модель. Но их существует много, они обучены на разных наборах данных и могут генерировать изображения разного качества и стиля. Подробно о моделях создания изображений, как их устанавливать и использовать можем узнать, кликнув на значок вопроса в графе модели.
Сами же модели доступны бесплатно на сайте Civitai.Com. Есть модели, заточенные под реалистичность, киберреалистичность, аниме, архитектуру, фоторедактирование и т.п. Одна из лучших реалистичных моделей - Realistic Vision.
↑ Программа Invoke AI
Есть ещё одна бесплатная программа на базе Stable Diffusion – Invoke AI. Работает по тому же принципу локального сервера. Имеет больше возможностей, рассчитана на более сложные задачи. Но и более требовательна к ресурсам компьютера. Ей нужна видеокарта минимум с 4 Гб видеопамяти.
Вот такая, друзья, рисующая нейросеть Stable Diffusion. Мощная технология с широким спектром потенциальных применений. Может открыть новые перспективы для специалистов в области искусства, дизайна, искусственного интеллекта и разработки программного обеспечения.