234 lines
13 KiB
Markdown
234 lines
13 KiB
Markdown
# Gliederung Kapitel 4-7 (Methodik, Implementierung, Versuchsaufbau, Ergebnisse)
|
|
|
|
## Leitprinzip
|
|
|
|
| Kapitel | Funktion |
|
|
|---------|----------|
|
|
| 4 Methodik | WAS und WARUM (Konzept, Designentscheidungen) |
|
|
| 5 Implementierung | WIE (technische Umsetzung, Blender-Details, Code) |
|
|
| 6 Versuchsaufbau | Womit und wie getestet (Parameter, Datensatze, Metriken) |
|
|
| 7 Ergebnisse | Was rauskam (Daten, unmittelbare Schlussfolgerungen) |
|
|
|
|
## Entscheidungen
|
|
|
|
- Augenlid-Inhalt (Problemanalyse + Losung) bleibt komplett in Implementierung, da zu technisch fur Methodik
|
|
- Methodik beschreibt nur das Gesamtkonzept auf hoherer Ebene, keine Blender-spezifischen Details
|
|
- Szenenarchitektur (ViewLayer-Umbau) und Augenbrauen/Wimpern sind technische Entscheidungen, gehoren in Implementierung, nicht Methodik
|
|
- Methodik bekommt einen kurzen Abschnitt "Evaluationslogik" (max 0,5-1 Seite)
|
|
- Konfigurationskonzept in Methodik abstrakt halten (keine JSON-Details), konkretes Schema nach Implementierung
|
|
- 5.3 (Augenlid + Periorbital) aufteilen in zwei Abschnitte: Augenlid und Periorbitalregion sind eigenstandige Beitrage
|
|
- Versuchsaufbau bekommt einen Abschnitt "Gemeinsame Auswertungsprinzipien" (allgemein), experiment-spezifische Inferenzstatistik in den jeweiligen Experiment-Abschnitten
|
|
- Exp 1.1 explizit als faktorielles Design (Pipeline x Blender-Version) rahmen, aber vorsichtig formulieren (keine perfekte kausale Trennung behaupten)
|
|
- Exp 2 (6.5) intern untergliedern: Datensatzquellen, Trainings-/Validierungssplit, Vorverarbeitung, Metriken (mit Primarmetrik)
|
|
- 5.10 Experimentwerkzeuge: hart priorisieren, UI-Komfortfeatures nur kurz
|
|
- `0X_PerformanceVerbesserung.tex` wird aufgelost in drei Ziele (siehe Kap. 5.9, 6.4, 7.2)
|
|
- Reihenfolge: Methodik -> Implementierung -> Versuchsaufbau -> Ergebnisse
|
|
|
|
---
|
|
|
|
## Kapitel 4: Methodik -- Konzeption der parametrisierbaren Augenmodell-Pipeline
|
|
|
|
Dieses Kapitel beschreibt auf konzeptueller Ebene, WAS gemacht wird und WARUM. Keine Blender-spezifischen Details, keine Code-Details. Bewusst knapp halten: ca. 4-8 Seiten. Bei zu viel Umfang droht Wiederholung von Einleitung (4.1) und Versuchsaufbau (4.4).
|
|
|
|
### 4.1 Gesamtkonzept und Anforderungen
|
|
- Was soll die erweiterte Pipeline leisten: parametrische periorbital Formvariation in HEyes
|
|
- Anforderungen (abgeleitet aus Forschungsfrage): plausible Augenformen, kompatibel mit bestehender Pipeline, konfigurierbar, randomisierbar, keine inakzeptable Laufzeitverschlechterung
|
|
- Architekturubersicht: Figur, die den Weg von Config -> zufallige Parameter -> Rendering zeigt, mit Markierung wo die Formvariation eingreift
|
|
|
|
### 4.2 Konzept der periorbitalen Formvariation
|
|
- Warum Shape-Keys als Mechanismus gewahlt wurden (vs. Alternativen: separate Meshes, Skelett-Rigs, prozedurale Generierung)
|
|
- Grundidee: lineare Kombination von Shape-Keys fur Augenlid-Schliessung + periorbital Formvariation
|
|
- Kurze Erwahnung: Augenbrauen und Wimpern mussen deformierbar angebunden sein (feste Geometrie ungeeignet), daher haarbasierter Ansatz. Kein eigener Abschnitt, nur kurze Erwahnung im Kontext der Formvariation
|
|
- Kurze Erwahnung der Herausforderungen (Clipping, Korrektur-Shape-Keys), die in der Implementierung gelost werden
|
|
- NICHT: die detaillierte technische Problemanalyse (Krummungsruck, Normalen etc.) -- das bleibt in Kap. 5
|
|
|
|
### 4.3 Konzept der Parametrisierung und Randomisierung
|
|
- Abstrakt: Welche Parameter kontrollierbar sind, wie sie randomisiert werden, Rolle der Reproduzierbarkeit
|
|
- Formulierung auf Methodenebene, z.B.: "Die Formvariation wird uber parametrisierbare Bereiche gesteuert, aus denen pro Bild Zufallswerte gezogen werden. Zur Reproduzierbarkeit konnen identische Zufallsinitialisierungen verwendet werden."
|
|
- NICHT: JSON-Schema, konkrete Datenstrukturen, Config-Datei-Aufbau (das kommt in 5.7)
|
|
|
|
### 4.4 Ubergeordnete Evaluationslogik
|
|
- Sehr kurz (max 0,5-1 Seite)
|
|
- Welche ubergeordneten Fragen beantwortet werden sollen
|
|
- Warum dafur drei Experimente notig sind:
|
|
- Exp 1.1: Hat die Erweiterung die Laufzeit verschlechtert?
|
|
- Exp 1.2: Wo liegen Bottlenecks, und was bringen gezielte Optimierungen?
|
|
- Exp 2: Verbessert die Formvariation die Segmentierung auf echten Daten?
|
|
- NICHT: konkrete Begrundungen pro Experiment (die stehen in Kap. 6)
|
|
|
|
---
|
|
|
|
## Kapitel 5: Implementierung
|
|
|
|
Technische Umsetzung. Zeigt konkrete Probleme und Losungen. Hier stehen die Blender-Details, Modifier-Einstellungen, Code-Architektur. Ca. 15-20 Seiten.
|
|
|
|
### 5.1 Projektstruktur
|
|
- Kurzer Uberblick (max 0,5-1 Seite): Code-Organisation, Modul-Verantwortlichkeiten
|
|
- Nur Module, die fur das Verstandnis notig sind. Keine Repository-Fuhrung
|
|
|
|
### 5.2 Allgemeine technische Anpassungen
|
|
- Blender 5 Upgrade (API-Anderungen, Compositing-Graph: eine Output-Node pro Textur) -- wichtigster Punkt
|
|
- Seed-Konfiguration fur Reproduzierbarkeit -- sinnvoll
|
|
- Debug-Szenen-Speicherung -- sinnvoll
|
|
- Type-Annotations -- nur kurz erwahnen als Nebenaspekt
|
|
|
|
### 5.3 Umsetzung des Augenlidmodells
|
|
- **Probleme des bisherigen Modells** (der bestehende Text aus `3_AugenlidUndHaut.tex`): Krummungsruck, Texturkoordinaten-Sprunge, unvollstandige Schliessung, Clipping
|
|
- **Shape-Key-basiertes Augenlid**: Zusammenfuhrung in ein Mesh, Catmull-Clark-Subdivision, Shape-Key-Animation
|
|
- **Shrinkwrap Modifier**: Lösung des Clipping-Problems, Aufliegen auf dem Auge
|
|
|
|
### 5.4 Umsetzung der periorbitalen Formvariation
|
|
- Modellierte Shape-Keys, Deformationsbereiche
|
|
- Grenzen der heuristischen Modellierung (sachlich formulieren, siehe Schreibhinweise)
|
|
- Korrektur-Shape-Keys mit Drivern: welche Kombinationen kollidieren, wie Driver das lösen
|
|
|
|
### 5.5 Augenbrauen und Wimpern
|
|
- Warum feste Geometrie nicht funktioniert (kurz, Verweis auf Erwahnung in 4.2)
|
|
- Gescheiterter Versuch mit Hair-Particles
|
|
- Funktionierender Hair-Modifier-Ansatz: konkrete Umsetzung
|
|
- Verbleibende Limitierungen und Verbesserungsmoglichkeiten
|
|
|
|
### 5.6 Technische Umsetzung der Parametrisierung und Randomisierung
|
|
- JSON-Schema-Eintrage fur Shape-Keys (das konkrete Schema, das in 4.3 nur abstrakt beschrieben wurde)
|
|
- min/max-Range-Implementierung
|
|
- Automatisches Sampling und Anwendung auf die Szene
|
|
- Fokus auf Config-Mechanismus, nicht auf Szenenstruktur
|
|
|
|
### 5.7 Szenen- und Ausgabearchitektur (zusammengelegt aus alt-5.5 + alt-5.8)
|
|
#### 5.7.1 Umbau der Szenenstruktur und View-Layer
|
|
- Motivation: Warum 3 Szenen problematisch waren
|
|
- Neue Kollektionsstruktur
|
|
- View-Layer: "All" (vollstandiges Bild), "Iris and Pupil only" (unverdeckte Masken), "No Cornea and Sclera"
|
|
- Hierarchieanderungen nur kurz
|
|
|
|
#### 5.7.2 Reimplementierung der Augenlid-Segmentierungsmaske
|
|
- Problem: Mesh-Zusammenfuhrung macht Cryptomatte-Trennung unbrauchbar
|
|
- Verworfener Ansatz: Geometry Nodes / Vertex-Gewichte (Prazision an Vertexdichte gebunden)
|
|
- Finaler Ansatz: UV-basierte Texturmaske, uber AOV ausgegeben
|
|
- Warum besser: praziser, stabil bei Shape-Key-Verformung, kompatibel mit UV-Mapping
|
|
|
|
#### 5.7.3 Neuaufbau des Compositing-Graphen
|
|
- Konvergenzpunkt: View-Layer-Ausgaben + AOV-Augenlidmaske + Blender-5-Output-Nodes
|
|
- Verbleibende Cryptomatte-Masken (Iris, Pupille, Haut, Sklera)
|
|
- Binarisierung der AOV-Maske (Greater-Than wegen TAA/Interpolation)
|
|
- Gesamtubersicht des finalen Graphen
|
|
|
|
### 5.8 Performance-Optimierungen
|
|
- **Hierhin kommt der Implementierungsteil aus `0X_PerformanceVerbesserung.tex`**
|
|
- Luminanz-Caching fur Haut-Textur: was im Code geandert wurde
|
|
- Compositing-Graph-Wiederverwendung
|
|
- Anpassung an Sklera-Generierung
|
|
- NUR die Code-Anderungen, nicht die Profiling-Analyse (die ist in 7.2)
|
|
|
|
### 5.9 Implementierung der Experimentwerkzeuge
|
|
- Benchmark-Runner (Worktree-Setup, Commit-basierte Benchmarks, CSV-Logging) -- wichtig fur Reproduzierbarkeit
|
|
- Detail-Logging fur Experiment 1.2
|
|
- Datenextraktions- und Vorbereitungstools -- wichtig fur Datensatzqualitat
|
|
- Erweiterungen am Parameter-Picker -- nur kurz erwahnen, UI-Komfortfeatures nicht breittreten
|
|
|
|
---
|
|
|
|
## Kapitel 6: Versuchsaufbau
|
|
|
|
Beschreibt die konkreten Experimente: warum, womit, wie ausgewertet. Ca. 8-12 Seiten. In Kap. 6 keine Skriptnamen oder Tool-Details (die stehen in 5.10), sondern methodische Beschreibungen (was wurde gefiltert, nach welchen Kriterien).
|
|
|
|
### 6.1 Hardware und Testumgebung
|
|
- Hardware-Specs, Software-Versionen
|
|
- Gilt fur alle Experimente
|
|
|
|
### 6.2 Gemeinsame Auswertungsprinzipien
|
|
- Wiederholungen / Seeds
|
|
- Deskriptive Statistik (Lage- und Streuungsmasse)
|
|
- Reproduzierbarkeit
|
|
- Allgemeine Prinzipien der statistischen Auswertung
|
|
- Experiment-spezifische Inferenzstatistik (BCa Bootstrap, Wilcoxon etc.) jeweils in den Experiment-Abschnitten, NICHT hier
|
|
|
|
### 6.3 Experiment 1.1: Globaler Laufzeitvergleich
|
|
- Ziel und Begrundung
|
|
- **Explizit als faktorielles 2x2-Design rahmen:**
|
|
- Faktor A: Implementierungsstand (Baseline vs. Current)
|
|
- Faktor B: Blender-Version (4.5 vs. 5.0)
|
|
- Vorsichtig formulieren: "Damit konnen Effekte des Implementierungsstands und der Blender-Version systematisch gegenubergestellt und potenzielle Interaktionen sichtbar gemacht werden." (Keine perfekte kausale Trennung behaupten, da Codepfade nicht perfekt orthogonal.)
|
|
- Gemessene Timing-Metriken und warum diese
|
|
- Anzahl Durchlaufe, Bilder pro Durchlauf, Auflosung
|
|
- Erwartete Ergebnisse / Hypothesen
|
|
|
|
### 6.4 Experiment 1.2: Detaillierte Laufzeitanalyse und Optimierungsevaluation
|
|
- **6.4.1 Instrumentierung und gemessene Phasen**
|
|
- Hierhin kommt die Phasenbeschreibung aus `0X_PerformanceVerbesserung.tex` (t_camera, t_tex_init, t_skin_lum, t_sclera etc.)
|
|
- **6.4.2 Auswahl der Optimierungsziele**
|
|
- Nach welchen Kriterien wurde entschieden, was optimiert wird
|
|
- **6.4.3 Versuchsaufbau des Vorher-Nachher-Vergleichs**
|
|
- Zwei Konfigurationen: unoptimiert vs. optimiert (beide Blender 5)
|
|
- Durchlauf-Parameter
|
|
|
|
### 6.5 Experiment 2: YOLO-Training
|
|
- Ziel und Begrundung: Verbessert periorbital Formvariation die Segmentierung auf echten Daten?
|
|
- Hypothese
|
|
- **6.5.1 Datensatzquellen**
|
|
- Synthetische Trainingsdaten: Baseline vs. Current, je 5000 Bilder, Generierungsparameter
|
|
- Externer Testdatensatz: 500k-Dataset, Reduktionsverfahren (SSIM + Diversity-Ranking)
|
|
- Glasklar machen: Testdatensatz ist komplett separat von den Trainingsdaten
|
|
- **6.5.2 Trainings-/Validierungsaufteilung**
|
|
- 80/20-Split auf synthetischen Daten, 15 Seeds pro Bedingung
|
|
- YOLO-Modell und Trainingsparameter
|
|
- **6.5.3 Vorverarbeitung und Filterung**
|
|
- Luminanz-Kalibrierung: Workflow, Quantil-basierte Grenzen
|
|
- Okklusionsschwelle und Filterungskriterien
|
|
- **6.5.4 Metriken**
|
|
- Primarmetrik festlegen (z.B. Dice oder IoU) -- methodisch starker als alle Metriken gleichwertig zu berichten
|
|
- Sekundarmetriken: geometrische Fehlermasse (Centroid-Error, Ellipsen-Fit-Error)
|
|
- Experiment-spezifische Inferenzstatistik (Wilcoxon, BCa Bootstrap CI) hier statt in 6.2
|
|
|
|
---
|
|
|
|
## Kapitel 7: Ergebnisse (weitgehend unverandert)
|
|
|
|
Faustregel: Kap. 7 zeigt, was die Daten zeigen und welche unmittelbaren Schlusse sich ergeben. Kap. 8 (Diskussion) bewertet das wissenschaftlich und zeigt Grenzen auf.
|
|
|
|
### 7.1 Experiment 1.1: Untersuchung der Laufzeit
|
|
(bereits gut geschrieben)
|
|
|
|
### 7.2 Experiment 1.2: Detaillierte Konfigurationszeit-Analyse
|
|
- **Hierhin kommt die Profiling-Analyse aus `0X_PerformanceVerbesserung.tex`**: Bottleneck-Identifikation, Beurteilung des Optimierungspotenzials
|
|
- Vorher/Nachher-Vergleich der Optimierungen
|
|
- Story: Exp 1.1 zeigte hohe Config-Zeit -> detailliertes Profiling -> Bottlenecks identifiziert -> Optimierungen implementiert (Verweis auf 5.8) -> Exp 1.2 misst den Effekt
|
|
|
|
### 7.3 Experiment 2: YOLO-Training
|
|
(bereits gut geschrieben)
|
|
|
|
---
|
|
|
|
## Auflosung von `0X_PerformanceVerbesserung.tex`
|
|
|
|
Der Inhalt verteilt sich auf drei Stellen:
|
|
|
|
| Inhalt | Ziel |
|
|
|--------|------|
|
|
| Phasenbeschreibungen (was jede Timing-Phase misst) | -> **6.4.1** Versuchsaufbau Exp 1.2 |
|
|
| Profiling-Analyse, Bottleneck-Identifikation | -> **7.2** Ergebnisse Exp 1.2 |
|
|
| Code-Anderungen (Luminanz-Caching, Sklera etc.) | -> **5.8** Implementierung |
|
|
|
|
---
|
|
|
|
## Zusammenfassung
|
|
|
|
| Nr. | Kapitel | Status | Geschatzter Umfang |
|
|
|-----|---------|--------|--------------------|
|
|
| 4 | Methodik | **NEU zu schreiben** | 4-8 Seiten |
|
|
| 5 | Implementierung | Teilweise geschrieben, umstrukturieren | 15-20 Seiten |
|
|
| 6 | Versuchsaufbau | Teilweise geschrieben, erweitern | 8-12 Seiten |
|
|
| 7 | Ergebnisse | Gut geschrieben, kaum Anderungen | ~30 Seiten |
|
|
|
|
---
|
|
|
|
## Schreibhinweise
|
|
|
|
1. **Exp 1.2 als iterative Folgeanalyse einordnen:** Im Fliesstext explizit machen, dass Exp 1.2 aus den Befunden von Exp 1.1 hervorgegangen ist. Sonst fragt sich der Leser, warum es zwei Performance-Experimente gibt.
|
|
|
|
2. **"Keine medizinische Grundlage" in 5.4 sachlich formulieren:** Statt "keine medizinische Grundlage" besser: "Die modellierten periorbitalen Formvariationen wurden heuristisch und anhand visueller Plausibilitat entwickelt. Sie beanspruchen keine anthropometrisch oder medizinisch validierte Abbildung realer Populationen."
|
|
|
|
3. **Kap. 7 Titel:** Ob "Ergebnisse" oder "Ergebnisse und Analyse" ist Geschmackssache. Bei separatem Diskussionskapitel (Kap. 8) ist "Ergebnisse" allein etwas sauberer, da "Analyse" schnell zur Interpretation einladt, die eigentlich in die Diskussion gehort.
|
|
|
|
4. **Kap. 7 vs. Kap. 8 Grenze:** Kap. 7 zeigt, was die Daten zeigen und welche unmittelbaren Schlusse sich ergeben. Kap. 8 (Diskussion) bewertet das wissenschaftlich, ordnet es in den Forschungskontext ein und zeigt Grenzen auf.
|