Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Robo-DM: Data Management For Large Robot Datasets

Autori: Kaiyuan Chen, Letian Fu, David Huang, Yanxiang Zhang, Lawrence Yunliang Chen, Huang Huang, Kush Hari, Ashwin Balakrishna, Ted Xiao, Pannag R Sanketi, John Kubiatowicz, Ken Goldberg · ICRA 2025

Licenze

  • Open access
  • Articolo: CC BY 4.0

Tutto ciò che segue si basa sull'articolo completo secondo la sua licenza CC BY 4.0; la figura è riportata citando gli autori.

In breve

Robo-DM memorizza i flussi video, linguistici e di azione di ogni episodio robotico in un unico file EBML con marcatura temporale, riducendo la dimensione fino a 70x rispetto a RLDS e caricando più velocemente di LeRobot.

Perché è importante

La dimensione del dataset determina sia il costo di download per chi lo ospita sia il tempo che un job di addestramento attende i dati, per cui file più piccoli e rapidi da caricare abbassano il costo di condivisione e di uso di grandi dataset robotici. Negli esperimenti con Octo e ICRT, la compressione video con perdita a questi rapporti ha modificato la loss di validazione del 2,6 % e non ha impedito a una policy di completare tutte le 15 prove fisiche di pick-and-place.

Problema

I grandi dataset di robot teleoperati come Open X-Embodiment sono costosi da condividere e lenti da caricare: memorizzare 8,9 TB su Google Cloud costa 172 USD al mese, ma ogni download completo costa a chi li ospita tra 172 e 1.540 USD. I formati esistenti o memorizzano le immagini come matrici (RLDS, HDF5), il che è senza perdita ma non efficiente in termini di spazio, oppure distribuiscono i flussi su più file con ipotesi di allineamento specifiche del framework (LeRobot), il che complica il caricamento e rallenta la decodifica.

Soluzione proposta

Robo-DM estende Extensible Binary Meta Language (EBML), il contenitore alla base dei video MKV, per memorizzare tutti i flussi di visione, linguaggio e azione di un episodio in un unico file autonomo, con ogni pacchetto contrassegnato da un timestamp relativo all'inizio dell'episodio. I dati vengono registrati grezzi e transcodificati dopo la raccolta con codec con perdita (ad esempio AV1) o senza perdita (FFV1); in addestramento un bilanciatore di carico sceglie tra decodificare il video e leggere cache mappate in memoria di frame già decodificati. Funziona con ROS 2 (rosbag, rviz, Foxglove), TensorFlow e PyTorch, ed esporta in HDF5 e RLDS.

Idee chiave

  • Gran parte della riduzione di dimensione deriva dalla compressione video dei flussi delle telecamere, come affermano gli autori.
  • Tenere tutti i flussi in un unico contenitore con marcatura temporale elimina la necessità di euristiche per allineare flussi registrati a frequenze diverse.
  • Rimandare la compressione a dopo la raccolta evita che la transcodifica interferisca con la raccolta dei dati.
  • Gli episodi piccoli guadagnano meno: RT-1 ha in media 1,51 MB per traiettoria in RLDS, e i metadati di ricerca e decodifica di Robo-DM limitano la riduzione a 4,39x.

Risultati principali

  • Robo-DM con perdita rispetto ai file RLDS originali (Tabella I): Bridge da 387,49 GB a 5,31 GB (73x), Cable Routing da 4,67 GB a 0,26 GB (18x), Door Opening da 7,12 GB a 0,10 GB (71x), AutoLab UR5 da 76,39 GB a 3,26 GB (23x). Il testo riporta questi valori come 18x, 73x, 23x e 73x; l'abstract indica fino a 70x con perdita e 3,5x senza perdita.
  • Throughput di caricamento su tre dataset OXE (Fig. 4): più veloce di LeRobot di 33x, 20x e 5x, con la versione senza perdita vicina a quella con perdita; l'abstract indica fino a 50x più veloce di LeRobot nella decodifica sequenziale. HDF5 è risultato più veloce di Robo-DM perché i suoi dati non sono compressi.
  • Fine-tuning di Octo-small su RT-1 (da 111,06 GB a 36,50 GB, 4,39x): 0,02 s di caricamento dati e 0,10 s di addestramento per iterazione con batch size 64, come il loader di TensorFlow; MSE di validazione di 1,86 con dati senza perdita e di 1,91 con dati con perdita, un aumento del 2,6 %.
  • L'introduzione riporta che, per il fine-tuning di Octo, Robo-DM carica 3,0x più velocemente con batch size piccolo e non aggiunge rallentamenti con batch size grande.
  • ICRT su un braccio Franka, addestrato su 335 dimostrazioni memorizzate come 77 MB con perdita (75,3x a partire da 5,8 GB di HDF5 gzip) o 1,7 GB senza perdita (3,41x): 15 prove di pick-and-place su 15 sono riuscite con il modello addestrato su dati con perdita.

Limiti

  • Usare la RAM come cache di decodifica aumenta l'uso di memoria e può ridurre il throughput quando i dati per episodio sono grandi; su Bridge il throughput è calato al crescere del batch size, e campionare un solo frame per episodio può essere più lento (secondo gli autori).
  • La decodifica ha usato PyAV sulla CPU senza accelerazione GPU; gli autori indicano Decord e NVIDIA NVDEC come opzioni più veloci per lavori futuri.
  • Gli episodi piccoli si comprimono meno a causa dei metadati di ricerca e decodifica di ogni file (4,39x su RT-1).
  • La verifica fisica è un solo compito di pick-and-place con 15 prove di un modello addestrato su dati con perdita, senza un modello corrispondente addestrato su dati non compressi.
  • La conversione di LeRobot scarta il flusso di profondità e alcuni flussi di azione, quindi non c'è un valore di dimensione di LeRobot per AutoLab UR5.

Impatto sul settore

Ha vinto l'IEEE ICRA 2025 Best Paper Award on Robot Learning; 5 citazioni. Gli autori rilasciano Robo-DM come open source, con codice e script di valutazione su github.com/BerkeleyAutomation/fog_x.

Abstract

Risultati recenti suggeriscono che dataset molto grandi di dimostrazioni robotiche teleoperate possono essere usati per addestrare modelli basati su Transformer che hanno il potenziale di generalizzare a nuove scene, robot e compiti. Tuttavia, curare, distribuire e caricare grandi dataset di traiettorie robotiche, che in genere comprendono modalità video, testuali e numeriche, inclusi flussi da più telecamere, resta difficile. Proponiamo Robo-DM, un toolkit di gestione dei dati efficiente, open source e basato sul cloud per raccogliere, condividere e apprendere con i dati dei robot. Con Robo-DM i dataset robotici sono memorizzati in un formato autonomo con Extensible Binary Meta Language (EBML). Robo-DM può ridurre in modo significativo la dimensione dei dati delle traiettorie robotiche, i costi di trasferimento e il tempo di caricamento dei dati durante l'addestramento. Rispetto al formato RLDS usato nei dataset OXE, la compressione di Robo-DM fa risparmiare spazio fino a 70x (con perdita) e 3,5x (senza perdita). Robo-DM accelera inoltre il recupero dei dati bilanciando il carico della decodifica video con cache di decodifica mappate in memoria. Rispetto a LeRobot, un framework che usa anch'esso la compressione video con perdita, Robo-DM è fino a 50x più veloce nella decodifica sequenziale. Valutiamo fisicamente un modello addestrato da Robo-DM con compressione con perdita, un compito di pick-and-place e In-Context Robot Transformer. Robo-DM usa una compressione di 75x del dataset originale e non subisce riduzioni dell'accuratezza nel compito a valle. Il codice e gli script di valutazione sono disponibili sul sito https://github.com/BerkeleyAutomation/fog_x.

Link

  • arXiv 2505.15558: https://arxiv.org/abs/2505.15558
  • DOI 10.1109/ICRA55743.2025.11128693: https://doi.org/10.1109/ICRA55743.2025.11128693
  • PDF: https://arxiv.org/pdf/2505.15558v1
  • Codice: https://github.com/BerkeleyAutomation/fog_x

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.