Robo-DM: Data Management For Large Robot Datasets
Autores: 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
Licenças
- Acesso aberto
- Artigo: CC BY 4.0
Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.
Em resumo
O Robo-DM armazena os fluxos de vídeo, linguagem e ação de cada episódio de robô em um único arquivo EBML com marcação de tempo, reduzindo o tamanho em até 70x em relação ao RLDS e carregando mais rápido que o LeRobot.
Por que importa
O tamanho do conjunto de dados define tanto a conta de download de quem o hospeda quanto o tempo que um job de treinamento espera pelos dados, então arquivos menores que carregam rápido reduzem o custo de compartilhar e usar grandes conjuntos de dados de robôs. Nos experimentos com Octo e ICRT, a compressão de vídeo com perdas nessas taxas alterou a perda de validação em 2,6 % e não impediu que uma política concluísse todos os 15 ensaios físicos de pick-and-place.
Problema
Grandes conjuntos de dados de robôs teleoperados como o Open X-Embodiment são caros de compartilhar e lentos de carregar: armazenar 8,9 TB no Google Cloud custa 172 USD por mês, mas cada download completo custa a quem hospeda entre 172 e 1.540 USD. Os formatos existentes ou armazenam imagens como matrizes (RLDS, HDF5), o que é sem perdas mas não é eficiente em espaço, ou espalham os fluxos por vários arquivos com suposições de alinhamento específicas de cada framework (LeRobot), o que complica o carregamento e torna a decodificação mais lenta.
Solução proposta
O Robo-DM estende a Extensible Binary Meta Language (EBML), o contêiner por trás do vídeo MKV, para armazenar todos os fluxos de visão, linguagem e ação de um episódio em um único arquivo autocontido, com cada pacote marcado com um timestamp relativo ao início do episódio. Os dados são gravados em bruto e transcodificados após a coleta com codecs com perdas (por exemplo, AV1) ou sem perdas (FFV1); no treinamento, um balanceador de carga escolhe entre decodificar o vídeo e ler caches mapeados em memória de quadros decodificados. Funciona com ROS 2 (rosbag, rviz, Foxglove), TensorFlow e PyTorch, e exporta para HDF5 e RLDS.
Principais ideias
- A maior parte da redução de tamanho vem da compressão de vídeo dos fluxos das câmeras, como afirmam os autores.
- Manter todos os fluxos em um único contêiner com marcação de tempo elimina a necessidade de heurísticas para alinhar fluxos gravados em taxas diferentes.
- Adiar a compressão para depois da coleta evita que a transcodificação interfira na coleta de dados.
- Episódios pequenos ganham menos: o RT-1 tem em média 1,51 MB por trajetória em RLDS, e os metadados de busca e decodificação do Robo-DM limitam a redução a 4,39x.
Principais resultados
- Robo-DM com perdas em comparação com os arquivos RLDS originais (Tabela I): Bridge de 387,49 GB para 5,31 GB (73x), Cable Routing de 4,67 GB para 0,26 GB (18x), Door Opening de 7,12 GB para 0,10 GB (71x), AutoLab UR5 de 76,39 GB para 3,26 GB (23x). O texto dá esses valores como 18x, 73x, 23x e 73x; o resumo afirma até 70x com perdas e 3,5x sem perdas.
- Vazão de carregamento em três conjuntos de dados do OXE (Fig. 4): mais rápido que o LeRobot em 33x, 20x e 5x, com a versão sem perdas próxima da com perdas; o resumo afirma até 50x mais rápido que o LeRobot na decodificação sequencial. O HDF5 foi mais rápido que o Robo-DM porque seus dados não são comprimidos.
- Ajuste fino do Octo-small no RT-1 (de 111,06 GB para 36,50 GB, 4,39x): 0,02 s de carregamento de dados e 0,10 s de treinamento por iteração com tamanho de lote 64, o mesmo que o carregador do TensorFlow; MSE de validação de 1,86 com dados sem perdas e de 1,91 com dados com perdas, um aumento de 2,6 %.
- A introdução relata que, no ajuste fino do Octo, o Robo-DM carrega 3,0x mais rápido com tamanho de lote pequeno e não acrescenta lentidão com tamanho de lote grande.
- ICRT em um braço Franka, treinado com 335 demonstrações armazenadas como 77 MB com perdas (75,3x a partir de 5,8 GB de HDF5 com gzip) ou 1,7 GB sem perdas (3,41x): 15 de 15 ensaios de pick-and-place tiveram sucesso com o modelo treinado com dados com perdas.
Limitações
- Usar a RAM como cache de decodificação aumenta o uso de memória e pode reduzir a vazão quando os dados por episódio são grandes; no Bridge, a vazão caiu à medida que o tamanho do lote cresceu, e amostrar um único quadro por episódio pode ser mais lento (segundo os autores).
- A decodificação usou PyAV na CPU sem aceleração por GPU; os autores citam o Decord e o NVIDIA NVDEC como opções mais rápidas para trabalhos futuros.
- Episódios pequenos comprimem menos por causa dos metadados de busca e decodificação de cada arquivo (4,39x no RT-1).
- A verificação física é uma única tarefa de pick-and-place com 15 ensaios de um modelo treinado com dados com perdas, sem um modelo correspondente treinado com dados não comprimidos.
- A conversão do LeRobot descarta o fluxo de profundidade e alguns fluxos de ação, por isso não há valor de tamanho do LeRobot para o AutoLab UR5.
Impacto na área
Venceu o IEEE ICRA 2025 Best Paper Award on Robot Learning; 5 citações. Os autores liberam o Robo-DM como código aberto, com código e scripts de avaliação em github.com/BerkeleyAutomation/fog_x.
Resumo
Resultados recentes sugerem que conjuntos de dados muito grandes de demonstrações robóticas teleoperadas podem ser usados para treinar modelos baseados em transformadores com potencial para generalizar para novas cenas, robôs e tarefas. No entanto, curar, distribuir e carregar grandes conjuntos de dados de trajetórias robóticas, que normalmente consistem em modalidades de vídeo, texto e numéricas — incluindo fluxos de várias câmeras —, continua sendo um desafio. Propomos o Robo-DM, um kit de ferramentas de gerenciamento de dados eficiente, de código aberto e baseado em nuvem para coletar, compartilhar e aprender com dados de robôs. Com o Robo-DM, os conjuntos de dados de robôs são armazenados em um formato autocontido com Extensible Binary Meta Language (EBML). O Robo-DM pode reduzir significativamente o tamanho dos dados de trajetórias robóticas, os custos de transferência e o tempo de carregamento de dados durante o treinamento. Em comparação com o formato RLDS usado nos conjuntos de dados OXE, a compressão do Robo-DM economiza espaço em até 70x (com perdas) e 3,5x (sem perdas). O Robo-DM também acelera a recuperação de dados balanceando a carga da decodificação de vídeo com caches de decodificação mapeados em memória. Em comparação com o LeRobot, um framework que também usa compressão de vídeo com perdas, o Robo-DM é até 50x mais rápido na decodificação sequencial. Avaliamos fisicamente um modelo treinado pelo Robo-DM com compressão com perdas, uma tarefa de pick-and-place e o In-Context Robot Transformer. O Robo-DM usa uma compressão de 75x do conjunto de dados original e não sofre redução na precisão da tarefa subsequente. O código e os scripts de avaliação podem ser encontrados no site https://github.com/BerkeleyAutomation/fog_x.
Links
- 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
- Código: https://github.com/BerkeleyAutomation/fog_x