Updated: Apr 2, 2019
Tracking was a really interesting part of this project. We realised accurate tracking was a must for HairSense to work. The cutting devices position relative to the head had to be tracked down to the millimeter. Unfortunately this technology didn't exist.
We started working by building both the tracking solutions and handheld hardware device in tandem. A Intel RealSense camera was used to track the face. This wasn't perfect but showed a lot of potential. And we knew this technology was likely to improve quickly.
To track the device, we first tried a Sixsense Razer Hydra game controller. This uses magnetic field tracking which turned out to be way too unreliable. Its relative movement tracking wasn't too bad, but it had no absolute positioning accuracy. So after a few movements, especially with twisting motion, the positioning could easily be 40cm off. Far off the the mm accuracy required.
This was a stressful realisation. After a lot of research into other tracking technologies it seemed none of them could provide the required accuracy.
At this point there were two options. To give up the whole project and move on to something else. Or continue development of the hardware and hope that some new tracking technology would come along. We chose the later and continued working on the hardware cutter, and put the tracking side on hold.
About 6 months later our tracking prayers were answered. Valve released the lighthouse tracking system, and a few months later we had a HTC Vive VR system in our hands. We combined the Lighthouse tracking system with the Intel RealSense camera and managed to achieve remarkable good tracking results. We can now track the cutting devices position relative to the head down to a few mm of accuracy. And we are not even using the latest Realsense hardware which is much more reliable.
Calibrating the RealSense camera world and the Vive world was a challenge. In the end I built 'Fred' who is a face with a Vive VR controller inside his head. This is used to calibrate the face tracking and device tracking words - the RealSense camera tracks the face, and the lighthouse system tracks the Vive controller in the head from behind. We use the Kabsch algorithm to work out rotational matrix from the head and controller tracking data.
There are even more new tracking methods now out there. The massive amount of research into tracking for VR has new tech emerging such as the outside in tracking of the Facebook Oculus. We haven't investigated the accuracy of this system though.
Of course any tracking system would need to be built into a real world product of the hairsense. The Lighthouse tracking system is not ideal as it still requires the lighthouses boxes. However these could be placed at opposite ends of a front tracking bar to limit the chances of occlusion.
There are now magnetic tracking systems available with mm accuracy which would be perfect for tracking the device, however these are currently priced outside the budget of a mass consumer product.