05. Zielarchitektur - MatthiasBurger-Coder/BackgroundRemover GitHub Wiki

5.1 Gesamtaufbau

Das Projekt wird in fünf Hauptschichten gegliedert:

A. Core Processing

Hier passiert die eigentliche Arbeit.

  • Frame Extraction
  • Seed / ROI Detection
  • SAM Segmentation
  • Video Propagation
  • Motion Estimation
  • Mask Refinement
  • Alpha Composition
  • Rendering

B. Application Orchestration

Steuert Jobs und Konfigurationen.

  • Job starten
  • Status verwalten
  • Zwischenergebnisse sammeln
  • Fehler behandeln
  • Preview/Final unterscheiden

C. API Layer

FastAPI für:

  • Upload
  • Job-Anlage
  • Job-Status
  • Artefakt-Download
  • Logs / Telemetrie

FastAPI ist dafür passend, weil es Typen-basiert arbeitet und automatisch interaktive Doku bereitstellt. ([FastAPI][4])

D. Internal UI

Streamlit für:

  • Video laden
  • Keyframe wählen
  • Prompt setzen
  • Vorschau sehen
  • Parameter justieren
  • Fehlerfälle inspizieren

Das ist sinnvoll für eine interne Oberfläche, aber ihr müsst das Rerun-Verhalten mit Session State und Caching bewusst steuern. ([Streamlit Dokumentation][5])

E. Analytics

Pandas + Matplotlib für:

  • Laufzeiten
  • GPU-/CPU-Zeiten
  • Qualitätsmetriken
  • Vergleich Preview vs Final
  • Fehlerserien