メインコンテンツまでスキップ

HDF5データセット

HDF5(階層型データフォーマットバージョン5)は、エンボディド・インテリジェンス分野で広く使用されている効率的かつ柔軟なデータ保存形式です。階層構造(グループとデータセット)により、複雑なマルチモーダルデータの整理・管理が容易であり、効率的なデータの読み書きやクロスプラットフォームでの共有をサポートします。

HDF5データのインポート

エンボディド・インテリジェンス分野では、HDF5ファイルの構造や命名規則はデバイスメーカーによって異なります。本プラットフォームは主流の外部データ取得システム(例:松菱Piper)と互換性があり、関連するHDF5ファイルを直接インポートして可視化できます。

ご利用のHDF5データがまだ対応していない場合は、データ構造の詳細をお知らせください。迅速にプラットフォームを適応させ、マルチモーダルデータのシームレスな可視化、アノテーション、エクスポートを実現します。

HDF5データのエクスポート

プラットフォームは、アノテーション済みデータをmcap、bag、hdf5などの形式でHDF5ファイルにエクスポートでき、機械学習モデルのトレーニングに役立ちます。アノテーション時には、アクションが自然言語指示と紐付けられ、VLAモデルが言語コマンドを理解・実行できるようにします。

アノテーション操作については、データアノテーションをご参照ください。

アノテーション後、エクスポート画面で必要なデータサブセットを選択できます。

エクスポートするデータを選択

  • グループ数: 各HDF5ファイルに含まれる元ファイル数を設定します。1対1対応の場合は1に設定してください。
  • データ更新レート: 1秒あたりのデータ取得回数を制御し、ファイルサイズに影響します。

エクスポート後、インターフェースで結果を確認できます。

エクスポート結果を表示

ダウンロードしたデータを読み込むことができます。

エクスポートされたデータ構造の説明

エクスポートされたHDF5ファイルは元ファイルグループごとに命名され(例:chunk_001.hdf5)、ツリー構造で整理されています。

  • ルートグループ(/)**: 最上位ディレクトリ
  • サブグループ: /data/metaなど
    • /data配下はアノテーションタスクのシーケンスごとにサブグループ(例:episode_001episode_002)が分かれます
  • データセット: /data/episode_001など
    • 属性:
      • task: アノテーションされた自然言語(英語)
      • task_zh: アノテーションされた自然言語(中国語)
      • score: アクション品質スコア
    • 格納データ:
      • action: 発行されたジョイントコマンド(多次元配列)
      • observation.images.*: 各視点からの圧縮画像(JPEG)
      • observation.state: センサー観測値(多次元配列)
      • observation.gripper: グリッパーの閉じ具合観測値(多次元配列)

構造例:

HDF5 "./chunk_001.hdf5" {
FILE_CONTENTS {
group /
group /data
group /data/episode_001
dataset /data/episode_001/action
dataset /data/episode_001/observation.gripper
dataset /data/episode_001/observation.images.camera_01
dataset /data/episode_001/observation.images.camera_02
dataset /data/episode_001/observation.images.camera_03
dataset /data/episode_001/observation.images.camera_04
dataset /data/episode_001/observation.state
group /data/episode_002
dataset /data/episode_002/action
dataset /data/episode_002/observation.gripper
dataset /data/episode_002/observation.images.camera_01
dataset /data/episode_002/observation.images.camera_02
dataset /data/episode_002/observation.images.camera_03
dataset /data/episode_002/observation.images.camera_04
dataset /data/episode_002/observation.state
......
group /meta
}
}

HDF5ファイルの読み込み例

Pythonのh5pyライブラリを使用してHDF5ファイルを読み書きすることを推奨します。基本的な使い方は以下の通りです。

import h5py

# HDF5ファイルを読み取り専用で開く
with h5py.File('chunk_001.hdf5', 'r') as f:
# 最上位グループを表示
print("Top-level groups:", list(f.keys()))

# /data/episode_001グループ配下のデータセットにアクセス
episode_001 = f['/data/episode_001']
print("Datasets under episode_001:", list(episode_001.keys()))

# actionデータセットを読み込む
action_data = episode_001['action'][:]
print("Action data:", action_data)

活用シーンとメリット

HDF5形式はエンボディド・インテリジェンス分野で以下のメリットがあります。

  • 大規模なマルチモーダルデータ(高解像度画像、センサーデータなど)の保存に対応
  • 内蔵データ圧縮機能でストレージ容量を節約
  • クロスプラットフォーム互換性によりデータ共有・移行が容易
  • 柔軟な階層構造で複雑なタスクや多様なデータ管理に適応

HDF5構造を適切に設計し、プラットフォームツールを活用することで、エンボディド・インテリジェンス関連の複雑なデータを効率的に管理・処理でき、研究やモデル学習を強力にサポートします。