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 |
用于数据集健康检查、阈值校准、深度可视化以及交互式配置/标注编辑的辅助工具。 |
如何开始
- 安装 Python 3.12+,创建 conda 环境,并添加
ffmpeg(视频处理必需)。 - 使用所需记录扩展功能以可编辑模式安装仓库,例如:
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 可选依赖 - 使用
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 - 使用
vla-merge将多个原始数据集合并为一个统一文件夹。 - 运行结构审计(
vla-audit)以生成keep_episodes.txt、review_episodes.txt和drop_episodes.txt。 - (可选)插入语义评估器——例如内置的
semantic_backends.vla_checkpoint_evaluator——以策略检查点为基准对片段评分。 - 通过
vla-enrich为保留的片段添加语言侧车。 - 如果已收集部署策略的人类反馈,使用
vla-feedback-build构建反馈数据集,并将其反馈至vla-iterate以进行下一轮训练。 - 使用
vla-push将最终、经审计的数据集推送到 Hugging Face。
谁应该使用它
- 需要可复现数据工程流水线的 视觉-语言-动作 或 具身 AI 模型研究人员。
- 已使用
lerobot数据格式的机器人实验室,希望添加深度或触觉侧车,但不想重写现有代码。 - 希望实现 闭环数据收集循环 的团队:记录 → 审计 → 丰富 → 训练 → 收集反馈 → 重复。
关键设计原则
- 保守决策 – 仅硬性失败被丢弃;模糊情况标记为待审查。
- 侧车优先 – 深度、语言、反馈,甚至训练权重都位于核心数据集之外,保护原始记录。
- 可插拔,默认无模型 – 基础安装不包含权重;任何评估器、标注器或策略均可通过简单的
module:attribute插件字符串添加。
文档与社区
- 完整的静态网站(
https://dsta022.github.io/Loop-Engineering-for-VLA/)提供操作手册、插件契约和审计策略文档。 - CI 在 Linux 和 Windows 上对合成数据运行单元测试。
- 仓库包含示例配置文件、合成测试套件和一个即用型 Hugging Face 数据集。
以上所有细节均直接来自仓库的 README;未推断任何额外功能。
相关
- Dispatch
- Dispatch
- 项目
- Dispatch