Virtual Drums .com
You can play drums... without a real drumkit!

FrozenCameleon

Présentation

FrozenCameleon is a software created for the Virtual Drums project. It is used to quickly generate color-signature files of precise colors.

How does it work? You see on the screen your camera's output. Then you can simply click on the objects to be detected and their colors will be analyzed and added to a pool “color for the object N”. The software can handle up to 8 different colors. The generated files are then imported in the video analysis library, and the objects are detected depending on their colors. For example for the Virtual Drums project, we detect the sticks depending on their green/red colors ; we simply have topre-register the sticks' colors in FrozenCameleon and load the files in VirtualDrums.

Technical features

To detect precise colors, FrozenCameleon is using a new color space : HSV. It is common to use the RGB color space that defines a color with 3 components : Red, Green, Blue. With the RGB color space it is very difficult to detect a same color under different light conditions: variations are not linear when the lights change.

RGB color space

RGB color space

HSV color space

HSV color space

In the HSV color space, we have 3 components : Hue, Saturation, Value (brightness). For red for example, the hue is H = 0 / 360°. If we change the lights (switching off one light, or putting a projector light directed on the object), the Hue component of the object would stay approximately at H = 0°. Only the 2 other components would vary, S and V. For example, darkening the object will lower the Value (V) value and a little bit the Saturation (S).

If we use a big sample (200 000 pixels for example), which FrozenCameleon makes possible in a few clicks, you can build a precise color signature of the object to be detected.

Frozen Cameleon could be used for several computer vision problems, it gives good results very quickly. It was developed in C++ and uses the video analysis library we use for the whole project. TheUI was done using WxWidget.


Demo Video