Dense Object Nets: Learning Dense Visual Object Descriptors By and For Robotic Manipulation
Autoren: Peter R. Florence, Lucas Manuelli, Russ Tedrake · CoRL 2018
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 Roboter scannt Objekte mit einer RGBD-Kamera am Handgelenk, lernt selbstüberwacht pixelweise Deskriptoren aus 3D-Rekonstruktionen und greift dann vom Nutzer gewählte Punkte über Posen, Verformungen und Instanzen hinweg.
Warum es wichtig ist
Dichte Deskriptoren erlauben es einem Roboter, sich auf einen bestimmten Punkt eines Objekts zu beziehen, etwa die Ferse eines Schuhs oder das Ohr eines Spielzeugs, über neue Posen, Verformungen und andere Instanzen einer Klasse hinweg. Der Roboter sammelt und labelt seine Trainingsdaten selbst, und ein neues Objekt lässt sich in etwa 20 Minuten lernen.
Problem
Allgemeine Greifmethoden greifen jedes greifbare Teil, halten aber keine konsistente Objektrepräsentation vor, während aufgabenspezifisches Lernen viele Versuche brauchen kann, um über Objektkonfigurationen oder Aufgaben hinweg zu generalisieren. Instanzsegmentierung liefert nur Masken ganzer Objekte und sagt nichts über die Struktur des Objekts aus. Die Autoren wollen eine aufgabenunabhängige Repräsentation für starre und nicht starre Objekte, die Priors der 3D-Vision nutzt und vollständig durch Selbstüberwachung gelernt wird.
Lösungsansatz
Ein Kuka-Arm mit einer am Handgelenk montierten RGBD-Kamera scannt jede statische Szene, und TSDF-Fusion mit Kameraposen aus der Vorwärtskinematik liefert eine dichte 3D-Rekonstruktion, die Pixelkorrespondenzen zwischen Bildern für einen pixelweisen kontrastiven Loss auf einem vollständig faltenden ResNet-34-Netz bereitstellt. Objektmasken aus 3D-Änderungsdetektion ermöglichen maskiertes Sampling von Übereinstimmungen und Domänenrandomisierung des Hintergrunds, Hard-Negative-Skalierung hält den Loss für Nicht-Übereinstimmungen aussagekräftig, und ein objektübergreifender Loss sowie synthetische Szenen mit mehreren Objekten machen die Deskriptoren zwischen Objekten unterscheidbar. Zur Laufzeit klickt ein Nutzer auf ein Pixel in einem Referenzbild, der Roboter findet die beste Deskriptor-Übereinstimmung in einer neuen Szene und greift den entsprechenden 3D-Punkt.
Wichtigste Erkenntnisse
- 3D-Rekonstruktionen statischer Szenen mit einem kalibrierten Roboter liefern dichte Pixelkorrespondenzen ohne menschliche Labels.
- Die Datenassoziation in statischen Szenen allein ergab keine konsistenten Objektdeskriptoren; Objektmaskierung, Randomisierung von Hintergrund und Orientierung sowie Hard-Negative-Skalierung waren nötig.
- Training nur innerhalb von Szenen lässt verschiedene Objekte im Deskriptorraum überlappen; ein objektübergreifender Loss trennt sie, auf Kosten der Korrespondenzpräzision bei niedrigdimensionalen Deskriptoren, die etwas größere Dimensionen zurückgewinnen.
- Gemeinsam auf ähnlichen Instanzen trainiert, generalisieren Deskriptoren über eine Klasse (Hüte, Schuhe, Tassen), während der Trainingsmodus 'specific' selbst sehr ähnliche Instanzen trennt.
- Die Projektion der Deskriptoren auf die Einheitskugel brachte deutliche Gewinne beim Übergang von D = 4 zu D = 8, wurde aber in den Hardware-Experimenten nicht verwendet.
Hauptergebnisse
- Deskriptoren wurden für 47 Objekte über 275 Szenen gelernt, darunter 3 Klassen (8 Hüte, 15 Schuhe, 15 Tassen) und 9 weitere Objekte.
- Das Training läuft 3500 Schritte mit etwa 0,22 s pro Schritt (etwa 13 Minuten) auf einer einzelnen Nvidia 1080 Ti oder Titan Xp; mit der Szenenerfassung dauert ein neues Objekt etwa 20 Minuten.
- Mit dem Standardverfahren für ein einzelnes Objekt lag in 93 % der Bildpaare die beste Übereinstimmung innerhalb von 13 % der Bilddiagonale von der wahren Übereinstimmung; es übertraf die Implementierung des Verfahrens von Schmidt et al. durch die Autoren, und Objektmaskierung und Hard-Negative-Skalierung brachten jeweils messbare Gewinne.
- Auf nur 6 Instanzen trainierte Hut-Deskriptoren generalisierten auf ungesehene Hüte, darunter einen blauen Hut, eine Farbe, die im Training nie vorkam.
- Roboterdemonstrationen: Greifen des Schwanzes oder des rechten Ohrs eines Raupenspielzeugs über verschiedene Konfigurationen, eines klassenallgemeinen Punkts an ungesehenen Schuhen nach Training auf 4 Schuhen und der Ferse eines bestimmten Schuhs in einem unordentlichen Schuhhaufen.
- Jeder Scan dauert etwa 70 s und erfasst etwa 2.100 RGBD-Frames bei 30 Hz, die auf etwa 315 Bilder pro Szene heruntergesampelt werden.
Einschränkungen
- Bei mehreren Objekten muss ein Mensch weiterhin die Objekte für den Roboter austauschen und angeben, welche Szenen zu welchem Objekt gehören.
- Hinreichend verschiedene Objekte teilen keine Deskriptoren: Die anthropomorphen Spielzeuge Baymax und Starbot erhielten keine allgemeinen Deskriptoren.
- Deskriptoren können Griffe nicht anleiten, bevor das Lernen stattgefunden hat, und schränken die Greiferorientierung nicht ein, sodass die Griffe auf einem einfachen geometrischen Punktwolken-Planer beruhen.
- Ein objektübergreifender Loss senkt die Korrespondenzpräzision bei niedrigdimensionalen Deskriptorräumen in Netzen für mehrere Objekte.
- Die Greifdemonstrationen werden qualitativ gezeigt; das Paper berichtet keine Greiferfolgsraten.
Wirkung auf das Fachgebiet
Gewinner des CoRL 2018 Best Paper Award, mit 321 Zitationen. Code, Daten und Video sind unter github.com/RobotLocomotion/pytorch-dense-correspondence veröffentlicht.
Zusammenfassung
Was ist die richtige Objektrepräsentation für Manipulation? Wir möchten, dass Roboter Szenen visuell wahrnehmen und ein Verständnis der darin enthaltenen Objekte lernen, das (i) aufgabenunabhängig ist und als Baustein für eine Vielzahl von Manipulationsaufgaben dienen kann, (ii) allgemein sowohl auf starre als auch auf nicht starre Objekte anwendbar ist, (iii) die starken Priors der 3D-Vision nutzt und (iv) vollständig durch Selbstüberwachung gelernt wird. Dies ist mit bisherigen Methoden schwer zu erreichen: Viele neuere Arbeiten zum Greifen lassen sich nicht auf das Greifen bestimmter Objekte oder andere Aufgaben erweitern, während aufgabenspezifisches Lernen viele Versuche erfordern kann, um gut über Objektkonfigurationen oder andere Aufgaben hinweg zu generalisieren. In diesem Paper stellen wir Dense Object Nets vor, die auf neueren Entwicklungen im selbstüberwachten Lernen dichter Deskriptoren aufbauen, als konsistente Objektrepräsentation für visuelles Verständnis und Manipulation. Wir zeigen, dass sie schnell (etwa 20 Minuten) für eine große Vielfalt bisher ungesehener und möglicherweise nicht starrer Objekte trainiert werden können. Zusätzlich stellen wir neue Beiträge vor, die das Lernen von Deskriptoren für mehrere Objekte ermöglichen, und zeigen, dass wir durch Anpassung unseres Trainingsverfahrens entweder Deskriptoren erhalten können, die über Objektklassen hinweg generalisieren, oder Deskriptoren, die für jede Objektinstanz unterschiedlich sind. Schließlich demonstrieren wir die neuartige Anwendung gelernter dichter Deskriptoren auf die robotische Manipulation. Wir demonstrieren das Greifen bestimmter Punkte an einem Objekt über möglicherweise verformte Objektkonfigurationen hinweg und demonstrieren die Verwendung klassenallgemeiner Deskriptoren, um bestimmte Griffe zwischen Objekten einer Klasse zu übertragen.
Links
- 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
- Code: https://github.com/RobotLocomotion/pytorch-dense-correspondence