276 lines
8.3 KiB
Markdown
276 lines
8.3 KiB
Markdown
# Roadmap: Wie viele Kameras braucht die Pose-Rekonstruktion wirklich?
|
||
|
||
## Ziel
|
||
|
||
Untersuchen, ob die vollständige Roboter-Pose mit **3 Kameras** ausreichend präzise rekonstruiert werden kann, verglichen mit der aktuellen Konfiguration mit **6–8 Kameras**.
|
||
|
||
Die Kernfrage ist:
|
||
|
||
**X-Achse:** Anzahl verwendeter Kameras
|
||
**Y-Achse:** Genauigkeit der rekonstruierten Pose, gemessen als **Fingerspitzen-Abweichung in mm**
|
||
|
||
---
|
||
|
||
## 1. Was dafür bekannt sein muss
|
||
|
||
Bevor die Auswertung sinnvoll ist, sollten diese Punkte klar dokumentiert sein:
|
||
|
||
### 1.1 Datenbasis
|
||
|
||
* Wie viele Szenen existieren insgesamt?
|
||
* Welche Posen decken die Szenen ab?
|
||
* Sind die Szenen gleichmäßig über den Arbeitsraum verteilt oder nur ein Teilbereich?
|
||
* Gibt es Wiederholungen derselben Pose unter leicht anderen Bedingungen?
|
||
|
||
### 1.2 Kamera-Setup
|
||
|
||
* Welche Kameras sind in jeder Szene aktiv?
|
||
* Sind alle Kameras synchronisiert?
|
||
* Sind alle Kameras kalibriert?
|
||
* Sind intrinsische und extrinsische Parameter pro Kamera vorhanden?
|
||
* Gibt es Ausfälle, verdeckte Sicht oder variable Bildqualität?
|
||
|
||
### 1.3 Ground Truth
|
||
|
||
* Wie werden die „echten“ Roboter-Posen gespeichert?
|
||
* Ist die Ground Truth in einem konsistenten Koordinatensystem verfügbar?
|
||
* Ist die Fingerspitzenposition direkt ableitbar oder muss sie aus der Pose berechnet werden?
|
||
* Welche Referenz gilt als Wahrheit: Robotermodell, Encoder-Daten, Simulation oder beides?
|
||
|
||
### 1.4 Rekonstruktionspipeline
|
||
|
||
* Welche Zwischenresultate liefert die Pipeline?
|
||
|
||
* Detektion im Bild
|
||
* Modellanpassung
|
||
* 2D/3D-Keypoints
|
||
* vollständige Pose
|
||
* Ist die Pipeline deterministisch oder stochastisch?
|
||
* Welche Fehlerquellen sind bereits bekannt?
|
||
|
||
### 1.5 Bewertungsmetrik
|
||
|
||
* Wird nur die Fingerspitze bewertet oder auch weitere Gelenkpunkte?
|
||
* Ist die Abweichung als **mittlere Distanz**, **Median**, **RMSE** oder **95%-Quantil** interessant?
|
||
* Soll die Auswertung pro Szene, pro Kamera-Subset und aggregiert über alle Szenen erfolgen?
|
||
|
||
---
|
||
|
||
## 2. Was umgesetzt werden muss
|
||
|
||
### 2.1 Dateninventur und Datenformat
|
||
|
||
Zuerst sollte eine saubere Übersicht aller Szenen entstehen:
|
||
|
||
* Szenen-ID
|
||
* verfügbare Kameras
|
||
* Zeitstempel / Synchronisationsstatus
|
||
* Ground-Truth-Pose
|
||
* rekonstruierte Pose
|
||
* Bildqualität oder Sichtbarkeitsstatus
|
||
|
||
Empfehlung: ein tabellarisches Metadatenformat, z. B. CSV, JSON oder eine kleine Datenbank.
|
||
|
||
### 2.2 Subset-Definition für Kameras
|
||
|
||
Für den Vergleich muss festgelegt werden, **welche 3 Kameras** verwendet werden.
|
||
|
||
Mögliche Varianten:
|
||
|
||
* feste Auswahl der besten 3 Kameras
|
||
* alle Kombinationen aus 3 Kameras
|
||
* Auswahl nach Sichtbarkeit / Geometrie / Robustheit
|
||
|
||
Wichtig: Die Wahl der 3 Kameras beeinflusst das Ergebnis stark. Deshalb sollte nicht nur eine Kombination getestet werden, sondern möglichst mehrere.
|
||
|
||
### 2.3 Rekonstruktion pro Kameraset
|
||
|
||
Die Pipeline muss für verschiedene Kamerakombinationen erneut laufen:
|
||
|
||
* 3 Kameras
|
||
* 4 Kameras
|
||
* 5 Kameras
|
||
* 6 Kameras
|
||
* 7 Kameras
|
||
* 8 Kameras
|
||
|
||
Optional zusätzlich:
|
||
|
||
* jede einzelne Kamera weglassen, um die Sensitivität zu messen
|
||
* nur die geometrisch günstigsten Kameras verwenden
|
||
|
||
### 2.4 Fehlerberechnung
|
||
|
||
Für jede Szene und jedes Kameraset:
|
||
|
||
1. Rekonstruierte Pose erzeugen
|
||
2. Fingerspitze aus rekonstruierter Pose bestimmen
|
||
3. Ground-Truth-Fingerspitze bestimmen
|
||
4. Abstand in Millimetern berechnen
|
||
5. Ergebnis speichern
|
||
|
||
Empfohlenes Ergebnisformat pro Versuch:
|
||
|
||
* Szene
|
||
* Kameraset-ID
|
||
* Anzahl Kameras
|
||
* Fingerpunkt-Fehler [mm]
|
||
* weitere optionale Metriken, z. B. Gelenkfehler, Sichtbarkeitsrate, Rekonstruktionsqualität
|
||
|
||
### 2.5 Aggregation und Auswertung
|
||
|
||
Am Ende sollten Kennzahlen über alle Szenen berechnet werden:
|
||
|
||
* Mittelwert des Fehlers
|
||
* Median des Fehlers
|
||
* Standardabweichung
|
||
* 95%-Konfidenzintervall oder Bootstrap-Intervall
|
||
* Fehlerverteilung pro Kamerazahl
|
||
|
||
Zusätzlich hilfreich:
|
||
|
||
* Boxplots je Kamerazahl
|
||
* Fehlerbalken mit Konfidenzintervallen
|
||
* Plot der besten / schlechtesten Kamerakombinationen
|
||
|
||
---
|
||
|
||
## 3. Empfohlene Auswertungslogik
|
||
|
||
### 3.1 Vergleich nach Kamerazahl
|
||
|
||
Für jede Kamerazahl k:
|
||
|
||
* alle relevanten Kamerakombinationen testen oder eine definierte Auswahl bilden
|
||
* Fehler pro Szene berechnen
|
||
* Ergebnisse aggregieren
|
||
|
||
So entsteht die Kurve:
|
||
|
||
* 3 Kameras → mittlere Abweichung
|
||
* 4 Kameras → mittlere Abweichung
|
||
* ...
|
||
* 8 Kameras → mittlere Abweichung
|
||
|
||
### 3.2 Vergleich nach Kamerakombination
|
||
|
||
Nicht nur die Anzahl zählt, sondern auch die Anordnung.
|
||
|
||
Deshalb sollte zusätzlich ausgewertet werden:
|
||
|
||
* welche 3-Kamera-Kombination am besten ist
|
||
* ob bestimmte Kameras besonders wichtig sind
|
||
* ob eine gute Geometrie wichtiger ist als reine Anzahl
|
||
|
||
### 3.3 Robustheit über Szenen
|
||
|
||
Die Frage ist nicht nur „Was ist im Mittel gut?“, sondern auch:
|
||
|
||
* Gibt es Szenen, in denen 3 Kameras deutlich scheitern?
|
||
* Gibt es Posen, bei denen schon 3 Kameras reichen?
|
||
* Ist der Fehler bei bestimmten Roboterausrichtungen systematisch höher?
|
||
|
||
---
|
||
|
||
## 4. Praktische Umsetzungsschritte
|
||
|
||
### Phase A: Datengrundlage sichern
|
||
|
||
* Alle Szenen inventarisieren
|
||
* Kamerazustand pro Szene prüfen
|
||
* Ground Truth und Rekonstruktionen in ein konsistentes Format bringen
|
||
* Ein eindeutiges Schema für Szenen- und Kameraset-IDs definieren
|
||
|
||
### Phase B: Vergleichsdesign festlegen
|
||
|
||
* Festlegen, ob alle 3er-Kombinationen getestet werden oder nur ausgewählte Sets
|
||
* Definieren, welche Kameraauswahl als Referenz dient
|
||
* Fehlermaß final festlegen
|
||
|
||
### Phase C: Batch-Auswertung bauen
|
||
|
||
* Pipeline über mehrere Kamerasets automatisieren
|
||
* Ergebnisse versionieren und speichern
|
||
* Laufzeit und Fehler robust protokollieren
|
||
|
||
### Phase D: Statistische Analyse
|
||
|
||
* Pro Kamerazahl Mittelwert, Median und Streuung berechnen
|
||
* Signifikanztests oder Bootstrap-Vergleiche zwischen Kamerazahlen durchführen
|
||
* Ausreißer identifizieren
|
||
|
||
### Phase E: Visualisierung und Entscheidung
|
||
|
||
* Plot „Anzahl Kameras vs. Fehler in mm“
|
||
* Plot pro Szene oder pro Posegruppe
|
||
* Entscheidungsregel ableiten, ab wann zusätzliche Kameras kaum noch Verbesserungen bringen
|
||
|
||
---
|
||
|
||
## 5. Wichtige Fragen, die vorab beantwortet sein sollten
|
||
|
||
1. Welche 3 Kameras sind gemeint: beliebige, beste, feste oder geometrisch ausgewählte?
|
||
2. Sind alle Kameras pro Szene vorhanden oder gibt es Lücken?
|
||
3. Wie genau wird die Fingerspitze aus der Robotermodell-Pose berechnet?
|
||
4. Soll der Fehler nur an einem Punkt oder über mehrere Posepunkte bewertet werden?
|
||
5. Wie wird mit Szenen umgegangen, in denen eine Rekonstruktion scheitert?
|
||
6. Ist die Messung in Simulationsdaten, Realwelt oder gemischt?
|
||
7. Soll die Auswertung pro Szene oder über alle Szenen gepoolt erfolgen?
|
||
|
||
---
|
||
|
||
## 6. Empfohlenes Ergebnis der Analyse
|
||
|
||
Am Ende sollte die Auswertung mindestens diese Ergebnisse liefern:
|
||
|
||
* eine Tabelle mit Fehlern pro Szene und Kameraset
|
||
* ein Diagramm „Kameraszahl vs. mittlere Fingerspitzen-Abweichung“
|
||
* eine Aussage, ob 3 Kameras praktisch ausreichend sind
|
||
* eine Aussage, welche Kameras oder Geometrien besonders wichtig sind
|
||
* eine Empfehlung für ein Minimal-Setup mit akzeptabler Genauigkeit
|
||
|
||
---
|
||
|
||
## 7. Mögliche Entscheidungslogik
|
||
|
||
Eine einfache Entscheidungsregel könnte sein:
|
||
|
||
* 3 Kameras sind ausreichend, wenn der mittlere Fehler nur wenig schlechter ist als bei 6–8 Kameras
|
||
* die Verteilung der Fehler bei 3 Kameras darf nicht zu viele Ausreißer enthalten
|
||
* das System muss für die meisten Szenen stabil bleiben
|
||
|
||
Beispiel für eine praktische Schwelle:
|
||
|
||
* maximal zulässige mittlere Abweichung
|
||
* maximal zulässiger Fehler in 95% der Fälle
|
||
* maximaler Verlust gegenüber der Vollkonfiguration
|
||
|
||
Diese Schwelle sollte fachlich mit der Anwendung abgestimmt werden.
|
||
|
||
---
|
||
|
||
## 8. Nächste konkrete Arbeitspakete
|
||
|
||
1. Metadaten aller Szenen konsolidieren
|
||
2. Ground Truth und Rekonstruktionsausgabe vereinheitlichen
|
||
3. Kameraset-Strategie festlegen
|
||
4. Batch-Runner für mehrere Kamerakonfigurationen bauen
|
||
5. Fingerpunkt-Fehler je Szene berechnen
|
||
6. Aggregation und Plots erstellen
|
||
7. Ergebnis interpretieren und Empfehlung ableiten
|
||
|
||
---
|
||
|
||
## 9. Kurzfassung
|
||
|
||
Die Kernaufgabe ist nicht nur ein einfacher Plot, sondern ein **systematischer Vergleich verschiedener Kamerasets**. Dafür braucht es:
|
||
|
||
* saubere Ground Truth
|
||
* konsistente Kamerakalibrierung
|
||
* definierte Kamerakombinationen
|
||
* automatisierte Rekonstruktion
|
||
* robuste Fehlerberechnung in mm
|
||
* aggregierte Analyse über alle Szenen
|
||
|
||
Erst dann lässt sich belastbar sagen, ob **3 Kameras genügen** oder ob die zusätzlichen Kameras einen messbaren Mehrwert bringen.
|