{"id":624,"date":"2011-10-20T21:11:54","date_gmt":"2011-10-20T19:11:54","guid":{"rendered":"http:\/\/www.matthiaskronlachner.com\/?p=624"},"modified":"2026-02-24T14:13:27","modified_gmt":"2026-02-24T12:13:27","slug":"kinect-realtime-head-pose-estimation-with-osc-support","status":"publish","type":"post","link":"https:\/\/www.matthiaskronlachner.com\/?p=624","title":{"rendered":"Kinect Headtracking with OSC Support"},"content":{"rendered":"<p><a href=\"https:\/\/www.matthiaskronlachner.com\/wp-content\/uploads\/2011\/10\/head_pose_estimation.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-thumbnail wp-image-626\" title=\"kinect head pose estimation with osc support\" src=\"https:\/\/www.matthiaskronlachner.com\/wp-content\/uploads\/2011\/10\/head_pose_estimation-150x150.jpg\" alt=\"left: GEM Window, right: head pose estimation by G.Fanelli\" width=\"150\" height=\"150\" \/><\/a>based on<br \/>\nReal Time Head Pose Estimation from Consumer Depth Cameras by <em>Gabriele Fanelli<\/em> [ref name=&#8221;fanelli&#8221;]<a title=\"Real Time Head Pose Estimation from Consumer Depth Cameras by Gabriele Fanelli\" href=\"http:\/\/www.vision.ee.ethz.ch\/~gfanelli\/head_pose\/head_forest.html\" target=\"_blank\">http:\/\/www.vision.ee.ethz.ch\/~gfanelli\/head_pose\/head_forest.html<\/a>[\/ref]<\/p>\n<p>======================================<br \/>\n<strong>download<\/strong> source and windows\/OSX binaries: <a href=\"https:\/\/github.com\/kronihias\/head-pose-estimation\">https:\/\/github.com\/kronihias\/head-pose-estimation<\/a><\/p>\n<p>Application that detects <strong>head position<\/strong> from a depth image provided by Microsoft Xbox Kinect Sensor in<strong> x,y,z<\/strong> and Euler Angles (<strong>pitch, yaw, roll<\/strong>) from <strong>multiple persons<\/strong>.<\/p>\n<p>&#8211;&gt; needs <strong>no calibration<\/strong>!!<\/p>\n<p>Application sends data as <strong>OSC<\/strong>[ref name=&#8221;osc&#8221;]Open Sound Control (OSC) is a message based communication protocol for multimedia systems.[\/ref]<strong> Message<\/strong> in the format:<\/p>\n<p>\/head_pose [User_ID] [x] [y] [z] [pitch] [yaw] [roll]<br \/>\n<!--more--><br \/>\nall arguments are float, angles in degree, User_ID starting at zero.<\/p>\n<p>* can detect angles about +-75\u00b0 yaw, +-60\u00b0 pitch and +-50\u00b0 roll.<\/p>\n<p>Usage:<br \/>\n* #&#8230;\/head_pose_estimation> .\/head_pose_estimation_demo config.txt <show visual 0 or 1> <send osc 0 or 1> <osc-ip> <osc-port><\/p>\n<p>example how to not show visualization and use custom ip and port for sending OSC Messages:<\/p>\n<p>.\/head_pose_estimation_demo config.txt 0 1 192.168.0.1 8000<\/p>\n<p>Default IP\/Port: 127.0.0.1:7120<\/p>\n<p>* you can find an example puredata\/GEM patch in the folder pd<br \/>\nto visualize the headtracking.<\/p>\n<p>(C) 2011\/2012 by Matthias Kronlachner<br \/>\n__________________________________________________________<\/p>\n<p>::INSTALL STANDALONE PROGRAM::<br \/>\nReady to use Binaries for OSX (64 bit) and Windows (32 bit) are included.<\/p>\n<p>Windows<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nBinary is included<br \/>\nWindows version is compiled for Microsoft Kinect SDK!!<\/p>\n<p>* get and install OpenCV from http:\/\/sourceforge.net\/projects\/opencvlibrary\/files\/opencv-win\/2.4.0\/<br \/>\n* get and install Microsoft Kinect SDK for Windows http:\/\/www.microsoft.com\/en-us\/kinectforwindows\/develop\/developer-downloads.aspx<\/p>\n<p>Linux<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>*\tyou need cmake, OpenCV, OpenNI, freeglut, and OpenGL libraries<br \/>\n\tfor installing OpenNI follow this instructions: https:\/\/github.com\/avin2\/SensorKinect<\/p>\n<p>*\tget liblo<br \/>\n\thttp:\/\/liblo.sourceforge.net\/<\/p>\n<p>*\tedit demo\/CMakeLists.txt and adjust paths<\/p>\n<p>*\t#&#8230;\/head_pose_estimation\/demo> cmake CMakeLists.txt<br \/>\n*\t#&#8230;\/head_pose_estimation\/demo> make<\/p>\n<p>*\t#&#8230;\/head_pose_estimation> .\/head_pose_estimation_demo config.txt<\/p>\n<p>OSX<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>* you will need XCode to compile the demo application for OSX <\/p>\n<p>* follow instructions on https:\/\/github.com\/avin2\/SensorKinect<br \/>\n\tto install OpenNI<\/p>\n<p>* get liblo<br \/>\n\thttp:\/\/liblo.sourceforge.net\/<\/p>\n<p>* get OpenCV, OpenGL, Glut through macports<\/p>\n<p>* open the XCode Project in demo folder,<br \/>\n  adjust path settings for Frameworks and build it.<\/p>\n<p>__________________<br \/>\n:::THINGS TO DO:::<\/p>\n<p>questions: m.kronlachner@gmail.com<\/p>\n","protected":false},"excerpt":{"rendered":"<p>based on Real Time Head Pose Estimation from Consumer Depth Cameras by Gabriele Fanelli [ref name=&#8221;fanelli&#8221;]http:\/\/www.vision.ee.ethz.ch\/~gfanelli\/head_pose\/head_forest.html[\/ref] ====================================== download source and windows\/OSX binaries: https:\/\/github.com\/kronihias\/head-pose-estimation Application that detects head position from a depth image provided by Microsoft Xbox Kinect Sensor in x,y,z &hellip; <a href=\"https:\/\/www.matthiaskronlachner.com\/?p=624\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":626,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,3],"tags":[29,96,63,97,62,16,64,95],"class_list":["post-624","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-software","tag-angle","tag-depth-image","tag-euler","tag-fanelli","tag-head-tracking","tag-kinect","tag-osc","tag-pix_head_pose_estimation"],"modified_by":"matthias","jetpack_featured_media_url":"https:\/\/www.matthiaskronlachner.com\/wp-content\/uploads\/2011\/10\/head_pose_estimation.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/posts\/624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=624"}],"version-history":[{"count":1,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/posts\/624\/revisions"}],"predecessor-version":[{"id":2777,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/posts\/624\/revisions\/2777"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=\/wp\/v2\/media\/626"}],"wp:attachment":[{"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.matthiaskronlachner.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}