FR 3104788 A1 20210618 FR 1914480 A 20191216 L’invention porte sur un appareil (1) autonome et portatif d’assistance à la mobilité d’un utilisateur, comprenant : - un dispositif de communication d’alerte à l’utilisateur (4) ; - un capteur stéréoscopique (2) apte à fournir une image de profondeur d’une scène imagée ; - un calculateur de vision artificielle (3) configuré pour identifier et caractériser des obstacles potentiels dans la scène imagée à partir de l’image de profondeur et pour contrôler le dispositif de communication d’alerte de manière à ce qu’il informe l’utilisateur de la présence d’un obstacle. Figure pour l’abrégé : Figure 1 Appareil d’assistance à la mobilité par vision artificielle Le domaine de l’invention est celui de la vision par ordinateur et plus précisément celui de l’analyse automatique d’une scène pour en détecter des dangers potentiels pour un utilisateur. L’invention concerne plus particulièrement un dispositif autonome et portatif de vision artificielle pour l’assistance à la mobilité d’un utilisateur. Elle trouve notamment application en tant que technologie d'assistance aux personnes déficientes visuelles, le dispositif pouvant par exemple être monté sur une canne blanche. Les personnes aveugles ou malvoyantes disposent actuellement d’un certain nombre d’outils non technologiques (chien guide, canne blanche, accompagnant humain) ou technologiques qui leur fournissent une assistance afin qu’elles puissent se déplacer malgré leur handicap. Parmi les outils technologiques, les cannes blanches dites « électroniques » constituent la seule famille de dispositifs capables d’alerter les personnes déficientes visuelles de la présence d’obstacles. Ces dispositifs sont essentiellement basés sur des distance-mètres utilisant des ultrasons (pour les dispositifs Ultracane ou Rango) ou un laser (pour le dispositif Tom Pouce). Le problème commun à tous ces dispositifs est la pauvreté du signal utilisé qui rend son utilisation complexe et impose une formation et un apprentissage longs pour l’utilisateur. Par ailleurs, tous ces dispositifs se focalisent sur la détection d’obstacles (au sol et/ou en hauteur) sans pour autant qualifier ces obstacles. Ils ne sont donc pas à même de fournir une alerte en présence de dangers tels qu’un trou, un escalier montant ou descendant, un relief montant ou descendant (marche, bordure de trottoir), la proximité d'une zone de danger (route, piste cyclable, sortie de garage) ou encore la présence de l’utilisateur dans une zone de danger. L’invention a pour objectif de proposer un outil d’assistance à la mobilité à la fois plus performant, plus riche en informations et en fonctions mais aussi plus simple d’utilisation et plus court en apprentissage que les outils technologiques actuellement disponibles. A cet effet, l’invention concerne un appareil autonome et portatif d’assistance à la mobilité d’un utilisateur, comprenant : - un dispositif de communication d’alerte à l’utilisateur ; - un capteur stéréoscopique apte à fournir une image de profondeur d’une scène imagée ; - un calculateur de vision artificielle configuré pour identifier et caractériser des obstacles potentiels dans la scène imagée à partir de l’image de profondeur et pour contrôler le dispositif de communication d’alerte de manière à ce qu’il informe l’utilisateur de la présence d’un obstacle. Certains aspects préférés mais non limitatifs de cet appareil sont les suivants : - le calculateur de vision artificielle est configuré pour détecter un plan du sol et pour déterminer une image de profondeur débarrassée de pixels appartenant à la surface du sol ; - le calculateur de vision artificielle est configuré pour identifier un ou plusieurs blocs de pixels continus dans l’image de profondeur débarrassée de pixels appartenant à la surface du sol et pour déterminer une enveloppe volumique de chaque bloc identifié ; - le calculateur de vision artificielle est configuré pour réaliser une analyse de forme d’une enveloppe volumique. D'autres aspects, buts, avantages et caractéristiques de l’invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d'exemple non limitatif, et faite en référence aux dessins annexés sur lesquels : est un schéma d’un appareil conforme à l’invention ; est un diagramme représentant une séquence possible d’opérations mises en œuvre par le calculateur de l’appareil selon l’invention. L’invention concerne un appareil autonome et portatif de vision artificielle pour l’assistance à la mobilité d’un utilisateur. L’appareil permet d’alerter l’utilisateur de la présence de différents dangers tels que des obstacles, des trous, des escaliers ou des routes. Cet appareil peut notamment s’adresser à un public de personnes aveugles ou malvoyantes. L’appareil, dans son ensemble, est autonome aussi bien énergétiquement (il est doté d’une batterie) que d’un point de vue du réseau. Il ne nécessite aucune information autre que celles qu’il acquiert, ni de puissance de calcul extérieure, ni d’intervention humaine à distance. L’appareil est ainsi fonctionnel partout, y compris en absence de réseau (mobile, wifi, ou autre). L’appareil, en raison de son volume et de son poids réduits, peut être aisément transporté par l’utilisateur. En utilisation, il peut être porté par l’utilisateur lui-même ou être embarqué sur un équipement de l’utilisateur, par exemple sur une canne blanche pour personne déficiente visuelle ou sur un fauteuil roulant afin par exemple de permettre un évitement automatique d’obstacle ou des fonctions telles que le suivi automatique d’une personne. D’autres contraintes portant sur l’appareil selon l’invention sont les suivantes. L’appareil doit présenter une réactivité suffisante pour que l’utilisateur puisse réagir à la présence d’un danger avant d’entrer en contact avec ce dernier. Le coût de l’appareil doit par ailleurs être acceptable (quelques centaines à quelques milliers d’euros). Enfin, la distance à laquelle il est nécessaire de détecter un danger est de l’ordre de quelques mètres (souvent 2 ou 4m), contrairement par exemple à un véhicule autonome qui doit pouvoir détecter un danger à 100m devant lui. Pour permettre la détection des dangers précités, l’appareil selon l’invention exploite un capteur stéréoscopique à même de fournir une information 3D riche. Un capteur vidéo classique (2D) est en effet insuffisant en ce qu’il ne fournit aucune information de profondeur, ce qui rend notamment impossible la détection de trous et même de tout obstacle « quelconque ». Un algorithme de détection d’objets (typiquement de type apprentissage profond) ne peut répondre à ce problème car, comme tout algorithme basé sur une stratégie d’apprentissage, il nécessite une base de données conséquente qui comprend les objets que l’on cherche à reconnaitre. Or aucune base de données existante ne comprend des trous et aucune ne peut être suffisamment générique pour permettre la détection de tout obstacle qui pourrait se trouver sur le chemin de l’utilisateur. ll existe par ailleurs de nombreux travaux récents permettant de générer une carte 3D à partir d’une image 2D grâce à des algorithmes d’apprentissage profond, ce qui permettrait alors de répondre à ce manque. Mais ces solutions ne sont pas applicables dans le contexte de l’invention pour au moins deux raisons. Tout d’abord, la puissance de calcul nécessaire est incompatible avec la contrainte de portabilité de l’appareil selon l’invention. Par ailleurs, tout algorithme basé sur l’apprentissage est biaisé par le contexte de la base de données sur laquelle il a été appris. Or, les bases de données les plus répandues et complètes concernent soit des scènes statiques (caméras de vidéoprotection), soit des scènes routières (véhicules autonomes), qui sont éloignées de ce que trouvera un piéton lors de ses déplacements quotidiens. Par ailleurs, si la problématique de la détection de dangers se pose également dans le domaine des véhicules autonomes, les contraintes inhérentes à l’application visée par l’invention rendent ces solutions inutilisables. Tout d’abord, l’utilisation de capteurs stéréoscopiques a été abandonnée par l’industrie automobile du fait, d’une part, des complexités de mise en œuvre (calibration, contraintes de stabilité dans le temps malgré la vibration des véhicules, etc.) et, d’autre part, des distances et précisions en jeu (détecter un être humain aussi bien à 1m qu’à 100m du véhicule est impossible car la précision décroit très rapidement avec la distance pour une ligne de base donnée). C’est pourquoi les applications fonctionnelles de véhicules autonomes exploitent des données 3D de télédétection par laser (ou lidar, acronyme de l'expression « light detection and ranging ») qui permet des portées lointaines (jusqu’à 100m) et une précision forte (souvent inférieure au centimètre) et constante quelle que soit la distance. Or, un capteur lidar est totalement impossible à embarquer sur une personne du fait de son encombrement (de la taille d’une boite à chaussure), de son poids (500g à plusieurs kg), de sa consommation électrique (>10 W contre moins de 2W pour un capteur stéréoscopique) et de son prix (plusieurs dizaines de milliers d’euros). Ensuite, les contraintes en termes de puissance de calcul embarqué ne sont absolument pas les mêmes. En effet, sur un véhicule il est tout à fait envisageable (et d’ailleurs nécessaire pour atteindre les niveaux de précision requis) d’embarquer un calculateur lourd, encombrant et d’un prix relativement élevé, ce qui est impossible pour l’application visée par l’invention. En référence à la figure 1, l’invention concerne un appareil 1 qui comprend: - un capteur stéréoscopique 2 apte à fournir une image de profondeur d’une scène imagée ; - un calculateur de vision artificielle 3 configuré pour identifier et caractériser des obstacles potentiels dans la scène imagée à partir de l’image de profondeur ; - un dispositif de communication d’alerte à l’utilisateur 4 apte à être contrôlé par le calculateur de vision artificielle de manière à ce qu’il informe l’utilisateur de la présence d’un obstacle. L’appareil est par ailleurs alimenté par une batterie 5. Le capteur stéréoscopique 2 est composé d’un ensemble de caméras ou d’un couple de caméra(s) et de projecteur, associé à des traitements spécifiques (calcul de disparité). A partir des deux images d’une scène imagée issues de deux caméras synchronisées et calibrées entre elles, (ou à partir d’une image issue d’une caméra filmant une scène éclairée par un projecteur à motifs), le capteur stéréoscopique fournit une image de profondeur où chaque pixel donne la position 3D en coordonnées (x,y,z) de chaque point de la scène imagée. Les avantages de ce type de capteur 3D sont ses multiples sorties (images issues des caméras et image de profondeur), sa petite taille, son fonctionnement en intérieur et extérieur, son coût relativement faible et son fonctionnement dans les environnements sombres si les caméras sont aptes à fonctionner dans le proche infrarouge. Il est à noter qu’il existe d’autres types de capteurs 3D qui permettent de filmer une scène en 3D. Les plus connus sont les lidars et les caméras à temps de vol (ToF pour Time of Flight ). Le lidar est un scanner 3D actif basé sur la télédétection par laser qui consiste à mesurer des distances à partir de l’analyse des propriétés de faisceaux de lumière renvoyés vers l’émetteur. Généralement, la distance entre le capteur et la surface de l’objet étudié est mesurée en comptant le temps nécessaire au trajet aller-retour de l’impulsion du faisceau laser. Les deux principaux inconvénients du lidar sont son prix (des dizaines milliers d’euros) et son grand volume ne permettant pas à une personne à s’en équiper. La caméra ToF quant à elle fournit une image de profondeur où chaque pixel correspond à la distance entre un point de la scène et un point spécifique. Les images de profondeur obtenues sont généralement assez précises, mais elles comportent néanmoins des aberrations. De plus, leur coût est élevé (à partir de plusieurs centaines d’euros pour les entrées de gamme), limitant leur utilisation à des applications peu contraintes en coût. De plus, nombre de caméras ToF en vente sur le marché sont inutilisables dans des applications temps-réel du fait de la faible résolution des images de profondeur fournies. Le capteur 3D stéréoscopique exploité dans l’invention peut notamment prendre la forme d’un bloc composé de deux caméras synchronisées, fixes l’une par rapport à l’autre et dont une partie au moins du champ de vue est conjoint. Ces caméras sont calibrées, c’est-à-dire que la position et l’orientation d’une caméra par rapport à l’autre est connue et fixe. Grâce à la connaissance de ces paramètres de calibration, les images issues de ces deux capteurs peuvent être alignées et rectifiées de manière à ce que l’on puisse calculer une image de disparité grâce à la mise en correspondance des pixels d’une image d’un capteur avec ceux de l’image de l’autre capteur. Une image de disparité est une image dont chaque pixel représente une distance (en pixels) entre ce pixel sur l’image de référence et le même pixel dans la seconde image. Grâce aux paramètres de calibration qui sont connus, cette distance en pixel est directement liée à la distance réelle en mètres, permettant ainsi d’obtenir une carte 3D de la scène imagée par les deux caméras. Le capteur stéréoscopique 2 est ainsi apte à fournir au calculateur 3 au moins une image de la scène imagée ainsi qu’une image de profondeur de cette scène (i.e. un nuage de points 3D). Le calculateur 3 est chargé de recevoir les données générées par le capteur stéréoscopique, de faire fonctionner des algorithmes de vision par ordinateur exemplifiés ci-après et de générer les sorties adaptées. Cet ensemble algorithmique traite les données acquises par le capteur stéréoscopique afin d’en extraire les informations pertinentes et d’estimer un niveau d’alerte. Le calculateur est en outre configuré pour choisir une modalité de retour à l’utilisateur et donner en sortie le type d'alerte de danger et sa qualification. Le calculateur est généralement composé d’un processeur chargé d’effectuer les calculs et d’une mémoire stockant les données à traiter et le programme d’ordinateur séquençant ces calculs. Le calculateur exploite l’image de profondeur pour identifier et caractériser des obstacles présents dans une zone de détection définie par exemple comme suit : - en hauteur : du sol à une hauteur supérieure à celle de l’utilisateur; - en longueur : une zone allant de l’utilisateur à une distance d’au moins 4 mètres ; - en largeur : au minimum la largeur complète de l’utilisateur. Le dispositif de communication d’alerte à l’utilisateur 4 peut effectuer un retour à l’utilisateur de différentes manières. Ce retour peut être par exemple sonore (via par exemple des écouteurs), haptique (via par exemple la vibration de l’appareil ou d’une partie de l’appareil) ou une combinaison des deux. Ce retour peut en outre être adapté à la fréquence des dangers rencontrés réellement par l’utilisateur. Ainsi un danger rencontré très fréquemment peut donner lieu à un retour relativement doux pour ne pas créer un phénomène de rejet chez l’utilisateur tandis qu’un danger rencontré rarement peut présenter une signature intuitive pour éviter les incompréhensions. En référence à la figure 2, le calculateur 3 est configuré pour réaliser au cours d’une étape 10 l’acquisition des données générées par le capteur stéréoscopique, à savoir au moins une image de la scène (typiquement une image RGB) et l’image de profondeur. Au cours d’une étape 20, l’au moins une image de la scène est analysée et le calculateur fournit pour sortie D une information portant sur la présence de l’utilisateur dans une zone de danger ou à proximité d’une telle zone de danger, sur la nature de la zone de danger (route, piste cyclable ou sortie de garage par exemple) et sur la distance séparant l’utilisateur de cette zone de danger. Au cours d’une étape 30, le calculateur vient détecter un plan du sol (par exemple au moyen de la méthode RANSAC, « RANdom SAmpling and Consensus ») et calcule une image de profondeur débarrassée de pixels appartenant à la surface du sol. Cette image peut être segmentée en une première image ne conservant que les points de la zone de détection qui sont au-dessus du plan du sol et une deuxième image ne conservant que les points de la zone de détection qui sont au-dessous du plan du sol. Cette segmentation du sol des autres éléments de la scène est rendue possible par la capture 3D globale de la scène réalisée par le capteur stéréoscopique. Cette perception du sol permet de diminuer considérablement les fausses alarmes. L’appareil n’est par ailleurs pas contraint par le sol et sa position/son orientation par rapport au sol, ce qui permet une utilisation facile et une prise en main plus rapide que les systèmes existants actuellement sur le marché qui nécessitent d’orienter la canne de manière très précise pour éviter notamment des fausses détections permanentes. Au cours d’une étape 40, le calculateur vient identifier un ou plusieurs blocs de pixels continus dans l’image de profondeur débarrassée de pixels appartenant à la surface du sol et déterminer une enveloppe volumique de chaque bloc identifié. Puis le calculateur procède à une analyse de forme des enveloppes volumiques déterminées à l’étape 40. Cette analyse peut consister : - en une analyse 50-1 visant à détecter des trous et apte à fournir en sortie une information Pt sur la position 3D de trous, - en une analyse 50-2 visant à détecter des obstacles en hauteur et apte à fournir en sortie une information Poh sur la position 3D de tels obstacles, - en une analyse 50-3 visant à détecter des obstacles au sol et apte à fournir en sortie une information Pos sur la position 3D de tels obstacles, - en une analyse 50-4 visant à détecter des escaliers et apte à fournir en sortie une information Pe sur la position 3D d’escaliers, leur nombre de marche, leur orientation et leur type montant ou descendant, et - en une analyse 50-5 visant à détecter des reliefs et apte à fournir en sortie une information Pr sur la position 3D de tels reliefs, leur orientation et leur type montant ou descendant. Le calculateur peut réaliser au cours d’une étape 60 une classification d’un obstacle au sol pour fournir une information Nos relative à la nature de l’obstacle. Cette classification peut exploiter une analyse en composantes principales ou un réseau de neurones. Le calculateur peut également réaliser au cours d’une étape 70 un suivi d’un obstacle au sol pour fournir une information Mos relative au mouvement de l’obstacle. Au cours d’une étape 80, le calculateur estime un niveau d’alerte et choisit la modalité de retour à l’utilisateur. Il contrôle alors le dispositif de communication d’alerte 4 pour que celui-ci communique une alerte Al à l’utilisateur. La modélisation mise en œuvre dans l’ensemble algorithmique fonctionnant sur le calculateur permet (entre autres) une détection d’obstacles « intelligente » dans la mesure où elle : - permet de détecter des obstacles aussi bien sous la forme d’objets au sol (poteaux, poubelles, etc.), d’objets en hauteur (panneaux, porte de camion, etc.) mais aussi de dénivelé montants ou descendant (trous, bordure de trottoir, escaliers, etc.), - permet de différentier les obstacles « réels » d’obstacles mouvants et notamment des autres personnes pouvant se situer devant l’utilisateur. L’invention n’est pas limitée à un appareil tel que précédemment décrit mais s’étend également à un équipement, par exemple une canne pour personne déficiente visuelle, équipé d’un tel appareil. Appareil (1) autonome et portatif d’assistance à la mobilité d’un utilisateur, comprenant : - un dispositif de communication d’alerte à l’utilisateur (4) ; - un capteur stéréoscopique (2) apte à fournir une image de profondeur d’une scène imagée ; - un calculateur de vision artificielle (3) configuré pour identifier et caractériser des obstacles potentiels (Pt, Poh, Pos, Pe, Pr) dans la scène imagée à partir de l’image de profondeur et pour contrôler le dispositif de communication d’alerte de manière à ce qu’il informe l’utilisateur de la présence d’un obstacle. Appareil selon la revendication 1, dans lequel le calculateur de vision artificielle est configuré (30) pour détecter un plan du sol et pour déterminer une image de profondeur débarrassée de pixels appartenant à la surface du sol. Appareil selon la revendication 2, dans lequel le calculateur de vision artificielle est configuré (40) pour identifier un ou plusieurs blocs de pixels continus dans l’image de profondeur débarrassée de pixels appartenant à la surface du sol et pour déterminer une enveloppe volumique de chaque bloc identifié. Appareil selon la revendication 3, dans lequel le calculateur de vision artificielle est configuré (50-1, 50-2, 50-3, 50-4, 50-5) pour réaliser une analyse de forme d’une enveloppe volumique. Canne pour personne déficiente visuelle équipée d’un appareil (1) selon l’une des revendications 1 à 4.