Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

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

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

Licencias

  • Acceso abierto
  • Artículo: CC BY 4.0

Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.

En resumen

Un robot escanea objetos con una cámara RGBD en la muñeca, autosupervisa descriptores por píxel a partir de reconstrucciones 3D y luego agarra puntos elegidos por el usuario a través de poses, deformaciones e instancias.

Por qué importa

Los descriptores densos permiten que un robot se refiera a un punto concreto de un objeto, como el talón de un zapato o la oreja de un juguete, en poses nuevas, con deformaciones y en otras instancias de una clase. El robot recoge y etiqueta sus propios datos de entrenamiento, y un objeto nuevo puede aprenderse en unos 20 minutos.

Problema

Los métodos generales de agarre recogen cualquier objeto agarrable pero no mantienen una representación de objetos consistente, mientras que el aprendizaje específico de la tarea puede necesitar muchos ensayos para generalizar entre configuraciones de objetos o tareas. La segmentación de instancias solo da máscaras del objeto completo y no dice nada sobre su estructura. Los autores quieren una representación agnóstica a la tarea para objetos rígidos y no rígidos que use priors de visión 3D y se aprenda por completo mediante autosupervisión.

Solución propuesta

Un brazo Kuka con una cámara RGBD montada en la muñeca escanea cada escena estática, y la fusión TSDF con poses de cámara obtenidas por cinemática directa da una reconstrucción 3D densa que proporciona correspondencias de píxeles entre imágenes para una pérdida contrastiva por píxel en una red totalmente convolucional ResNet-34. Las máscaras de objeto obtenidas por detección de cambios 3D permiten el muestreo de coincidencias enmascarado y la aleatorización de dominio del fondo, el escalado de negativos difíciles mantiene informativa la pérdida de no coincidencias, y la pérdida entre objetos y las escenas sintéticas con múltiples objetos hacen que los descriptores sean distintos entre objetos. En tiempo de ejecución, un usuario hace clic en un píxel de una imagen de referencia, el robot encuentra la mejor coincidencia de descriptores en una escena nueva y agarra el punto 3D correspondiente.

Ideas clave

  • Las reconstrucciones 3D de escenas estáticas a partir de un robot calibrado proporcionan correspondencias densas de píxeles sin etiquetas humanas.
  • La asociación de datos de escenas estáticas por sí sola no dio descriptores de objeto consistentes; fueron necesarios el enmascaramiento de objetos, la aleatorización del fondo y de la orientación y el escalado de negativos difíciles.
  • Entrenar solo dentro de escenas hace que objetos distintos se solapen en el espacio de descriptores; la pérdida entre objetos los separa, a costa de precisión en las correspondencias para descriptores de baja dimensión, que dimensiones ligeramente mayores recuperan.
  • Entrenados conjuntamente con instancias similares, los descriptores generalizan dentro de una clase (sombreros, zapatos, tazas), mientras que el modo de entrenamiento 'específico' separa incluso instancias muy parecidas.
  • Proyectar los descriptores sobre la esfera unidad dio mejoras sustanciales al pasar de D = 4 a D = 8, aunque no se usó en los experimentos con hardware.

Resultados principales

  • Se aprendieron descriptores para 47 objetos en 275 escenas, incluidas 3 clases (8 sombreros, 15 zapatos, 15 tazas) y 9 objetos más.
  • El entrenamiento ejecuta 3500 pasos a unos 0,22 s por paso (unos 13 minutos) en una sola Nvidia 1080 Ti o Titan Xp; con la recogida de escenas, un objeto nuevo lleva unos 20 minutos.
  • Con el procedimiento estándar de un solo objeto, en el 93 % de los pares de imágenes la mejor coincidencia quedó dentro del 13 % de la diagonal de la imagen respecto a la coincidencia verdadera; superó a la implementación de los autores del procedimiento de Schmidt et al., y el enmascaramiento de objetos y el escalado de negativos difíciles dieron cada uno mejoras medibles.
  • Los descriptores de sombreros entrenados con solo 6 instancias generalizaron a sombreros no vistos, incluido un sombrero azul, un color nunca visto en el entrenamiento.
  • Demostraciones con el robot: agarrar la cola o la oreja derecha de una oruga de juguete en distintas configuraciones, un punto general de clase en zapatos no vistos tras entrenar con 4 zapatos, y el talón de un zapato en una pila desordenada de zapatos.
  • Cada escaneo dura unos 70 s y captura unos 2100 fotogramas RGBD a 30 Hz, submuestreados a unas 315 imágenes por escena.

Limitaciones

  • Con múltiples objetos, una persona todavía debe cambiar los objetos para el robot e indicar qué escenas corresponden a qué objeto.
  • Los objetos suficientemente distintos no comparten descriptores: los juguetes antropomórficos Baymax y Starbot no obtuvieron descriptores generales.
  • Los descriptores no pueden guiar agarres antes de que se haya producido el aprendizaje y no restringen la orientación de la pinza, por lo que los agarres dependen de un planificador geométrico simple sobre la nube de puntos.
  • La pérdida entre objetos reduce la precisión de las correspondencias en espacios de descriptores de baja dimensión en redes de múltiples objetos.
  • Las demostraciones de agarre se muestran cualitativamente; el artículo no informa de tasas de éxito de agarre.

Impacto en el campo

Ganador del CoRL 2018 Best Paper Award, con 321 citas. El código, los datos y el vídeo están publicados en github.com/RobotLocomotion/pytorch-dense-correspondence.

Resumen

¿Cuál es la representación de objetos adecuada para la manipulación? Nos gustaría que los robots percibieran visualmente las escenas y aprendieran una comprensión de los objetos que contienen que (i) sea agnóstica a la tarea y pueda usarse como pieza básica para diversas tareas de manipulación, (ii) sea aplicable en general tanto a objetos rígidos como no rígidos, (iii) aproveche los fuertes priors que proporciona la visión 3D y (iv) se aprenda por completo mediante autosupervisión. Esto es difícil de lograr con métodos anteriores: gran parte del trabajo reciente sobre agarre no se extiende al agarre de objetos específicos ni a otras tareas, mientras que el aprendizaje específico de la tarea puede requerir muchos ensayos para generalizar bien entre configuraciones de objetos u otras tareas. En este artículo presentamos Dense Object Nets, que se basan en avances recientes en el aprendizaje autosupervisado de descriptores densos, como una representación de objetos consistente para la comprensión visual y la manipulación. Demostramos que pueden entrenarse rápidamente (aproximadamente 20 minutos) para una amplia variedad de objetos no vistos previamente y potencialmente no rígidos. Además presentamos contribuciones novedosas que permiten el aprendizaje de descriptores para múltiples objetos, y mostramos que, modificando nuestro procedimiento de entrenamiento, podemos adquirir descriptores que generalizan entre clases de objetos o descriptores que son distintos para cada instancia de objeto. Por último, demostramos la aplicación novedosa de los descriptores densos aprendidos a la manipulación robótica. Demostramos el agarre de puntos específicos de un objeto a través de configuraciones del objeto potencialmente deformadas, y demostramos el uso de descriptores generales de clase para transferir agarres específicos entre objetos de una clase.

Enlaces

  • 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
  • Código: https://github.com/RobotLocomotion/pytorch-dense-correspondence

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.