facebookresearch/vrs

VRS is a file format optimized to record & playback streams of sensor data, such as images, audio samples, and any other discrete sensors (IMU, temperature, etc), stored in per-device streams of timestamped records.

解决的问题

VRS 提供专用的文件格式和库,用于记录和播放高容量的时间戳传感器数据流。它解决了如何高效存储和访问来自多个设备的多样化数据类型(如图像、音频、IMU、温度读数)的问题,这些数据需要在一个同步的文件中进行组织,这对于开发 VR/AR 硬件中的位置跟踪和手部跟踪等系统至关重要。

工作原理

数据按设备分组为流,每个流包含按时间排序的记录。每条记录由类型化的数据块(如元数据、图像或音频)组成。为最大化效率,每个流的元数据仅需描述一次,记录可使用 lz4 或 zstd 进行无损压缩。系统支持多线程并发记录、随机访问播放,并支持超大文件(多 TB 级别)的自动分块。此外,还包含 C++ 库、Python 接口(pyvrs)以及用于检查和可视化的工具。

适用人群

专为处理传感器密集型硬件(如 AR/VR 头显(例如 Meta Quest、Aria 眼镜)和机器人)的研究人员和工程师设计,他们需要一种高效的方式来记录和分析同步的多模态传感器数据。

主要亮点

  • 多模态支持:支持同步流中的图像、音频以及离散传感器数据(IMU、GPS 等)。
  • 高性能:支持多线程并发记录和高效的无损压缩。
  • 可扩展性:可处理多 TB 级别的大文件,并支持自动分块。
  • 灵活播放:针对时间戳顺序优化(非常适合网络流媒体),同时支持随机访问。
  • 可扩展性:通过自定义 FileHandler 实现,支持云存储流式传输。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目