Virtual Drums .com
Une batterie virtuelle... bien réelle !

FrozenCameleon

Présentation

FrozenCameleon est un logiciel crée dans le cadre du projet Virtual Drums. FrozenCameleon est utilisé pour la génération rapide et simple de fichiers de signatures couleurs précises. Il permet, via des clics sur les objets à détecter, de mettre en évidence les couleurs de l'objet (il peut détecter jusqu'à 8 objets simultanés). Les fichiers couleurs générés sont ensuite importés dans la librairie de traitement vidéo, ce qui permet de rapidement détecter de nouveaux objets. Par exemple, pour la simulation de batterie virtuelle, il est possible d'utiliser tout objet coloré pour faire les baguettes : il suffit d'enregistrer sa couleur via FrozenCameleon.

FrozenCameleon dispose de plusieurs modes de fonctionnement qui permettent de rapidement sélectionner un jeu de couleurs parmi les images issues de la caméra. Par exemple, nous utilisons FrozenCameleon pour détecter les baguettes colorées ; nous sommes alors indépendants de l'environnement lumineux. Avec un étalonnage appliqué, il est possible de détecter les baguettes en plein jour, dans la pénombre, dans une salle éclairée uniquement avec de la lumière artificielle... et même dans le noir complet !

Fonctionnement technique

Pour détecter des couleurs de manière précise, FrozenCameleon utilise un nouvel espace de couleur : HSV. En informatique, il est courant d'utiliser l'espace de couleur RGB, caractérisé par 3 composantes : Rouge, Vert, Bleu. En RGB, il est très difficile de détecter des couleurs précises à différentes luminosités : les variations sur les 3 composantes ne sont pas linéaires.

Espace de couleur RGB

Espace de couleur RGB

Espace de couleur HSV

Espace de couleur HSV

En HSV, l'espace de couleur est caractérisé par les 3 composantes : Hue (Teinte), Saturation (Saturation), Value (Luminosité). Si l'on prend l'exemple du rouge, sa teinte est de H = 0 / 360°. En changeant la luminosité (par exemple en éteignant une lumière, ou en positionnant un projecteur sur l'objet à détecter), la composante H de notre objet restera environ à H = 0. Seuls les 2 autres composantes varieront, S et V. Assombrir l'objet revient à faire diminuer fortement la luminosité (V) et légèrement la saturation (S).

En prenant un très grand échantillon de test (200 000 pixels par exemple), ce que FrozenCameleon permet de réaliser en quelques clics, il est possible de constituer le fichier de couleur précis de l'objet à détecter !

Frozen Cameleon pourrait être utilisé pour de nombreuses autres applications de vision industrielle, il fournit des résultats très précis et rapidement. Il a été développé en C++ et utilise la librairie de traitement vidéo temps réel globale au projet. L'interface est réalisée en WxWidget.

Demo Video