Professor Bailey and I exhibited the head tracking display in the field house during Imagine RIT 2009.
I first started the head tracking display project as a course project for my computer graphics I class. It used to be simply a OpenCV head tracking sample code + some OpenGL. After a few weeks’ work, in preparation for the Imagine RIT festival, I did some major changes to the program to make it work in a large scale. Instead of trying to find the human face all the time, I changed to use gaussian background model to do foreground detection. And by using multiple cameras from different angles, I was able to calculate the person’s position in 3-dimension.
I also used player/stage as the foundation of the system. Each camera was connected to a driver that provides camera interface. Then the blobfinder drivers were written to take camera as input and perform background subtraction. A tracking driver was written to take several blobfinders to triangulate the person’s position and output that as a position3d interface. On the client side, the OpenGL program simply subscribe to the position3d interface and changes the camera angle based on the position.
The source code is available under GPL at:
http://svn.ziyan.info/svn/default/trunk/htd/player/
How well did it work? Not quite as well as Johnny Lee’s WiiMote based head tracking display. But considering that you don’t have to wear any special equipment or clothing, it worked well enough.
P.S. It was a hard and tiring day since we had to stand from 8am to 5pm with no lunch provided (they said they were going to give us dinosaur BBQ coupons but turned out that did not happen at all.
BROWSE / IN TIMELINE
« Ray Tracer Assignment: Checkpoint 6
» Ray Tracer Assignment: Checkpoint 7
BROWSE / IN SAME CATEGORY English
« Ray Tracer Assignment: Checkpoint 6
» Ray Tracer Assignment: Checkpoint 7




SPEAK / ADD YOUR COMMENT