[Перекрасить все] Inpaint Anything из стабильной диффузии веб-интерфейса
[Перекрасить все] Inpaint Anything из стабильной диффузии веб-интерфейса

фон

В последние месяцы Meta выпустила базовую модель сегментации изображений под названием SAM (Segment Anything Model). Ее мощные возможности и простота в использовании привлекли широкое внимание. Модель SAM может точно сегментировать объекты в реальном времени, просто щелкая по ним. Ее популярность на GitHub также очевидна. По состоянию на 15 апреля количество звезд на ее складе достигло 26 тысяч.

Однако ключевым вопросом стало то, как применить эту мощную модель «разделить все» к более практичным сценариям спроса и дальнейшее ее расширение. Исследовательская группа дала неожиданный ответ. На основе модели SAM они предложили модель под названием «Inpaint Anything» (IA). В отличие от традиционной модели восстановления изображения, модель IA не требует сложных операций маскировки. Чтобы отметить выбранный объект, достаточно одного щелчка мыши, и она может удалить любой объект, заполнить любой контент, заменить любую сцену и выполнить другие типичные сценарии применения восстановления изображений. . Это нововведение вызвало большой интерес.

За последние несколько месяцев исследователи добились значительного прогресса, постоянно оптимизируя и улучшая модель IA. Они впервые предприняли попытку врисовки изображения без маски и создали новую парадигму врисовки изображений под названием «Щелчок и заполнение», то есть «Inpainting Everything» (IA). Основная идея IA — объединить преимущества разных моделей для создания мощной и удобной системы восстановления изображений.

Модель IA имеет три основные функции: Удалить все. Что угодно, заполнить все Что угодно и заменить Anything。Пользователям нужно только нажать на объект, который они хотят удалить.,ИА может удалить объект, не оставив следов,Достигните эффективного «магического устранения». в то же время,Пользователь также может сообщить IA, что он хочет заполнить в объекте, с помощью текстовых подсказок.,IA будет генерировать соответствующие наполненные контентом объекты, управляя встроенной моделью AIGC.,Достигайте «создания контента» по своему желанию. также,Пользователи также могут щелкнуть мышью, чтобы выбрать объекты, которые необходимо сохранить.,И используйте текстовые подсказки, чтобы сообщить IA, на что вы хотите заменить фон объекта.,Вы можете заменить объект фон указанным содержимым,Достичь ярких «преобразований окружающей среды».

В этой статье в основном говорится о стабильных diffusion Расширенный Inpaint в WebUI Anything(https://github.com/Uminosachi/sd-webui-inpaint-anything)。Это основано на вышеизложенномSAMмодель тоже“Можно комбинировать ИИ”(Composable AI) способ решения проблемы перерисовки всего.

Расширение Inpaint Anything
Расширение Inpaint Anything

Установить

Установитьинтерфейс
Установитьинтерфейс

Войдите на вкладку расширения sd-webui, выберите доступную вкладку, нажмите [Загрузить в:] и выберите [Inpaint] в загруженном списке. Anything】,Затем нажмите на правую часть строки【Установить】。затем перезапуститеsd-webui。

С сайта Установить интерфейс
С сайта Установить интерфейс

Вы также можете выбрать [Установить по URL-адресу] на этой странице. В [расширенном git Введите URL склада: https://github.com/Uminosachi/sd-webui-inpaint-anything.git , нажмите кнопку [Установить]. Затем перезапустите SD-Webui.

Вы увидите вкладку [Inpaint Anything] на первом изображении. Эта вкладка разделена на четыре основные области: область «Выполнить сегмент любого объекта», область создания маски «Создать маску» и область изменения маски («Расширить область маски», «Обрезать область маски в соответствии с чертежом», «Обрезать маску по эскизу», в соответствии с рисунком «Добавить область маски»). (Добавить маску по эскизу), перерисовать все области. Запустить Inpainting. Четыре области здесь нужно рассматривать по часовой стрелке. На рисунке я отметил 1234.

Карта зонирования Inpaint Anything
Карта зонирования Inpaint Anything

Скачать модель ЗРК

В области «Сегментировать вместе» выберите другой [Segment Anything Model ID], а затем нажмите [Загрузить модель], чтобы завершить загрузку модели. В обычных обстоятельствах рекомендуется sam_vit_l_0b3195.pth. Загрузка займет много времени, наберитесь терпения.

В разделе «Входное изображение» загрузите изображение, которое хотите сегментировать, нажмите [Выполнить сегментацию чего угодно], и вы увидите соответствующее сегментированное изображение в области создания маски справа.

Генерация и модификация маски

Управляйте обводкой с помощью мыши, выберите часть, которую хотите замаскировать (черная линия на леопарде на рисунке), а затем нажмите [Создать маску]. Маскируемую часть можно увидеть в области изменения маски ниже. Если вы хотите инвертировать выделение, выберите [Инвертировать маску].

Причина, по которой на рисунке выше больше ребер, заключается в том, что я использовал штрих мыши, чтобы нарисовать дополнительный круг, а затем нажал [Добавить маску по эскизу]. Вы также можете нажать [Расширить область маски], чтобы автоматически расширить область (ограничение относительно велико, вы поймете, попробовав его). Мы также можем использовать движение мыши, чтобы нарисовать еще один круг, и нажать [Обрезать маску по эскизу], чтобы уменьшить область маски.

InpaintingRepaint

Здесь я хочу, чтобы леопард на изображении исчез, поэтому подсказка Inpainting пишет луга, а отрицательная подсказка пишет пантеру, леопарда, животных, овец, лошадей, птиц и различных животных. Выберите модель [stabilityai/stable-diffusion-2-inpainting] в идентификаторе модели Inpainting и нажмите [Запустить Inpainting]. Получите картинку без леопарда.

Следует отметить, что эффект здесь не особенно хорош. Мне потребовалось много попыток, чтобы получить такое изображение с удаленным леопардом. Из большинства из них выходят различные животные. Поэтому я написал различных животных, таких как пантера, леопард, животные, овцы, лошади и птицы, в отрицательной подсказке. Если есть какой-то особенно эффективный метод, сообщите, пожалуйста, в комментариях или личном сообщении.

Очиститель

Если мы хотим удалить леопарда, мы также можем выбрать вкладку «Очиститель», выбрать ламу для идентификатора модели очистителя, а затем нажать [Запустить очиститель]. Эффект следующий:

Хуже, чем я ожидал, как невидимое существо во многих стелс-фильмах. Причина, по которой я расширил маску для леопарда, состоит в том, чтобы решить эту проблему, но эффект ламы, идентификатора модели Cleaner, не очень хорош.

Маска только генерирует маски

Выберите вкладку «Только маска» и нажмите [Получить маску], чтобы получить изображение маски. Если вы хотите получить только изображение леопарда, вы можете нажать [Получить маску как альфа-изображение].

boy illustration
Java Advanced Collections TreeSet: что это такое и зачем его использовать?
boy illustration
Оказывается, у команды go build столько знаний
boy illustration
Node.js
boy illustration
Анализ исходного кода, связанный с запланированными задачами версии ruoyi-vue (7), то есть анализ модуля ruoyi-quartz.
boy illustration
Вход в систему с помощью скан-кода WeChat (1) — объяснение процесса входа в систему со скан-кодом, получение авторизованного QR-кода для входа.
boy illustration
HikariPool-1 — обнаружено отсутствие потока или скачок тактовой частоты, а также конфигурация источника данных Hikari.
boy illustration
Сравнение высокопроизводительной библиотеки JSON Go
boy illustration
Простое руководство по извлечению аудио с помощью FFmpeg
boy illustration
Подсчитайте количество строк кода в проекте
boy illustration
Spring Boot элегантно реализует многопользовательскую архитектуру: концепции и практика
boy illustration
Как интегрировать функцию оповещения корпоративного WeChat в систему планирования xxl-job
boy illustration
SpringBoot интегрирует отправку сообщений через веб-сокет в режиме реального времени
boy illustration
Краткий анализ основных библиотек журналов в Go: узнайте, как интегрировать функции вращения и резки бревен на уровне проектирования.
boy illustration
Реализация API-шлюза с нуля-Golang
boy illustration
[Разговорный сайт] Как Springboot получает значения свойств из файлов конфигурации yml или свойств
boy illustration
Spring Boot — синхронные события приложения против асинхронных событий публикации и подписки. Практический бой
boy illustration
Spring Boot использует Swagger3 для создания документов интерфейса API.
boy illustration
[1269] Использование Gunicorn для развертывания проектов flask.
boy illustration
Краткое изложение 10 способов регистрации bean-компонентов в SpringBoot
boy illustration
Flask Learning-9. 2 способа включения режима отладки (debug mode).
boy illustration
Руководство по настройке самостоятельного сервера для Eudemons Parlu
boy illustration
40 вопросов для собеседований по SpringBoot, которые необходимо задавать на собеседованиях! При необходимости ответьте на вопросы для собеседования SpringBoot [предлагаемый сборник] [легко понять]
boy illustration
Через два года JVM может быть заменен GraalVM.
boy illustration
Разрешение циклических зависимостей Spring Bean: существует ли неразрешимая циклическая ссылка?
boy illustration
Разница между промежуточным программным обеспечением ASP.NET Core и фильтрами
boy illustration
[Серия Foolish Old Man] Ноябрь 2023 г. Специальная тема Winform Control Элемент управления DataGridView Подробное объяснение
boy illustration
.NET Как загрузить файлы через HttpWebRequest
boy illustration
[Веселый проект Docker] Обновленная версия 2023 года! Создайте эксклюзивный инструмент управления паролями за 10 минут — Vaultwarden
boy illustration
Высокопроизводительная библиотека бревен Golang zap + компонент для резки бревен лесоруба подробное объяснение
boy illustration
Концепция и использование Springboot ConstraintValidator