Как БЕСПЛАТНО Получить Генеративную Заполненность ИИ с Помощью GIMP

Интерфейс GIMP с кнопкой генеративной заполненности.

Краткое содержание

Теперь вам не нужно тратить деньги на подписку Creative Cloud, чтобы пользоваться функциями Adobe Firefly. Я расскажу, как собрать бесплатное DIY-решение, которое не уступит по мощности. И что самое главное, вы сможете использовать его даже на простом ПК, так как оно работает в облаке.

Firefly в Photoshop: настоящая магия, но довольно дорогая

Функция генеративного заполнения в Photoshop поражает своей мощью. Если вы когда-либо проводили часы, усердно комбинируя изображения, вам будет приятно узнать, что, выделив нужную область и введя текстовое описание (например, кот, футбольный мяч, дерево), Photoshop самостоятельно добавит это с правильной перспективой и освещением.

Заполненная область, созданная ИИ.

К сожалению, для использования этой функции требуется подписка на Creative Cloud, и вам придется платить $20 в месяц только за это.

GIMP Stable Boy: бесплатная и открытая альтернатива

Я начал искать решения с открытым исходным кодом, но вначале это казалось сложной задачей. Photoshop имеет очень немного FOSS (бесплатных и открытых) конкурентов, и найти подобный генеративный инструмент было нелегко.

В итоге я наткнулся на бесплатный плагин, который может добавить эти функции в GIMP (бесплатный редактор изображений). Он называется Stable Boy и основан на Stable Diffusion (одной из самых популярных и мощных моделей генерации изображений). Этот плагин позволяет выделять области с текстовыми подсказками, генерировать изображения по текстовым запросам, перерабатывать и увеличивать размер, аналогично Adobe Firefly в Photoshop.

Если у вас современная мощная видеокарта, вы можете запустить Stable Diffusion локально без особых усилий. Однако у меня нет такой карты, и большинство времени я работаю на своем ноутбуке, поэтому этот подход мне не подходит. Я попробовал другой вариант: существуют сервисы, предлагающие арендовать мощность GPU или CPU в облаке для запуска сложных ИИ моделей. Таким образом, вы сможете использовать это даже на простом ПК, если у вас есть интернет-соединение. Но есть один нюанс — такие сервисы стоят довольно дорого или предлагают только несколько токенов на пробный период. Это тоже не выход.

Решение пришло, когда я вспомнил, что могу запустить модель Stable Diffusion в Google Colab и связать её с плагином GIMP через API. Так я смог получить работающий аналог генеративного заполнения Photoshop, используя бесплатные инструменты на любом компьютере.

Все, что вам нужно для работы

Позвольте мне объяснить, как это работает.

Вот что нам потребуется:

Установите GIMP и загрузите Stable Boy

Давайте начнем с загрузки нужной версии GIMP (2.10.34) из архивов. Возможно, вам придется немного прокрутить вниз. Установите GIMP через оффлайн-установщик и запустите его.

Загрузка нужного установщика из архивов GIMP.

Теперь давайте загрузим Stable Boy. Мы можем сделать это одним из двух способов.

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

Если Git не установлен, откройте репозиторий на GitHub, нажмите на зеленую кнопку Code вверху и выберите «Скачать ZIP». Распакуйте ZIP файл в любое удобное для вас место.

Репозиторий плагина Stable Boy на GitHub.

Теперь возвращаемся в GIMP. В верхнем меню найдите пункт Edit и перейдите в Edit > Preferences. Прокрутите вниз и нажмите на значок « » рядом с Folders. В выпадающем меню должна появиться строка «Plug-ins».

Загрузка Stable Boy в GIMP через функцию «Plug-in Folders».

Мы укажем GIMP на папку Stable Boy, которую мы загрузили ранее. Для этого откройте папку GIMP Stable Boy и перейдите в папку «src».

Скопируйте путь к этой папке. Теперь вернитесь к настройкам GIMP и нажмите на значок «Добавить папку». Вставьте скопированный путь в адресную строку и нажмите клавишу Enter. Путь должен выглядеть примерно так.

Чтобы изменения вступили в силу, нам нужно перезапустить GIMP. Если всё пройдет хорошо, у вас появится новая кнопка Stable Boy в верхнем меню, как эта!

Stable Boy успешно установлен в GIMP.

Если Stable Boy не появился в меню после подключения его к папке Preferences, возможно, вы указали неверный путь или используете неправильную версию GIMP. Нажмите Help > About GIMP, чтобы увидеть версию. Она должна быть «2.10.34».

Подключаем Stable Boy

Теперь давайте перейдем ко второй части — к части с ИИ. Это потребует выполнения нескольких шагов. Нам нужно получить URL API, чтобы запустить веб-UI экземпляр Stable Diffusion. Позвольте показать, как сгенерировать этот API ключ.

Сначала откройте этот ноутбук в Google Colab. Ноутбук называется «fast_stable_diffusion_AUTOMATIC1111.ipynb». Возможно, вам нужно будет войти с помощью вашей учетной записи Google, если вы еще этого не сделали.

Инициализация ноутбука Stable Diffusion в Google Colab.

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

Когда вы запустите первую ячейку, она предложит вам подключиться к вашему Google Диску. На экране появится диалог для подтверждения прав доступа к вашему Диску.

После этого запустите ячейки «Install/Update Automatic1111 repo» и «Requirement». Подождите, пока каждая из них завершит выполнение успешно.

Следующий шаг — выбрать модель, которую мы будем использовать с Stable Boy. Нам нужна модель, поддерживающая инпейтинг; иначе генеративное заполнение создаст искажения изображения, а не реальный контент. Нажмите на выпадающее меню рядом с Model Version и выберите «v1.5 Inpainting». Затем запустите ячейку модели.

Оставьте остальные две ячейки с настройками по умолчанию.

Наконец, нажмите кнопку «Start Stable Diffusion», чтобы сгенерировать новый API ключ. Ссылка должна выглядеть примерно так. Если вы скопируете её или откроете в браузере, вы попадете на веб-версию Stable Diffusion и сможете свободно ей пользоваться.

Успешно сгенерирован URL, ведущий к работающему веб-экземпляру Stable Diffusion.

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

Имейте в виду, что Google не позволит использовать это вечно, так как кредиты облачных вычислений не бесконечны. Кредиты для запуска ноутбуков обновляются автоматически, но если оставить ноутбук работающим и уйти спать, вы можете проснуться с замороженным ноутбуком и предупреждением от Google о том, что он ограничил ваше использование. Я рекомендую запускать ноутбук только во время работы и выключать его по завершении.

Теперь возвращаемся в GIMP. Откройте изображение или создайте новый документ (спецификации документа не имеют значения). Затем нажмите на Stable Boy в меню и выберите «Preferences». В адресной строке появится место для вставки API ключа. Вставьте сюда URL, который вы скопировали ранее.

Убедитесь, что в конце URL нет лишнего слеша, иначе Stable Boy не сможет вызвать API.

Давайте протестируем нашу настройку

Если все прошло успешно, Stable Boy должен работать. Давайте протестируем его.

Создайте новый прозрачный слой с именем «Inpainting Mask» в открытом пустом документе или изображении. Имя чувствительно к регистру и должно быть точным, иначе вы получите ошибку.

Создание «Inpainting Mask» с помощью нового слоя в GIMP.

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

Маска инпейнтинга в GIMP, созданная с использованием непрозрачной черной кисти на прозрачном слое с именем «Inpainting Mask».

Убедитесь, что вы работаете на прозрачном слое «Inpainting Mask». С выделенным масочным слоем нажмите на Stable Boy и выберите «Inpainting».

Маска инпейнтинга имеет множество настроек и регуляторов, которые можно настроить для изменения конечного результата. Я объясню, что они делают позже. А пока просто задайте текстовую подсказку и нажмите «OK», используя настройки по умолчанию. Подсказка может выглядеть так.

Успешно сгенерирован объект на основе введенной подсказки и нарисованной маски.

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

Вот еще одна демонстрация инпейнтинга, сгенерированная на основе маски силуэта сидящего щенка.

Полезные советы по устранению неполадок, которые вам, вероятно, понадобятся

Если вместо изображения вы видите странные обрезки, размытия или искажения, это может означать одно из трех вещей, исходя из моего опыта.

Если инпейтинг не работает, попробуйте другие функции Stable Boy. Если масштабирование, генерация изображений по тексту или другие функции работают нормально, значит проблема в модели ИИ, которую вы используете.

Чтобы убедиться, что вы используете правильную модель, откройте API URL в браузере и перейдите на панель управления Stable Diffusion. В правом верхнем углу должно быть написано «sd-v1-5-inpainting.ckpt». Если этого нет, значит вы используете неправильную модель.

Работа модели инпейнтинга на Stable Diffusion в веб-экземпляре.

Чтобы исправить это, вернитесь к ноутбуку Colab, найдите ячейку с моделями и выберите правильную. Затем повторите шаги, которые вы делали ранее, и снова протестируйте инпейтинг.

Еще один способ убедиться, что Stable Boy работает, — это кликнуть Filters > Python-fu > Console. Если консоль не открывается, значит Python не включен в вашу версию GIMP, и вам нужно переустановить правильную версию. Помните, что версия 2.10.34 всегда будет работать.

Запуск проверки работоспособности через запуск Python Console в GIMP.

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

Вот моя рекомендуемая конфигурация для достижения лучших результатов.

Некоторые настройки и корректировки, которые я рекомендую для генерации реалистичной авто-заполненности ИИ в GIMP.

Я получил удивительно хорошие результаты с этим DIY генеративным движком. Возможно, потребуется немного времени на освоение (настройки могут быть раздражающими), но я нашел это невероятно полезным и увлекательным!

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Вы также можете найти наши материалы в:

Алекс Бежбакин
Оцените автора
Добавить комментарий