NeRF2Real: Sim2real Transfer of Vision-guided Bipedal Motion Skills using Neural Radiance Fields
Autores: Arunkumar Byravan, Jan Humplik, Leonard Hasenclever, Arthur Brussee, Francesco Nori, Tuomas Haarnoja, Ben Moran, Steven Bohez, Fereshteh Sadeghi, Bojan Vujatovic, Nicolas Heess · ICRA 2023
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 NeRF entrenado con un vídeo de móvil de 5-6 minutos proporciona la apariencia visual y la malla de colisión de una simulación en MuJoCo; las políticas de humanoide solo con RGB entrenadas allí se transfieren zero-shot a un robot real.
Por qué importa
El proceso solo necesita un vídeo grabado con un teléfono corriente para recrear una escena visualmente realista con una geometría de contacto utilizable, y entrena el control bípedo de cuerpo completo solo a partir de imágenes RGB, sin localización ni un controlador de bajo nivel independiente. En la tarea de navegación, el éxito y el tiempo hasta el objetivo en el robot real coincidieron de cerca con la simulación.
Problema
El entrenamiento sim2real necesita simulaciones que reproduzcan cómo un robot ve y toca una escena real, pero modelar la geometría y la apariencia de escenas no estructuradas es lento y suele depender de equipos especializados de escaneo 3D que funcionan mal en exteriores. Las cámaras RGB tienen una gran brecha sim2real, por lo que los trabajos anteriores de transferencia de navegación visual se apoyaban en sensores de profundidad o LiDAR, en localización y en controladores de bajo nivel existentes.
Solución propuesta
Un vídeo corto de móvil se divide en unos 1000 fotogramas clave, se localiza con COLMAP y se usa para entrenar un NeRF; el NeRF renderiza la vista de la cámara del robot y su ocupación se convierte en una malla de colisión con marching cubes, escalada y alineada con el simulador, sustituyendo el suelo por una superficie plana. MuJoCo simula el robot y los objetos dinámicos conocidos (una pelota), cuyos renderizados se superponen a la imagen del NeRF, y DMPO entrena políticas recurrentes de visión y propiocepción con un crítico asimétrico, aleatorización de dominio y aumento de imágenes.
Ideas clave
- Un único NeRF proporciona tanto el renderizado fotorrealista como la geometría de contacto estática para una simulación física, de modo que un solo vídeo de móvil basta para construir una escena de entrenamiento.
- Superponer en la imagen del NeRF los renderizados del simulador de objetos dinámicos conocidos (cuerpo del robot, pelota) basta para las tareas probadas, a costa de no gestionar las oclusiones.
- Unos modelos precisos de sensores y actuadores, más una aleatorización de dominio limitada (empujones, latencia, masa añadida, desfase de la IMU), bastaron para que la marcha se transfiriera.
- El aumento de imágenes no puede sustituir a la calibración de la cámara: la política de navegación era muy sensible al ajuste de ganancia de la cámara.
- Las políticas entrenadas de extremo a extremo mantuvieron una marcha estable cuando la escena cambiaba o la cámara quedaba bloqueada, lo que sugiere que la locomoción y la comprensión de la escena estaban parcialmente separadas.
Resultados principales
- Navegación, entrada de 60x80: 87±5 % de éxito en el robot real (47/54 episodios) frente a 86±2 % en simulación; tiempo mediano de 11,2±0,4 s en real frente a 10,8±0,1 s en simulación.
- Navegación, entrada de 30x40: 69±6 % de éxito en el robot real (37/54 episodios) frente a 73±3 % en simulación; tiempo mediano de 10,3±0,4 s en real frente a 10,3±0,3 s en simulación.
- Error mediano de localización de la estimación de pose de la política: 0,24±0,01 m y 0,27±0,04 m en el robot real frente a 0,17±0,01 m y 0,19±0,004 m en simulación (30x40 y 60x80).
- Empuje de pelota, entrada de 30x40: 78±7 % de éxito real con la pelota partiendo del centro y 43±14 % con ella cerca de una pared, frente a 99 % y 100 % en simulación.
- Al cambiar la ganancia de la cámara del valor por defecto de 50 (4/5 éxitos) a 90 o 128, la política de navegación falló en 0/5 intentos, caminando en un pequeño círculo.
- Se indica que el aumento por desenfoque para el renderizado NeRF de baja resolución da un PSNR medio de unos 31,5 frente a unos 35,4 en imágenes reservadas; el NeRF con hash-grid renderiza un fotograma en 6 ms en una GPU V100.
Limitaciones
- Los objetos dinámicos se renderizan siempre delante de la escena NeRF estática, por lo que no se gestionan las oclusiones; escenas dinámicas más complejas requerirían un renderizado NeRF compuesto.
- Siguen existiendo pasos manuales: elegir puntos del suelo en Blender, alinear y escalar la malla y sustituir el suelo, con poca textura, por una superficie plana.
- Pasar de un vídeo a una política entrenada lleva 1-2 días (COLMAP unas 3-4 horas, el entrenamiento de la política unas 24 horas para la navegación y el doble para el empuje de pelota).
- La brecha sim2real es mayor en la tarea de empuje de pelota, rica en contactos, sobre todo cuando la pelota parte cerca de una pared.
- El cómputo a bordo (2 núcleos de CPU, sin GPU, 25 ms por paso) limitó las políticas a imágenes de 30x40 y 60x80, y el rango de inclinación de la cabeza se restringió porque el NeRF capta mal el techo.
Impacto en el campo
Finalista del premio ICRA 2023 Outstanding Robot Learning Paper, con 80 citas. El artículo publica un sitio web del proyecto con vídeos; no se indica publicación de código.
Resumen
Presentamos un sistema para aplicar enfoques sim2real a escenas «en entornos reales» con apariencia visual realista, y a políticas que dependen de la percepción activa mediante cámaras RGB. A partir de un vídeo corto de una escena estática grabado con un teléfono móvil genérico, aprendemos la geometría de contacto de la escena y una función de síntesis de vistas nuevas mediante un campo de radiancia neuronal (Neural Radiance Field, NeRF). Aumentamos el renderizado NeRF de la escena estática superponiendo el renderizado de otros objetos dinámicos (p. ej., el propio cuerpo del robot, una pelota). A continuación se crea una simulación usando el motor de renderizado en un simulador físico que calcula la dinámica de contacto a partir de la geometría de la escena estática (estimada a partir de la densidad volumétrica del NeRF) y de la geometría y las propiedades físicas de los objetos dinámicos (que se suponen conocidas). Demostramos que podemos usar esta simulación para aprender políticas de navegación de cuerpo completo basadas en visión y de empuje de pelota para un robot humanoide de 20 grados de libertad con una cámara RGB accionada montada en la cabeza, y transferimos con éxito estas políticas a un robot real. El vídeo del proyecto está disponible en https://sites.google.com/view/nerf2real/home.
Enlaces
- arXiv 2210.04932: https://arxiv.org/abs/2210.04932
- DOI 10.1109/ICRA48891.2023.10161544: https://doi.org/10.1109/ICRA48891.2023.10161544
- PDF: https://arxiv.org/pdf/2210.04932v1
- Página del proyecto: https://sites.google.com/view/nerf2real/home