L'objectif de cette thèse est de concevoir un système de perception stéréoscopique embarqué, permettant une navigation robotique autonome en environnement dynamique (i.e. comportant des objets mobiles). Pour cela, nous nous sommes imposé plusieurs contraintes : 1) Puisque l'on souhaite pouvoir naviguer en terrain inconnu et en présence de tout type d'objets mobiles, nous avons adopté une approche purement géométrique. 2) Pour assurer une couverture maximale du champ visuel nous avons choisi d'employer des méthodes d'estimation denses qui traitent chaque pixel de l'image. 3) Puisque les algorithmes utilisés doivent pouvoir s'exécuter en embarqué sur un robot, nous avons attaché le plus grand soin à sélectionner ou concevoir des algorithmes particulièrement rapides, pour nuire au minimum à la réactivité du système. La démarche présentée dans ce manuscrit et les contributions qui sont faites sont les suivantes. Dans un premier temps, nous étudions plusieurs algorithmes d’appariement stéréo qui permettent d'estimer une carte de disparité dont on peut déduire, par triangulation, une carte de profondeur. Grâce à cette évaluation nous mettons en évidence un algorithme qui ne figure pas sur les benchmarks KITTI, mais qui offre un excellent compromis précision/temps de calcul. Nous proposons également une méthode pour filtrer les cartes de disparité. En codant ces algorithmes en CUDA pour profiter de l’accélération des calculs sur cartes graphiques (GPU), nous montrons qu’ils s’exécutent très rapidement (19ms sur les images KITTI, sur GPU GeForce GTX Titan).Dans un deuxième temps, nous souhaitons percevoir les objets mobiles et estimer leur mouvement. Pour cela nous calculons le déplacement du banc stéréo par odométrie visuelle pour pouvoir isoler dans le mouvement apparent 2D ou 3D (estimé par des algorithmes de flot optique ou de flot de scène) la part induite par le mouvement propre à chaque objet. Partant du constat que seul l'algorithme d'estimation du flot optique FOLKI permet un calcul en temps-réel, nous proposons plusieurs modifications de celui-ci qui améliorent légèrement ses performances au prix d'une augmentation de son temps de calcul. Concernant le flot de scène, aucun algorithme existant ne permet d'atteindre la vitesse d'exécution souhaitée, nous proposons donc une nouvelle approche découplant structure et mouvement pour estimer rapidement le flot de scène. Trois algorithmes sont proposés pour exploiter cette décomposition structure-mouvement et l’un d’eux, particulièrement efficace, permet d'estimer très rapidement le flot de scène avec une précision relativement bonne. A notre connaissance, il s'agit du seul algorithme publié de calcul du flot de scène capable de s'exécuter à cadence vidéo sur les données KITTI (10Hz).Dans un troisième temps, pour détecter les objets en mouvement et les segmenter dans l'image, nous présentons différents modèles statistiques et différents résidus sur lesquels fonder une détection par seuillage d'un critère chi2. Nous proposons une modélisation statistique rigoureuse qui tient compte de toutes les incertitudes d'estimation, notamment celles de l'odométrie visuelle, ce qui n'avait pas été fait à notre connaissance dans le contexte de la détection d'objets mobiles. Nous proposons aussi un nouveau résidu pour la détection, en utilisant la méthode par prédiction d’image qui permet de faciliter la propagation des incertitudes et l'obtention du critère chi2. Le gain apporté par le résidu et le modèle d'erreur proposés est démontré par une évaluation des algorithmes de détection sur des exemples tirés de la base KITTI. Enfin, pour valider expérimentalement notre système de perception en embarqué sur une plateforme robotique, nous implémentons nos codes sous ROS et certains codes en CUDA pour une accélération sur GPU. Nous décrivons le système de perception et de navigation utilisé pour la preuve de concept qui montre que notre système de perception, convient à une application embarquée. / This thesis aims at designing an embedded stereoscopic perception system that enables autonomous robot navigation in dynamic environments (i.e. including mobile objects). To do so, we need to satisfy several constraints: 1) We want to be able to navigate in unknown environment and with any type of mobile objects, thus we adopt a geometric approach. 2) We want to ensure the best possible coverage of the field of view, so we employ dense methods that process every pixel in the image. 3) The algorithms must be compliant with an embedded platform, therefore we must carefully design the algorithms so they are fast enough to keep a certain level of reactivity. The approach presented in this thesis manuscript and the contributions are summarized below. First, we study several stereo matching algorithms that estimate a disparity map from which we can deduce a depth map, by triangulation. This comparative study highlights one algorithm that is not in the KITTI benchmarks, but that gives a great accuracy/processing time tradeoff. We also propose a filtering method to post-process the disparity maps. By coding these algorithm in CUDA to benefit from hardware acceleration on Graphics Processing Unit, we show that they can perform very fast (19ms on KITTI images, with a GPU GeForce GTX Titan).Second, we want to detect mobile objects and estimate their motion. To do so we compute the stereo rig motion using visual odometry, in order to isolate the part induced by moving objects in the 2D or 3D apparent motion (estimated by optical flow or scene flow algorithms). Considering that the only optical flow algorithm able to perform in real-time is FOLKI, we propose several modifications of it to slightly improve its performances at the cost of a slower processing time. Regarding the scene flow estimation, existing algorithms cannot reach the desired computation speed, so we propose a new approach by decoupling structure and motion for a fast scene flow estimation. Three algorithms are proposed to use this structure-motion decomposition, and one of them, particularly efficient, enables very fast scene flow computing with a relatively good accuracy. To our knowledge it is the only published scene flow algorithm able to perform at framerate on KITTI dataset (10 Hz).Third, to detect moving objects and segment them in the image, we show several statistical models and residual quantities on which we can base the detection by thresholding a chi2 criterion. We propose a rigorous statistical modeling that takes into account all the uncertainties occurring during the estimation, in particular during the visual odometry, which had not been done to our knowledge, in the context of moving object detection. We also propose a new residual quantity for the detection, using an image prediction approach to facilitate uncertainty propagation and the chi2 criterion modeling. The benefit brought by the proposed residual quantity and error model is demonstrated by evaluating detection algorithms on a samples of annotated KITTI data. Finally, we implement our algorithms on ROS to run the perception system on en embedded platform, and we code some algorithms in CUDA to accelerate the computing using GPU. We describe the perception and the navigation system that we use for the experimental validation. We show in our experiments that the proposed stereovision perception system is suitable for embedded robotic applications.
Identifer | oai:union.ndltd.org:theses.fr/2017SACLS156 |
Date | 22 June 2017 |
Creators | Derome, Maxime |
Contributors | Université Paris-Saclay (ComUE), Le Besnerais, Guy |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text, Image, StillImage |
Page generated in 0.0035 seconds