Open Source Robotics

Une collection organisée de projets, outils et logiciels robotiques open source de haute qualité.

Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation

Auteurs: Peter R. Florence, Lucas Manuelli, Russ Tedrake · CoRL 2018

Licences

  • Accès libre
  • Article: CC BY 4.0

Tout ce qui suit s'appuie sur l'article complet sous sa licence CC BY 4.0 ; sa figure est montrée en citant les auteurs.

En bref

Un robot scanne des objets avec une caméra RGBD au poignet, apprend par auto-supervision des descripteurs par pixel à partir de reconstructions 3D, puis saisit des points choisis par l'utilisateur à travers poses, déformations et instances.

Pourquoi c'est important

Les descripteurs denses permettent à un robot de désigner un point précis d'un objet, comme le talon d'une chaussure ou l'oreille d'un jouet, à travers de nouvelles poses, des déformations et d'autres instances d'une classe. Le robot collecte et étiquette lui-même ses données d'entraînement, et un nouvel objet peut être appris en environ 20 minutes.

Problème

Les méthodes de saisie générales prennent n'importe quel objet saisissable mais ne conservent aucune représentation cohérente des objets, tandis que l'apprentissage propre à une tâche peut nécessiter de nombreux essais pour généraliser à travers les configurations d'objets ou les tâches. La segmentation d'instances ne donne que des masques d'objets entiers et ne dit rien de la structure de l'objet. Les auteurs veulent une représentation indépendante de la tâche pour les objets rigides et non rigides, qui exploite les a priori de la vision 3D et soit entièrement apprise par auto-supervision.

Solution proposée

Un bras Kuka muni d'une caméra RGBD montée au poignet scanne chaque scène statique, et la fusion TSDF avec des poses de caméra issues de la cinématique directe donne une reconstruction 3D dense qui fournit des correspondances de pixels entre images pour une perte contrastive par pixel sur un réseau entièrement convolutif ResNet-34. Des masques d'objets issus d'une détection de changements 3D permettent un échantillonnage masqué des correspondances et une randomisation de domaine de l'arrière-plan, la mise à l'échelle des négatifs difficiles garde la perte sur les non-correspondances informative, et une perte inter-objets ainsi que des scènes synthétiques multi-objets rendent les descripteurs distincts d'un objet à l'autre. À l'exécution, un utilisateur clique sur un pixel d'une image de référence, le robot trouve la meilleure correspondance de descripteur dans une nouvelle scène et saisit le point 3D correspondant.

Idées clés

  • Les reconstructions 3D de scènes statiques obtenues avec un robot étalonné fournissent des correspondances de pixels denses sans étiquettes humaines.
  • L'association de données en scène statique ne suffisait pas à elle seule à donner des descripteurs d'objets cohérents ; le masquage des objets, la randomisation de l'arrière-plan et de l'orientation, et la mise à l'échelle des négatifs difficiles étaient nécessaires.
  • S'entraîner uniquement à l'intérieur des scènes fait se chevaucher différents objets dans l'espace des descripteurs ; une perte inter-objets les sépare, au prix d'une précision de correspondance moindre pour les descripteurs de faible dimension, que des dimensions légèrement plus grandes permettent de retrouver.
  • Entraînés conjointement sur des instances similaires, les descripteurs généralisent à une classe (chapeaux, chaussures, tasses), tandis que le mode d'entraînement 'specific' sépare même des instances très similaires.
  • Projeter les descripteurs sur la sphère unité a apporté des gains substantiels en passant de D = 4 à D = 8, bien que cela n'ait pas été utilisé dans les expériences sur matériel.

Principaux résultats

  • Des descripteurs ont été appris pour 47 objets sur 275 scènes, dont 3 classes (8 chapeaux, 15 chaussures, 15 tasses) et 9 autres objets.
  • L'entraînement dure 3500 pas à environ 0,22 s par pas (environ 13 minutes) sur une seule Nvidia 1080 Ti ou Titan Xp ; avec la collecte des scènes, un nouvel objet prend environ 20 minutes.
  • Avec la procédure standard mono-objet, dans 93 % des paires d'images la meilleure correspondance se trouvait à moins de 13 % de la diagonale de l'image de la vraie correspondance ; elle a surpassé l'implémentation par les auteurs de la procédure de Schmidt et al., et le masquage des objets comme la mise à l'échelle des négatifs difficiles ont chacun apporté des gains mesurables.
  • Des descripteurs de chapeaux entraînés sur seulement 6 instances ont généralisé à des chapeaux jamais vus, dont un chapeau bleu, une couleur jamais vue à l'entraînement.
  • Démonstrations robotiques : saisie de la queue ou de l'oreille droite d'un jouet chenille à travers diverses configurations, d'un point général de classe sur des chaussures jamais vues après un entraînement sur 4 chaussures, et du talon d'une chaussure précise dans un tas de chaussures en désordre.
  • Chaque scan dure environ 70 s et capture environ 2 100 images RGBD à 30 Hz, sous-échantillonnées à environ 315 images par scène.

Limites

  • Avec plusieurs objets, un humain doit encore échanger les objets pour le robot et indiquer quelles scènes correspondent à quel objet.
  • Des objets suffisamment différents ne partagent pas de descripteurs : les jouets anthropomorphes Baymax et Starbot n'ont pas obtenu de descripteurs généraux.
  • Les descripteurs ne peuvent pas guider les saisies avant que l'apprentissage ait eu lieu et ne contraignent pas l'orientation de la pince, de sorte que les saisies reposent sur un planificateur géométrique simple fondé sur le nuage de points.
  • La perte inter-objets réduit la précision de correspondance pour les espaces de descripteurs de faible dimension dans les réseaux multi-objets.
  • Les démonstrations de saisie sont présentées qualitativement ; l'article ne rapporte aucun taux de réussite de saisie.

Impact sur le domaine

Lauréat du CoRL 2018 Best Paper Award, avec 321 citations. Le code, les données et la vidéo sont publiés sur github.com/RobotLocomotion/pytorch-dense-correspondence.

Résumé

Quelle est la bonne représentation des objets pour la manipulation ? Nous voudrions que les robots perçoivent visuellement des scènes et apprennent une compréhension des objets qu'elles contiennent qui (i) soit indépendante de la tâche et puisse servir de brique de base à une variété de tâches de manipulation, (ii) s'applique de manière générale aux objets rigides comme non rigides, (iii) tire parti des a priori forts fournis par la vision 3D, et (iv) soit entièrement apprise par auto-supervision. C'est difficile à obtenir avec les méthodes antérieures : une grande partie des travaux récents sur la saisie ne s'étend pas à la saisie d'objets spécifiques ou à d'autres tâches, tandis que l'apprentissage propre à une tâche peut nécessiter de nombreux essais pour bien généraliser à travers les configurations d'objets ou d'autres tâches. Dans cet article, nous présentons les Dense Object Nets, qui s'appuient sur des développements récents de l'apprentissage auto-supervisé de descripteurs denses, comme représentation cohérente des objets pour la compréhension visuelle et la manipulation. Nous démontrons qu'ils peuvent être entraînés rapidement (environ 20 minutes) pour une grande variété d'objets jamais vus auparavant et potentiellement non rigides. Nous présentons en outre de nouvelles contributions permettant l'apprentissage de descripteurs multi-objets, et montrons qu'en modifiant notre procédure d'entraînement, nous pouvons obtenir soit des descripteurs qui généralisent à travers des classes d'objets, soit des descripteurs distincts pour chaque instance d'objet. Enfin, nous démontrons l'application nouvelle de descripteurs denses appris à la manipulation robotique. Nous démontrons la saisie de points spécifiques d'un objet à travers des configurations d'objet potentiellement déformées, et démontrons l'utilisation de descripteurs généraux de classe pour transférer des saisies spécifiques entre les objets d'une classe.

Liens

  • arXiv 1806.08756: https://arxiv.org/abs/1806.08756
  • DOI 10.48550/arXiv.1806.08756: https://doi.org/10.48550/arXiv.1806.08756
  • PDF: http://proceedings.mlr.press/v87/florence18a/florence18a.pdf
  • Code: https://github.com/RobotLocomotion/pytorch-dense-correspondence

Ce site nécessite JavaScript. Veuillez activer JavaScript pour explorer nos projets de robotique open source.