Výrobní smlouva
Od fotografie k samolepce
Deterministická pipeline vybere motivy, vytvoří přesnou masku a odvodí autoritativní CutContour. Každá barva musí mít digitální master a odpovídající print master.
Celkový tok
Pipeline odděluje návrh modelu od rozhodnutí
Modely navrhují kandidáty. Deterministická pravidla musí rozhodnout o výběru, spojení a CutContour pomocí měřitelných prahů.
flowchart TD A["Fotografie / ilustrace
od zákazníka"] --> B["Detekce
DETR (COCO třídy)"] B --> C{"Kurace
skóre · pozadí · duplicity · okraje"} C -- "nic nezbylo" --> D["Open-world fallback
grounding-DINO s prompty"] C --> E{"Vztahy
osoby za sebou · držené objekty"} D --> E E --> F["Segmentace SAM 2
výběr varianty masky"] F --> G["Dokompletování tvarů
ploché ilustrace"] G --> H["CutContour
jedna souvislá křivka"] H --> I["Výplň kapes
lem vs. původní motiv"] I --> J["Render každé barvy
digitální a print master
1024 px · 600 dpi"] J --> K["Print master
bleed 1,5 mm · 3 px dovnitř"] J --> L["manifest.json
CutContour · snapshot · SHA-256"]
Čtyři fáze
Každá fáze má jednu odpovědnost
- 01
Detekce a kurace
DETR navrhne kandidáty z tříd COCO. Kurace musí odmítnout pozadí, okrajové fragmenty a duplicity podle konfidence, plochy, polohy a zajímavosti. Open-world detektor může doplnit kandidáty pouze tehdy, když po kuraci žádný nezůstane.
- 02
Vztahy
Překrývající se osoby mohou vytvořit jednu společnou samolepku. Držený nebo nošený objekt může vytvořit skupinu
person-with-X. Deduplicace musí odstranit téměř shodné masky a falešné vztahy. - 03
Segmentace
SAM 2 vrátí tři varianty masky. Výběr musí zohlednit celý viditelný rozsah motivu u rámu a úplnost připojeného objektu. Dokompletování může u ploché ilustrace přidat souvislou část, kterou detektor podvybral.
- 04
Řez a render
Pipeline odvodí CutContour z přesné masky. Renderer musí pro každou barvu vytvořit digitální master a print master na plném plátně 1024 × 1024 px při 600 dpi. Print master musí přidat bleed 1,5 mm vně CutContour a zachovat stejnou barvu nejméně 3 px dovnitř.
Řezatelnost
CutContour musí být jedna řezatelná křivka
Přesná maska určuje obsah samolepky. CutContour používá konzervativnější tvar v milimetrech cílového tisku. Křivka nesmí obsahovat díry. Prvek musí mít nejméně 3,5 mm a poloměr křivosti nejméně 1 mm.
flowchart TD
A["Vyčištěná maska ze SAM"] --> B["1 · Zaplnit všechny vnitřní díry"]
B --> C{"2 · Více ploch?"}
C -- "mezera ≤ 3,5 mm" --> D["Přemostit můstkem"]
C -- "vzdálený satelit" --> E["Zahodit a zalogovat"]
C -- "jedna plocha" --> F
D --> F["3 · Uzavřít konkávy
closing v mm jednotkách"]
E --> F
F --> G["4 · Vyhladit obrys
rám fotky zůstává rovný"]
G --> H{"5 · Téměř kruh?"}
H -- "ano" --> I["Přichytit k elipse
nafouknuté přes motiv"]
H -- "ne" --> J
I --> J{"6 · Křivost v normě?"}
J -- "ano" --> K["Hotový obal"]
J -- "ne" --> L["Fallback žebřík
větší closing → konvexní obal"]
L --> K
Vzhled
Kapsa použije motiv nebo barvu lemu
Vyplnění konkávy vytvoří plochu mezi motivem a CutContour. Pipeline smí použít zdrojové pixely jen tehdy, když obsah patří k motivu. Při nejistotě musí použít barvu lemu.
flowchart TD P["Kapsa obalu
(plocha mezi motivem a řezem)"] --> Q{"Uzavřená díra,
nebo hluboká kapsa?"} Q -- "mělký záliv" --> LEM["Barva lemu"] Q -- "ano" --> R{"Patří obsah k motivu?"} R -- "exaktně ploché pozadí
a světlý obsah" --> FILL["Původní motiv
(zdrojové pixely)"] R -- "uzavřená díra
a světlý obsah" --> FILL R -- "téměř bílé světlo
(obloha, papír)" --> FILL R -- "odstín pokračuje
paletu motivu" --> FILL R -- "tmavý či cizí obsah" --> LEM