Prüfungsleistung
In dieser Prüfung entwickeln Sie ein vollständiges System zur Erkennung von Handgesten auf Basis von Hidden Markov Models (HMM).
|
|
|
|
|
|
Die einzelnen Komponenten sind aufeinander aufbauend konzipiert und entsprechend zu dokumentieren. Sie müssen in der Lage sein, sowohl das Gesamtsystem auf abstrakter Ebene als auch Ihren spezifischen Beitrag im Detail zu erläutern.
Aufgabenübersicht
1. HandDetector & Preprocessor
Implementieren Sie Module zur:
Erkennung von Händen und Landmarken
Extraktion und Normalisierung von Fingertrajektorien
Bemerkung
Diese Komponenten bilden die Grundlage für das gesamte System.
Warnung
Ihr Preprocessing muss so gestaltet sein, dass es später vom HMM-Classifier sinnvoll verarbeitet werden kann. An diesem Schritt sollten am Anfang alle Teilnehmer sinnvoll beteiligt sein.
Implementierungshilfen: Modules
2. Datenerfassung (Labeling)
Erstellen Sie ein System zur Aufnahme von Trainingsdaten.
- Anforderungen:
Neue Gesten sollen aufgezeichnet werden können
Daten müssen strukturiert gespeichert werden
Mehrere Klassen (Labels) müssen unterstützt werden
- Erweiterung:
Es können auch Abstände zwischen den Fingern uvm. als Feature verwendet werden
Bemerkung
In der Prüfung werden neue Daten live vom Prüfer aufgenommen. Ihr System muss darauf vorbereitet sein.
Tipp
- Denken Sie über einen effizienten Workflow nach:
schnelle Aufnahme
einfaches Verwerfen schlechter Sequenzen
klare Datenorganisation
Implementierungshilfen: Labeln & Klassen aufzeichnen
3. Datenexploration & Visualisierung
Sie müssen Ihren Datensatz analysieren und verstehen können.
- Beispiele:
Visualisierung von Trajektorien (z. B. als Plot)
Vergleich mehrerer Sequenzen pro Klasse
Beispielhafte Visualisierung eines Datensatzes mit mehreren Trajektorien pro Klasse.
- Zusätzlich:
Darstellung der Modellperformance (z. B. Confusion Matrix)
Bemerkung
Gute Modelle entstehen nur mit guten Daten.
Tipp
Nutzen Sie Visualisierung aktiv zum Debugging.
Implementierungshilfen: Visualisierung ihres Datensatzes
4. HMMClassifier (Training & Inferenz)
Implementieren Sie einen eigenen Klassifikator basierend auf Hidden Markov Models.
- Anforderungen:
Trainieren Sie ein Modell pro Klasse
Klassifizieren Sie Sequenzen anhand ihrer Wahrscheinlichkeit
Wählen Sie die Klasse mit dem besten Score
Warnung
Der Klassifikator muss selbst implementiert werden. Es reicht nicht, fertige Lösungen zu verwenden.
Tipp
- Überlegen Sie:
Wie strukturieren Sie Ihre Trainingsdaten?
Wie vergleichen Sie Modelle?
Wie gehen Sie mit Sequenzlängen um?
- Erweiterung (optional):
Grid Search für Hyperparameter (z. B. Anzahl Zustände, Modellstruktur)
Vergleich verschiedener Modellkonfigurationen
Implementierungshilfen: Fit/Train HMM Classifier
5. Live-Modus
- Ihr System soll in der Lage sein:
Live-Daten aufzunehmen
Diese direkt zu verarbeiten
Eine Geste in Echtzeit zu klassifizieren
Bemerkung
Dies ist der finale Integrationstest Ihres Systems.
Warnung
- Alle Komponenten müssen hier zuverlässig zusammenspielen:
Detector
Preprocessor
Classifier
Bewertungskriterien
- Die Bewertung orientiert sich an folgenden Punkten:
Funktionalität des Gesamtsystems
Qualität und Struktur der Daten
Verständlichkeit und Nachvollziehbarkeit
Robustheit der Lösung
Qualität der Modellperformance
Tipp
- Eine sehr gute Lösung zeichnet sich dadurch aus, dass:
das System stabil läuft
die Daten sauber aufbereitet sind
die Ergebnisse nachvollziehbar erklärt werden können
Bemerkung
Bonuspunkte können durch weiterführende Ansätze erzielt werden, wie z. B. Hyperparameter-Optimierung oder zusätzliche Analysen.
Dokumentation
- Sie müssen in der Lage sein, Ihr System zu erklären:
Aufbau der Pipeline
Entscheidungen im Design
Interpretation der Ergebnisse
Warnung
Die hier gezeigte Struktur sowie die konkrete Implementierung der Module stellen lediglich eine mögliche Referenz dar.
Abweichende Ansätze sind ausdrücklich erlaubt und erwünscht, solange die funktionalen Anforderungen erfüllt werden. Eine identische Umsetzung ist nicht erforderlich.