13 KiB
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.texwird 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 losen
5.5 Anpassung der Segmentierungsausgabe
- Problem: Cryptomatte funktioniert nicht mehr fur Augenlid nach Mesh-Zusammenfuhrung
- Erster Versuch: Geometry Nodes -> Vertex-Group-Gewichte -> Shader-Output (umstandlich, unprazise)
- Losung: Zweite Haut-Textur (weiss fur Augenlid, schwarz fur Rest), direkt uber Texturkoordinate im Shader
5.6 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.7 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
5.8 Szenenumbau und View-Layer-Architektur
- Warum der Umbau notig war (kurze Motivierung)
- Technische Schritte: 3 Szenen -> 1 Szene mit 3 ViewLayern
- Konkrete Anderungen am Compositing-Graph, Material-Zuweisungen, Render-Einstellungen
5.9 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.10 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. Nur Features, die echten Einfluss auf die Luminanz-Kalibrierung hatten, ausfuhrlicher
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.)
- Hierhin kommt die Phasenbeschreibung aus
- 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.9) -> 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.9 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
-
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.
-
"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."
-
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.
-
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.