The idea was to parallelize all processes like skin-detection, centroid computation, ball control and sound generation in order to make the system as efficient as possible. However, there is scope to further improve the detection mechanism. The distance of the user’s hand from the camera affects the width and height of the hand detected and if too close, it is equivalent to a human face. Hence, a more robust mechanism can be developed to make it independent of the distance of the user from the camera.
Cornell University students Hanting Lu and Kedari Elety have made an FPGA-based, hand-tracking Pong game for their final class project this year. They’ve got an HTC 231x CCD camera feeding video data to their Altera DE-2 FPGA, which is processing the hand motion data and using it to control a game of Pong.
You can check out the full project page here, complete with more photos, a diagram of the logic structure that they used, and their program/hardware design logs. Reminds me a lot of Kinect, for some odd reason… Way to go, guys!
— by
The NTSC video signal from the camera is stored in the SDRAM at the rate of the TV Decoder Line clock (TD_CLK). Data is read from the SDRAM each time the VGA requests data. The data from the SDRAM is in YUV format which needs to be converted to RGB before sending it to the VGA. For skin detection, we added a filter at this converting module level such that in addition to the R,G and B values, the module also outputs a one bit binary 1 if it corresponds to a skin pixel. Else, zero. By doing this, the output on the VGA is now white corresponding to skin pixels and black otherwise.
Leave a Reply
You must be logged in to post a comment.