Membres de l’équipe
Destiny Bailey, Zahra Ebrahimi Jouibari, Mira Patel, Sevy Veeken
Sommaire
SightMap.ai est un outil d’assistance complet alimenté par l’IA qui aide les personnes malvoyantes à appréhender leur environnement et à s’y déplacer en toute sécurité.
Mots-clés
Vision par ordinateur, détection d’objets, estimation de la profondeur, déplacement sur une trajectoire sans obstacle
Inspiration et contexte du projet
La vue est une faculté essentielle qui nous aide à interpréter et à découvrir le monde qui nous entoure. Tout le monde n’a cependant pas la chance d’en être pourvu. Selon l’Organisation mondiale de la santé, plus de 2,5 milliards de personnes sur la planète auraient besoin de dispositifs d’assistance pour mieux interagir avec leur environnement. La prévalence des troubles de la vue varie énormément d’une région à l’autre et dépend en grande partie de l’accessibilité, du coût et de la qualité des soins oculaires et des programmes d’éducation.
Le Rapport mondial sur les technologies d’assistance (2022) publié conjointement par l’OMS et l’UNICEF fournit un cadre de référence utile pour réduire ces disparités. Il contient une série de recommandations qui reposent sur la nécessité de mettre au point des technologies d’assistance sûres, efficaces et abordables — une mission qui nous tient particulièrement à cœur. Nous sommes sensibles à l’importance de travailler au service des gens, mais aussi de les impliquer, eux et leur famille, à toutes les étapes de l’élaboration et de la mise en œuvre de nos solutions.
Nous avons consulté une spécialiste, un entraîneur en chef du Centre Mieux Vivre et une coordonnatrice des activités d’éducation du public à l’Institut national canadien pour les aveugles (INCA). Nos entretiens avec ces personnes ont mis en lumière les problèmes de taille que posent les technologies d’assistance actuelles. L’un des faits les plus marquants concerne les obstacles financiers auxquels font face un grand nombre de personnes malvoyantes, une situation souvent exacerbée par des taux de pauvreté élevés au sein de la communauté. En l’état actuel des choses, peu de provinces offrent une aide financière suffisante pour couvrir le coût de ces technologies essentielles. Par ailleurs, l’un des principaux obstacles à la mobilité réside dans les cinq derniers mètres d’un trajet, un point critique où de nombreuses technologies d’assistance connaissent des ratés. Il est essentiel que les dispositifs d’assistance soient conviviaux et discrets afin que les personnes qui les utilisent puissent se déplacer en toute confiance sans attirer inutilement l’attention.
Technologies utilisées
- Google Colab
- GitHub
- OpenCV
- Python
- PyTorch
- Matplotlib
- NumPy
- Pillow
- MIDAS
- Ultralytics YOLO
Développement du projet
SightMap est un outil conçu pour guider les personnes malvoyantes en analysant leur environnement à l’aide de fonctionnalités vidéo. L’application identifie les objets présents dans l’environnement, évalue leur distance par rapport à la personne, puis émet des indications audio pour l’aider à se déplacer sans rencontrer d’obstacles.
Nous avons tout d’abord consulté un entraîneur en chef du Centre Mieux Vivre et une coordonnatrice des activités d’éducation du public à l’Institut national canadien pour les aveugles (INCA) afin de mieux connaître les problèmes que les personnes aveugles ou malvoyantes rencontrent avec les technologies d’assistance actuelles. L’un des principaux défis que nous avons relevés concerne la difficulté à parcourir les cinq derniers mètres d’un trajet. Cette constatation nous a amenées à développer une solution propulsée par la vision par ordinateur et fondée sur notre algorithme innovant de déplacement sur une trajectoire sans obstacle.
Notre méthode consiste à appliquer, dans un premier temps, un modèle d’algorithme YOLO préentraîné à partir de divers ensembles de données tels que COCO (Common Objects in Context) et VOC (Pascal Visual Object Classes). COCO est un ensemble de données de grande envergure qui sert à détecter, à segmenter et à décrire les objets de 80 catégories. Pour sa part, VOC est un ensemble de données conçu pour détecter et segmenter les objets issus de 20 catégories et de plus de 11 000 images.
Une fois les objets identifiés dans l’environnement, le système doit calculer la distance qui les sépare de la personne malvoyante. Pour ce faire, nous avons essayé différents modèles de cartes de profondeur et avons constaté que MIDAS était celui qui offrait la plus grande précision. MIDAS est entraîné à partir de plusieurs ensembles de données, dont KITTI, un ensemble largement utilisé pour les véhicules autonomes et les tâches de vision par ordinateur.
Nous avons combiné les données relatives à la détection des objets et les données relatives à la profondeur de champ dans notre algorithme de déplacement sur une trajectoire sans obstacle. L’algorithme détecte les objets présents dans l’image, puis les classe par distance, du plus proche au plus éloigné, à l’aide de la carte de profondeur. L’image est divisée en trois zones (gauche, droite et milieu) selon des seuils prédéfinis. Si deux de ces zones contiennent des objets, l’algorithme propose à la personne d’emprunter la direction exempte d’obstacles. S’il y a des objets dans les trois zones, l’algorithme choisit alors la direction où les objets sont les plus éloignés de la personne, ce qui réduit le risque d’accident.
Enfin, la trajectoire suggérée est convertie en texte, puis en indications audio à l’aide de l’API OpenAI pour guider la personne malvoyante.
Impact et innovation
L’une des avancées les plus remarquables de SightMap.ai par rapport aux solutions actuelles est sa capacité à fournir des informations spatiales complètes en temps réel. Efficace et abordable, SightMap.ai comble les lacunes des solutions sur le marché, qui sont offertes à un prix prohibitif ou qui présentent des fonctionnalités limitées. En intégrant des fonctionnalités évoluées de détection d’objets à différentes distances et en hiérarchisant les objets selon leur proximité, SightMap.ai fournit des informations essentielles qui facilitent la prise de décision immédiate, ce qui réduit grandement les risques d’accident et améliore les déplacements dans leur ensemble.
Les solutions gratuites, telles que les applications SeeingAI et EnvisionA, ratent souvent la cible en omettant des objets présents dans l’espace et en ne tenant pas compte de leur importance et du contexte spatial, de sorte qu’elles donnent un aperçu incomplet de l’environnement. SightMap.ai apporte une solution à ce problème en utilisant des algorithmes de vision artificielle pour identifier les objets et les obstacles, mais aussi pour estimer leur position par rapport à la personne afin qu’elle puisse se faire une bonne idée de son environnement. Cette fonctionnalité est indispensable pour que les personnes malvoyantes sachent quels obstacles se trouvent le plus près d’elles afin qu’elles puissent se déplacer en tenant compte des priorités du monde réel.
Autre innovation majeure, SightMap.ai intègre les données vidéo de manière fluide, ce qui n’est pas le cas de la plupart des produits sur le marché. Cette capacité permet un retour d’information en continu, de sorte que les personnes n’ont pas à s’arrêter pour capter des images, ce qui est souvent le cas avec les autres outils. Ainsi, les déplacements sont fluides et conformes aux mouvements humains naturels. L’expérience est moins hachée et s’apparente davantage à la manière dont les personnes voyantes interagissent avec leur environnement.
Enfin, si de nombreuses technologies actuelles, telles que les lunettes OrCam MyEye et Eyedaptic, se vendent à prix fort, SightMap.ai rend cette technologie plus largement accessible. En levant les obstacles liés au coût, SightMap.ai met les outils d’assistance à la portée d’un plus large public, si bien que davantage de gens peuvent mener une vie autonome, sans le stress d’un fardeau financier supplémentaire.
Défis et solutions
Le développement de SightMap n’a pas été un processus facile, car au lieu de se limiter à l’entraînement d’un modèle, il consistait à créer un pipeline complet doté de modules devant fonctionner en synergie.
La première difficulté tenait au fait que les étiquettes YOLO ne répondaient pas à tous nos besoins. Nous avons donc dû identifier les principaux objets couramment rencontrés dans les environnements intérieurs comme extérieurs. Notre objectif était de créer un modèle stable qui offre une bonne performance dans ces deux environnements.
Par ailleurs, comme les images sont prises par une caméra en mouvement, la visibilité des objets n’est pas toujours la même, ce qui joue sur la précision de l’algorithme YOLO. Par exemple, à l’approche d’une poubelle, YOLO peut identifier correctement l’objet, car nous avons créé une catégorie « poubelle ». Cependant, dès que l’on se rapproche, seul le couvercle devient visible; YOLO risque alors de ne plus reconnaître l’objet. Pour remédier à ce problème, nous avons élargi la portée des catégories afin de gagner en précision et de minimiser les risques d’accident.
Pour le module suivant, qui calcule la distance entre la personne et les objets, nous avons utilisé une carte de profondeur. Ce genre de carte fournit une représentation en pixels achromatiques des objets en fonction de la distance qui les sépare de la caméra. Toutefois, ce format ne permet pas d’obtenir la représentation complète d’un objet. Nos recherches nous ont amenées à conclure que la distance de l’objet serait mieux représentée par la conversion des données pixellisées en une unité de mesure valable.
Le défi suivant consistait à déterminer l’orientation d’un objet par rapport à la position de la caméra. Étant composées de pixels, les images n’indiquent pas en elles-mêmes la direction dans laquelle se trouve un objet. Pour pallier cela, nous avons calculé le centroïde de chaque objet et, selon sa position dans l’image, nous avons déterminé s’il se trouvait au milieu, à droite ou à gauche de l’utilisateur ou de l’utilisatrice.
Au-delà de ces enjeux techniques, nous nous sommes longuement interrogées sur les aspects éthiques de SightMap, à plus forte raison que cette technologie fait appel à des images. D’emblée, nous avons conçu le pipeline pour qu’il ne stocke aucune image, ce qui permet à notre système de fonctionner en temps réel sans poser de risques d’ordre éthique.
Apprentissages et réalisations
Le AI4Good Lab nous a sensibilisées à l’utilisation de l’IA pour le bien commun, en abordant les questions du développement éthique, de la concertation des parties prenantes et de l’importance de la collaboration interdisciplinaire. Le développement technologique soucieux du contexte et des enjeux sociétaux était au cœur du programme. Les conférences, les séances avec notre assistant d’enseignement, les ateliers, les rencontres d’équipe hebdomadaires et les activités de réseautage nous ont permis d’acquérir les compétences nécessaires pour donner vie à nos idées dans l’intérêt du plus grand nombre. Cette base nous a permis de structurer notre projet en privilégiant les besoins des utilisateurs et utilisatrices, les considérations éthiques et l’innovation — des aspects qui se sont avérés essentiels tout au long du travail de développement.
Au cours de l’élaboration de SightMap, nous avons appris à résoudre des problèmes complexes liés à l’intégration des capacités techniques et des exigences du monde réel. Nous avons enrichi nos compétences de résolution de problèmes, de prototypage et de collaboration en travaillant ensemble à améliorer notre projet en fonction des commentaires et de l’évolution des besoins. Cette approche nous a permis de perfectionner notre solution afin d’en accroître la performance et la convivialité.
Prochaines étapes pour l’équipe et le projet
L’obtention d’un Accelerator Award nous a permis de participer au programme de mentorat de l’Amii pour les entreprises en démarrage. Nous nous sommes familiarisées avec l’aspect commercial des projets et avons pu amorcer une réflexion critique sur l’évolutivité de notre produit. Étant donné le calendrier du projet et notre volonté de créer une solution gratuite, nous doutions cependant que le modèle de la jeune pousse puisse répondre à nos objectifs. Nous croyions que SightMap correspondait davantage à un produit sans but lucratif. Cependant, nous avions besoin de temps et de fonds supplémentaires pour en poursuivre le développement. Ce processus devait se faire par itération à la suite de tests utilisateurs menés auprès d’organisations avec lesquelles nous étions entrées en contact. Malheureusement, les membres de notre équipe ont décidé de poursuivre leurs études et ont convenu, d’un commun accord, de ne pas commercialiser la solution. Nous allons tout de même continuer à appliquer les apprentissages et les expériences que nous avons tirés de notre passage au AI4GoodLab et à travailler ensemble sur ce projet!
Remerciements
Remerciements
Nous tenons à exprimer notre sincère gratitude à notre assistant d’enseignement, Jake Tuero, et à notre mentor, Ankit Anand, pour leur aide inestimable. Nous remercions également Doina Precup et Angelique Mannella, les créatrices du AI4Good Lab, pour leur vision et leur volonté de mettre l’IA au service du bien commun. Notre reconnaissance va aussi à Yorsa Kazemi, à Jennifer Addison et à tous ceux et celles qui ont apporté leur concours à ce programme.
Enfin, nous remercions chaleureusement le CIFAR, Google DeepMind, Mila — Institut québécois d’intelligence artificielle, l’Alberta Machine Intelligence Institute (Amii), l’Institut Vecteur, la Design Fabrication Zone de la Toronto Metropolitan University et Manuvie d’avoir rendu ce projet possible.
Références
Fondation INCA, https://www.inca.ca/fr?region=on
Everingham, Mark, et coll. « The pascal visual object classes (voc) challenge », International journal of computer vision 88 (2010), p. 303-338.
Lin, Tsung-Yi, et coll. « Microsoft coco: Common objects in context », Computer Vision–ECCV 2014: 13th European Conference, Zurich, Switzerland, 6-12 septembre 2014, actes de colloque, partie V 13, Springer International Publishing, 2014.
Geiger, Andreas, et coll. « Vision meets robotics: The kitti dataset », The International Journal of Robotics Research 32.11 (2013), p. 1231-1237.
Redmon, Joseph, et coll. « You only look once: Unified, real-time object detection », Proceedings of the IEEE conference on computer vision and pattern recognition, 2016.
Ranftl, René, et coll. « Towards robust monocular depth estimation: Mixing datasets for zero-shot cross-dataset transfer », IEEE transactions on pattern analysis and machine intelligence 44.3 (2020), p. 1623-1637.
Organisation mondiale de la santé et UNICEF. https://www.who.int/publications/i/item/9789240049451