Aujourd'hui, le Deep Learning et la Vision par Ordinateur constituent une combinaison puissante qui continue de stimuler l'innovation. Pourtant, les personnes malvoyantes utilisent souvent les mêmes techniques traditionnelles pour se diriger en milieu urbain. Imaginez si cette combinaison pourrait les aider à se diriger de manière autonome. C'est précisément l'objectif de cet article de recherche. Nous proposons de combiner un algorithme de détection d’objet avec une technologie de conversion text to speech capable d'interpréter les informations détectées par l'algorithme de détection.
Pour répondre à ce besoin, nous montrons ici une preuve de concept permettant aux personnes malvoyantes de naviguer dans un environnement complexe sans avoir besoin de chiens guides. L'algorithme détecte les signalisations routières, telles que les feux de circulation et les panneaux stop, et informe les piétons du moment opportun pour traverser ou s'arrêter. A travers cet article, nous allons d’abord détailler le fonctionnement du modèle YOLOv5 Small [2], modèle de détection d'objet dont l'architecture de base YOLO est très connue pour sa rapidité et sa pertinence en temps réel, puis proposer quelques exemples de technologies similaires existantes et enfin vous montrer quelques résultats.
1. L'algorithme YOLO [1] : architecture
L'algorithme de détection utilisé est le modèle YOLOv5 Small (You Only Look Once) [2], réputé pour sa capacité à réagir en quelques millisecondes à un environnement donné et à en extraire des informations cruciales. Le modèle YOLOv5 Small est un modèle simple mais puissant, comprenant 191 couches et environ 7 468 160 paramètres. Ce modèle a été pré-entraîné sur de vastes quantités de données, optimisant ainsi ses poids et biais.
Backbone
Le backbone va permettre l’extraction des features de l'image d’entrée. Ici le backbone utilisé est CSPDarknet53. Le modèle combine les concepts de l’architecture CSPNet et Darknet-53 avec comme objectif l’optimisation computationnelle. Darknet-53 est une architecture composée de 53 couches, principalement des couches de convolution, intégrant également des blocs résiduels. Ces blocs résiduels sont essentiels pour résoudre le problème des gradients dégradés, qui se manifeste lorsque les réseaux deviennent très profonds. À mesure que les couches augmentent en profondeur, les gradients peuvent devenir extrêmement petits (vanishing gradients) ou extrêmement grands (exploding gradients), ce qui perturbe l'apprentissage des feature maps. Les blocs résiduels adressent ce problème en introduisant des connexions directes entre les couches superficielles et les couches plus profondes. Le modèle CSPNet va lui partitionner le flux de gradient en deux parties distinctes. Concrètement, une partie des caractéristiques (features) est traitée directement, tandis que l'autre partie subit des transformations non linéaires à travers des couches convolutives, des normalisations et des fonctions d'activation. Ensuite, ces deux ensembles de caractéristiques, à la fois globales et complexes, sont fusionnés. Cette approche permet de réduire la redondance des gradients et d'améliorer l'efficacité de l'apprentissage.
Neck
Le neck du modèle utilise l'architecture Feature Pyramid Network (FPN) qui combine des cartes de caractéristiques à différentes résolutions pour une meilleure détection des objets. L’objectif du FPN est de créer une pyramide de caractéristiques où on va combiner des caractéristiques de hautes résolutions issues des dernières couches et des caractéristiques de basses résolutions issues des premières couches, le but est de permettre à YOLO d’analyser des images extrêmement variées au niveau des résolutions. Le modèle intègre également le Path Aggregation Network (PANet) pour améliorer la propagation des informations entre les couches profondes et superficielles. PANet vient rajouter des skip connections entre des couches superficielles et des couches profondes pour contrer la perte d'information sémantique, des opérations de convolution optimisées permettent alors d'avoir des features maps excellentes, notamment grâce à des technologies comme Adaptive Feature Pooling qui vont permettre d'adapter la résolution des caractéristiques.
Head
Les réseaux de détection à multi échelle fonctionnent selon la petite échelle, la moyenne échelle et la grande échelle. La petite échelle utilise les caractéristiques issues des couches profondes du modèle permettant alors de détecter les grands objets, la moyenne échelle utilise les caractéristiques issues des couches intermédiaires permettant de capturer des objets moyens tels que des panneaux de signalisation à 50 mètres de l'utilisateur tandis que la grande échelle va venir capturer des objets lointains. En fonction des différentes échelles, une tête de détection va venir prendre en entrée les caractéristiques de cette échelle et va produire une prédiction de bounding box, des scores de confiances sur l'objet détecté et des possibles classes de l'objet, le modèle va alors retenir la classe qui a reçu le meilleur score de confiance pour un objet spécifique.
Architecture d'un modèle de détection de type "Single Stage" tel que YOLO [2,5]
2. Exemples de technologies existantes
Aujourd'hui, cette technologie existe sous diverses formes et a été développée par plusieurs startups, notamment Strap Tech Ara [4]. Le dispositif Ara est une solution innovante pour les personnes malvoyantes, utilisant des capteurs avancés pour détecter les obstacles et fournir des alertes en temps réel via des vibrations haptiques.
Le dispositif portable qui se fixe sur des lunettes OrCam MyEye [3] se rapproche aussi énormément de notre preuve de concept; concrètement, une petite caméra est fixée sur les lunettes de l’utilisateur et capture des images de l’environnement, l'algorithme implanté dans l’appareil est capable de reconnaître des textes, des visages et des objets, ensuite, les informations reconnues sont converties en audio et transmises à l'utilisateur via un petit haut-parleur intégré.
3. Résultats et Applications
La preuve de concept de l'algorithme développé permet aux personnes malvoyantes de naviguer dans des environnements urbains en détectant les signalisations routières. Cette technologie pourra être intégrée à des lunettes et des écouteurs, des capteurs comportant le modèle YOLOv5 Small pourront alors réaliser des tâches de détection, en même temps, avec l’implémentation d’une technologie text to speech; l’objectif est que la technologie puisse ensuite répondre aux questions vocales de l’utilisateur sur par exemple la direction à prendre pour aller d’un point A jusqu’à un point B.
Voici le lien du Github où l’implémentation de cette technologie est disponible: https://github.com/nathan-serfaty/Deep_Learning_Voice_Assistance_for_Blind
Références
[1] "YOLOv5 Small: An Efficient and Accurate Object Detection Model." arXiv preprint arXiv:2104.14450 (2021)
[2] YOLO v5 model architecture: https://iq.opengenus.org/yolov5/
[3] OrCam MyEye: https://www.orcam.com/fr-fr/orcam-myeye-lp-pour-tous
[4] Strap Technologies Ara: https://www.strap.tech/
[5] BOCHKOVSKIY, Alexey, WANG, Chien-Yao, et LIAO, Hong-Yuan Mark. Yolov4: Optimal speed and accuracy of object detection. arXiv preprint arXiv:2004.10934, 2020.
Comments