EPS Technical Manual
49 / 64
Файлы
49
PEOPLE / PPL · WORKFLOW 01

Generate & Place New People by Mask — новый человек отдельно, placement отдельно

Workflow 01 нужен, когда подходящего человека ещё нет в base render. Персонаж генерируется отдельно, segmentation превращает его в чистый compositing element, а scene placement mask определяет, куда он попадёт в архитектурный кадр.

CONFIRMEDGeneration, segmentation, preparation, first composite и return topology подтверждены source documentation по Epspoziciya_archviz_ph_sdxlflux_v001. Standalone JSON намеренно не публикуется как «готовый», пока нет сырого source workflow с полными serialized schemas для безопасной extraction.
COMPOSITING

Два маршрута сходятся в selector 459

MODE 1FLUX person
477 Color → 449 Cut → 429 Paste → 672
459PPL Switchcurrent: image1
MODE 2Input / 3D inpaint
503/504 Cut → 494–496 Inpaint → 509 → 685
459Selected PPL
573Detail transferblend 0.09
67VAE Encode
57Main FLUX
53Decode
730LQ Saveactive output
01 · ROLE

Когда использовать Workflow 01

Этот режим нужен, когда нужного человека нет в исходной 3D/Corona сцене и stock / 3D asset не даёт нужную эпоху, одежду, позу или character type. AI создаёт person asset отдельно от архитектуры.

Архитектура не должна генерироваться вместе с персонажем. Сначала создаётся человек как отдельный image asset, затем он изолируется, подготавливается и только после этого вставляется в утверждённый scene canvas.

CONFIRMED

Core principle

PPL FLUX generation node 829 существует как отдельный decoded image before composite; main architecture scene входит позже на paste stage.

INFERRED

Production value

Разделение person generation и architecture canvas уменьшает риск случайного изменения фасада, перспективы и композиции.

02 · WORKFLOW 01 VS 02

Главное различие двух PEOPLE workflows

CONFIRMED

Не смешивать

Workflow 01 и Workflow 02 используют похожие generation / segmentation / preparation инструменты, но имеют разный spatial contract.

WorkflowКто определяет placementAI responsibility
01 · Generate & PlaceScene placement mask / target regionСоздать нового человека, очистить и разместить
02 · Replace ExistingУже существующий 3D / rendered personУлучшить или заменить человека в том же spatial slot
03 · FULL ROUTE

Полный production route Workflow 01

04 · GENERATE PERSON

Person сначала рождается как отдельный FLUX image

  • Если person уже плох на Preview 409 — не переходить к mask/composite.
  • Prompt должен описывать full body, scale, action, clothing и light context.
  • На этом этапе placement в архитектурной сцене ещё не решается.
StageNodesFunction
Prompt825 + 408 + 799 + 800 + 822Person + environment/light/style context
Assembly823 → 824 → 820Собрать final PPL text
Encode831 → 830CLIP conditioning + FluxGuidance 2.1
Sample826 + 819 + 827 + 61 + 58 → 828Отдельная person generation
Decode829Person image before segmentation
Checkpoint409Проверить person до mask / composite
05 · ISOLATE PERSON

Florence2 отвечает WHERE, SAM2 — WHAT EXACTLY

Generated person проходит через People source selector 552 и приводится к detection canvas 780. Florence2 550 выполняет phrase grounding, 114 переводит detection в coordinates, SAM2 115 строит pixel mask.

Дальше mask расширяется и смягчается nodes 144 / 146, после чего 420/781 формируют crop для подготовки compositing element.

  • Florence2 и SAM2 должны работать в одном coordinate space.
  • Person Mask должна описывать фигуру, а не будущую позицию в scene.
  • Batch cardinality image / bbox / masks должна быть согласована до дальнейшей обработки.

06 · TWO-MASK PRINCIPLE

Person Mask ≠ Placement Mask

Это центральная идея Workflow 01. Маска, которой мы вырезаем человека, и маска/placement input, определяющая место человека в сцене, выполняют разные роли и не должны концептуально сливаться в одну сущность.

CONFIRMED

First composite topology

Paste By Mask 429 получает отдельные upstream inputs от 451, prepared person 449 и base scene 779.

NOT CONFIRMED

Exact semantic source of 451

Source documentation подтверждает incoming topology 451 → 429, но без raw workflow export в текущих assets не публикуем самостоятельный JSON с неподтверждённой сериализацией этого placement input.

MaskВопросResponsibility
Person MaskWHAT TO TAKE?Выделить generated person для crop / alpha / cutout
Placement Mask / placement inputWHERE TO PUT?Определить target region / spatial placement в base scene
07 · PREPARE CUTOUT

Generated image превращается в compositing element

Color Match помогает интеграции, но не заменяет правильный lighting prompt. Неверное направление света нельзя исправить одной цветовой коррекцией.

NodeRoleQC
420 / 781Crop by person maskФигура целиком внутри crop
422Remove Background / InspyrenetНет halo и остатков generated background
477Color MatchTone/contrast ближе к base scene
449Cut By MaskRGB и alpha/mask согласованы
08 · PLACE LOCALLY

Node 429 — граница между person asset и architectural scene

Paste By Mask 429 получает prepared person 449, base scene 779 и отдельный placement-related input 451. Stored mode keep_ratio_fit показывает, что scale/fit является частью composite behavior.

После 429 output проходит 672 и попадает в image1 selector 459. Именно здесь отдельный person asset снова становится частью master scene data plane.

09 · REFINE GLOBALLY

После PPL return человек проходит общий master refinement

Selector 459 возвращает composited scene в основной pipeline. Затем 573 выполняет detail transfer, 67 кодирует result в latent, 57 выполняет main FLUX sampling и 53 декодирует итог.

Эта часть полезна для seamless integration, но методически должна быть отделена от standalone PPL module: человек должен быть уже корректно размещён до входа в main FLUX.

CONFIRMED

Active return

459 → 573 → 67 → 57 → 53; node 53 имеет active LQ save route to 730.

10 · CHECKPOINTS

Пять точек, где останавливаемся и доказываем результат

CheckpointЧто должно быть доказано
A · 409 / after 829Person generation сама по себе корректна
B · after 115 / 146Person Mask чистая и соответствует нужной фигуре
C · after 422 / 449Cutout чистый, без halo, alpha согласована
D · after 429 / 672Scale, position и scene composite корректны
E · 53 / 730Main FLUX refinement не сломал человека и архитектуру
11 · ARCHVIZ VALUE

Почему этот workflow особенно ценен для исторических и нестандартных сцен

  • Можно создать персонажа нужной эпохи, которого нет в stock library.
  • Можно согласовать одежду, действие и visual language с конкретной архитектурой.
  • Architecture base остаётся отдельным утверждённым source.
  • Ошибку person generation можно исправлять независимо от main scene.
  • Placement можно контролировать локально вместо full-frame regeneration.
12 · PRODUCTION CHECKLIST

Workflow 01 считается готовым к Master только после этих проверок

  • Generated person читается как full body и соответствует нужной роли.
  • Person Mask и Placement Mask не перепутаны.
  • Florence2 / SAM2 используют согласованный source size / coordinate space.
  • Crop не обрезает конечности и аксессуары.
  • Remove BG не оставляет halo.
  • Color Match не скрывает ошибку lighting direction.
  • Paste сохраняет правдоподобный scale относительно горизонта и архитектуры.
  • Ступни имеют корректный contact with ground; нет floating.
  • Occlusion относительно архитектуры выглядит физически правдоподобно.
  • Main FLUX refinement не меняет утверждённую геометрию scene.
13 · STANDALONE JSON CONTRACT

Что войдёт в независимый учебный JSON и где он должен закончиться

NOT CONFIRMED

Почему JSON ещё не публикуем

В текущих repository / Library assets нет raw Epspoziciya_archviz_ph_sdxlflux_v001.json с полной сериализацией custom nodes. По нашему правилу нельзя выдавать реконструированный pseudo-JSON как импортируемый workflow.

14 · PASS CRITERIA

Workflow 01 понят, когда ты можешь объяснить его одной фразой

CONFIRMED

Spatial rule

Workflow 01: placement определяется target region / placement input. Workflow 02: placement определяется уже существующим человеком.