fabi.me

3D Head Tracking mit Webcam, Kinect & Stereo

Mittels Webcam oder Microsoft Kinect wird die Kopfposition des Betrachters ermittelt und eine dreidimonsionale Szene je nach Blickwinkel dargestellt Ms office 2003 Hangul. Dadurch ensteht der Eindruck, dass Objekt vor oder hinter der Bildschirmebene liegen, ganz ohne 3D-Brille.

3Dheadtracking
3Dheadtracking
3Dheadtracking.zip
3.3 MiB
30078 Downloads
Details

Das Video demonstriert den Effekt:

Das Programm ist aus einem Uni-Projekt entstanden, bei dem wir mithilfe offener Bibliotheken ein Head Tracking implementieren sollten, das sowohl mit Kinect als auch Webcam funktioniert (umschaltbar vom Benutzer) 신서유기 6 3화.

OpenNI bietet eine Schnittstelle für Kinect, die in der Lage ist, Bewegung und Haltung des Körpers zu erkennen Download the recorder app. Für die Kopferkennung mittels Webcam haben wir OpenCV verwendet, eine umfangreiche Bilbiothek, die Haar Casacde Algorithmen enthält Download g70. Da die Schnittstelle von OpenCV recht komplex ist, verwendeten wir die Bilbliothek ehci, die den Umgang damit sehr vereinfacht visual studio 2017 iso 다운로드.

Die Szene wird mit OpenGL gerendert, wobei eine Perspektivische Projektion verwendet wird. Mittels der Funktion glFrustum wird die Projektionsmatrix abhängig der Kopfposition erzeugt und mit gluLookAt auf einen Punkt ausgerichtet. Dieser Punkt wird mit der X-Y-Kopfposition verschoben, so dass sich eine Scherung ergibt. Beim Stereomodus wird die Scene einfach aus zwei verschiedenen Perspektiven gerendert und dann mit Farbfiltern übereinander gelegt.

Das fertige Programm könnt ihr unten herunterladen. Ihr braucht nur eine Webcam und Windows als Betriebssystem. Die Kinect-Funktionen wurden bei dieser Version entfernt, da die Treiberinstallation häufig nicht richtig funktioniert.

Zur Bedienung:

Enter Kalibrierung: Setzt die aktuelle Kopfposition als Nullpunkt
1 3D Head Tracking
2 2D Head Tracking ohne Z-Komponente
3 Debug Kamera mit Pfeiltasten und Bild hoch/runter
F11 Vollbild
D Kamerabild anzeigen/ausblenden
S Stereoskopie umschalten (mit Rot-Cyan Brille, rechtes Auge rot)
Esc Beenden

Während der Kalibrierung erscheint der Hintergrund rot. Achtet auf gleichmäßige Beleuchtung des Gesichts. Wenn der Kopf nicht vollständig von der Kamera sichtbar ist, kann das Tracking unterbrochen werden. Dann wird automatisch eine neuer Kalibrierungsvorgang gestartet, bis ein Gesicht erkannt wurde.

So sieht’s im Stereomodus aus:

3Dheadtracking
3Dheadtracking
3Dheadtracking.zip
3.3 MiB
30078 Downloads
Details
Rating: 3.3/5. From 16 votes.
Please wait...
Voting is currently disabled, data maintenance in progress.

Verwandte Artikel

Kommentare

  • werner sagt:

    Hallo, leider funktioniert das Programmbei mir nicht. Brauche ich dafür noch zusätzliche software. Es kommt nur die Fehlermeldung das eine MSCVCP100.dll fehlt.
    Win7

    Bitte um Hilfe ….Gruss

  • DJburner sagt:

    Hey 🙂

    can you upload for me the version where kinect works?

    thx

  • patrick sagt:

    Hallo,
    kann man auch eigene Rendering (von ganzen Räumen) verwenden?
    ZB 3ds Max?
    Bitte um Antwort !
    Danke

  • Ruben sagt:

    Hi,

    We’re making a similar project about head-treacking and it would really speed up our work if we had the source code. Is there a link where i could download the source code?

    Kind regards,

    Ruben

  • Shamim sagt:

    if we had the source code. Is there a link where i could download the source code

  • harley sagt:

    fjdhvsjhjhjhgjhgshjghjhjdhjghgjdfhjghdfgjhhfjhjghjkghjghdkghjdfghjdhgjdfhgjhgjkdfhgjhgjkfdhgjhdgjfhdgjhjgskhgjfkhdksgggggggggggggggggggggggggg

  • ameliasarah sagt:

    OpenGL gerendert, wobei eine Perspektivische Projektion verwendet wird. Mittels der Funktion glFrustum wird die Projektionsmatrix abhängig der Kopfposition erzeugt und mit gluLookAt auf einen Punkt ausgerichtet. Dieser Punkt wird mit der X-Y-Kopfposition verschoben, so dass sich eine Scherung ergibt. Beim Stereomodus wird die Scene einfach aus zwei verschiedenen Perspektiven gerendert und dann mit Farbfiltern übereinander gelegt.
    https://spacebarcounter.us/

  • braden sagt:

    how do you use the auto clicker

  • Georgiaava sagt:

    using a perspective projection. The glFrustum function is used to generate the projection matrix depending on the head position and gluLookAt is used to align it to a point. This point is moved with the XY head position, resulting in a shear. In stereo mode, the scene is simply rendered from two different perspectives and then superimposed using color filters.
    You can download the finished program below. All you need is a webcam and Windows as the operating system. The Kinect functions have been removed from this version because the driver installation often does not work properly.
    https://monkey-type.net/

  • Aaron Pikula sagt:

    This is a really clean approach to head tracking – using the Kinect depth stream to stabilize the webcam feature points is clever, especially back before depth sensors were everywhere. I landed here while researching frame-by-frame video analysis for a hobby CV project, and it is exactly the kind of setup where pulling individual stills matters. For the 2D preprocessing I have been leaning on a browser-based Video Frame Extractor to grab clean frames out of my test clips before feeding them to OpenCV, which saves a ton of ffmpeg fiddling. Did you ever try fusing the two camera streams temporally?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.