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など)を1つの物理的データセットに統合。インデックス、メタデータ、深度ファイルを再書き込み。
監査 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で複数の原始データセットを1つの統合フォルダにマージ。
  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から直接取得。追加機能は推測されていない。

関連