Prüfungsleistung

In dieser Prüfung entwickeln Sie ein vollständiges System zur Erkennung von Handgesten auf Basis von Hidden Markov Models (HMM).

_images/hmm_d.gif _images/hmm_e.gif _images/hmm_g.gif
_images/hmm_h.gif _images/hmm_j.gif _images/hmm_k.gif

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

_images/dataset.png

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.

Implementierungshilfen