dsta022/Loop-Engineering-for-VLA

Toolkit for collecting, merging, auditing, visualizing, and publishing RGB/RGB-D LeRobot VLA datasets.

Loop Engineering for VLAnything – 构建高质量视觉-语言-动作机器人数据集的工具包

是什么

  • 一个开源的 Python 工具包,让研究人员能够对为 视觉-语言-动作(VLA)模型(如 lerobot 生态系统中的模型)构建的多模态机器人学习数据集进行 记录合并审计丰富迭代改进
  • 支持标准的仅 RGB 的 LeRobot 数据集 以及 包含无损深度侧车的 RGB-D 数据集,还支持正在进行中的视觉触觉模式。
  • 默认为 无模型 —— 您可以稍后插入评估器、标注器或策略训练器,而无需加载大型模型权重。

为何重要

  • 高质量的 VLA 数据难以获取;视频、深度或动作日志中的微小错误都可能破坏下游训练。
  • 该工具包将每个工件(视频、关节状态、语言字幕、人类反馈)视为 一等侧车,从不修改原始记录,使数据可审计且可复现。
  • 提供 保守的、基于规则的质量审计,自动丢弃明显损坏的片段,同时将边界情况标记供人工审查。

核心组件

领域 入口点(CLI) 功能
记录 vla-merge, vla-audit, …(见下表) 无框架的记录器,可直接与 SO-100/SO-101 机器人臂以及 Orbbec、Intel RealSense 或通用 OpenCV 相机通信。生成与 LeRobot-v3.0 兼容的数据集,支持可选的深度侧车和人工引导的策略反馈。
合并 vla-merge 将多个 LeRobot 数据集(仅 RGB、RGB-D 等)合并为一个物理数据集,重写索引、元数据和深度文件。
审计 vla-audit 确定性结构检查(元数据、时间戳、视频解码、深度 PNG 完整性)以及可选的 语义 检查,运行策略检查点或自定义评估器,评分片段是否符合任务描述。
清理 vla-clean 根据审计生成的保留/审查/丢弃列表构建干净数据集。
语言丰富 vla-enrich 使用内置运动学标注器或任何用户提供的语言标注器插件,添加 轨迹语言 侧车(子任务、事件、状态描述)。
反馈收集 vla-feedback-build 捕获部署策略上的人类干预,以侧车形式存储,并在后期合并到训练集中。
策略迭代 vla-iterate 简单的训练-评估-提升-部署循环,可连接任意 lerobot 检查点。
上传 vla-push 将最终数据集推送到 Hugging Face(仓库自带一个即用型 HF 数据集:DerekLX/lerobot_derek_depth)。
实用工具 vla-completeness, vla-calibrate, vla-depth-vis, vla-task-studio, vla-language-studio 用于数据集健康检查、阈值校准、深度可视化以及交互式配置/标注编辑的辅助工具。

如何开始

  1. 安装 Python 3.12+,创建 conda 环境,并添加 ffmpeg(视频处理必需)。
  2. 使用所需记录扩展功能以可编辑模式安装仓库,例如:
    conda create -n vla python=3.12 -y && conda activate vla
    conda install -c conda-forge ffmpeg -y
    pip install -e "[record]"   # 后续可通过 [realsense] 或 [orbbec] 添加相机 SDK 可选依赖
    
  3. 使用 record/ 脚本捕获新片段(RGB 或 RGB-D)。Orbbec 相机示例:
    python record/rgbd_record/find_cameras.py orbbec
    python record/rgbd_record/record.py --config_path=record/rgbd_record/configs/record_rgbd.yaml
    
  4. 使用 vla-merge 将多个原始数据集合并为一个统一文件夹。
  5. 运行结构审计(vla-audit)以生成 keep_episodes.txtreview_episodes.txtdrop_episodes.txt
  6. (可选)插入语义评估器——例如内置的 semantic_backends.vla_checkpoint_evaluator——以策略检查点为基准对片段评分。
  7. 通过 vla-enrich 为保留的片段添加语言侧车。
  8. 如果已收集部署策略的人类反馈,使用 vla-feedback-build 构建反馈数据集,并将其反馈至 vla-iterate 以进行下一轮训练。
  9. 使用 vla-push 将最终、经审计的数据集推送到 Hugging Face。

谁应该使用它

  • 需要可复现数据工程流水线的 视觉-语言-动作具身 AI 模型研究人员。
  • 已使用 lerobot 数据格式的机器人实验室,希望添加深度或触觉侧车,但不想重写现有代码。
  • 希望实现 闭环数据收集循环 的团队:记录 → 审计 → 丰富 → 训练 → 收集反馈 → 重复。

关键设计原则

  1. 保守决策 – 仅硬性失败被丢弃;模糊情况标记为待审查。
  2. 侧车优先 – 深度、语言、反馈,甚至训练权重都位于核心数据集之外,保护原始记录。
  3. 可插拔,默认无模型 – 基础安装不包含权重;任何评估器、标注器或策略均可通过简单的 module:attribute 插件字符串添加。

文档与社区

  • 完整的静态网站(https://dsta022.github.io/Loop-Engineering-for-VLA/)提供操作手册、插件契约和审计策略文档。
  • CI 在 Linux 和 Windows 上对合成数据运行单元测试。
  • 仓库包含示例配置文件、合成测试套件和一个即用型 Hugging Face 数据集。

以上所有细节均直接来自仓库的 README;未推断任何额外功能。

相关

  • Dispatch
  • Dispatch
  • 项目
  • Dispatch