Open-Vocabulary Affordance Detection in 3D Point Clouds
Autores: Toan Nguyen, Minh Nhat Vu, An Vuong, Dzung Nguyen, Thieu Vo, Ngan Le, Anh Nguyen · IROS 2023
Licencias
- Acceso abierto
- Artículo: CC0 1.0 Universal
Todo lo que sigue se basa en el artículo completo, que sus autores publicaron bajo CC0 1.0 Universal; su figura se muestra con crédito a los autores.
En resumen
Empareja características por punto de PointNet++ con embeddings de texto congelados de CLIP, de modo que un robot puede consultar en una nube de puntos cualquier palabra de affordance, incluidas las que no aparecen en el entrenamiento.
Por qué importa
A un robot se le puede indicar con palabras sencillas sobre qué parte de un objeto actuar y obtener una región 3D que puede pasar directamente a la detección de agarres, la cinemática inversa y la planificación de trayectorias, sin reentrenar para cada verbo nuevo. La inferencia tarda unos 100 ms, y los autores la ejecutan en un KUKA LBR iiwa con una RealSense D435i y una pinza Robotiq 2F-85.
Problema
Los detectores de affordances existentes, sobre imágenes o nubes de puntos, se entrenan con un conjunto fijo de etiquetas de affordance, por lo que un robot no puede pedir una nueva sin nuevas anotaciones. Los detectores basados en imágenes necesitan además un paso extra para llevar los resultados 2D a 3D, y los métodos de affordance one-shot o few-shot anteriores siguen necesitando ejemplos anotados y solo funcionan con imágenes 2D.
Solución propuesta
OpenAD usa un backbone PointNet++ para producir un embedding de 512 dimensiones para cada uno de los 2048 puntos de entrada y codifica cada etiqueta de affordance con el codificador de texto congelado de CLIP ViT-B/32. La similitud coseno entre cada embedding de punto y cada embedding de etiqueta, escalada por una temperatura aprendible, da un softmax por punto sobre las etiquetas que se proporcionen; el entrenamiento usa una pérdida de log-verosimilitud negativa ponderada por clase. En inferencia se puede pasar cualquier texto como etiqueta.
Ideas clave
- Alinear las características de los puntos con los embeddings de texto de un modelo de lenguaje permite que etiquetas no vistas pero semánticamente relacionadas caigan en las regiones correctas sin un solo ejemplo anotado
- La elección del codificador de texto importa para los resultados de vocabulario abierto: CLIP ViT-B/32 superó a BERT en mIoU con ambos backbones, mientras que los resultados de conjunto cerrado fueron prácticamente iguales
- Añadir la cabeza guiada por lenguaje no cuesta precisión en conjunto cerrado: OpenAD queda a una fracción de punto de las redes dedicadas de segmentación de nubes de puntos
- Como cada punto toma la mejor etiqueta del conjunto de etiquetas actual, añadir una etiqueta más específica (p. ej., 'grasp' después de 'contain') vuelve a etiquetar los puntos relevantes
Resultados principales
- Zero-shot, forma completa (3D AffordanceNet reetiquetado a 37 clases): mIoU 14,37 frente a 9,97 de ZSLPC, 6,46 de 3DGenZ y 3,86 de TZSLPC; Acc 46,31 y mAcc 19,51, ambos los más altos
- Zero-shot, vista parcial: mIoU 12,50 frente a 9,52 de ZSLPC. El texto indica un margen del 3,98 %, mientras que los números de la Tabla I dan 2,98 puntos; Acc 45,25 y mAcc 17,37 también son los más altos
- 3D AffordanceNet en conjunto cerrado (Tabla II), forma completa: mIoU 42,00 frente a 42,09 de DGCNN, 41,26 de PointNet++ y 41,26 de Point Transformer; Acc más alta, con 69,03
- Conjunto cerrado, vista parcial: mIoU 41,87 frente a 41,93 de DGCNN, 41,10 de PointNet++ y 40,51 de Point Transformer; Acc más alta, con 69,91
- Ablación (vocabulario abierto, forma completa): PointNet++ con CLIP 14,37 mIoU frente a 10,55 con BERT; DGCNN con CLIP 10,88 frente a 9,43 con BERT
- La inferencia tarda unos 100 ms de media; las demostraciones con robot real incluyen sujetar y levantar una bolsa, rodear una botella y empujar un auricular
Limitaciones
- Los autores afirman que el método aún está lejos de detectar affordances completamente no vistas y muestran casos de fallo en objetos vistos
- Los autores muestran falsos positivos en los que OpenAD encuentra affordances que el objeto no ofrece (display en una bolsa, support en un microondas, openable en un sombrero)
- Las puntuaciones zero-shot absolutas siguen siendo bajas (mIoU 14,37 en forma completa, 12,50 en vista parcial), y los autores piden una mejor correlación entre visión y lenguaje (p. ej., atención cruzada), backbones más potentes y un conjunto de datos de affordances más grande
- Los experimentos con robot real son demostraciones sin tasas de éxito reportadas
- La entrada es un único objeto segmentado muestreado a 2048 puntos; el pipeline del robot depende de un paso separado de localización del objeto
Impacto en el campo
Incluido en la lista conjunta de finalistas de IROS 2023 para los premios al Best Overall Paper y al Best Student Paper, con 66 citas. El artículo indica que los autores publicarán el código fuente; la copia con licencia no da ningún enlace.
Resumen
La detección de affordances es un problema difícil con una gran variedad de aplicaciones robóticas. Los métodos tradicionales de detección de affordances se limitan a un conjunto predefinido de etiquetas de affordance, lo que puede restringir la adaptabilidad de los robots inteligentes en entornos complejos y dinámicos. En este artículo presentamos el método Open-Vocabulary Affordance Detection (OpenAD), capaz de detectar un número ilimitado de affordances en nubes de puntos 3D. Al aprender simultáneamente el texto de la affordance y la característica del punto, OpenAD aprovecha con éxito las relaciones semánticas entre affordances. Por ello, el método propuesto permite la detección zero-shot y puede detectar affordances no vistas previamente sin un solo ejemplo anotado. Los resultados experimentales exhaustivos muestran que OpenAD funciona eficazmente en una amplia gama de configuraciones de detección de affordances y supera a otros métodos de referencia por un amplio margen. Además, demostramos la utilidad práctica del OpenAD propuesto en aplicaciones robóticas reales con una velocidad de inferencia rápida (≈100 ms).
Enlaces
- 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