Hi,

du brauchst eine Möglichkeit um den Video-Stream aus einer Webcam zu lesen und digital zu verarbeiten. Dazu bietet sich ganz stark OpenCV an. OpenCV ist eine library die über C/C++ einbindbar ist. Du kannst deine Bild/Videoverarbeitung also im Hintergrund in nem Thread in ner DLL laufen lassen und dann die Daten an deine Gamestudio-Anwendung schicken.

Du brauchst also auch einigermaßen solide Programmierkenntnisse (OpenCV besitzt ein C-Interface, also nicht so schwer). Wissen über Bildverarbeitung (nicht Bild-be-arbeitung wink ) ist nicht hinderlich...

Wenn du dann deinen Stream hast, musst du

A) das Gesicht finden -und-
B) grob die Pose, bzw. die Blickrichtung bestimmen.

Alleine Teil A) ist schon recht aufwendig, wenn man sich noch nie mit dem Thema befasst hat. Ich empfehle für den Start sich über Skin Color Detection zu befassen, um mögliche Regionen rauszufidnen, wo der Kopf sein könnte. Robuster sind Detektoren, die auf Haar-Kaskaden trainiert sind. Im Zusammenspiel kannst du damit relativ robust dein Gesichtsrechteck bestimmen.

Für Skin Color Detection würde ich ein survey, also eine Übersicht, empfehlen. Such mal nach "A survey on pixel-based skin color detection techniques" von V. Vezhnevets.

Für Haar-Kaskaden such mal nach "Robust Real-Time Face Detection" von P. Viola und M.J. Jones. Glücklicherweise liegen OpenCV bereits trainierte Kaskaden für Frontal und Profilgesichter vor genauso wie eine Implementierung des Viola/Jones Detektors, erweitert um weitere Haar-Wavelets von Lienhart... das wäre dann das zweite Paper was empfehlenswert wäre zu lesen.

Die (grobe) Posenbestimmung des Kopfes ist ein sehr weites Feld. Da gibt es mehrere Ansätze. Ich beschäftige mich auch damit zur Zeit (Uni) und implementiere mehrere Ansätze.

Wenn du robust dein Gesichtsrechteck gefunden hast, können wir ja mal weitersprechen... das ist nämlich wichtig, da du ohne Information darüber wo dein Gesicht ist nämlich nicht aus dem Nichts deinen pan/tilt/roll berechnen kannst.

Grüße,
-Christian

Last edited by HeelX; 08/18/09 23:48.