Technologies en faveur des déficients visuels
Segmentation
La détection des obstacles sur un chemin, peut être traitée comme un pro-blème de segmentation, en vue de distinguer les pixels qui appartiennent au chemin, de ceux qui ne sont pas, i.e. qui présentent un obstacle. Mais nous devons tout d‟abord définir l‟appartenance dans notre cas, et les cri-tères selon lesquelles nous allons qualifier un pixel comme appartenant au che-min ou non, car les chemins peuvent être diversifiés et leurs textures peuvent être compliquées. Toutefois l‟indice de couleur seul ne peut pas refléter nécessai-rement la présence d‟un obstacle, i.e. l‟obstacle peut avoir la même couleur que le chemin, ou encore, le chemin n‟est pas nécessairement d‟une couleur unifiée et peut contenir des textures complexes, et les ombres peuvent être facilement con-fus pour des obstacles. La seule distinction légitime –à notre avis- qui peut diffé-rencier un chemin des obstacles est en termes de profondeur.
Les obstacles ont généralement une hauteur (qu‟elle soit positive ou négative) qui les distingue du chemin traversable, or cette hauteur est perdue dans la projection du monde réel tridimensionnel sur une image bidimensionnelle. Pour ce faire, nous avons utilisé une combinaison de trois méthodes de segmenta-tion, qui sont expliquées dans le deuxième chapitre, à savoir : La segmentation par soustraction du background, la segmentation à base de mouvement et la segmentation par détection de contours. vi. Division de l’image Marr [20] a défini la vision par ordinateur comme : « le processus qui per-met -étant donné un ensemble d’images- de créer une représentation complète et précise de la scène et ses propriétés ». Cette définition est connue sous le nom de la « vision générale » parce que les informations extraites à partir de la scène doi-vent être aussi générales que possibles.
Or, la reconstruction complète (la plus générale) d‟une scène nécessite une puis-sance de calcul considérable, et souvent, pour certaines tâches, il n‟est pas néces-saire d‟acquérir toutes les informations sur une scène donnée, mais juste ce qui est nécessaire pour le problème à résoudre. En vision biologique par exemple, les systèmes de vision des fourmis et les abeilles acquiescent la direction aux en-droits importants à partir du phénomène de la polarisation du ciel bleu [21]. Ils emploient les propriétés de leur environnement pour trouver leur chemin, cela suggère que « la perception est intimement liée à la physiologie du sujet et les tâches qu’il doit accomplir » [22].
Dans ce travail, nous ne cherchons pas à trouver la position exacte des obstacles dans le monde réel, leurs formes ou les relations qui peuvent exister entre ces objets, plutôt nous cherchons seulement à les éviter et à trouver les régions les moins encombrées d‟obstacles. De cette perspective, et inspirés de [12] [23] [24], nous proposons de diviser l‟image en cinq régions, chaque région sera présentée par une barre et fait cor-respondance avec une région dans le champ de vue de la caméra. Utilisons l‟hypothèse 3 (caméra fixée dans une position connue), nous pouvons ainsi établir une relation empiriquement déduite entre la géométrie de la scène et celle de son image 2D. En prenant l‟image d‟une scène plane ne contenant pas d‟obstacles, il est possible de présenter les dimensions de chaque région en termes de pixels. Or, si le champ de vision contient des obstacles, nous ne pourrons pas faire de correspondance en termes de dimensions entre le monde réel et son image bidimensionnelle, cela revient au fait que les pixels d‟un obstacle vont « cacher » ceux du background. Cela est résolu par le fait qu‟on cherche la position du premier obstacle, et que distance entre la caméra et le premier obstacle appartient néces-sairement au background. Ainsi avec la caméra fixée dans une position préétablie, nous avons calculé les dimensions suivantes :
Combinaison des résultats des méthodes de segmentation
Comme expliqué auparavant, nous utilisons trois méthodes pour la seg-mentation background/foreground à savoir la mixture de gaussiennes, le flux op-tique et le contour de Canny. Cette approche nous permet de détecter le maxi-mum d‟obstacles. Certes, cela peut engendrer une « surestimation » d‟obstacles, qui conduira à dé-tourner parfois des obstacles qui n‟existent pas. Mais dans un cadre où le risque d‟ignorer des obstacles peut engendrer des graves dégâts, nous estimons le pire des cas, et nous cherchons à combiner les résultats de plusieurs méthodes au lieu de ne considérer qu‟une. La méthode de détection de contours est la plus sensible au changement de lumi-nance dans une image.
Elle détecte tous les contours dans une texture. Cela amènes à segmenter des régions comme étant des obstacles, alors qu‟elles font partie du background. La méthode de mixture des gaussiennes, peut tolérer certains obstacles s‟ils res-tent „longtemps‟ dans le champ de vue. La méthode refait l‟apprentissage dans un laps de temps, ainsi les objets qui font partie de la scène une période de temps suffisante, risquent d‟être considérés comme des objets de l‟arrière-plan. Quoique la méthode du flux optique présente les meilleurs résultats, elle omet généralement les objets statiques dans la scène tels que les murs. En effet, nous utilisons la combinaison des trois méthodes, et nous procédons ain-si par un vote, où chaque méthode nous fournit la position de l‟obstacle le plus proche dans chaque barre. Si deux méthodes au moins « sont d’accord » sur une réponse, nous la choisissons. Si les réponses des trois méthodes diffèrent l‟une de l‟autre, et si par exemple la méthode 1 dit que l‟obstacle est critique, alors que la méthode 2 dit qu‟il est loin, et la troisième dit qu‟il est proche, alors nous pouvons rien conclure sur ce cas, et par principe de « la sécurité d’abord », nous choisis-sons le cas le plus échéant, et nous concluons que l‟obstacle est critique. En fait, trois réponses en accord valent mieux qu‟une seule, et pour refléter cela, nous associons les votes des trois méthodes avec un indice dit de fiabilité. Cet in-dice sera traduit par un poids dans notre système de décision, ce poids est ensuite associé aux règles en question. Par conséquent, si les trois règles sont en accord, nous avons un degré de fiabilité de 100%, deux règles avec 66% et une seule règle avec 33%.
Structure hiérarchique
Pour réduire le nombre de règles à introduire, nous proposons une archi-tecture hiérarchique pour le système de décision. L‟idée est de décomposer le con-trôleur principal en des sous-contrôleurs où chacun va manipuler un sous en-semble de variables à la fois. Ainsi, pour les cinq variables d‟entrée que nous avons, au lieu de les manipuler toutes à la fois, nous allons manipuler deux va-riables avec un sous-contrôleur 1, qui va donner une variable en sortie. Un sous-contrôleur 2, va traiter deux autres variables, et donne une variable en sortie, et un troisième sous-contrôleur, va combiner les résultats des deux premiers avec la cinquième variable. L‟affectation des variables aux sous-contrôleurs, n‟est pas arbitraire, nous affec-tons au contrôleur FC1 les variables x1 et x2, qui présentent respectivement les régions extrême-gauche et gauche. Nous aurons en sortie un indice qui reflète l‟encombrement de la région gauche d‟obstacles. De même, au sous-contrôleur 2, nous affectons les deux variables x4 et x5 qui désigne respectivement les barres de droite et extrême droite. Le sous-contrôleur 3, manipule la variable in-diquant la barre de centre, et les sorties des deux sous-contrôleurs 1 et 2.
Avec cette architecture, le nombre des règles augmente linéairement, puisque le nombre des règles total est la somme de nombre des règles des sous-contrôleurs. Les variables d‟entrée x1…x5, sont distribuées sur les trois sous-contrôleurs. Nous avons alors pour le FC1 deux variables d‟entrée avec cinq termes linguis-tiques. Aussi, nous obtenons 52=25 combinaisons pour citer les différentes règles du FC1, pour FC2, nous avons de même 25 règles, et pour FC3 nous avons 5*3*3 = 45 règles. Alors pour tout le système nous avons besoin de citer 95 règles. Nous remarquons bien que cela nous a aidés à réduire le nombre de règles à citer de 3125 à 95. L‟architecture hiérarchique introduit de nouvelles variables intermédiaires dans le système. Par conséquent, nous devons définir des variables de sorties pour les sous contrôleurs FC1 et FC2, qui seront ensuite les entrées du FC3. Le problème qui se pose est la sémantique des variables intermédiaires, puisque c‟est un état « intra-système ». Alors nous devons définir une « sémantique » de ces variables intermédiaires pour que nous puissions définir leurs fonctions d‟appartenance, et les utiliser par la suite dans les règles. Nous introduisons un nouveau paramètre, étant la traversabilité d’une région. À partir des deux variables de la région gauche (la gauche et l‟extrême gauche) et la région droite (la droite et l‟extrême droite) nous définissons un indice dit de tra-versabilité, et qui indique si une région est encombrée d‟obstacles.
|
Table des matières
Sommaire
Remerciements
Résumé
Abstract
Liste des figures
Liste des tableaux
Liste des acronymes
Introduction générale
Chapitre 1 : Généralités
I.Introduction
II.Technologies en faveur des déficients visuels
II.1. Renforcement de la vision (Vision Enhancement)
II.2. Remplacement de la vision (Vision Replacement)
II.3. Substitution de la vision (Vision Substitution)
III. Systèmes de navigation
III.1. Le sonar
III.2. Scanner Laser
III.3. Caméra
Stéréovision (stéréoscopie)
Les approches utilisant une seule caméra
Systèmes développés Sommaire
Rapport de PFE 2015-2016
IV.1. Navebelt
IV.2. Electron-Neural Vision System ENVS
Conclusion
Chapitre 2 : Algorithmes utilisés et logique floue
I.Introduction
II.Segmentation par soustraction du background
II.1. Une méthode de soustraction basique
II.2. Apprentissage du background
Estimation par une Gaussienne
Mixture de gaussiennes (GMM)
III. Segmentation par mouvement : optical Flow Méthode de Lucas-Kanade
Segmentation par contours
Contours de Canny
Réduction du bruit
Gradient d‟intensité
Direction des contours
Suppression des non-maxima
Seuillage des contours
Logique floue
V.1. Définition
V.2. Eléments de base de la logique floue
Variables linguistiques
Fonctions d‟appartenance
iii. Déductions aux inférences
V.3. Composantes d‟un contrôleur flou
Conclusion
Chapitre 3 : Approche adoptée
I.Introduction
II.Hypothèses préétablies
III. Architecture générale du système
III.1. Sous-système de vision
Prétraitement
Segmentation
iii. Post-Traitement
Division de l‟image
Régions connectées
Combinaison des résultats des méthodes de segmentation
III.2. Sous système de décision
Architecture
Les variables du système
iii. Problème de dimensions
Structure hiérarchique
Base des règles
Conclusion
Chapitre 4 : Implémentation et tests du système
I.Introduction
II.Bibliothèques utilisées
II.1. OpenCV
II.2. FuzzyLite
III. Développement de l‟application
III.1. Environnement de l‟implémentation
III.2. Architecture de l‟application
IV.Tests de l‟application
V.1. Environnements des tests
V.2. Résultats
Taux d‟exactitude
Taux d‟optimisation
iii. Temps d‟exécution
V.3. Temps réel
Programmation parallèle
GPU
iii. Temps de calcul
Conclusion
Conclusion générale & Perspectives
Références
Télécharger le rapport complet