save another day
This commit is contained in:
131
Prewrite/6. Versuchsaufbau - Schreibplan.md
Normal file
131
Prewrite/6. Versuchsaufbau - Schreibplan.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# 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 `\chapter` bzw. `\section`.
|
||||
|
||||
---
|
||||
|
||||
## Zielstruktur vs. Bestandsinhalt
|
||||
|
||||
### Kapiteleinleitung (kein eigener \section)
|
||||
- **Status:** Existiert (Z. 4-6), aber mit `\fixme` und 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)
|
||||
|
||||
### 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:**
|
||||
1. **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)
|
||||
2. **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."
|
||||
3. **"Evaluierte Versionen" (Z. 14-29):** Inhalt beibehalten, `\fixme`-Referenzen auflösen, Punkt 4 sauber formulieren
|
||||
4. **"Herleitung relevanter Laufzeiten" (Z. 31-41):** Beibehalten
|
||||
5. **"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}$
|
||||
6. **"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)
|
||||
7. **"Genutze Hardware" (Z. 66-72):** Entfernen (nach 6.1 verschoben)
|
||||
8. **Leere Zeilen (Z. 73-83):** Aufräumen
|
||||
9. **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:**
|
||||
1. **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)
|
||||
2. **6.4.1 Instrumentierung und gemessene Phasen (Z. 89-125):** Beibehalten. Die Phasenbeschreibungen sind gut geschrieben
|
||||
3. **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
|
||||
4. **6.4.3 Versuchsaufbau des Vorher-Nachher-Vergleichs (Z. 127-133):** Beibehalten, Verweis auf 6.2 für Wiederholungsdesign
|
||||
5. **Auswertungsansatz** (NEU, kurzer Absatz): Vorher-Nachher-Vergleich der Phasenzeiten, deskriptiv (Mean, Median, SD) plus prozentuale Reduktion
|
||||
6. **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
|
||||
|
||||
1. Gesamte Datei lesen und als Arbeitskopie behandeln
|
||||
2. Auskommentierte Blöcke (Z. 192-232) und excessive Leerzeilen entfernen
|
||||
3. Kapiteleinleitung neu schreiben
|
||||
4. 6.1 Hardware extrahieren und als erste Section setzen
|
||||
5. 6.2 Gemeinsame Auswertungsprinzipien neu schreiben
|
||||
6. 6.3 Exp 1.1 umstrukturieren (Paarvergleiche statt 2x2, neutrale Zielbeschreibung, $t_{init}$ entfernen, Hardware entfernen, fixmes auflösen)
|
||||
7. 6.4 Exp 1.2 umstrukturieren (iterative Folge betonen, 6.4.2 ohne Schwellwert)
|
||||
8. 6.5 Exp 2 in neue Subsection-Hierarchie umverteilen (Skriptnamen raus, Metriken selbstständig definieren)
|
||||
9. Alle `\fixme`, `\todo` durchgehen und auflösen oder als bewusste Platzhalter markieren
|
||||
10. 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
|
||||
|
||||
1. **$t_{total}$, $t_{script}$, $t_{init}$:** Alle entfernt. $t_{total}$/$t_{script}$ nicht ausgewertet, $t_{init}$ in Kap. 7 nicht als eigene Metrik berichtet.
|
||||
2. **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)
|
||||
3. **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.
|
||||
4. **LaTeX-Kompilierung:** Wird vom User in Overleaf geprüft.
|
||||
|
||||
## Verbleibende offene Frage
|
||||
|
||||
- **VirtualDub2-Screenshot (Z. 188):** `\todo{Bild von VirtualDub2}` bleibt als Platzhalter stehen
|
||||
Reference in New Issue
Block a user