FaceTracking with just your webcam!


How it all started:

In May 2010 my friend and former colleague Ronski told me he was gaming ArmA2 quite often. He found some interesting gadgets for it, to use head-movements in-game. He came up with TrackIR and (for us Dutch quite interesting) the free Free-Track. Ronski saw 2 problems: his budget was close to EUR 0,- and he does not like gaming with Borg-like

(you must have seen some Star Trek episodes?) devices.


Could we not make a new head-tracker with the faceAPI from SeeingMachines he had just found? As I was looking for a challenge and like to explore new worlds (...), I accepted.


As a professional engineer, I like to start with things that work. On the WWW I found a little program called 'SweetSpotter', which is open-source. Luckily the Free-Track source is also open (well, most of it), so we could start with that.


First success:

Arma and FlightGear

ArmA2 is the first game that supports the 'Free-Track protocol' and we decided to translate that protocol from the original Delphi Pascal to C++. Not much later the first working beta of FaceTrackNoIR was ready!


Around the same time I found the open-source flight-simulator FlightGear, for which Melchior Franz had already made an UDP-protocol and scripting to receive data. It was not difficult to adapt FaceTrackNoIR to that.




On the 24st of May (after quite a lot of tweaking, tinkering and testing) the first release was ready. It contains a lot of faceAPI files, so it's quite big (over 30MB). Tracking works, but especially in ArmA is very 'jittery'. Users in the forum give us valueable feedback, so we can start improving.



This update contains the first EWMA-filter, which reduces jitter quite well. The ArmA (Forum) and FlightGear (Forum) communities soon pick it up. We also receive requests to support other games/sims than ArmA and FlightGear, so we embraced the PPJoy protocol.


Connecting to 'TrackIR enhanced' games was our next objective. The FreeFalcon (Forum) guys and girls tested the beta and on the 19th of July the second update was released. Now FaceTrackNoIR can be used with a large group of programs!


A few 'hot-items' still had to be solved and in release 1.3 they were:

  • configurable hotkeys;
  • auto-minimize feature;
  • solution for the R6030 problem;

To solve the R6030 problem, we had to 'downgrade' from Visual Studio 2008 to 2005. The error was apparently caused by mixing VS2005-code (from faceAPI) with VS2008-code. To make installation of FaceTrackNoIR easier for all users, we also created a 'full-installer-version'. This removes the need to install the faceAPI demo, to get FaceTrackNoIR working.


Some users asked us, when MS-Flight Simulator support is available. We cannot let this question unanswered, so we implement the necessary funtionality in update 4. Support is added for Microsoft Flight Simulator 2002 and 2004, FSX and even CFS3.


Curves are introduced in update 4, so users can define how actual head-movement is translated to in-game movement. It is now also possible to donate (please do...) to support further development.



Update 5 was released in early 2011 and offers improved filtering and stability. Also, some important improvements in the user-interface were made.


Main new feature of v160 is the new faceAPI, which is better than before.



v201 was released in early 2016 and replaces all previous versions. It was built using newer versions of the Qt and C++ libraries, to be compatible with W10.



v201 is in development now and will contain a few nice new features, like language support and a web-cam utility...