11 KiB
Plan: Kapitel 6 (Versuchsaufbau) restrukturieren
Context
Kapitel 6 (06_Versuchsaufbau.tex, 344 Zeilen) enthält den Großteil des inhaltlichen Materials, ist aber flach organisiert und entspricht nicht der Zielstruktur aus Gliederung Kapitel 4-7.md. Hardware steckt unter Exp 1.1, es gibt keine gemeinsamen Auswertungsprinzipien, und Exp 2 hat eine andere Subsection-Hierarchie als gewünscht. Zusätzlich gibt es die verwaiste Datei 0X_PerformanceVerbesserung.tex, deren Phasenbeschreibungen bereits in Kap. 6 dupliziert sind (Profiling-Tabelle/Analyse → 7.2, Code-Änderungen → 5.8).
Ziel: Die Datei umschreiben nach der Gliederung, unter maximaler Wiederverwendung des bestehenden Textes.
Stilhinweise:
- Skript- und Tool-Namen (
extract_frames.py,prepare_training_data.py) gehören NICHT in Kap. 6. Stattdessen methodisch beschreiben, was gemacht wurde und nach welchen Kriterien. - Überschriften "6.0" und "6.5.0" sind nur Planungsgerüst, erscheinen nicht in LaTeX als nummerierte Sections. Stattdessen: unnummerierte Einleitungsabsätze direkt unter
\chapterbzw.\section.
Zielstruktur vs. Bestandsinhalt
Kapiteleinleitung (kein eigener \section)
- Status: Existiert (Z. 4-6), aber mit
\fixmeund zu knapp - Aktion: Neu schreiben. Kurzer Absatz, der die drei Experimente benennt und ihre Rolle einordnet
6.1 Hardware und Testumgebung
- Status: Inhalt existiert unter Exp 1.1 (Z. 66-72)
- Aktion:
- Text aus Z. 66-72 extrahieren als eigene
\section - Überschrift korrigieren ("Genutzte" statt "Genutze")
- Nur Hardware ist hier global (CPU, GPU, RAM, OS). Software-Versionen (Blender 4.5/5.0) sind für Exp 1.1 teil des Versuchsdesigns und gehören daher in den jeweiligen Experiment-Abschnitt, nicht hierher
- Satz, dass Hintergrundprozesse minimiert wurden (aus Z. 72)
- Text aus Z. 66-72 extrahieren als eigene
6.2 Gemeinsame Auswertungsprinzipien
- Status: NEU zu schreiben (kurz, ca. 0,5 Seite)
- Aktion: Schlanker Abschnitt mit nur:
- Wiederholungsdesign: 15 Durchläufe pro Bedingung (alle Experimente)
- Reproduzierbarkeit und Seed-Strategie:
- Exp 1.1/1.2: Alle Durchläufe verwenden denselben Seed → identische Szenen, Unterschiede resultieren nur aus Software-Konfiguration
- Exp 2: 15 Seeds, zwischen Baseline und Current gepaart (gleicher Seed = ein Modellpaar) → ermöglicht gepaarten statistischen Vergleich
- Deskriptive Statistik: Mittelwert, Median, Standardabweichung als Lage-/Streuungsmaße
- Expliziter Hinweis: Experiment-spezifische Metriken und Inferenzstatistik werden jeweils im zugehörigen Experiment-Abschnitt beschrieben
- NICHT hierher: Wilcoxon, BCa, Primärmetrik, qualitative Modellauswahl (gehört in die Experiment-Abschnitte)
6.3 Experiment 1.1: Globaler Laufzeitvergleich
- Status: Inhalt weitgehend vorhanden (Z. 8-65), braucht Umrahmung und Bereinigung
- Aktionen:
- Versuchsdesign beschreiben (NEU): Einleitenden Absatz ergänzen, der die zwei Einflussfaktoren benennt: Implementierungsstand (Baseline/Current) und Blender-Version (4.5/5.0), woraus sich vier Konfigurationen ergeben. Die Auswertung erfolgt über inhaltlich motivierte Paarvergleiche (z.B. Blender 4 vs. 5 bei gleicher Implementierung), NICHT als formales faktorielles Design (Kap. 7 macht paarweise Bootstrap-KI-Vergleiche, keine ANOVA/Interaktionseffekte)
- Zielbeschreibung neutraler formulieren: Statt "Quelle der Verbesserungen lokalisieren" (vorwegnehmend) besser: "Es soll untersucht werden, ob und in welchen Phasen sich Unterschiede zwischen den Konfigurationen zeigen."
- "Evaluierte Versionen" (Z. 14-29): Inhalt beibehalten,
\fixme-Referenzen auflösen, Punkt 4 sauber formulieren - "Herleitung relevanter Laufzeiten" (Z. 31-41): Beibehalten
- "Laufzeiten und erwartete Ergebnisse" (Z. 43-59): Entfernen:
t_{total},t_{script}(nicht ausgewertet),t_{init}(in Kap. 7 nicht als eigene Metrik berichtet, nur indirekt als First-Frame-Overhead erwähnt). Beibehalten:t_{config},t_{render},t_{frame} - "Versuchsdurchführung" (Z. 61-63): Kürzen, da Wiederholungsdesign jetzt in 6.2 steht. Nur experiment-spezifische Details behalten (Aufwärmphase, 100 Bilder Begründung, Auflösung 640×480)
- "Genutze Hardware" (Z. 66-72): Entfernen (nach 6.1 verschoben)
- Leere Zeilen (Z. 73-83): Aufräumen
- Auswertungsansatz (NEU, kurzer Absatz am Ende):
t_{config},t_{render},t_{frame}werden deskriptiv verglichen (Mean, Median, SD). Paarweise Unterschiede werden mit 95%-Bootstrap-Konfidenzintervallen quantifiziert. Keine formalen Hypothesentests.
6.4 Experiment 1.2: Detaillierte Laufzeitanalyse und Optimierungsevaluation
- Status: Grundstruktur vorhanden (Z. 84-133), Subsection-Gliederung anpassen
- Aktionen:
- Einleitungsabsatz (Z. 86): Beibehalten und verstärken: Exp 1.2 ist explizit als iterative Folgeanalyse aus Exp 1.1 motiviert (Kap. 7/Exp 1.1 zeigt unerwartet hohen Konfigurationszeitanteil → das motiviert die detaillierte Instrumentierung)
- 6.4.1 Instrumentierung und gemessene Phasen (Z. 89-125): Beibehalten. Die Phasenbeschreibungen sind gut geschrieben
- 6.4.2 Auswahl der Optimierungsziele (NEU): Kurzen Absatz schreiben, der die allgemeinen Kriterien beschreibt: Optimiert wurden Phasen mit hohem Laufzeitanteil an
t_{config}, erkennbarem Einfluss auf die Gesamtlaufzeit und realistisch umsetzbarem technischem Verbesserungspotenzial. Keine konkreten Schwellwerte erfinden (z.B. kein ">1%"). Die eigentliche Profiling-Analyse mit Messwerten kommt in 7.2 - 6.4.3 Versuchsaufbau des Vorher-Nachher-Vergleichs (Z. 127-133): Beibehalten, Verweis auf 6.2 für Wiederholungsdesign
- Auswertungsansatz (NEU, kurzer Absatz): Vorher-Nachher-Vergleich der Phasenzeiten, deskriptiv (Mean, Median, SD) plus prozentuale Reduktion
- Leere Zeilen (Z. 134-153): Aufräumen
6.5 Experiment 2: YOLO-Training
- Status: Umfangreichster Teil (Z. 154-345), gut geschrieben, andere Subsection-Struktur als Ziel
- Aktionen: Bestehenden Text in neue Hierarchie umverteilen
Einleitung (kein eigener \subsection)
- NEU: Kurzer Absatz mit Ziel, Begründung und Forschungsfrage: "Verbessert periorbital Formvariation die Segmentierungsleistung auf echten Daten?"
6.5.1 Datensatzquellen
- Synthetische Trainingsdaten: Text aus "Datensätze" (Z. 157-169) + "Generierung der synthetischen Daten" (Z. 315-319) zusammenführen
- Testdatensatz: Text aus "Auswahl des Test-Datensates" (Z. 174-181) + "Extraktion der Bilder" (Z. 234-271). Methode des zweistufigen Extraktionsverfahrens (SSIM-Vorauswahl + Diversity-Ranking) beschreiben, aber ohne Skriptnamen
- Auskommentierte alte Version (Z. 192-232) entfernen
- Data-Leakage-Transparenz (aus Z. 293, expliziter formulieren): "Der reale Testdatensatz wurde ausschließlich für die Evaluation und die Ableitung der Generierungsparameter verwendet, nicht für das Training der Modelle."
6.5.2 Trainings- und Validierungsaufteilung
- 80/20-Split (aus Z. 172) hierher
- 15 gepaarte Seeds pro Bedingung (Verweis auf 6.2)
- YOLO-Modell und Trainingsparameter methodisch beschreiben (nicht als Parameterdump):
- Modell: YOLO26s-seg (Small-Variante, Segmentierung), vortrainiert (Transfer Learning)
- Epochen: 100, Early Stopping mit Patience 20
- Bildgröße: 192 px (entspricht Testdatensatz), Batch-Größe: 32
- Lernrate und Augmentierungen: Ultralytics-Defaults
6.5.3 Kalibrierung, Parametrisierung und Filterung
(Umbenannt von "Vorverarbeitung und Filterung", da Luminanzkalibrierung keine Vorverarbeitung ist, sondern Generierungsparametrisierung)
- Luminanz-Kalibrierung: Block "Bestimmung der Luminanzwerte" (Z. 275-293) + "Anpassung der Hautluminanz" (Z. 295-299) + "Bestimmung der Glint-Parameter" (Z. 301-305) + "Parametrisierung des Lidschlusses" (Z. 307-309) + "Anpassung der Unschärfe" (Z. 311-313). Methodisch beschreiben, welche Kalibrierungsentscheidungen getroffen wurden und warum, ohne Tool-Namen
- Okklusionsfilterung: "Filterung der generierten Daten" (Z. 321-334) hierher. Methodisch beschreiben (Okklusionsgrad-Schwelle, Formeln beibehalten)
6.5.4 Metriken und statistische Auswertung
- Primärmetrik für den Bedingungsvergleich: Dice-Score. Kurze Definition. (Z. 339-343, die "etwas kürzer"-Version verwenden, "Etwas kürzer:"-Label entfernen)
- Auswahl repräsentativer Modelle: Das Modell mit dem medianen mittleren Dice-Score wird als repräsentatives Modell für die qualitative Analyse verwendet. Das ist eine andere Rolle derselben Metrik als beim Bedingungsvergleich und muss getrennt beschrieben werden
- Sekundärmetriken: IoU, Centroid-Error und Ellipsen-Fit-Error vollständig in Kap. 6 definieren (nicht "aus Kap. 7 ableiten"). Kurze Formel/Beschreibung je Metrik
- Inferenzstatistik: Wilcoxon Signed-Rank-Test auf den 15 gepaarten Seed-Differenzen (nicht auf Einzelbildern, um Pseudoreplikation auszuschließen). Effektgröße: 95%-BCa-Bootstrap-KI für die mittlere gepaarte Differenz. Signifikanzniveau:
\alpha = 0{,}05
Reihenfolge der Bearbeitung
- Gesamte Datei lesen und als Arbeitskopie behandeln
- Auskommentierte Blöcke (Z. 192-232) und excessive Leerzeilen entfernen
- Kapiteleinleitung neu schreiben
- 6.1 Hardware extrahieren und als erste Section setzen
- 6.2 Gemeinsame Auswertungsprinzipien neu schreiben
- 6.3 Exp 1.1 umstrukturieren (Paarvergleiche statt 2x2, neutrale Zielbeschreibung,
t_{init}entfernen, Hardware entfernen, fixmes auflösen) - 6.4 Exp 1.2 umstrukturieren (iterative Folge betonen, 6.4.2 ohne Schwellwert)
- 6.5 Exp 2 in neue Subsection-Hierarchie umverteilen (Skriptnamen raus, Metriken selbstständig definieren)
- Alle
\fixme,\tododurchgehen und auflösen oder als bewusste Platzhalter markieren - Querverweise prüfen und aktualisieren
Was NICHT in dieser Datei passiert
0X_PerformanceVerbesserung.tex: Profiling-Tabelle und "Beurteilung des Optimierungspotenzials" → 7.2, Code-Änderungen → 5.8. Die Datei wird nicht angefasst.- Kapitel 7 wird nicht verändert
- Keine neuen Dateien erstellt (Kapitel 6 bleibt eine einzelne Datei)
Geklärte Fragen
t_{total},t_{script},t_{init}: Alle entfernt. $t_{total}$/t_{script}nicht ausgewertet,t_{init}in Kap. 7 nicht als eigene Metrik berichtet.- YOLO-Trainingsparameter (aus
train_yolo.py):- Modell:
yolo26s-seg(Small, Segmentierung), vortrainiert - Epochen: 100, Early Stopping Patience 20
- Bildgröße: 192 px, Batch: 32
- Lernrate/Augmentierungen: Ultralytics-Defaults
- Seed: pro Lauf variabel (15 gepaarte Seeds)
- Modell:
- Kein 2x2-Design: Kap. 7 macht paarweise Bootstrap-KI-Vergleiche, kein ANOVA/Interaktion. Exp 1.1 wird als vier Konfigurationen mit inhaltlich motivierten Paarvergleichen gerahmt.
- LaTeX-Kompilierung: Wird vom User in Overleaf geprüft.
Verbleibende offene Frage
- VirtualDub2-Screenshot (Z. 188):
\todo{Bild von VirtualDub2}bleibt als Platzhalter stehen