Design dun système de vision embarqué
Application:
Mandats du projet de fin détude Définition de la problématique (contexte de la Robocup) Définition de la problématique (contexte de la Robocup) Proposer un design matériel et logiciel pouvant satisfaire les exigences de la compétition et les contraintes de notre robot. Proposer un design matériel et logiciel pouvant satisfaire les exigences de la compétition et les contraintes de notre robot. Faire une implémentation partielle pour mesurer les performances envisageables Faire une implémentation partielle pour mesurer les performances envisageables
Les objectifs du système de vision embarqué Identification des repères fixes sur le terrain. Identification des repères fixes sur le terrain. Identification des objets mobiles en loccurrence les robots et le ballon. Identification des objets mobiles en loccurrence les robots et le ballon. Lidentification doit mener à lobtention des coordonnées réelles des éléments visibles. Lidentification doit mener à lobtention des coordonnées réelles des éléments visibles. La position sur le terrain du robot observateur. La position sur le terrain du robot observateur. Le tout devrait être rapide et robuste Le tout devrait être rapide et robuste
Notions essentielles: Des couleurs spécifiques Des couleurs spécifiques Un éclairage contrôlé (tubes fluorescents) Un éclairage contrôlé (tubes fluorescents) Une scène dont on connaît les paramètres Une scène dont on connaît les paramètres ( bien que lon ne sache pas à priori où se trouvent les objets que lon cherche, nous connaissons très bien leurs caractéristiques. La scène elle-même est limitée en dimension. Tout ça est documenté dans les règlements de la compétition.) Ces notions permettent dentrevoir le problème avec une approche plus pratique. Sans contraintes on chercherait à résoudre un problème général de vision, ce qui nest pas envisageable à notre époque.
Comment percevoir limage Caméra conventionnelle Caméra conventionnelle Caméra omnidirectionnelle Caméra omnidirectionnelle
Comment percevoir limage Caméra conventionnelle Caméra conventionnelle
Comment percevoir limage Caméra conventionnelle Caméra conventionnelle Avantages Simple, peu coûteux et aucune déformation de la forme ou la taille apparente dun objet. Il est possible dexaminer la taille dun objet connu, le but par exemple, et davoir une approximation grossière de la distance à laquelle le robot cet objet. Inconvénients Champ de vision très limité. Beaucoup docclusions causés par des objets, des robots, qui sinterposent entre le robot et lélément observé. Très difficile doffrir une approximation de la position du robot observateur!
Comment percevoir limage Caméra conventionnelle Caméra conventionnelle Caméra omnidirectionnelle Caméra omnidirectionnelle +
Comment percevoir limage Caméra omnidirectionnelle Caméra omnidirectionnelle Avantages Meilleur champ de vision ( 360degrés) Des occlusions plus rares, le ballon serait visible la plupart du temps. Permet de bien situer le robot observateur sur le terrain. Inconvénients Déformation des objets dans limage qui nécessite des calculs de transformation. Perte de résolution car il y a maintenant beaucoup plus dinformation dans limage et sa taille est la même. Autrement dit, un objet situé loin sera représenté par beaucoup moins de pixels.
Voici un exemple de perception omnidirectionnelle avec un miroir de la compagnie Accowle.
Segmentation de limage
Choix dun espace des couleurs Choix dun espace des couleurs YUV – modèle pour composantes analogiques RGB – Rouge, vert et Bleu HSV – Teinte, saturation et intensité Séparation des couleurs Séparation des couleurs Numérotation des régions Numérotation des régions
Implémentation Je propose dassocier à toutes les couleurs RGB un identificateur représentant la classe de couleur. Cet identificateur doit être une donnée de la plus petite taille possible. Le nombre didentificateur est restreint au nombre de classes de couleur devant être reconnues. Selon les règlements de RoboCup, les couleurs utiles sont: {rien, orange, jaune, bleu, cyan, vert, magenta, blanc}
Implémentation Couleur enum=colorTable [ refcouleur[r] ] [ refcouleur[g] ] [ refcouleur[b] ]
Ref couleur est un tableau qui sous-échantillonne les composantes RGB valant [0 255] vers un intervalle [0 20]. Sur limage précédente, on note R R, G G, B B On passe ainsi de 16,7millions de couleurs à 8000 couleurs. ColorTable est une table de référence en 3 dimensions (20x20x20) dans laquelle se trouve le nom de la classe de couleur correspondant au vecteur RGB. Implémentation
Une séquence de méthodes Séparation des couleurs Séparation des couleurs Connexion des pixels (ou lissage de limage) Connexion des pixels (ou lissage de limage) Numérotation des régions Numérotation des régions Transformation en coordonnées réelles Transformation en coordonnées réelles Élimination des régions non symboliques Élimination des régions non symboliques Affectation dun objet à la région Affectation dun objet à la région Implémentation
Résultats Cette image provient du Web et est dune qualité supérieure à la caméra que nous utiliserons.
Résultats Le centre des objets est représenté par un point blanc
Résultats Voici une image prise dans notre laboratoire avec la caméra retenue pour les robots.
Résultats Notez les erreurs de classification des couleurs. Elles sont inévitables et doivent être prises en compte traitées par toutes les opérations subséquentes
Résultats Voici les régions pertinentes reconnues, répertoriés et prête pour une transformation en coordonnées réelles. Une opération qui devra être effectuée dans un proche avenir
Merci de votre attention