Cluster Tracking Cluster Tracking
Hand Tracking Using Real-Time Color Clustering

While conducting his dissertation at UI Urbana-Champaign, Ying Wu developed color clustering code to track the hands. I was asked to port the code to the new Digital Media routines on the SGI O2 and optimize it for real-time use. By switching to the native YCC color space of the SGI hardware, I was able to eliminate some color conversion and image resizing opperations while still increasing the framerate.

SOM Clustering Digital Media Library
The hand clustering software uses a Self-Organizing Map (SOM) to map HSV colors into one of several nodes. A new node is added to the map when the input does not clearly align with the existing set of nodes. The speed of the code was increased by using the Digital Media library to zoom the image in hardware and doing color clustering in the native YCC color space. The code was restructured to decrease the amount of stack operations by collapsing a number of Object-Oriented (OO) classes.
Hand Tracking Tracking Integration
Wu used the clustering to track blobs that matched the average HSV value from a corpus of skin images. The blob size of the segmented hand was used along with its position in the image to populate a VRCO trackd data structure via UDP.


A link to Ying Wu's website at Northwestern.
Ying Wu's publication from which several screen shots were taken.


Ying Wu, Qiong Liu and Thomas S. Huang, "Robust Real-Time Human Hand Localization by Self-organizing Color Segmentation", In Proc. IEEE ICCV'99 Workshop on Recognition, Analysis and Tracking of Face and Gestures in Real-Time Systems (RATFG-RTS'99), pp.161-166, Greece, Sept., 1999.