Semantic keypoint
- Auch genannt: category-level keypoint, object keypoint
- Kategorie: Sensing › Perception outputs
- Schlagwörter: manipulation, perception, object-representation, category-level, keypoints
Ein Punkt auf einem Objekt, der über eine ganze Objektkategorie hinweg einheitlich definiert ist, etwa der Henkel oder die Bodenmitte einer Tasse, und den ein Roboter in 3D detektiert, um Manipulation festzulegen und zu planen.
Definition
Ein semantischer Keypoint (semantic keypoint) ist ein Punkt auf einem Objekt, der auf jeder Instanz einer Kategorie dieselbe Bedeutung hat: die Mitte des Bodens einer Tasse, die Spitze eines Schraubendrehers, das Ende eines Stifts, die Spitze eines Schuhs. Anders als ein generisches Bildmerkmal, das gewählt wird, weil es leicht zu detektieren und zu verfolgen ist, wird ein semantischer Keypoint danach gewählt, was er für eine Aufgabe bedeutet. Ein Wahrnehmungsmodell, meist ein neuronales Netz, das auf annotierten Bildern trainiert wurde, sagt die Bildposition jedes Keypoints voraus, und Tiefendaten oder mehrere Ansichten machen daraus 3D-Positionen.
In der Manipulation sind semantische Keypoints eine Alternative zur Schätzung einer vollständigen 6-DOF-Objektpose. Eine Pose ist nur relativ zu einem festen Vorlagenmodell wohldefiniert, und das versagt, wenn sich Instanzen einer Kategorie in Größe und Form unterscheiden: Zwei Tassen können sich in Höhe, Breite und Lage des Henkels unterscheiden, sodass keine einzelne starre Transformation die eine auf die andere abbildet. Eine kleine Menge von Keypoints ergibt dagegen auf beiden einen Sinn. Der Ansatz kPAM (Manuelli, Gao, Florence und Tedrake, 2019) nutzt das, um Aufgaben als Kosten und Nebenbedingungen auf Keypoints festzulegen, zum Beispiel, dass die Bodenmitte einer Tasse auf einem Regal steht und ihre obere Mitte direkt darüber liegt, und löst nach der starren Bewegung des Objekts, die diese erfüllt; ein Griff führt das Objekt dann entlang dieser Bewegung. kPAM 2.0 erweitert den Ansatz auf Regelung mit geschlossenem Regelkreis, was kontaktreiche Aufgaben wie Peg-in-Hole-Einsetzen ermöglicht.
Die Darstellung ist kompakt und interpretierbar, und Keypoint-Kosten lassen sich zusammen mit Kollisions- und kinematischen Nebenbedingungen direkt in ein Optimierungsproblem schreiben. Ihre Grenzen haben dieselbe Ursache. Jemand muss festlegen, welche Keypoints eine Kategorie für eine bestimmte Aufgabe braucht, und wenige Punkte sagen wenig über die vollständige Geometrie aus, daher erfordert die Kollisionsprüfung meist eine separate Punktwolke oder ein separates Mesh. Verdeckung, Symmetrie, bei der mehrere Punkte gleichwertig aussehen, und Objekte, die denen in den Trainingsdaten nicht ähneln, verschlechtern alle die Detektion. Verwandte Darstellungen sind dichte visuelle Deskriptoren, die jedem Pixel ein gelerntes Merkmal zuordnen, und normalisierte Objektkoordinatenkarten, die für jedes Pixel ein kanonisches Formkoordinatensystem vorhersagen.
Warum es wichtig ist
Roboter in Wohnungen, Laboren und Lagern treffen auf viele Objektinstanzen, die einen Zweck teilen, aber nicht genau dieselbe Form. Semantische Keypoints ermöglichen es, eine einzige Aufgabenspezifikation für eine ganze Kategorie zu schreiben und Objekte trotzdem präzise zu platzieren, ohne ein CAD-Modell jedes Objekts.
Wichtige Anwendungen
- Pick-and-Place auf Kategorieebene für Objekte mit Formvariation
- Aufgabenspezifikation für Ablegen, Aufhängen und Stapeln
- Kontaktreiche Montage wie Peg-in-Hole-Einsetzen
- Werkzeuggebrauch, bei dem aufgabenrelevante Punkte festlegen, wie ein Werkzeug auf ein Werkstück trifft
- Verfolgen artikulierter oder verformbarer Objekte über wenige bedeutungstragende Punkte
In der Praxis
Ein Team möchte, dass ein Roboter jede von einigen Dutzend verschiedenen Tassen an einen Ständer hängt. Es annotiert drei Keypoints auf einigen hundert Tiefenbildern: die Bodenmitte, die obere Mitte und einen Punkt im Inneren des Henkels. Ein auf diesen Bildern trainiertes Netz sagt die Keypoints auf neuen Tassen voraus, und ihre 3D-Positionen werden aus dem Tiefenbild gelesen. Die Aufgabe wird als Nebenbedingungen geschrieben: Der Henkelpunkt muss am Haken des Ständers landen, und die Achse vom Boden nach oben muss annähernd waagerecht sein. Ein Optimierer findet die starre Transformation der Tasse, die diese erfüllt, der Roboter greift den Rand, und die geplante Bewegung der Tasse wird in eine Endeffektor-Trajektorie umgesetzt. Die meisten Fehlschläge treten auf, wenn der Henkel für die Kamera verdeckt ist, daher lässt das Team den Roboter vor dem Planen die Kamera bewegen oder die Tasse drehen und erneut detektieren.
Häufige Missverständnisse
- Semantische Keypoints sind dasselbe wie Bildmerkmalspunkte, etwa SIFT- oder ORB-Ecken — diese werden gewählt, weil sie markant und verfolgbar sind, während semantische Keypoints nach ihrer Bedeutung für die Aufgabe gewählt werden und einander über Instanzen hinweg entsprechen
- Keypoints ersetzen die gesamte Objektgeometrie — sie beschreiben nur die aufgabenrelevanten Punkte, daher brauchen Kollisionsvermeidung und Griffauswahl weiterhin eine Punktwolke oder ein Mesh
- Keypoints entfernen die Pose aus dem Problem — sie vermeiden eine vorlagenbasierte 6-DOF-Objektpose, aber der Roboter berechnet weiterhin eine starre Transformation für das Objekt und eine vollständige Pose für seinen Greifer
Wer das wissen sollte
- Manipulationsingenieure, die mit vielfältigen Alltagsobjekten arbeiten
- Wahrnehmungsingenieure, die Keypoint-Detektoren trainieren
- Forschende im Roboterlernen, die Objektdarstellungen entwerfen
- Integratoren, die flexible Pick-and-Place- und Montagezellen aufbauen
Verwandte Technologien
- kPAM
- Keypoint-Heatmap-Regression
- Dichte Objektdeskriptoren (Dense Object Descriptors)
- Normalized Object Coordinate Space (NOCS)
- Perspective-n-Point
Verwandte Begriffe
- Category-Level Manipulation
- Affordance
- Point Cloud
- Perspective-n-Point
- Task-Oriented Grasping
- Peg-in-hole insertion
Verwandte Projekte
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- PCL: Industry-standard C++ library for point cloud processing in robotics perception
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation