NeRF2Real: Sim2real Transfer of Vision-guided Bipedal Motion Skills using Neural Radiance Fields
Autoren: Arunkumar Byravan, Jan Humplik, Leonard Hasenclever, Arthur Brussee, Francesco Nori, Tuomas Haarnoja, Ben Moran, Steven Bohez, Fereshteh Sadeghi, Bojan Vujatovic, Nicolas Heess · ICRA 2023
Lizenzen
- Open Access
- Paper: CC BY 4.0
Alles Folgende stützt sich auf das vollständige Paper unter seiner Lizenz CC BY 4.0; die Abbildung wird mit Nennung der Autoren gezeigt.
Kurz gesagt
Ein auf einem 5-6 Minuten langen Handyvideo trainiertes NeRF liefert Optik und Kollisionsnetz für eine MuJoCo-Simulation; dort trainierte, nur auf RGB gestützte Humanoiden-Policies übertragen sich zero-shot auf einen realen Roboter.
Warum es wichtig ist
Die Pipeline benötigt nur ein Video von einem handelsüblichen Handy, um eine visuell realistische Szene mit brauchbarer Kontaktgeometrie nachzubilden, und sie trainiert eine zweibeinige Ganzkörperregelung allein aus RGB-Bildern, ohne Lokalisierung oder einen separaten unterlagerten Regler. Bei der Navigationsaufgabe stimmten Erfolg und Zeit bis zum Ziel auf dem realen Roboter eng mit der Simulation überein.
Problem
Sim2real-Training braucht Simulationen, die dazu passen, wie ein Roboter eine reale Szene sieht und berührt, doch die Modellierung von Geometrie und Erscheinungsbild unstrukturierter Szenen ist langsam und stützt sich meist auf spezielle 3D-Scan-Aufbauten, die im Freien schlecht funktionieren. RGB-Kameras haben eine große sim2real-Lücke, daher stützten sich frühere Arbeiten zum Transfer visueller Navigation auf Tiefensensoren oder LiDAR, Lokalisierung und bestehende unterlagerte Regler.
Lösungsansatz
Ein kurzes Handyvideo wird in etwa 1000 Keyframes zerlegt, mit COLMAP lokalisiert und zum Training eines NeRF verwendet; das NeRF rendert die Kameraansicht des Roboters, und seine Belegung wird mit Marching Cubes in ein Kollisionsnetz umgewandelt, skaliert und am Simulator ausgerichtet, wobei der Boden durch eine flache Ebene ersetzt wird. MuJoCo simuliert den Roboter und bekannte dynamische Objekte (einen Ball), deren Renderings über das NeRF-Bild gelegt werden, und DMPO trainiert rekurrente Policies aus Bild und Propriozeption mit einem asymmetrischen Critic, Domain Randomization und Bildaugmentierung.
Wichtigste Erkenntnisse
- Ein einziges NeRF liefert sowohl das fotorealistische Rendering als auch die statische Kontaktgeometrie für eine Physiksimulation, sodass ein einziges Handyvideo genügt, um eine Trainingsszene aufzubauen.
- Simulator-Renderings bekannter dynamischer Objekte (Roboterkörper, Ball) über das NeRF-Bild zu legen, genügt für die getesteten Aufgaben, um den Preis, dass Verdeckungen nicht behandelt werden.
- Genaue Sensor- und Aktuatormodelle plus begrenzte Domain Randomization (Stöße, Latenz, Zusatzmasse, IMU-Versatz) reichten aus, damit sich die Gangart übertrug.
- Bildaugmentierung kann die Kamerakalibrierung nicht ersetzen: Die Navigations-Policy reagierte sehr empfindlich auf die Einstellung der Kameraverstärkung.
- End-to-End trainierte Policies hielten eine stabile Gangart bei, auch wenn sich die Szene änderte oder die Kamera verdeckt war, was darauf hindeutet, dass Fortbewegung und Szenenverständnis teilweise getrennt waren.
Hauptergebnisse
- Navigation, Eingabe 60x80: 87±5 % Erfolg auf dem realen Roboter (47/54 Episoden) gegenüber 86±2 % in der Simulation; Medianzeit 11,2±0,4 s real gegenüber 10,8±0,1 s simuliert.
- Navigation, Eingabe 30x40: 69±6 % Erfolg auf dem realen Roboter (37/54 Episoden) gegenüber 73±3 % in der Simulation; Medianzeit 10,3±0,4 s real gegenüber 10,3±0,3 s simuliert.
- Median des Lokalisierungsfehlers der Posen-Belief der Policy: 0,24±0,01 m und 0,27±0,04 m auf dem realen Roboter gegenüber 0,17±0,01 m und 0,19±0,004 m in der Simulation (30x40 und 60x80).
- Ballschieben, Eingabe 30x40: 78±7 % realer Erfolg mit dem Ball in der Mitte als Start und 43±14 % mit ihm nahe einer Wand, gegenüber 99 % und 100 % in der Simulation.
- Als die Kameraverstärkung vom Standardwert 50 (4/5 Erfolge) auf 90 oder 128 geändert wurde, scheiterte die Navigations-Policy in 0/5 Versuchen und lief in einem kleinen Kreis.
- Für die Unschärfe-Augmentierung beim niedrig aufgelösten NeRF-Rendering wird ein mittleres PSNR von etwa 31,5 gegenüber etwa 35,4 auf zurückgehaltenen Bildern berichtet; das Hash-Grid-NeRF rendert ein Bild in 6 ms auf einer V100-GPU.
Einschränkungen
- Dynamische Objekte werden stets vor der statischen NeRF-Szene gerendert, daher werden Verdeckungen nicht behandelt; komplexere dynamische Szenen würden zusammengesetztes NeRF-Rendering erfordern.
- Manuelle Schritte bleiben: Bodenpunkte in Blender auswählen, das Netz ausrichten und skalieren und den schlecht texturierten Boden durch eine flache Ebene ersetzen.
- Vom Video zur trainierten Policy dauert es 1-2 Tage (COLMAP etwa 3-4 Stunden, Policy-Training etwa 24 Stunden für Navigation und doppelt so lange für Ballschieben).
- Die sim2real-Lücke ist bei der kontaktreichen Aufgabe des Ballschiebens größer, besonders wenn der Ball nahe einer Wand startet.
- Die Rechenleistung an Bord (2 CPU-Kerne, keine GPU, 25 ms pro Schritt) beschränkte die Policies auf Bilder mit 30x40 und 60x80, und der Neigungsbereich des Kopfes wurde begrenzt, weil die Decke vom NeRF schlecht erfasst wird.
Wirkung auf das Fachgebiet
Finalist für den ICRA 2023 Outstanding Robot Learning Paper Award, mit 80 Zitierungen. Das Paper stellt eine Projektwebsite mit Videos bereit; eine Veröffentlichung des Codes wird nicht angegeben.
Zusammenfassung
Wir stellen ein System vor, um sim2real-Ansätze auf Szenen „in the wild“ mit realistischer Optik anzuwenden sowie auf Policies, die auf aktiver Wahrnehmung mit RGB-Kameras beruhen. Aus einem kurzen, mit einem gewöhnlichen Handy aufgenommenen Video einer statischen Szene lernen wir mithilfe eines Neural Radiance Field (NeRF) die Kontaktgeometrie der Szene und eine Funktion zur Synthese neuer Ansichten. Wir ergänzen das NeRF-Rendering der statischen Szene, indem wir das Rendering weiterer dynamischer Objekte (z. B. des eigenen Körpers des Roboters, eines Balls) überlagern. Anschließend wird eine Simulation erstellt, indem die Rendering-Engine in einem Physiksimulator verwendet wird, der die Kontaktdynamik aus der Geometrie der statischen Szene (geschätzt aus der Volumendichte des NeRF) sowie aus Geometrie und physikalischen Eigenschaften der dynamischen Objekte (als bekannt angenommen) berechnet. Wir zeigen, dass wir mit dieser Simulation visionsbasierte Ganzkörper-Policies für Navigation und Ballschieben für einen humanoiden Roboter mit 20 Freiheitsgraden und einer aktuierten, am Kopf montierten RGB-Kamera lernen können, und übertragen diese Policies erfolgreich auf einen realen Roboter. Ein Projektvideo ist verfügbar unter https://sites.google.com/view/nerf2real/home.
Links
- 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
- Projektseite: https://sites.google.com/view/nerf2real/home