Blogに戻る

ロボット軌道の記述:課題,方法,品質基準

ロボットデモデータへの注釈方法 言語ラベル,成功/失敗ラベル,接触イベント,訓練準備のデータセットの品質基準

[ロボットデータ収集ガイド]

[←ブログ]

ローテレオペレーションデータとは訓練データではありません. 注記は軌道を構造化されたレーベルに変換し,実際に政策を教えます. 良い注記はこんな感じです.

記号 は なぜ 重要 な もの か

ロボット遠隔操作セッションは,時間指数化された関節状態,カメラフレーム,エンドエフェクターポーズという軌道を生成します.これは物理的な意味でのデータですが,ほとんどの政策学習アルゴリズムの要求である意味でのトレーニングデータはまだありません. ACT,拡散ポリシー,行動クローンなどのアルゴリズムは,どのエピソードが成功 (訓練) し,どのエピソードが失敗 (排除または減量) し,どのエピソードが成功したかを知らなければなりません. 基礎モデルの微調整には,ロボットが何をしていたかを記述する言語指示が必要です. 段階条件のポリシーには,セグメント境界が必要です. 連絡学習アルゴリズムは最初の接触,安定した把握,およびリリースイベントのタイムスタンプを必要とします.

記号化とは,この構造化された情報を追加するプロセスです. 時間耗費し,人間の判断が必要であり,政策の質を低下させる方法で間違えることは容易です.不一致な成功ラベルを持つデータセットは,いくつかの失敗を模倣することを学んだ政策を生むでしょう. 曖昧な言語指示を持つデータセットは,推論時に指示に一般化できないポリシーを生成します.

5 の 記号 種類

  • 1.タスク成功/失敗: バイナリーパス/失敗は最小限です.訓練目的ではバイナリーはしばしば十分ですが, 0100の部分的なクレジットスコアにより情報が増えます.成功したが遅くて不便な把握は,速く,きれいにできたものとは異なります. 部分的な信用スコア 030 (明確な失敗), 3169 (部分/限界), 70100 (質の梯度で成功) は,カリキュラム学習とデータ重量化により良い信号を提供します.
  • 2. 言語指導:"赤いカップを拾い上げ"は"物体を拾い上げ"より良い. "赤色の円筒型プラスチックカップを縁ではなく体から取り,白いタレに直立して置く"は細粒度の作業にさらに良い. 指示には,タスク関連オブジェクト属性 (色,形,材料,該当する場合),特定の場合,望ましい把握戦略,目標状態を指定する必要があります. 基礎モデルの微調整のために意図されたデータセットのデータセットでは,オブジェクト名のみの指示 ("カップを拾い上げ") を避ける.
  • 3.セグメントラベル: 各エピソードを段階 (リーチ,キャプチャ,輸送,場所) に分割することで,段階的なポリシーとより標的型データ分析が可能になります.標準的なピックプレスタスクでは最低4段階です.アセンブリタスクには812つのセグメントが必要かもしれません.セグメント境界はビデオフレームレベルでマークされるべきであり,アクションインデックスだけでなく.
  • **4.接触イベントタイムスタンプ:**接触学習作業 (挿入,組み立て,表面フォロー) では,接触条件の行動学習に準確な接触時間スタンプ (グリッパーが対象に触れる),安定した把握 (接触力が限界を超えて安定する) と解放 (グリッパーが開く,対象は自由) が不可欠です. 接触時間スタンプの手動注釈エラーは <5フレーム (167ms 30fps で) であり,利用可能な場合,F/Tセンサーデータから自動検出が好ましい.
  • 5.品質スコア: 成果/失敗のほか,各エピソードによる品質メトリックはトレーニング中にデータ重み付けを情報化します.スムーズ性スコア (エピソードに対する平均の転移の逆),成功信頼 (アノタターの成功ラベルに対する確実性),困難推定 (カリキュラム学習優先順位設定) は最も有用な3つです.

記号方法 比較

Method Accuracy Cost Throughput Best For
Expert labeler (domain knowledge) Highest (95%+) High ($40–60/hr) 20–40 episodes/hr Ground truth, gold standard, contact events
Trained crowdsource (MT, Scale) Medium (80–90%) Medium ($5–15/episode) 100–500/hr at scale Success/failure, language, segment labels
Naive crowdsource (MTurk open) Lower (70–80%) Low ($1–5/episode) High Simple success/failure on clear tasks only
Trained classifier (CNN/LSTM) Medium-high (88–93%) Very low (compute only) Thousands/hr Success/failure at scale, auto-annotation
Active learning loop High (improves with data) Decreasing per label High after warmup Large datasets with expert budget constraint

記者間協定

コヘンのカッパは,偶然の合意に調整された,注記者間の合意の標準指標です. ロボット注記のために:

  • Kappa > 0.8 (強い合意): 作業定義と注釈プロトコルは,注釈者によって一貫して適用されるほど明確です.これは生産注釈パイプラインの目標です.最も単純な成功/失敗の課題は適切な訓練によってこのレベルに到達します.
  • Kappa 0.60.8 (適度な合意): 注意を促す. 調理者らが意見が異なったケースを議論し,端のケースの定義が明示されるまでプロトコルを更新する調理者会議を強制する.この範囲に含まれるKappaを含むデータセットを調理なしに送信しないでください.
  • **Kappa <0.6 (不良合意):**タスク定義は曖昧である.注釈を停止し,より明確な成功基準でプロトコルを再設計し,ゼロから再注釈する.Kappa <0.6で注釈されたデータに関するトレーニングは,デバッグするのが非常に難しい不一致な行動のポリシーを生成する.

自動記号

自動化注記方法が2つ生産準備ができています

  • 成功分類器 CNN: 各エピソード最後の10フレームで精巧な調節したResNet-50,バイナリー成功/失敗出力.RCSVの内部分類器は標準操作作業で実施されたテストセットで92%の精度を達成します.信頼性の高いトレーニングのためにタスクごとに100以上のラベル付きの例が必要です.人間ラベル付きのトレーニングセットが確立された後に大規模なデータセットで使用します.
  • セグメント検出器 (HMM 合動速度 + F/T): 合動速度プロファイルとF/T 読み取りで訓練された隠れたマルコフモデル. 視覚処理なしで動作し,カメラの問題に迅速かつ堅固になります.標準のピックプレスタスクでは,約85%のセグメント境界精度を ±3フレームで達成します.

解読 作業タイプによる複雑性

Task Type Annotation Types Needed Time per エピソード Difficulty
Simple pick-place Success/fail + language 30-60 sec Low
Multi-step assembly Success/fail + segments (8-12) + contact events + language 3-5 min High
精度(再現性) insertion Success/fail + contact events + quality score + F/T annotation 2-4 min High
Drawer/cabinet opening Success/fail + segments (4-6) + language 1-2 min Medium
Cloth/deformable manipulation Partial credit (0-100) + segments + quality score + language 3-6 min Very high
Bimanual coordination Success/fail + per-arm segments + synchronization labels + language 4-8 min Very high

簡単なピックアップから双行的な注釈までのコスト倍数は約8倍です.最も単純なタスクに基づいて注釈時間を予算し,より複雑なタスクに移るチームは,実際のコストに一貫して驚きます.タスクタイプごとに注釈リソースを計画する,エピソード数ではなく.

タイムスタンプ の 調整 の 課題

ロボット示範データは複数の非同期的な情報源から得られます.カメラは3060fps,関節状態の読み取りは100-500Hz,F/Tセンサーは5001000Hz,グリッパー状態は変動速度です.これらのストリームを共通のタイムラインに並べることは,意味のある注釈のための前提条件です. 接触イベントタイムスタンプは,相機とコモンスト・ステートクロックが漂流したため,相機フレームが実際の接触から50msでオフセットされている場合,役に立たない.

標準的なアプローチはハードウェア誘発同期化である.マスタークロックは,カメラフレームキャプチャを同時起動し,共同状態とF/Tセンサーの読み取りをタイムスタンプするトリガーパルスを生成する.ハードウェア同期がなければ,ソフトウェアベースのタイムスタンプは標準的なLinuxシステムで520msとリアルタイム (PREEMPT_RT) カーネルで15msの典型的なジートを持っています. 注記目的として,ソフトウェアの同期は成功/失敗および言語ラベルに十分だが,時間要求が厳しい作業 (挿入,即時フィット組み立て) に関する接触イベントのタイムスタンプには十分ではない.

チェックすべき共通なアライナメントの罠は:内部にバッファフレームをバッファーするUSBカメラ (未知の遅延30-100msを追加する),変数コーディング遅延を加えるネットワークカメラ (IPカメラ) および実際の測定時間よりも出版時間を反映するROS2トピックタイムスタンプ. 認識された物理的なイベント (F/Tセンサーで物体を表面に落として) を記録し,視覚接触フレームとF/Tピークが必要な耐容範囲内で並行していることを確認することで,常に調整を確認します.

失敗 の 記録: 部分 的 な 成功 と 近く の 失敗

バイナリー成功/失敗の注釈は最小限ですが,エピソードが失敗した方法や理由に関する重要な情報を捨てます. バイナリーフィルタデータのみをベースにした政策では,すべての失敗は同様に非情報として扱われますが,実際には"間違った方向に移動したロボット" (低情報) から"ロボットが物体を掴んだが輸送中に落とした" (高い情報 - 把握戦略は正しい,輸送段階は作業が必要です)

操作作業のための実用的な部分成功分類:

  • **スコア0-20 (完全な失敗):**ロボットが対象に近づいたり,完全に間違った領域に近づいたりしなかった.訓練データから除外.
  • **スコア21-40 (正しいアプローチ,把握失敗):**ロボットが正しい領域に到達したが安定した把握を確立できなかった.訓練アプローチ政策に有用;フルタスクトレーニングから除外.
  • スコア 41-60 (握り込み成功,任務失敗): ロボットが物体を握ったが,輸送,配置,または次の段階では失敗した.訓練のために減量した重量 (0.3-0.5x) を含め,または段階特別の訓練に使用する.
  • スコア 61-80 (タスクはほとんど完了,不正確): ロボットがタスクを完了したが,質量が低い - 対象はほぼ正しい領域に配置されたが,正確ではない,または動きが緩い作業が完了した. 体重が減った (0.7x) を含むまたは質量意識の訓練に使用する.
  • スコア 81-100 (品質梯度による成功): 任務が成功に完了した.より高いスコアによりスムーズで,より速く,より正確な実行を示します.全重に含まれます.

テストでは,RCSVの実験では,30%の部分的な失敗を伴うデータセットでテストされたトレーニングは,最高スコアを得られたエピソードの70%にのみ訓練された政策よりも8-12%が強固なポリシーを生産した.

質量 門: 記号 を 拒絶 する 時

すべての注釈は使用できない. 再注釈またはエピソード排除を誘発する明示的な品質ゲートを定義する:

  • **注釈器がラベル付け前にエピソードビデオの80%未満を閲覧した場合 (注釈ツール分析で検出可能) を拒否する.
  • **注釈時間は,予想された最小値の60%未満である場合,拒否する (速度で実行する注釈は信頼性がない - 5秒でレビューされた30秒間のエピソードは適切に評価されていない).
  • ** 失敗/成功のラベルが自動分類器出力と一致しない場合,拒否し,注釈符がエピソードを境界線としてマークしていない場合 (注意を欠くことを示し,本当の意見の不一致ではない).
  • **動画の目に見える作業に:**言語指示が一致しない場合拒否します (一般的なコピーペストラベルはクラウドソーシング注釈で驚くほど一般的です).
  • **各段階では:**段の境界の注釈が欠けている場合 (不完全な注釈は,訓練用品を作り出すため,注釈なしよりも悪い).
  • **2人の注釈者が成功/失敗について意見が違っている場合,審査の旗を掲げる.両注釈は,上級注釈者が決定する和解列に移動し,意見が違っている場合,注釈プロトコルは更新される.

初期注釈の8~12%は品質ゲートに失敗し,再注釈されます.この拒絶率は正常で健康的です. 品質ゲートが機能していることを示します. 0%の拒絶率はゲートが許容すぎると意味します.

記号 ツール 比較

Tool Type Robot-Specific Features Cost
Label Studio Open-source Video timeline annotation; custom label schemas; Python SDK for automation Free / Enterprise
CVAT Open-source Frame-level annotation; interpolation; multi-track timeline Free
Scale AI Managed service Trained annotator workforce; quality management; custom ontologies $5-15/episode
Supervisely Cloud platform Video annotation; neural network-assisted labeling; team management Free tier / paid
RCSV Platform Integrated Robot-native: synchronized multi-camera + joint state + F/T playback; auto-classifier pre-labels; kappa tracking Included with data services

ロボット特有の注釈では,一般用途ツール (レーベルスタジオ,CVAT) が同期多モダルのデータを処理するために,重要なカスタマイズが必要である.一般ツールでは,ビデオ,共同状態のプロット,およびF/Tセンサーデータの同期再生が共通タイムラインで欠けている.RCSVの注釈インターフェースは,この使用例のために特別に構築された.

ROS2タイムスタンプ同期:実用実施

ROS2 をデータ収集ミドルウェアとして使用するチームにとって,すべてのセンサーモードで 5ms 以下のタイムスタンプの調整を達成するための推奨方法です.

# sync_recorder.py -- ROS2 message_filters for synchronized recording
import rclpy
from rclpy.node import Node
from message_filters import ApproximateTimeSynchronizer, Subscriber
from sensor_msgs.msg import Image, JointState
from geometry_msgs.msg import WrenchStamped
import h5py, numpy as np

class SyncRecorder(Node):
    def __init__(self):
        super().__init__('sync_recorder')
        # Subscribe to all sensor topics
        self.cam_sub = Subscriber(self, Image, '/camera/color/image_raw')
        self.joint_sub = Subscriber(self, JointState, '/joint_states')
        self.ft_sub = Subscriber(self, WrenchStamped, '/ft_sensor/wrench')

        # ApproximateTimeSynchronizer: 50ms slop tolerance
        self.sync = ApproximateTimeSynchronizer(
            [self.cam_sub, self.joint_sub, self.ft_sub],
            queue_size=10,
            slop=0.05  # 50ms max allowed timestamp difference
        )
        self.sync.registerCallback(self.synced_callback)
        self.episode_data = []

    def synced_callback(self, img_msg, joint_msg, ft_msg):
        """Called only when all three messages have near-matching timestamps."""
        timestamp = img_msg.header.stamp.sec + img_msg.header.stamp.nanosec * 1e-9
        self.episode_data.append({
            'timestamp': timestamp,
            'image': np.frombuffer(img_msg.data, dtype=np.uint8).reshape(480, 640, 3),
            'joint_positions': np.array(joint_msg.position),
            'joint_velocities': np.array(joint_msg.velocity),
            'wrench': np.array([
                ft_msg.wrench.force.x, ft_msg.wrench.force.y, ft_msg.wrench.force.z,
                ft_msg.wrench.torque.x, ft_msg.wrench.torque.y, ft_msg.wrench.torque.z
            ]),
        })

ソフトウェア同期システムでは50msの傾きを持つ T2を使用する.ハードウェアで触発されたカメラでは,傾きを10msに減らす. (2) メッセージヘッダのタイムスタンプを常に使用する. (3) 同期メッセージ間の実際のタイムスタンプ差を記録する - 平均が20msを超えると,USB帯域幅またはCPU負荷が遅延を引き起こすかどうかを調べる. (4) 注記目的のために,注記者がレビュー中にアライナメントを確認できるように,HDF5ファイルにタイムスタンプをデータとともに保存する.

品質の門を拡大する:生産注釈パイプライン

基本的な品質ゲート以外にも,生産注釈パイプラインはこれらの追加チェックを実施すべきである.

Quality Gate Check Method Threshold Action if Failed
Timestamp alignment Max camera-joint offset per episode < 50ms (software) / < 10ms (hardware) Discard episode; debug sync pipeline
Frame drops Count gaps > 2x expected frame interval < 3% of frames dropped Interpolate if < 3 consecutive; discard episode if > 3 consecutive
Joint limit violation Any joint within 2 deg of hard limit Flag for review Include if task succeeded; exclude if triggered safety stop
エピソード duration outlier Duration > 3 sigma from task mean Flag for review Review video; may indicate operator hesitation or unusual strategy
Language label uniqueness Detect identical labels on visually different episodes > 20% unique labels in batch Re-annotate batch; suspect copy-paste
グリッパー state consistency Verify gripper open at start, closed during transport Match expected phase sequence Flag episodes where gripper sequence is anomalous
F/T spike detection Force exceeds 2x task maximum Flag for review May indicate collision or unsafe contact; exclude from training
Camera image quality Laplacian variance (blur detection) Variance > 100 (focused image) Discard blurry episodes; re-focus camera

これらの品質ゲートをデータパイプラインの自動チェックとして実装すると,人間のレビューの前にデータの品質の問題の7080%が捕まえる.残りの2030%は人間の判断を必要とし,標準的な注釈QAプロセスを経て処理されます.注釈開始前にRCSVは収集されたすべてのエピソードで自動的にこれらのチェックを実行します.

F/Tデータから自動接触事件検出

接触イベントのタイムスタンプは手動で作成するのに最も時間がかかる注釈の一つです.F/Tセンサーを含むハードウェアセットアップでは,自動検出は,人間の監視が最小限でフレームレベルでの精度を達成できます.

# contact_detector.py -- Automated contact event detection from F/T data
import numpy as np
from scipy.signal import savgol_filter

class ContactEventDetector:
    """Detect first contact, stable grasp, and release from F/T readings."""

    def __init__(self, force_threshold=2.0, stable_window=10, release_threshold=0.5):
        self.force_threshold = force_threshold    # Newtons
        self.stable_window = stable_window        # frames
        self.release_threshold = release_threshold  # Newtons

    def detect_events(self, ft_data, timestamps):
        """
        Args:
            ft_data: (N, 6) array of [fx, fy, fz, tx, ty, tz]
            timestamps: (N,) array of timestamps in seconds
        Returns:
            dict with 'first_contact', 'stable_grasp', 'release' timestamps
        """
        force_magnitude = np.linalg.norm(ft_data[:, :3], axis=1)
        # Smooth to remove sensor noise
        force_smooth = savgol_filter(force_magnitude, window_length=7, polyorder=2)

        events = {}
        # First contact: force exceeds threshold for the first time
        contact_mask = force_smooth > self.force_threshold
        if contact_mask.any():
            idx = np.argmax(contact_mask)
            events['first_contact'] = timestamps[idx]

            # Stable grasp: force stays above threshold for stable_window frames
            for i in range(idx, len(force_smooth) - self.stable_window):
                if all(force_smooth[i:i+self.stable_window] > self.force_threshold):
                    events['stable_grasp'] = timestamps[i]
                    break

        # Release: force drops below release_threshold after stable grasp
        if 'stable_grasp' in events:
            grasp_idx = np.searchsorted(timestamps, events['stable_grasp'])
            post_grasp = force_smooth[grasp_idx:]
            release_mask = post_grasp < self.release_threshold
            if release_mask.any():
                rel_idx = grasp_idx + np.argmax(release_mask)
                events['release'] = timestamps[rel_idx]

        return events

この検出器は標準のピックプレスタスクでデフォルトパラメータで90%以上の精度を達成します.挿入タスクでは,T4を0.5Nに削減し,T5を20フレームに増加します.高力タスク (例えば,20-50Nピークフォースのスナップフィット組み立て) では,限界値を比例的に増加します. 自動検出を50以上の手動で注釈されたエピソードに対して常に検証する.

注記 パイプライン建築

ロボットデータのための生産注釈パイプラインは,収集から訓練準備の出力まで順序付けされたこのアーキテクチャに従ってなければならない.

  1. コレクション層: ビデオカメラ,コイントステート,F/T,グリッパー) のすべてのモードをハードウェアタイムスタンプでHDF5ファイルに同期記録する.
  2. **自動化前処理:**自動化品質ゲート (タイムスタンプの調整,フレーム落とし検出,模糊検出) と自動化分類器 (CNNの成功/失敗,接触イベント検出器) を実行する.この層は,人間がレビューする前に,エピソードの15~20%を標識または排除する.
  3. **レベル1の注釈 (自動化+スポットチェック):**高度な自動化分類器の精度 (>90%) の単純な作業では,ヒトのスポットチェックが10%である自動標識を受け入れます.自動標識とヒトの間の意見の不一致はレベル2に移動します.
  4. **レベル2の注釈 (人間初等):**複雑な作業,境界線ケース,言語注釈について.各エピソードは独立した注釈者によってレビューされる.
  5. 和解: 記者が意見が違っているエピソードは,上級記者がレビューする. 意見が違っていることが曖昧さを明らかにした場合,プロトコルは更新される. 調理されたラベルは最終的なものである.
  6. 輸出: 記号化されたエピソードが訓練準備の格式 (LeRobot HDF5またはRLDS) で輸出され,注釈メタデータ (注釈者ID,注釈時間,信頼性,その配合のカッパスコア) が含まれます.

**失敗分析注釈:**失敗した示例では,事前に定義された分類から構造的な故障の原因のラベルを追加する. (a) 認識故障 (物体が誤って検出またはローケライズされていない), (b) 把握故障 (物体が滑り落ちたり取得されなかった), (c) 輸送故障 (物体が移動中に落ちたり), (d) 配置故障 (物体が間違った位置や方向に置かれること), (e) タイムアウト (任務は期限内に完了していない). この故障分類は,収集品質と標的型データ収集の自動分析を可能にします.例えば,失敗の40%が把握障害である場合,オペレーターは完全な作業の示範よりも把握技術について再訓練が必要になります.

この段階的なアプローチは,質を維持しながら,完全な人間の注釈と比べて,人間の注釈コストを60~70%削減します.RCSVは,すべてのデータ収集の取り組みのためにこのパイプラインを運営し,自動化された層がルーティンな注釈処理と人間の注釈者が判断を必要とするケースに焦点を当てます.

言語記記 最良の 慣行

VLAの微調整や言語条件付きの政策訓練において,言語の注釈は極めて重要です.言語のラベルの質は,導入時に指示に従う政策の能力に直接影響します.これらのガイドラインに従ってください.

  • 少なくとも2つの属性を持つオブジェクトを指定してください. "カップを拾い上げ"は十分ではありません. "赤いプラスチックカップを拾い上げ"は最小です. "テーブル左側から高い赤いプラスチックカップを拾い上げ"は多オブジェクトシーンに最適です.
  • "白い皿の中央の場所"または"鉢左の皿上の場所"は,政策に空間的推論を学ぶのに役立つ空間的基礎を提供します.
  • 自然に異なる言語. 各エピソードで同じテンプレートを使用しないでください.同じアクションのために"ピックアップ","グラスプ","キャップ","テイク"と"テイク"を切り替える. "セットダウン"と"場所"の両方を使用します.この変異は,推論時に自然言語多様性を扱う方針を教えます.
  • ほとんどの作業では,ステップレベルではなくタスクレベルにラベルを付けます. "赤いカップを拾ってトレイに放す"は,ピックアップ・アンド・プレイスエピソードのための単一のタスク指示です.ステップレベルラベル ("カップに触れる"," "緊握手"," "リフト","右に移動する","オープングリッパー") は,セグメント条件付きのポリシーのみに必要です.
  • テンプレート認証を使用します. 作業のための有効なオブジェクト名,色,空間参照のセットを定義します.この語彙に合わせてすべての注釈を確認します.綴り誤りと不一致な命名 (一部の注釈で"mug"と他のオブジェクトに"cup"を使用すると) は言語エンコードに不必要な騒音を引き起こします.
  • ネガティブな指示を含みます. 多重オブジェクトシーンでは,何物体を選ばないかを指定する指示を含みます ("赤のカップを選び,青のカップを選びなさい"). 否定的な指示を用いることで,政策の類似のオブジェクトを曖昧に区別する能力を向上させ,多重オブジェクトシーンでの成功率は,正面のみの指示と比較して8-12%向上します.
  • 収集後,収集中にではなく,収集後に注記する.* 一部のチームは,操作者に遠隔操作中にタスク指示を話すように要求します.これは操作者の注意を分割し,示範品質を低下させる.代わりに,言語ラベルを別のパスで収集後に注記する. ビデオを視聴する専用アノターターは,遠隔操作中に多作業を行うオペレーターよりも優れた指示 (より具体的で一貫性のある) を書き出すことができます.

記号コストの課題複雑性による分割

記号コストは,作業の複雑性と,必要な記号詳細レベルによって劇的に異なります.これらのコストを理解することは,データ収集プロジェクトを予算に設定するのに不可欠です.

Annotation Type Time per エピソード Cost per エピソード Automation Potential Required For
Binary success/failure 5-10 seconds $0.10-0.25 90%+ (CNN classifier) All training pipelines
Language instruction label 15-30 seconds $0.25-0.75 50-70% (template + VLM) VLA fine-tuning, language-conditioned policies
Phase segmentation (4 phases) 30-60 seconds $0.50-1.50 60-80% (contact detector + heuristics) Segment-conditioned training, curriculum learning
Partial credit scoring (0-100) 30-90 seconds $0.75-2.00 20-40% (requires judgment) Weighted BC training, reward shaping
Object 6-DOF pose per frame 5-15 min $5-20 70-85% (FoundationPose + refinement) Object-centric policy training, grasp analysis
Full semantic scene graph 10-30 min $10-40 30-50% (VLM + manual review) Scene understanding, task planning research

模倣学習プロジェクトでは,バイナリー成功/失敗ラベルと言語指導ラベルが最小可行な注釈セットである.これはスケールで1話につき0.35-1.00ドルで,注釈の60%〜80%が自動化される.段階分割はカリキュラム学習アプローチに価値を追加しますが,注釈コストを倍にする. 標準的な政策訓練では 安いアノテーションタイプに対して 最小の利点を提供します.

VLMでスケーリングアノテーション:ロボットデータのためにGPT-4VとGeminiを使用する

視覚言語モデル (VLM) は,以前は人間の判断を必要とする注釈作業を自動化するためにますます有用である.RCSVは注釈パイプラインにVLMをどのように統合するかを示します.

言語指示生成. 番組の最初のおよび最後のフレームをGPT-4VまたはGeminiに提示状で送る. "これらの前/後画像で示されている操作作業を記述する.オブジェクト (色,素材,形) と実行されたアクションについて具体的に説明する. 10-15 単語を使用する." VLM は標準のピックプレス作業で85-90%の精度で自然言語指示を生成します. 人体レビューは,エピソードごとに5〜15秒で残りの10〜15%を修正します (チェックはゼロから書くよりも速く).

成功/失敗確認. ローボットに [タスク指示]を依頼された.最終シーンに基づいて,タスクが成功に完了したのですか? 信頼スコアで"と答えます. VLMは,ピックアップ・スタッキング・タスクにおいて二重成功分類の精度が8893%に達し,視覚的に微妙な挿入・組み立て作業では7582%に低下します.

失敗モード分類. 失敗したエピソードについては,VLMは故障タイプを分類することができる. "ロボット (a) がオブジェクトを把握できず, (b) 輸送中にオブジェクトを落とした, (c) ობიექტを間違った場所に置いたか,または (d) 他のもの?" この分類は,標的データ収集を指导する故障分析にフィードバックします. 精度:4つの標準カテゴリーでは80-85%

コスト影響: VLM支援の注釈は,言語ラベルでは4060%とバイナリーラベルでは7080%で,人による注釈時間を短縮します.現在のAPI価格では (GPT-4Vは画像ペアあたり0.01ドル,双子座は0.005ドル) VLM推論コストは,人による時間の節約と比較して軽い.純効果は,エピソードあたり合計注釈コストを30%~50%削減します.

品質保証 メトリック: 追跡すべきことと目標すべきこと

記号の質は時間とともに量化され追跡されなければなりません これらは,すべてのデータ収集の取り組みのための RCSVのモニターメトリックであり,50以上のプロジェクトにおける経験に基づいて目標の限界値です.

  • **注釈者間協定 (コーヘン・カッパ).**バイナリーラベルについては:目標カッパ >0.90 (ほぼ完璧な合意) 言語ラベルについては:文本-BERT埋め込みを使用して注釈者記述間の意味的類似性を計算する.目標コシンの類似性 >0.85. 段階境界については:目標合意は+/- 3フレーム (100ms/s30fps) 内に.
  • 注釈量* 記号者ごとに1時間注釈されたトラックエピソード.予想される速度の80%未満の (注釈タイプ複雑性に基づいて) 経路は,プロトコル澄清を必要とするタスクの曖昧さまたは休憩を必要とする注記者の疲労を示す.
  • 修正率. 人間レビューによって修正されたVLM生成のラベルの割合を追跡する. 20%以上の修正率は,VLMプロンプトの精錬が必要か,自動注釈のために作業が複雑すぎることを示唆する. 10%未満は,人間のレビューを徹底的にではなくサンプルに採取することが可能であることを示唆する.
  • ダウンストリームトレーニングの影響* 最下質メトリック:注釈されたデータに関するポリシーを訓練し,成功率を測定する.さらに多くの注釈 (例えば段階の境界線) を追加すると,少なくとも3%の政策を改善しない場合,追加的な注釈コストは,その任務に正当化されない.

RCSV注記管道

RCSVのデータ収集サービスには標準的な注釈が含まれています.収集されたすべてのエピソードは:バイナリー成功/失敗ラベル (境界線症例の自動化+人間レビュー),言語指示ラベル (タスクごとにプロトコルで定義),4段階段の境界 (リーチ/グラスプ/輸送/場所) とF/Tセンサーが存在する連絡イベントタイムスタンプを受け取ります. 追加的な注釈タイプ (部分クレジットスコア,拡張セグメントセット,品質スコア) は追加として提供されています.

すべての注釈は,注釈者間の合意メトリック (注釈タイプごとにカッパスコア) と,Kappa <0.8ケースの文書化和解記録が付随する.詳細な注釈仕様については,当社の [データサービスページ]T8を参照してください.

ロボットデータのための記号ツール要件

ショルダー式画像注釈ツール (ラベルボックス,CVAT,ラベルスタジオ) は,単一の画像分類と境界框作業のために設計されています. ロボットエピソード注釈は,ほとんどの一般的なツールがサポートしていない特定の要件を持っています.

  • 多モダルの同期化. 注記ツールでは,多台のカメラから同期されたビデオをプロピオシセプティブタイムシリーズ (関節角,F/T読み込み) とアクション信号とともに表示する必要があります.注記者は,完全な文脈を表示する必要があります.腕カメラ,プロピオシセプティブデータ,時にはオーバーヘッドカメラで同時にグリッパー閉じるイベントが表示されます.
  • タイムアノテーション. 単一のフレームを標識する画像アノテーションとは異なり,ロボットアノテーションはビデオタイムラインをスクロールすることによってタイム境界 (フェーズ開始/終了,接触イベント) をマークする必要があります.ツールでは,フレーム正確なタイムアノテーションを30-50fps解像度でサポートする必要があります.
  • エピソードレベルのメタデータ. 各エピソードには構造化メタデータが必要である:成功/失敗,タスク指示,品質スコア,オペレーターID,収集条件.このツールではタスクごとに変化するカスタマイズ可能なメタデータスケームをサポートすべきである.
  • ** バッチレビューワークフロー.** レビュー者は,自動化品質スコア,フラッグ意見の不一致,および自動化チェックを合格する批量承認のバッチによってエピソードを分類することが可能であるべきです. バッチワークフローのサポートがなければ,人間のレビューはスケールでのボトルネック (500+エピソード) に変わります.

RCSVの注釈プラットフォームはロボットデータのために設計され,4つの要件をすべてサポートしています.独自の注釈ツールを構築するチームにとって,カスタムフロントエンド拡張機能を持つラベルスタジオは,最も柔軟なオープンソースの出発点です.

関連 読書

  • [ロボットのための模倣学習:デモから部署まで]
  • [ロボット学習: 演示分析の費用]
  • [LeRobot フレームワーク: スタートガイド]
  • [ロボット政策一般化:なぜロボットが新しい物体で失敗する]
  • [オープンX-エンボディメント: ロボットデータセット すべてを変えた]
  • [RCSVデータ収集サービス]
  • [RCSVデータプラットフォーム]

訓練準備の備えた注記データセット

RCSVは,文書化された品質メトリックと,注記者間の合意報告書を含む完全に注記されたロボット示範データセットを提供します.

[データサービスを探求]