Grasp2Vec: Lernen, Objekte durch selbstlernende Erfassung darzustellen



Menschen ab einem überraschend jungen Alter können ihre Lieblingsobjekte bereits erkennen und aufheben, obwohl ihnen dies nicht speziell beigebracht wird. Studien zur Entwicklung kognitiver Fähigkeiten zufolge spielt die Möglichkeit der Interaktion mit Objekten der Welt um uns herum eine entscheidende Rolle bei der Entwicklung von Fähigkeiten wie dem Erfassen und Manipulieren von Objekten - beispielsweise der gezielten Erfassung. Im Umgang mit der Außenwelt können Menschen lernen, indem sie ihre eigenen Fehler korrigieren: Wir wissen, was wir getan haben, und lernen aus den Ergebnissen. In der Robotik wird diese Art des Trainings mit Selbstkorrektur von Fehlern aktiv untersucht, da Robotersysteme ohne große Menge an Trainingsdaten oder manueller Anpassung lernen können.

Wir bei Google bieten, inspiriert vom Konzept der Persistenz von Objekten , das Grasp2Vec- System an - einen einfachen, aber effektiven Algorithmus zum Erstellen der Darstellung von Objekten. Grasp2Vec basiert auf einem intuitiven Verständnis, dass ein Versuch, ein Objekt anzuheben, einige Informationen liefert. Wenn der Roboter das Objekt ergreift und es aufnimmt, muss sich das Objekt an dieser Stelle befinden, bevor es erfasst wird. Darüber hinaus weiß der Roboter, dass sich das erfasste Objekt nicht mehr an dem Ort befindet, an dem es sich befand, wenn es erfasst wird. Mit dieser Form des Selbstlernens kann der Roboter lernen, ein Objekt aufgrund der visuellen Veränderung in der Szene zu erkennen, nachdem es erfasst wurde.

Basierend auf unserer Zusammenarbeit mit X Robotics , bei der mehrere Roboter gleichzeitig geschult wurden, um Haushaltsobjekte mit nur einer Kamera als Eingabedatenquelle zu erfassen, verwenden wir die Robotererfassung, um Objekte „versehentlich“ zu erfassen. Diese Erfahrung ermöglicht es uns, eine umfassende Vorstellung vom Objekt zu erhalten. Diese Idee kann bereits verwendet werden, um die Fähigkeit der "absichtlichen Erfassung" zu erwerben, wenn der Roboterarm Objekte nach Bedarf anheben kann.



Erstellen einer Wahrnehmungsbelohnungsfunktion


Auf einer Verstärkungslernplattform wird der Erfolg einer Aufgabe durch eine Belohnungsfunktion gemessen. Durch die Maximierung der Belohnungen lernen Roboter verschiedene Erfassungsfähigkeiten von Grund auf neu . Das Erstellen einer Belohnungsfunktion ist einfach, wenn der Erfolg mit einfachen Sensorablesungen gemessen werden kann. Ein einfaches Beispiel ist eine Schaltfläche, die eine Belohnung direkt auf die Eingabe eines Roboters überträgt, indem Sie darauf klicken.

Das Erstellen einer Belohnungsfunktion ist jedoch viel komplizierter, wenn das Erfolgskriterium von einem Wahrnehmungsverständnis der Aufgabe abhängt. Betrachten Sie das Erfassungsproblem in einem Beispiel, in dem der Roboter ein Bild des gewünschten Objekts erhält, das in der Erfassung enthalten ist. Nachdem der Roboter versucht hat, das Objekt zu erfassen, untersucht er den Inhalt der Erfassung. Die Belohnungsfunktion für diese Aufgabe hängt von der Antwort auf die Frage der Mustererkennung ab: Stimmen die Objekte überein?


Links hält der Griff den Pinsel und im Hintergrund sind mehrere Objekte sichtbar (eine gelbe Tasse, ein blauer Plastikblock). Rechts hält der Griff die Tasse und der Pinsel befindet sich im Hintergrund. Wenn das linke Bild das gewünschte Ergebnis darstellt, besteht eine gute Belohnungsfunktion darin, zu „verstehen“, dass diese beiden Fotos zwei verschiedenen Objekten entsprechen.

Um das Erkennungsproblem zu lösen, benötigen wir ein Wahrnehmungssystem, das aussagekräftige Konzepte von Objekten aus unstrukturierten Bildern (nicht von Personen signiert) extrahiert und lernt, Objekte ohne Lehrer zu visualisieren. Im Wesentlichen funktionieren lehrerlose Lernalgorithmen, indem sie strukturelle Annahmen über Daten erstellen. Es wird häufig angenommen, dass Bilder auf einen Raum mit weniger Abmessungen komprimiert werden können und Videobilder aus früheren vorhergesagt werden können . Ohne zusätzliche Annahmen über den Inhalt der Daten reicht dies jedoch normalerweise nicht aus, um aus nicht verwandten Darstellungen von Objekten zu lernen.

Was wäre, wenn wir einen Roboter verwenden würden, um Objekte während der Datenerfassung physisch zu trennen? Die Robotik bietet eine hervorragende Gelegenheit, das Darstellen von Objekten zu lernen, da Roboter sie manipulieren können, wodurch die erforderlichen Variationsfaktoren erhalten werden. Unsere Methode basiert auf der Idee, dass das Erfassen eines Objekts es aus der Szene entfernt. Das Ergebnis ist 1) ein Bild der Szene vor der Aufnahme, 2) ein Bild der Szene nach der Aufnahme und 3) eine separate Ansicht des aufgenommenen Objekts.


Links - Objekte, die erfasst werden sollen. In der Mitte - nach der Aufnahme. Rechts ist das erfasste Objekt.

Wenn wir eine integrierte Funktion betrachten, die eine „Menge von Objekten“ aus Bildern extrahiert, sollte die folgende Subtraktionsbeziehung beibehalten werden:


Objekte vor der Erfassung - Objekte nach der Erfassung = erfasstes Objekt

Diese Gleichheit erreichen wir mit einer Faltungsarchitektur und einem einfachen metrischen Lernalgorithmus. Während des Trainings bettet die unten gezeigte Architektur Bilder vor und nach der Erfassung in eine dichte Karte mit räumlichen Eigenschaften ein . Diese Karten werden durch eine gemittelte Vereinigung zu Vektoren, und der Unterschied zwischen den Vektoren "vor der Erfassung" und "nach der Erfassung" repräsentiert eine Reihe von Objekten. Dieser Vektor und die entsprechende Darstellung des Vektors dieses wahrgenommenen Objekts werden durch die Funktion von N-Paaren gleichgesetzt.



Nach dem Training hat unser Modell natürlich zwei nützliche Eigenschaften.

1. Ähnlichkeit von Objekten


Der Kosinuskoeffizient des Abstands zwischen den Vektoreinbettungen ermöglicht es uns, Objekte zu vergleichen und festzustellen, ob sie identisch sind. Dies kann verwendet werden, um die Belohnungsfunktion für verstärktes Lernen zu implementieren, und ermöglicht es Robotern zu lernen, wie man mit Beispielen erfasst, ohne Daten von Menschen zu markieren.



2. Ziele finden


Wir können räumliche Karten der Szene und die Einbettung von Objekten kombinieren, um das „gewünschte Objekt“ im Bildraum zu lokalisieren. Durch elementweise Multiplikation von räumlichen Merkmalskarten und Vektorkorrespondenz des gewünschten Objekts können wir alle Pixel auf der räumlichen Karte finden, die dem Zielobjekt entsprechen.


Verwenden von Grasp2Vec-Inlays zum Lokalisieren von Objekten in der Szene. Oben links befinden sich Objekte im Korb. Unten links - das gewünschte Objekt, das erfasst werden soll. Das Skalarprodukt des Vektors des Zielobjekts und die räumlichen Merkmale des Bildes geben uns eine „Aktivierungskarte“ pro Pixel (oben rechts) der Ähnlichkeit eines bestimmten Bildabschnitts mit dem Ziel. Diese Karte kann verwendet werden, um näher an das Ziel heranzukommen.

Unsere Methode funktioniert auch, wenn mehrere Objekte dem Ziel entsprechen oder wenn das Ziel aus mehreren Objekten besteht (der Durchschnitt von zwei Vektoren). In diesem Szenario identifiziert der Roboter beispielsweise mehrere orangefarbene Blöcke in der Szene.


Die resultierende „Wärmekarte“ kann verwendet werden, um die Annäherung des Roboters an das / die Zielobjekt (e) zu planen. Wir kombinieren die Lokalisierung von Grasp2Vec und die Mustererkennung mit unserer Richtlinie "Alles erfassen" und erzielen in 80% der Fälle Erfolg bei der Datenerfassung und in 59% bei neuen Objekten, auf die der Roboter zuvor noch nicht gestoßen ist.

Fazit


In unserer Arbeit haben wir gezeigt, wie Roboter-Greiferfähigkeiten Daten erstellen können, die zum Unterrichten von Objektdarstellungen verwendet werden. Anschließend können wir mithilfe von Präsentationstrainings schnell komplexere Fähigkeiten erwerben, z. B. das Erfassen anhand eines Beispiels, und gleichzeitig alle Eigenschaften des Unterrichts ohne Lehrer in unserem autonomen Erfassungssystem beibehalten.

Zusätzlich zu unserer Arbeit haben mehrere andere neuere Arbeiten auch untersucht, wie Interaktion ohne Lehrer verwendet werden kann, um Darstellungen von Objekten zu erhalten, indem Objekte in der Umgebung erfasst , verschoben und auf andere Weise interagiert werden . Wir erwarten freudig nicht nur, was maschinelles Lernen Robotik in Bezug auf bessere Wahrnehmung und Kontrolle geben kann, sondern auch, was Robotik maschinelles Lernen in Bezug auf neue selbstlernende Paradigmen geben kann.

Source: https://habr.com/ru/post/de434898/


All Articles