Open-Vocabulary Affordance Detection in 3D Point Clouds
Auteurs: Toan Nguyen, Minh Nhat Vu, An Vuong, Dzung Nguyen, Thieu Vo, Ngan Le, Anh Nguyen · IROS 2023
Licences
- Accès libre
- Article: CC0 1.0 Universal
Tout ce qui suit s'appuie sur l'article complet, que ses auteurs ont placé sous CC0 1.0 Universal ; sa figure est montrée en citant les auteurs.
En bref
Met en correspondance des caractéristiques PointNet++ par point avec des plongements textuels CLIP figés, de sorte qu'un robot peut interroger un nuage de points avec n'importe quel mot d'affordance, y compris des mots absents de l'entraînement.
Pourquoi c'est important
On peut indiquer à un robot, en langage courant, sur quelle partie d'un objet agir et obtenir une région 3D qu'il peut transmettre directement à la détection de saisie, à la cinématique inverse et à la planification de trajectoire, sans réentraînement pour chaque nouveau verbe. L'inférence prend environ 100 ms, et les auteurs l'exécutent sur un KUKA LBR iiwa équipé d'une RealSense D435i et d'une pince Robotiq 2F-85.
Problème
Les détecteurs d'affordances existants, sur images ou sur nuages de points, sont entraînés sur un ensemble fixe d'étiquettes d'affordance, si bien qu'un robot ne peut pas en demander une nouvelle sans nouvelle annotation. Les détecteurs fondés sur l'image nécessitent en outre une étape supplémentaire pour porter les résultats 2D en 3D, et les méthodes d'affordance one-shot ou few-shot antérieures ont toujours besoin d'exemples annotés et ne fonctionnent que sur des images 2D.
Solution proposée
OpenAD utilise un backbone PointNet++ pour produire un plongement 512-D pour chacun des 2048 points d'entrée et encode chaque étiquette d'affordance avec l'encodeur de texte figé de CLIP ViT-B/32. La similarité cosinus entre chaque plongement de point et chaque plongement d'étiquette, mise à l'échelle par une température apprenable, donne un softmax par point sur les étiquettes fournies, quelles qu'elles soient ; l'entraînement utilise une perte de log-vraisemblance négative pondérée par classe. À l'inférence, n'importe quel texte peut être passé comme étiquette.
Idées clés
- Aligner les caractéristiques des points sur les plongements textuels d'un modèle de langage permet à des étiquettes non vues mais sémantiquement proches de tomber sur les bonnes régions sans un seul exemple annoté
- Le choix de l'encodeur de texte compte pour les résultats en vocabulaire ouvert : CLIP ViT-B/32 a battu BERT en mIoU avec les deux backbones, tandis que les résultats en ensemble fermé étaient à peu près égaux
- L'ajout de la tête guidée par le langage ne coûte rien en précision sur ensemble fermé : OpenAD reste à une fraction de point des réseaux dédiés de segmentation de nuages de points
- Comme chaque point prend la meilleure étiquette de l'ensemble d'étiquettes courant, l'ajout d'une étiquette plus spécifique (par ex. 'grasp' après 'contain') réétiquette les points concernés
Principaux résultats
- Zero-shot, forme complète (3D AffordanceNet réétiqueté en 37 classes) : mIoU 14,37 contre 9,97 pour ZSLPC, 6,46 pour 3DGenZ et 3,86 pour TZSLPC ; Acc 46,31 et mAcc 19,51, les deux plus élevés
- Zero-shot, vue partielle : mIoU 12,50 contre 9,52 pour ZSLPC. Le texte annonce un écart de 3,98 %, alors que les chiffres de la Table I donnent 2,98 points ; Acc 45,25 et mAcc 17,37 sont aussi les plus élevés
- Ensemble fermé 3D AffordanceNet (Table II), forme complète : mIoU 42,00 contre 42,09 pour DGCNN, 41,26 pour PointNet++ et 41,26 pour Point Transformer ; Acc la plus élevée à 69,03
- Ensemble fermé, vue partielle : mIoU 41,87 contre 41,93 pour DGCNN, 41,10 pour PointNet++, 40,51 pour Point Transformer ; Acc la plus élevée à 69,91
- Ablation (vocabulaire ouvert, forme complète) : PointNet++ avec CLIP 14,37 mIoU contre 10,55 avec BERT ; DGCNN avec CLIP 10,88 contre 9,43 avec BERT
- L'inférence prend environ 100 ms en moyenne ; les démonstrations sur robot réel comprennent tenir et soulever un sac, envelopper une bouteille et pousser un écouteur
Limites
- Les auteurs indiquent que la méthode est encore loin de détecter des affordances totalement inédites et montrent des cas d'échec sur des objets déjà vus
- Les auteurs montrent des faux positifs où OpenAD trouve des affordances que l'objet n'offre pas (display sur un sac, support sur un micro-ondes, openable sur un chapeau)
- Les scores zero-shot absolus restent faibles (mIoU 14,37 en forme complète, 12,50 en vue partielle), et les auteurs appellent à une meilleure corrélation vision-langage (par ex. attention croisée), à des backbones plus puissants et à un jeu de données d'affordances plus grand
- Les expériences sur robot réel sont des démonstrations sans taux de réussite rapportés
- L'entrée est un seul objet segmenté échantillonné à 2048 points ; la chaîne de traitement du robot repose sur une étape distincte de localisation de l'objet
Impact sur le domaine
Figure sur la liste combinée des finalistes de l'IROS 2023 pour les prix Best Overall Paper et Best Student Paper, avec 66 citations. L'article indique que les auteurs publieront le code source ; aucun lien n'est donné dans la copie sous licence.
Résumé
La détection d'affordances est un problème difficile, aux applications robotiques très variées. Les méthodes traditionnelles de détection d'affordances sont limitées à un ensemble prédéfini d'étiquettes d'affordance, ce qui restreint potentiellement l'adaptabilité des robots intelligents dans des environnements complexes et dynamiques. Dans cet article, nous présentons la méthode Open-Vocabulary Affordance Detection (OpenAD), capable de détecter un nombre illimité d'affordances dans des nuages de points 3D. En apprenant simultanément le texte de l'affordance et la caractéristique du point, OpenAD exploite avec succès les relations sémantiques entre affordances. Par conséquent, la méthode proposée permet une détection zero-shot et peut détecter des affordances jamais vues auparavant sans un seul exemple annoté. Des résultats expérimentaux approfondis montrent qu'OpenAD fonctionne efficacement sur un large éventail de configurations de détection d'affordances et surpasse les autres méthodes de référence avec une large marge. En outre, nous démontrons l'intérêt pratique d'OpenAD dans des applications robotiques réelles, avec une vitesse d'inférence élevée (≈100 ms).
Liens
- arXiv 2303.02401: https://arxiv.org/abs/2303.02401
- DOI 10.1109/IROS55552.2023.10341553: https://doi.org/10.1109/IROS55552.2023.10341553
- PDF: https://arxiv.org/pdf/2303.02401v1