• Aucun résultat trouvé

Le système développé lors de cette thèse, illustré en figure 1.1, cherche à répondre de manière globale à chacune de ces problématiques. Les deux derniers points de la section précédente nous imposent d’avoir au moins deux modalités d’informations dans notre modèle : des données vi- suelles/géométriques (capteur RGBD) et des données sémantiques en langage naturel. Se faisant, nous remplissons également en partie le troisième point, avec une première modalité concrète et

1.2. APERÇU GÉNÉRAL DE NOTRE APPROCHE

l’autre fortement abstraite. Les données sensorielles ont une temporalité "nulle" alors que les don- nées sémantiques considérées ici sont généralement intemporelles.

En résumé, nous avons une représentation locale/globale/concrète d’un côté et globale/abstraite de l’autre. On s’aperçoit donc qu’il nous faut un modèle local/abstrait afin de passer "continûment" d’une représentation à une autre. Celui-ci correspond à une description d’éléments concrets à partir de concepts abstraits. Autrement dit, ce modèle intermédiaire va décrire l’environnement courant3 en terme d’instances. Celles-ci ont leur propriétés visuelles/géométriques données par des capteurs mais également une description en langage naturel réutilisant les concepts abstraits de la représen- tation sémantique.

Plus précisément, notre modèle vise à une représentation d’un environnement ouvert4 et non défini en fonction de tâches précises. Ce modèle doit être une base sur laquelle on puisse ensuite greffer des modules spécifiques à l’exécution de tâches particulières. Il faut donc pouvoir être ca- pable à la fois d’utiliser chacune des modalités de façon indépendante mais également de façon conjointe si nécessaire. L’apport d’information d’une modalité vers une autre doit également pou- voir se faire dans les deux sens. On a vu précédemment que majoritairement, l’information allait de la sémantique vers la vision. Certains travaux, au contraire, transportaient l’information de la vi- sion vers la sémantique. Nous pensons que l’intégration de ces différentes méthodes dans un cadre commun permettra d’obtenir un modèle plus générique.

Bien sûr, une plus grande généricité implique de minimiser le nombre d’hypothèses faites. Cela limite fortement les méthodes applicables, notamment l’usage d’apprentissage automatique (pro- fond ou non). En effet l’apprentissage automatique atteint vite ses limites pour les applications sans cadre bien défini. Ces méthodes sont le plus souvent évaluées sur des données en monde fermé (nombre limité de classes). Que se passe-t-il lorsqu’une classe inconnue est vue ? C’est le problème du zero-shot learning (cf section 2.3.1). Ces approches peuvent paraître appropriées au premier abord, mais souffrent d’un gros défaut : elles supposent que les classes vues lors de la phase de test n’ont pas été vues lors de l’entraînement. Une hypothèse difficilement atteignable en pratique ! Deux autres problèmes se posent ensuite : l’ajout continu de nouvelles classes et la mise à l’échelle. L’apprentissage profond est toutefois un outil intéressant via le Transfert learning : apprendre sur un grand ensemble de données afin d’obtenir une représentation générique exploitable sur des do- maines différents avec peu de données disponibles.

Enfin, l’accent est mis sur la structure générale de notre modèle et non sur les différents pro- cessus secondaires nécessaires en pratique. Par exemple, considérons la segmentation de scène non

3. Plus exactement, l’environnement connu du robot

supervisée. Ce problème, difficile, est toujours un sujet actif de recherche. Nous proposons l’utili- sation de certaines méthodes, mais elles peuvent être remplacées avec l’évolution de l’état de l’art sans affecter le modèle dans sa globalité.

Notre architecture est composée de trois unités : Perception, Instance et Connaissance, repré- sentées à la figure 1.1.

En commençant par le bas de ce schéma, nous avons les entrées en langage naturel de haut niveau qui peuvent provenir d’un utilisateur ou de sources extérieures comme Internet. Elles peuvent se décomposer en trois principaux types : connaissances générales, informations sur des instances, ou requêtes (tâches). Ceci sera détaillé dans le chapitre 5. Cette entrée est naturellement liée au modèle de connaissance. A l’opposé (haut de la figure), il y a les entrées capteurs du robot avec par exemple ici un LIDAR et une caméra RGBD. Ces données sont directement exploitées par le modèle de perception. Le modèle d’instance va lui faire le pont entre ces deux modalités.

L’unité de connaissance, sujet du chapitre 3, est une représentation sémantique générale et in-

temporelle de l’environnement sous forme de graphe ontologique. Celle-ci est initialement construite à partir de sources extérieures provenant d’Internet. Elle est basée sur l’ontologie WordNet [Mil95] et enrichie de relations extraites de ses définitions. Elle peut être mise à jour automatiquement par l’analyse de données textuelles tirées d’Internet ou par des informations données par l’utilisateur. Cette unité permet au robot de raisonner sur les concepts à travers la notion de contexte. Cela peut être la simple extension aux concepts parents/fils lorsque l’utilisateur emploie un terme mais en sous-entendant une spécialisation de celui-ci : Give me a knife signifie généralement Give me a

table knife lors d’un repas. Le contexte sert également à désambiguïser des termes ayant plusieurs

sens5 eg. fork (fourchette) et fork (fourche). Enfin, il intervient dans l’inférence d’objets dans une scène donnée. En effet, ce type d’inférence est typiquement basée sur la cooccurrence d’objets. Hors, celle-ci n’est qu’une conséquence de l’existence d’un contexte commun plus ou moins expli- cite entre les entités composant une scène.

L’unité de perception est abordée au chapitre 4. C’est une représentation basée capteurs6

de l’environnement à l’instant courant. Elle traite les données capteurs bas niveau afin de structurer l’environnement en instances, que ce soit de manière passive (segmentation de scène non supervi- sée, suivi d’une instance connue) ou active (détection d’un objet précis).

L’unité d’instance représente l’ensemble des instances de l’environnement dont on connaît

l’existence sous forme de graphe. C’est donc une représentation spécifique à l’environnement connu du robot sur une période de temps limitée. Une instance est définie selon chacune des modalités :

5. homographe

1.2. APERÇU GÉNÉRAL DE NOTRE APPROCHE

Id Type Args Status

0 SEARCH_CLASS Banana COMPLETED

1 SEARCH_INSTANCE My_cup IN_PROGRESS

banana cup container handle is-a has-a fruit yellow prop is-a Bring me a banana and my brown cup Raw data Scene Seg. (LCCP)

Banana heatMap Cup heatMap

MaJ Identi cation Construction de connaissance Tracking/ Localisation Reconnaissance My cup#001 Ht : o1 Observations O ot o2 KFt : Graph Gmy_cup behind banana#002 My cup Cup Brown is-a prop John is-a belong-to

John

MaJ

Figure 1.1 – Structure générale de notre modèle global de représentation d’environnement

une représentation géométrique (nuage de points 3D) / visuelle (vecteur de description image) et une représentation sémantique décrivant l’objet à partir des concepts du modèle de connaissance. Les instances peuvent être initialement créées à partir d’une seule modalité : une détection du mo-

dèle de perception générera une instance avec une représentation sémantique vide. A contrario, les informations données en langage naturel comme Ma tasse est rouge généreront une instance définie sémantiquement mais sans représentation visuelle. Elle gère l’ajout/retrait/fusion/mise à jour d’ins- tance que ce soit par le biais du modèle de perception ou par des informations externes en langage naturel.

Enfin, on peut voir dans le schéma la présence d’un gestionnaire de tâches. La création de tâche est faite à partir de requête utilisateur eg Give me my cup et le gestionnaire vérifie de manière asynchrone la complétion des tâches à mesure que le système évolue. Ceci sera abordé plus en détail dans la section 5.5. Les principaux processus reliant les unités et entrées entre elles ont également été notés sur la figure 1.1. Les passages du modèle d’instance au modèle de connaissance seront abordés dans le chapitre 5.

La suite de ce manuscrit est structurée de la façon suivante :

− Le chapitre 2 traite des différentes représentations d’environnements proposées dans la lit- térature robotique.

− Le chapitre 3 est consacrée à la définition et à la méthode de construction de notre modèle de connaissance sémantique.

− Le chapitre 4 décrit la modalité visuelle de notre système. En particulier, elle se concentre sur l’analyse de propriétés des descripteurs image issus de couches intermédiaires de réseaux de neurones convolutifs.

− Le chapitre 5 est consacré aux processus entre les différentes unités du modèle : passage des données perceptuelles à la notion d’instance (section 5.4), des données sémantiques (modèle de connaissance et entrées utilisateurs) aux instances (section 5.2) et enfin le rattachement des instances au modèle de connaissance (section 5.3). La dernière section 5.5 détaille la représentation des tâches induites par les requêtes utilisateurs.

− Le chapitre 6 présente une validation expérimentale de l’implémentation de notre modèle. − Le chapitre 7 est la conclusion de cette thèse.