EPS Technical Manual
46 / 64
Файлы
46
MASK CHAIN

Florence2 → SAM2 → grow → blur

Сегментация находит людей и связанные классы, превращает bbox / points в SAM2-маску, расширяет край и смягчает его перед crop и composite.

CONFIRMEDNodes 550, 114, 115, 144 и 146 образуют непрерывную цепочку
MASK PIPELINE

Детекция, уточнение и мягкий край

780Resize1920 × 1920
550Florence2detect classes
114Coordinatesbbox → points
115SAM2multi-BBOX · objects ON
144Grow+5 px
146Blur10 · auto
420Cropperson region
фигура остаётся фон исключается feathered edge
01 · DETECTION

Florence2 ищет не только “person”

Node 550 работает в режиме caption_to_phrase_grounding на размере 1024. В сохранённом списке есть people, human, face, hand, feet, shoe, leg, bag, backpack, pet, dog, cat, gun, animal.

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

02 · MASK

Последовательность обработки края

NodeОперацияТекущее значение / выход
550Florence2RunDetection result + data
114Florence2toCoordinatesCoordinates для SAM2
115Sam2SegmentationMask output
144GrowMask5 px, tapered = true
146MaskBlur+10, auto
420easy imageCropFromMaskCrop области человека
500 → 499MaskToImage → Separate Mask ComponentsОтдельные компоненты для inpaint
03 · CONFIRMED RUNTIME

Один canvas и individual_objects = ON дают маску всей группы

Runtime-проверка 2026-09-07 подтвердила полный маршрут Florence2 → BBOX → SAM2 на тестовом изображении 1280 × 720 с шестью людьми. Florence2 и SAM2 должны получать один и тот же image: координаты, рассчитанные на другом размере или кадре, приводят к смещённой либо ложной маске.

В установленной версии ComfyUI-segment-anything-2 список BBOX 0,1,2,3,4,5 дал маску всей группы только при individual_objects = ON. При OFF узел возвращал один силуэт, хотя Florence2 показывал рамки всех людей.

CONFIRMED

Six-person mask

Получены объединённая foreground-маска всей группы и корректная инвертированная protect-mask.

NOT CONFIRMED

Final scene composite

Тест подтверждает detection/segmentation, но ещё не доказывает прохождение cutout через positioning, selector и final output.

ПроверкаПодтверждённое значениеСимптом ошибки
Image contractFlorence2 image = SAM2 image = 1280 × 720Маска здания, угла или пустой области
Florence generationnum_beams 3 · do_sample OFFНестабильные рамки и меняющиеся индексы
BBOX selectionindex 0,1,2,3,4,5Выбран только один или не тот объект
SAM2 multi-objectindividual_objects ONПри OFF остаётся один силуэт
Mask cleanupThreshold 0.30 в тестеПорог уточняется по краям одежды и конечностей
04 · VISUAL QA

Что считается рабочей маской

  • Белый силуэт закрывает всю фигуру, включая ноги и мелкие предметы, которые должны остаться.
  • Нет больших дыр внутри тела и случайных островков вдали от фигуры.
  • Край не обрезает руки, ступни и головной убор.
  • Grow 5 и blur 10 не создают заметный ореол на контрастном фоне.
CONFIRMED

Нет активного InvertMask

Отдельный explicit InvertMask node в этой ветке не найден.

NOT CONFIRMED

Скрытая инверсия

Внутреннее поведение third-party nodes нельзя установить только по workflow JSON.