LanPaint 2.2.0: инпейтинг Qwen-Image 2.1 и альфа-канал
LanPaint 2.2.0 добавляет Qwen-Image 2.1 в свой маскированный сэмплер: инпейтинг модели text-to-image или модели редактирования, а прозрачность меняет форму вместе с пикселями.
Если вы впервые слышите о LanPaint, поясним: это инструмент инпейтинга и аутпейнтинга на основе выборки, который работает с моделями без отдельного чекпойнта для инпейтинга, от SD и Flux до Wan и Krea 2. Он заменил подход «чекпойнты и маски» маскированным СЭМПЛЕРОМ: закрасьте область, опишите, что там должно быть, и LanPaint рассуждает об окружающем изображении, одновременно выполняя денойзинг этой области. Пайплайн видео и аудио MiniMax H3 описан в нашей более ранней статье.
Маскированное редактирование с Qwen-Image 2.1 Edit
Новая пара примеров делится на две задачи. Первый применяет LanPaint к модели редактирования изображений Qwen-Image 2.1: напишите, что хотите изменить, закрасьте ту часть, которой должно коснуться редактирование, и изменится только эта часть, а всё остальное, включая прозрачность, вернётся в точности как было. В прилагаемом примере второе изображение поставляет материал для пары амбушюр наушников, а оголовье и его прострочка остаются нетронутыми.
Example_32: холст, маска, референс, поставляющий материал, и результат с маской. Условие по второму изображению проходит сквозь маску.
Рабочий процесс и его изображения находятся в examples/Example_32, а перетаскивание InPainted_Drag_Me_to_ComfyUI.png в ComfyUI открывает его с уже подключёнными моделями. Он работает рядом с официальным шаблоном Qwen Image 2.1 Image Edit, так что вы сохраняете собственные загрузки моделей и раскладку узлов ComfyUI.
Инпейтинг прозрачности
Второй пример более необычный. Qwen-Image 2.1 генерирует изображения с альфа-каналом, и LanPaint считает этот канал частью изображения: когда вы выполняете инпейтинг области, восстановленный участок может получить новый силуэт, а не остаться в границах старого. В примере из README подошва ботинка заменяется, и контур растёт вместе с ней, а на ограниченном маской инпейтинге по RGB-изображению такое невозможно.
Example_31: оригинал, маска и результат. Восстановленный участок возвращается с новым контуром, а не только с новыми цветами.
Механически это работает потому, что VAE Qwen-Image 2.1 имеет четыре канала на входе и четыре канала на выходе, поэтому альфа проходит через латентное пространство и редактируется рядом с RGB-пикселями, а не отбрасывается до выборки. Одно практическое следствие отмечено в списке изменений: держите маску инпейтинга в отдельном файле в градациях серого, потому что в Qwen-Image 2.1 альфа-канал изображения означает прозрачность, а не маску. То же обновление заставляет LanPaint_ImageDecode приводить количество декодированных каналов в соответствие с исходным изображением: вход RGBA возвращается как RGBA, а вход RGB по-прежнему возвращается как RGB.
Как вписывается СЭМПЛЕР
LanPaint устанавливается как узлы-СЭМПЛЕРЫ, которые заменяют обычный KSampler в графе инпейтинга, следуя той же схеме с SetLatentNoiseMask, которую уже используют большинство рабочих процессов инпейтинга в ComfyUI.
СЭМПЛЕР LanPaint KSampler и его расширенный аналог с доступными элементами управления шагами размышления.
Примеры выше используют пять шагов размышления на каждый шаг денойзинга. Расширенный СЭМПЛЕР открывает весь набор: LanPaint_NumSteps для глубины рассуждений на шаг, LanPaint_Lambda для силы выравнивания содержимого, LanPaint_StepSize, LanPaint_Beta для баланса между областями с маской и без неё, LanPaint_Friction для стабильности обновлений Ланжевена, LanPaint_EarlyStop для досрочного завершения итераций и переключатель приоритета промпта над изображением. Простые задачи обходятся примерно 2-5 шагами; для более сложных нужно 5-10.
Доступность
- Источник и все примеры: github.com/scraed/LanPaint
- Релиз: LanPaint 2.2.0
- Установить: найдите LanPaint в ComfyUI-Manager или клонируйте репозиторий в
ComfyUI/custom_nodes/и перезапустите. Узлы появятся в категории выборки. - Модели Qwen-Image 2.1 берутся из официальных шаблонов ComfyUI Qwen Image 2.1 и Qwen Image 2.1 Image Edit.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.