Consolidate Masks(ConsolidateMasksKJ)
Этот узел принимает на вход пакет масок и анализирует ограничивающую рамку (bounding box) активной области для каждой маски.
Consolidate Masks KJ
Узел Consolidate Masks принимает на вход пакет масок и анализирует ограничивающую рамку (bounding box) активной области каждой маски.
Узел Consolidate Masks — это инструмент для оптимизации и управления пакетной обработкой масок. Его основная функция — интеллектуальное объединение нескольких независимых масок в плитки (tiles) заданного размера, что позволяет сократить количество обрабатываемых пакетов и повысить эффективность последующей обработки.
Функциональность узла
Этот узел принимает на вход пакет масок и анализирует ограничивающую рамку (bounding box) активной области каждой маски. Его основной алгоритм ищет максимальную группу масок, которую можно разместить в пределах заданной ширины и высоты (с учётом внутренних отступов), и объединяет их. Этот процесс выполняется итеративно, пока не останется масок для объединения, и в итоге выводит новый, консолидированный пакет масок.
Описание параметров узла - Consolidate Masks
Входные соединения (Inputs)
| Параметр | Тип данных | Обязательный | Значение по умолчанию | Диапазон/Опции | Описание |
|---|---|---|---|---|---|
masks | MASK | Да | - | - | masks (входной параметр): Исходный пакет масок, которые необходимо объединить. Тип — MASK. |
Параметры управления (Parameters)
| Параметр | Тип данных | Обязательный | Значение по умолчанию | Диапазон/Опции | Описание |
|---|---|---|---|---|---|
width | INT | Да | 512 | 0 - 4096 (шаг: 64) | width (входной параметр): Ширина целевой плитки для объединения, диапазон от 0 до 4096, шаг изменения — 64. |
height | INT | Да | 512 | 0 - 4096 (шаг: 64) | height (входной параметр): Высота целевой плитки для объединения, диапазон от 0 до 4096, шаг изменения — 64. |
padding | INT | Да | 0 | 0 - 4096 (шаг: 1) | padding (входной параметр): Внутренний отступ между масками при объединении, диапазон от 0 до 4096, шаг изменения — 1. |
Выходные данные (Output)
| Параметр | Тип данных | Описание |
|---|---|---|
| MASK | MASK | MASK (выходной параметр): Новый пакет масок, оптимизированный путём объединения. |
Сценарии использования
Этот узел особенно полезен в рабочих процессах, требующих обработки большого количества мелких объектов или областей, например, при пакетном устранении нескольких дефектов на изображении или генерации контента для нескольких независимых элементов. Вы можете подать на вход узла несколько масок, полученных в результате сегментации, и он автоматически упакует их в меньшее количество плиток. Затем консолидированный пакет масок можно передать в узел для ретуширования изображений (inpainting) для единой обработки, что позволяет избежать отдельных инференсов для каждой маски и сэкономить вычислительные ресурсы.
Важные замечания
Узел требует, чтобы входные маски были бинаризованными. Его логика объединения основана на ограничивающих прямоугольниках (bounding boxes) масок, поэтому для масок с крайне неправильной или разрозненной формой эффективность объединения может снизиться. Размер выходного пакета масок определяется количеством входных масок и результатом их объединения.
Ссылка на исходный код узла Consolidate Masks
Узел Consolidate Masks входит в пакет узлов ComfyUI-KJNodes.
Комментарии
Войдите через GitHub, чтобы участвовать в обсуждении.