
Резюме
- Избегайте дорогостоящих подписок Adobe; GIMP + Stable Boy предлагает мощную альтернативу генеративной заливке.
- Настройте GIMP с плагином Stable Boy и запустите модель Stable Diffusion в Google Colab для бесплатных генеративных функций.
- Настройте параметры, следуйте руководству по настройке и устраните неполадки для достижения оптимальных результатов с помощью самодельного генеративного движка.
Вам не нужно тратить свои с трудом заработанные деньги на подписку Creative Cloud, чтобы просто насладиться функциями Firefly в Photoshop. Позвольте мне показать, как вы можете сколотить бесплатное решение своими руками, которое будет столь же мощным. Кроме того, вы можете использовать его даже на Potato PC, потому что он работает в облаке.
Firefly от Photoshop — это чистое волшебство, но дорогое
Функция генеративной заливки в Photoshop шокирующе мощна. Если вы когда-либо тратили часы на скрупулезную компоновку изображений, то, увидев, как они мгновенно появляются (идеально вписанными), у вас всегда отвиснет челюсть. С генеративной автозаливкой вы просто рисуете в выделенной области, пишете то, что хотите в этом пространстве (кошку, футбольный мяч, дерево), и Photoshop вставляет это с правильной перспективой, освещением и всем остальным.

К сожалению, эта функция доступна только при подписке на Creative Cloud, поэтому вам придется заплатить 20 долларов в месяц, чтобы просто ею воспользоваться.
GIMP + Stable Boy (бесплатная альтернатива с открытым исходным кодом)
Поэтому я попытался поискать решения с открытым исходным кодом, но поначалу это казалось невозможным. У Photoshop в любом случае очень мало конкурентов FOSS (бесплатных и с открытым исходным кодом), и ни у одного из них нет такой сложной генеративной заливки.
В конце концов, я наткнулся на бесплатный плагин, который может добавить эти возможности в GIMP (бесплатный инструмент для обработки изображений). Он называется Stable Boy и создан на основе Stable Diffusion (одной из самых популярных и мощных моделей генерации изображений). Он позволяет вам рисовать в выделенных областях с помощью текстовых подсказок, генерировать направление изображения из текстовых подсказок, делать ремиксы и масштабировать так же, как вы можете это делать с помощью Adobe Firefly в Photoshop.
С современным мощным графическим процессором вы можете запустить Stable Diffusion локально, не прилагая особых усилий. У меня нет крутого графического процессора, и большую часть времени я работаю на своем ноутбуке, поэтому запуск локально — не вариант. Вместо этого я попробовал следующее лучшее решение. Существуют сервисы, которые арендуют вычислительную мощность графического процессора или центрального процессора в облаке для запуска тяжелых моделей ИИ. Таким образом, это будет работать даже на картофелине, если она подключена к Интернету. Единственная проблема в том, что эти сервисы либо стоят дорого, либо дают только несколько токенов на пробной основе. Это тоже не вариант.
Закрыто
Ответ пришел мне в голову, когда я вспомнил, что могу просто запустить модель Stable Diffusion в Google Colabs и связать ее с плагином GIMP через API. Вот как мне удалось получить работающую генеративную заливку в стиле Photoshop, используя бесплатные инструменты, которые работают на любом компьютере.
Все, что вам нужно, чтобы это работало
Позвольте мне объяснить, как все эти части складываются воедино.
- GIMP — это бесплатный инструмент для редактирования изображений, поддерживающий плагины. Мы установим его и загрузим в него плагин Stable Boy. Это половина пазла.
- Нам также нужно запустить и запустить бэкэнд AI. Для этого мы используем блокнот Google Colab для запуска модели Stable Diffusion и генерации URL-адреса API в реальном времени. Stable Boy в GIMP может общаться с запущенной моделью через этот URL-адрес.
Вот все, что нам нужно для этого:
- GIMP версии 2.10.34 (именно эта версия и нужна, так как плагин Stable Boy не работает с другими).
- Stable Boy (этот бесплатный плагин GIMP доступен на GitHub).
- Доступ к Google Colab (вам понадобится учетная запись Google и разрешение на доступ к вашему Google Диску).
- Блокнот Stable Diffusion, который мы будем запускать в Google Colab.
- Ссылка API (блокнот Stable Diffusion автоматически сгенерирует ее для нас).
- Немного духа «сделай сам».
Установите GIMP и загрузите Stable Boy
Давайте начнем со скачивания правильной установки GIMP (2.10.34) из архивов. Возможно, вам придется немного прокрутить вниз. Установите GIMP через офлайн-установку и запустите ее.

Теперь давайте возьмем Stable Boy. Мы можем сделать это двумя способами.
Если на вашем компьютере установлен Git, откройте терминал и введите эту команду. Она клонирует весь репозиторий в локальное хранилище.
git-клон https://github.com/thndrbrrr/gimp-stable-boy.git
Если у вас не установлен Git, откройте репозиторий GitHub, нажмите зеленую кнопку «Код» в верхней части репозитория и выберите «Загрузить ZIP». Извлеките ZIP-файл в любое место.

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

Укажем GIMP на папку Stable Boy, которую мы скачали ранее. Для этого откройте папку GIMP Stable Boy и щелкните папку «src».
Выберите путь к этой папке и скопируйте его. Теперь вернитесь в настройки GIMP и щелкните значок папки «Добавить папку». Вставьте скопированный путь в адресную строку и нажмите клавишу Enter. Путь может выглядеть примерно так.
C:ПользователиИмя пользователяgimp-stable-boysrc
Чтобы изменения вступили в силу, перезапустим GIMP. Если все пройдет хорошо, у вас должна появиться блестящая новая кнопка Stable Boy на верхней панели меню, как эта!

Если Stable Boy не отображается в строке меню после того, как вы подключили его в папку Preferences, это может быть связано с тем, что вы указали неправильный путь или используете неправильную версию GIMP. Нажмите Help > About GIMP, чтобы узнать, какая версия у вас запущена. Она должна быть «2.10.34»
Включение Стюарда
Теперь давайте займемся второй половиной головоломки — половиной ИИ. Чтобы добраться до нее, потребуется несколько шагов. Все, что нам на самом деле нужно, это просто URL API для запуска экземпляра веб-UI Stable Diffusion. Позвольте мне показать вам, как сгенерировать этот ключ API.
Сначала откройте этот блокнот в Google Colab. Записная книжка называется «fast_stable_diffusion_AUTOMATIC1111.ipynb». Возможно, вам придется войти в систему с помощью своего аккаунта Google, если вы этого еще не сделали.

Вы увидите, что в блокноте есть куча ячеек с маленькими кнопками воспроизведения рядом с ними. Нажатие кнопки воспроизведения запускает этот конкретный блок кода. Мы нажмем их все по одной. Если ячейка выполняется успешно, она станет зеленой. Если она не выполняется, она станет красной.
При запуске первой ячейки вам будет предложено подключиться к вашему Google Drive. Должно появиться всплывающее окно с диалоговым окном подтверждения предоставления этому блокноту Colab доступа к вашему Drive.
Закрыто
Далее запустите ячейки «Install/Update Automatic1111 repo» и «Requirement». Дождитесь успешного завершения каждой из них.
Следующий шаг — выбор модели, которую мы передадим Stable Boy. Нам нужна модель, которая поддерживает inpainting, иначе генеративная заливка создаст странные искажения изображения, а не фактическое содержимое. Щелкните раскрывающееся меню рядом с Model Version и выберите «v1.5 Inpainting». Затем также запустите ячейку модели.
Закрыто
Оставьте оставшиеся две ячейки без изменений, с настройками по умолчанию.
Наконец, нажмите кнопку Start Stable Diffusion, чтобы сгенерировать новый ключ API. Ссылка должна выглядеть примерно так. Если вы скопируете ее или откроете в браузере, она перенаправит вас на веб-версию Stable Diffusion, которую вы можете свободно использовать.

Не закрывайте эту вкладку, пока не закончите работу. Закрытие вкладки также удаляет публичный экземпляр, который мы здесь запускаем.
Помните, что Google не позволит вам запускать это вечно, поскольку кредиты облачных вычислений не безграничны. Кредиты для запуска блокнотов возобновляются автоматически, но если вы оставите экземпляр блокнота запущенным и перейдете в спящий режим, вы проснетесь с зависшим блокнотом и предупреждением Google о том, что он ограничил ваше использование. Я рекомендую запускать блокнот только во время работы и выключать его, когда закончите.
Теперь вернемся к GIMP. Откройте изображение или создайте новый документ (спецификации документа не имеют значения). Затем нажмите Stable Boy в строке меню и выберите «Настройки». Должна быть адресная строка для вставки ключа API. URL, который вы скопировали ранее, идет сюда.
Закрыто
Убедитесь, что в конце URL-адреса нет лишнего слеша, иначе Stable Boy не сможет вызвать API.
Давайте проверим нашу установку
Если все пойдет хорошо, Stable Boy должен быть готов к работе. Давайте проверим его.
Откройте пустой документ или изображение и создайте новый прозрачный слой под названием «Маска закрашивания». Он чувствителен к регистру и должен быть назван именно так, иначе возникнет ошибка.

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

Убедитесь, что вы остаетесь на прозрачном слое «Inpainting Mask». Сохраняя выбранным слой маски, щелкните Stable Boy и на этот раз выберите «Inpainting».
Маска Inpainting имеет множество настроек и циферблатов, с которыми вы можете поиграться, чтобы изменить конечный результат. Я объясню, что они все делают позже. Сейчас давайте просто дадим ей текстовую подсказку и нажмем «ОК» с настройками по умолчанию. Подсказка может выглядеть примерно так.
Реалистичный футбольный мяч с мягкой тенью под ним.

Обработка иногда занимает несколько секунд, но как только она будет завершена, окно исчезнет, а отрендеренное изображение появится на отдельном слое. Вы можете скрыть исходный слой маски или удалить его.
Вот еще одна демонстрация зарисовки, созданная на основе маски-силуэта сидящего щенка.
реалистичный щенок золотистого ретривера сидит на траве, вид спереди
Закрыто
Некоторые советы по устранению неполадок, которые вам, вероятно, понадобятся
Если вместо изображения вы видите просто странные обрывы, размытость или искажения, по моему опыту, это может означать одну из этих трех вещей.
- GIMP неправильно запускает плагин Stable Boy или используемая вами модель Stable Diffusion не поддерживает Inpainting.
- Маска закрашивания была настроена неправильно.
- Возможно, вам придется изменить некоторые настройки, прежде чем повторить попытку.
Если inpainting не работает, попробуйте любой из других вариантов, предлагаемых Stable Boy. Если функции масштабирования, генерации текста в изображение или преобразования изображения в изображение работают как положено, это означает, что проблема в модели ИИ, которую вы используете.
Чтобы убедиться, что вы используете правильную модель, откройте URL-адрес API в браузере и перейдите на панель управления Stable Diffusion. В правом верхнем углу должно быть написано «sd-v1-5-inpainting.ckpt». Если этого не произошло, значит, вы используете неправильную модель.

Чтобы исправить это, вернитесь в блокнот Colab, найдите ячейку, содержащую все модели, и выберите нужную. Затем повторите шаги, которые вы выполнили ранее, и снова протестируйте inpainting.
Другой способ проверить, активен ли Stable Boy, — нажать Фильтры > Python-fu > Консоль. Если консоль не отображается, это означает, что Python не входит в комплект этой конкретной версии GIMP, и вам нужно переустановить правильную версию. Помните, что версия 2.10.34 будет работать всегда.

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

- Уровень шумоподавления сохраняйте на уровне 75–80%.
- Выберите скрытый шум для заливки Inpainting
- Количество шагов должно быть около 40.
- Переключитесь на этот сэмплер, если он доступен: DPM++ 2M Karras
Я получил удивительно хорошие результаты с этим самодельным генеративным движком. Возможно, придется немного повозиться (и настройка может быть утомительной), но я нашел это невероятно полезным и веселым!