Zurück zu Datasets

MimicGen: Synthetische Demonstrationsgeneration

Erforschen Sie MimicGen: Verwandeln Sie 200 menschliche Demo-Demonstrationen in mehr als 50.000 synthetische Demonstrationen. Installieren Sie NVLabs MimicGen, skalieren Sie das Imitationslernen 250x und benchmarkten Sie die Diffusion Policy heute.

Ein Praktikerführer für die MimicGen NVIDIA's Datenmotor, der ~200 menschliche Teleoperationskerne in 50.000+ synthetische Flugbahnen ohne zusätzliche menschliche Zeit verwandelt.

TL;DR

Metric Value
Task coverage 18 manipulation tasks across 4 embodiments
Robots Franka Panda, Sawyer, UR5e, bimanual Panda (robosuite & Isaac Lab)
Modalities Low-dim state, RGB (agent + wrist), object poses, subtask segmentation
License NVIDIA Source Code License
Size 50,000+ synthetic demos generated from ~200 human seeds
Built on robomimic + robosuite + Isaac Lab

Was ist MimicGen?

MimicGen ist ein System, nicht nur ein Datensatz. Das von Ajay Mandlekar und Mitarbeitern bei NVIDIA und UT Austin auf der CoRL 2023 vorgestellt wurde, befasst es sich mit dem größten Engpass im Nachahmungslernen: der menschlichen Teleoperationszeit. Die Erkenntnis ist, dass eine Manipulationsdemonstration in objektzentrische Teil-Aufgabensegmente z.B. "Anschließungskuppe", "Grasp-Kuppe", "Lift-Kuppe", "Platz auf einer Untertasse" aufgeteilt werden kann und jedes Segment wieder an eine neu geprobte Objektposition verankert und in der Simulation wiedergegeben werden kann. Angesichts eines kleinen Samens von Expertendemonstrationen (rund 10 pro Aufgabe) erzeugt MimicGen Hunderte zusätzlicher erfolgreicher Flugbahnen pro Aufgabe mit nur einem kleinen Filter auf Simulationsrollout-Erfolg.

Die veröffentlichten MimicGen-Datensätze liefen ~ 50.000 synthetische Demonstrationen über 18 Aufgaben und 4 Ausführungsformen, die kontaktreiche Manipulationen wie Nussmontage, Kaffeereinigung, Küchenreinigung und zweimanuale Hammerschwingung abdecken. Mit Hilfe von Daten von MimicGen erfolgt eine gleich große Erfolgsrate wie mit Hilfe von 10 mal mehr handgefertigten menschlichen Daten, und die Kosten für die Berechnung sind gering: Eine einzige Arbeitsstation kann über Nacht 10.000 Demo-Demo-Dateien erzeugen.

MimicGen ist das Standard-Rezept für die Datenvermessung für das Robosuite-Ökosystem geworden. LIBERO, RoboCasa und viele Nacharbeitern verwenden die MimicGen-Stilgeneration, um ihre Benchmarks über das hinaus zu erweitern, was die menschliche Teleoperation allein unterstützen könnte, und die Methode wird für eine groß angelegte GPU-Parallelgeneration an Isaac Lab übertragen.

Wie man herunterlädt und lädt

Die veröffentlichten synthetischen Datensätze sind HDF5-Dateien im Standardrobomimic-Format, was bedeutet, dass jeder robomimic-kompatible Algorithmus ohne Änderung darauf trainieren kann:

# Install MimicGen and its dependencies
git clone https://github.com/NVlabs/mimicgen.git
cd mimicgen && pip install -e .
# Also install robomimic and robosuite
pip install robomimic robosuite

# Download the pre-generated datasets (~60 GB)
python mimicgen/scripts/download_datasets.py --dataset_type core --tasks all

# Train Diffusion Policy on a MimicGen dataset
python -m robomimic.scripts.train \
  --config configs/diffusion_policy.json \
  --dataset datasets/mg_square_d1/image_v141.hdf5

# Or generate your own synthetic demos from a seed
python mimicgen/scripts/generate_dataset.py \
  --config mimicgen/exps/templates/robosuite/square.json \
  --n_trajectories 1000 \
  --seed_data datasets/square/ph/low_dim_v141.hdf5

Das T1-Skript ist das interessante es führt die Unteraufgabezerlegung durch, stellt Objekte vor, spielt die angepassten Flugbahnen in der Simulation aus, filtert nach Erfolg und speichert einen frischen HDF5, der für Robomimik-Training bereit ist.

Häufige Anwendungsfälle und Modellpaarungen

  • Scaling Nachahmungslernen. MimicGen ist der schnellste Weg, um die Anzahl Ihrer Demonstrationen ohne zusätzliche menschliche Teleoperation zu 50x zu erhöhen.
  • Vergrößerung der Diffusionspolitik. Die Diffusionspolitik auf MimicGen-Daten übertrifft die Diffusionspolitik auf dem ursprünglichen Robomim-Samen konsequent um 15 bis 25 Punkte.
  • Bimanuelle Aufgabenforschung. Die bimanuellen Panda-Tätigkeiten sind einige der einzigen groß angelegten bimanuellen Imitationsdaten-Sets in der Simulation.
  • Benchmark-Erweiterung. LIBERO und RoboCasa nutzen beide im MimicGen-Stil-Generation intern, um ihre Bewertungssätze zu skalieren.

Benchmarks & Leaderboards

MimicGen wird in der Regel durch Festlegung des Generationsrezepts und Vergleich der Nachlaufverhaltensklonungsergebnisse über Datenskalien (10, 100, 1K, 10K-Demos) bewertet. Das CoRL 2023-Papier und die Nachfolge berichten über 20-30 Punkte Verbesserungen gegenüber nur menschlichen Basislinien beim gleichen Evaluationsprotokoll. Siehe die Papiere mit Code MimicGen-Eintrag, die offizielle Projektseite, und die [Mandlekar et al. CoRL 2023 Papier]T4) für kanonische Zahlen.

Technisches tiefgreifendes Tauchen: Unteraufgabezerfall

Die Kernalgorithmusidee hinter MimicGen ist, dass eine Demonstration in objektzentrische Subtask-Segmente geschnitten werden kann, wo jedes Segment durch die Pose eines bestimmten Objekts in der Szene parametriert wird. Nach einer Quelldemonstration identifiziert MimicGen das aktive Objekt für jede Unter Aufgabe, verwandelt die End-Effektor-Trajektorie in den Rahmen dieses Objekts und wendet es in einer neuen Szene erneut auf eine neue Probenobjekt-Pose an.

Dieser Trick funktioniert, weil die meisten Manipulations-Unter Aufgaben wirklich objektzentrisch sind: Die Bewegung, die Sie ausführen, um eine Tasse zu greifen, hängt von der Pose der Tasse ab, nicht von der Pose des Tisches. Es bricht ab, wenn die Unter Aufgaben handzentrisch sind (das eigene Handgelenk unabhängig von Objekten in eine bestimmte Pose bewegt) oder wenn mehrere Objekte untrennbar miteinander interagieren. Für diese Fälle stellt MimicGen Anker für benutzerdefinierte Unteraufgabendefinitionen auf.

Die Generation Pipeline ist peinlich parallel jede synthetische Demo ist unabhängig von allen anderen so können Sie über Nacht auf einer einzigen Arbeitsstation mit 32 CPU-Kernen auf 10.000+ Demos skalieren. Für noch größere Skala hat das Team MimicGen nach Isaac Lab portiert, um GPU-parallele Physik zu nutzen, mit gemeldeten Geschwindigkeitserhebungen von 10-20x.

Bekannte Einschränkungen

  • Simulation nur. MimicGen erzeugt Demos in einem Physik-Simulator.
  • Erfordert eine Aufgabe XML. Jede Ziel-Taske muss als Robosuite oder Isaac Lab-Szene definiert werden.
  • Subtask-Segmentierung ist manuell. Die Seed-Demos müssen mit Subtask-Grenzen annotert werden. Dies ist in der Regel eine 30-minütige Aufgabe pro neuen Benchmark, ist aber nicht automatisch.
  • Fehlermodus bei extremer Domänenverschiebung. Wenn die neu geprobte Objektposition zu weit von der Saatverteilung entfernt ist, versagt die Wiedergabe und die Demo wird abgeschafft.

FAQ

** Kann ich MimicGen für reale Daten verwenden?** Nicht direkt. Der Wiedergabemechanismus erfordert einen Physik-Simulator. Sie können jedoch MimicGen-generierte Simdaten als Vor-Training-Daten verwenden und dann auf einem kleinen Datensatz in der realen Welt einstellen.

Wie verglichen sich MimicGen mit DAgger oder Verhaltensklonung mit Lärminspritzung? MimicGen erzeugt größere Mengen vielfältiger, aber in der Politik gleichwertiger Daten, während DAgger einen Online-Experten benötigt.

Funktioniert MimicGen mit zweibrännigen Aufgaben? Ja Die veröffentlichten Datensätze enthalten zweibrännige Panda-Tätigkeiten, und die Unteraufgabezerlegung erstreckt sich natürlich auf zweibrännige Episoden.