1 |
Vision multi-caméra pour la détection d'obstacles sur un robot de service: des algorithmes à un système intégréIbarra Manzano, Mario 07 January 2011 (has links) (PDF)
L'une des tâches les plus importantes en robotique mobile est la détection d'obstacles pendant les déplacements du robot. Pour résoudre cette tâche, de nombreuses approches ont été proposées; cependant les propositions applicables dans un milieu structuré, dynamique et fortement encombré du fait de la présence humaine, sont limitées. Dans ce cadre, nous présentons dans ces travaux un système visuel reprogrammable dédié à la détection d'obstacles. Le système est composé de plusieurs micro-caméras disposées autour du robot mobile et d'un système reprogrammable. Le nombre de micro-caméras est grand (4 dans la version courante, 8 dans la version finale) et la performance en temps réel requis dans ce contexte, ne peut pas être satisfaite par un processeur standard. Cela rend obligatoire la conception et la mise en oeuvre d'une architecture dédiée pour le traitement des images. Le parallélisme fourni par les FPGAs permet de répondre aux contraintes de performance et de minimiser l'énergie et le coût unitaire du système. L'objectif est de construire et mettre à jour une grille d'occupation robot-centrée lors de la navigation du robot. Cette opération doit être exécutée à 30Hz, afin de réduire la latence entre l'acquisition des images et la détection des obstacles. La détection des zones du sol occupées est faite par l'algorithme de classification AdaBoost en utilisant un vecteur d'attributs. Les attributs utilisés sont la couleur et la texture. Pour la couleur, nous utilisons l'espace de couleur CIE-Lab, car cela permet d'avoir une plus grande immunité au changement de l'éclairage. Les attributs de texture sont obtenues par une méthode adaptée de la technique des histogrammes de sommes et différences. Cette adaptation réduit considérablement les ressources nécessaires pour calculer les attributs de texture, tout en fournissant un modèle riche de chacun des objets présents dans une scène acquise par une des micro-caméras. Chaque pixel dans l'image est classifié pour savoir s'il appartient ou pas au sol, en fonction de ces attributs couleur-texture. Une fois le pixel classé, il est projeté sur le plan du sol pour enrichir la grille d'occupation courante de l'environnement. Plusieurs paramètres de notre approche ont été sélectionnés afin de développer un système avec le meilleur compromis entre les performances et les ressources consommées. Les graphiques de performances de la classification ainsi que les ressources consommées par les architectures implantées sont présentés. Les architectures ont été développées en VHDL avec les outils Altera; des comparaisons sont présentées avec une approche fondée sur des outils de synthèse haut-niveau (Gaut, labview...). Finalement ces architectures ont été portées et évaluées sur un kit Stratix3 connecté à 4 caméras et embarqué sur un robot mobile.
|
2 |
Vision multi-caméras pour la détection d'obstacles sur un robot de service : des algorithmes à un système intégré / Multi-cameras vision for obstacle detection for a service robot : from algorithms to an integrated systemIbarra Manzano, Mario Alberto 06 January 2011 (has links)
L'une des tâches les plus importantes en robotique mobile est la détection d'obstacles pendant les déplacements du robot. Pour résoudre cette tâche, de nombreuses approches ont été proposées; cependant les propositions applicables dans un milieu structuré, dynamique et fortement encombré du fait de la présence humaine, sont limitées. Dans ce cadre, nous présentons dans ces travaux un système visuel reprogrammable dédié à la détection d'obstacles. Le système est composé de plusieurs micro-caméras disposées autour du robot mobile et d'un système reprogrammable. Le nombre de micro-caméras est grand (4 dans la version courante, 8 dans la version finale) et la performance en temps réel requis dans ce contexte, ne peut pas être satisfaite par un processeur standard. Cela rend obligatoire la conception et la mise en oeuvre d'une architecture dédiée pour le traitement des images. Le parallélisme fourni par les FPGAs permet de répondre aux contraintes de performance et de minimiser l'énergie et le coût unitaire du système. L'objectif est de construire et mettre à jour une grille d'occupation robot-centrée lors de la navigation du robot. Cette opération doit être exécutée à 30Hz, afin de réduire la latence entre l'acquisition des images et la détection des obstacles. La détection des zones du sol occupées est faite par l'algorithme de classification AdaBoost en utilisant un vecteur d'attributs. Les attributs utilisés sont la couleur et la texture. Pour la couleur, nous utilisons l'espace de couleur CIE-Lab, car cela permet d'avoir une plus grande immunité au changement de l'éclairage. Les attributs de texture sont obtenues par une méthode adaptée de la technique des histogrammes de sommes et différences. Cette adaptation réduit considérablement les ressources nécessaires pour calculer les attributs de texture, tout en fournissant un modèle riche de chacun des objets présents dans une scène acquise par une des micro-caméras. Chaque pixel dans l'image est classifié pour savoir s'il appartient ou pas au sol, en fonction de ces attributs couleur-texture. Une fois le pixel classé, il est projeté sur le plan du sol pour enrichir la grille d'occupation courante de l'environnement. Plusieurs paramètres de notre approche ont été sélectionnés afin de développer un système avec le meilleur compromis entre les performances et les ressources consommées. Les graphiques de performances de la classification ainsi que les ressources consommées par les architectures implantées sont présentés. Les architectures ont été développées en VHDL avec les outils Altera; des comparaisons sont présentées avec une approche fondée sur des outils de synthèse haut-niveau (Gaut, labview...). Finalement ces architectures ont été portées et évaluées sur un kit Stratix3 connecté à 4 caméras et embarqué sur un robot mobile. / One of the more important tasks to be executed on a mobile robot, concerns thedetection of obstacles during the robot motions. Many methods have been proposed for this function: nevertheless their performances are limited when applied in a structured environment made highly dynamic and cluttered due to humans. This document presents a visual and flexible system for obstacle detection in such an environment. The system is made of several micro-cameras fixed all around the robot body, and of a programmable electronic board. The camera number must be large enough (4 in the current version, 8 in the future one), so that real-time performances mandatory for such a function, cannot be reached from a standard multipurpose processor. It makes compulsory to design and to implement a hardware architecture devoted for image processing. The execution of parallel processes on FPGAs allows to reach real-time performances, while minimizing the required energy and the system cost. The system objective consists in building and updating a robot-centered occupancy grid while the robot is navigating. This function must be executed at 30Hz, in order to minimize the latency between image acquisition and obstacle detection.The detection of occupied ground areas is given by a classification algorithm, using an AdaBoost classifier on characteristic vectors. These vectors are built from color and texture attributes. For the color, the CIE-Lab space has been selected because it allows a better invariance according to the light variations. For the texture, an original method has been proposed adapting the Unser approach based on sum and difference histograms. This approach has been modified in order to reduce significantly the resources required to compute the texture attributes, while providing a fine model for every object detected on a scene acquired by each micro-camera. Each pixel in every image is classified as Ground or Obstacle, with respect to its color and texture attributes. Once a pixel is classified, it is projected on the ground plane in order to update the current occupancy grid built to represent the environment. Many parameters for our approach have been selected in order to develop a system with the better trade-off between performances and consumed resources. Every proposed architecture is evaluated using curves between classification performances and required resources. These architectures have been developed in VHDL using the Altera tool boxes; this classical approach has been compared with a method based on tools providing high level synthesis (Gaut, labview...). Finally all architectures avec been implemented and evaluated on a Stratix3 development kit connected to four cameras, and embedded on a mobile robot.
|
Page generated in 0.2568 seconds