La generación de demostraciones sintéticas
Explore MimicGen: convierta 200 demostraciones humanas en más de 50.000 demostraciones sintéticas. Instale NVLabs MimicGen, aprenda imitando 250 veces la escala y haga referencia a la Política de difusión hoy.
Una guía para practicantes de MimicGen
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 |
¿Qué es MimicGen?
MimicGen es un sistema, no sólo un conjunto de datos. Presentado en CoRL 2023 por Ajay Mandlekar y colaboradores de NVIDIA y UT Austin, aborda el cuello de botella más grande en el aprendizaje de imitación: el tiempo de teleoperación humana. La idea es que una demostración de manipulación puede descomponerse en segmentos de subtareas centradas en objetos
Los conjuntos de datos de MimicGen lanzados envían ~ 50.000 demostraciones sintéticas en 18 tareas y 4 encarnaciones, que cubren manipulaciones ricas en contacto como el montaje de nueces, la preparación de café, la limpieza de la cocina y el swing de martillo bimanual. Las políticas entrenadas en datos MimicGen alcanzan las mismas tasas de éxito que las políticas entrenadas en datos humanos recopilados a mano 10 veces más, y el costo de cálculo es trivial: una sola estación de trabajo puede generar 10.000 demostraciones durante la noche.
MimicGen se ha convertido en la receta predeterminada de escala de datos para el ecosistema robosuite. LIBERO, RoboCasa y muchos artículos posteriores utilizan la generación al estilo MimicGen para extender sus puntos de referencia más allá de lo que solo la teleoperación humana podría soportar, y el método se está portando a Isaac Lab para la generación paralela de GPU a gran escala.
Cómo descargar y cargar
Los conjuntos de datos sintéticos liberados son archivos HDF5 en el formato robomimic estándar, lo que significa que cualquier algoritmo compatible con robomimic puede entrenar en ellos sin modificaciones:
# 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
El script
Casos de uso comunes y emparejamientos de modelos
- ** Aprendizaje de imitación a escala.** MimicGen es la forma más rápida de alcanzar 50 veces el número de demostraciones sin necesidad de una teleoperatoria humana adicional.
- Aumento de la política de difusión. La política de difusión en los datos de MimicGen supera consistentemente la política de difusión en la semilla robomimic original en 15-25 puntos.
- ** Investigación de tareas bimanual.** Las tareas bimanual Panda son algunos de los únicos conjuntos de datos de imitación bimanual a gran escala en la simulación.
- Extensión de referencia. LIBERO y RoboCasa utilizan la generación al estilo MimicGen internamente para escalar sus suites de evaluación.
Indicadores de referencia y tablas de clasificación
MimicGen se evalúa generalmente manteniendo la receta de generación fija y comparando el rendimiento de clonación conductual en la secuencia descendente en escalas de datos (10, 100, 1K, 10K demos). El documento de CoRL 2023 y los seguimientos informan de mejoras de 20-30 puntos en relación con las líneas de base solo humanas en el mismo protocolo de evaluación. Ver los Papers with Code MimicGen entry, la página oficial del proyecto, y el [Mandlekar et al. Papel de la CRL 2023]
Inmersión técnica profunda: descomposición de las subtareas
La idea algorítmica principal detrás de MimicGen es que una demostración puede ser cortada en segmentos de subtareas centrados en objetos, donde cada segmento se parámetriza por la postura de un objeto específico en la escena. Dado una demostración de la fuente, MimicGen identifica el objeto activo para cada subtarefa, transforma la trayectoria del efecto final en el marco de ese objeto y lo reaplica a una nueva pose de objeto muestrada en una nueva escena.
Este truco funciona porque la mayoría de las subtareas de manipulación son realmente centradas en objetos: el movimiento que ejecuta para agarrar una taza depende de la postura de la taza, no de la postura de la mesa. Se rompe cuando las subtareas son centradas en la mano (movir su propia muñeca a una postura específica independientemente de los objetos) o cuando múltiples objetos interactúan de una manera no separable. Para esos casos, MimicGen expone los ganchos para las definiciones personalizadas de subtareas.
La generación de la tubería es vergonzosamente paralela
Las limitaciones conocidas
- Sólo para simulación. MimicGen genera demos dentro de un simulador de física. La transferencia de Sim a la realidad no se maneja por MimicGen y requiere un paso de aleatorización o adaptación de dominio separado.
- Requiere una tarea XML. Cada tarea objetivo debe definirse como una escena de robosuite o Isaac Lab. Las tareas del mundo real solo están fuera de alcance.
- Segmentación de subtareas es manual. Las demostraciones de semillas deben anotarse con límites de subtareas. Esta es normalmente una tarea de 30 minutos por nuevo índice de referencia pero no es automática.
- Modos de falla en cambios de dominio extremos. Cuando la pose del objeto re-muestrado está demasiado lejos de la distribución de semillas, la repetición falla y la demostración se descarta.
Las preguntas frecuentes
** ¿Puedo utilizar MimicGen para datos del mundo real? ** No directamente. El mecanismo de repetición requiere un simulador de física.
¿Cómo se compara MimicGen con DAgger o la clonación de comportamiento con inyección de ruido? MimicGen produce volúmenes más grandes de datos diversos pero equivalentes a la política, mientras que DAgger requiere un experto en línea.
** ¿MimicGen funciona con tareas bimanual? ** Sí







