HDF5データセット
HDF5(Hierarchical Data Format v5)は、具身知能分野で広く利用される効率的かつ柔軟なストレージ形式です。階層構造(グループとデータセット)により、マルチモーダルな複雑データの整理・管理が容易で、高速な入出力とクロスプラットフォームでの共有に適しています。
HDF5データのインポート
実運用ではベンダや装置によりHDF5の構成や命名が異なります。プラットフォームは主流の外部コレクタ(例:Piper)に対応済みです 。未対応スキーマがある場合は構造情報をご連絡ください。迅速に適合します。
HDF5データのエクスポート
アノテーション済みの mcap/bag/hdf5 入力を HDF5 へエクスポートできます。アノテーションで動作と自然言語指示を対応づけることで、VLA モデルが言語に従って動作できるようになります。
アノテーション手順は:データアノテーション
アノテーション完了後、必要なデータサブセットを選択してエクスポートします。
- グループ数: 1ファイルに含める原始ファイル数(1対1にしたい場合は 1)
- リフレッシュレート: 1秒あたりのサンプリング頻度(ファイルサイズに影響)
エクスポート後、画面で結果を確認できます:
ダウンロードしたデータ:
データ構造
出力ファイルはグループ(例:chunk_001.hdf5
)単位で、以下のようなツリー構造です。
- ルート
/
- サブグループ
/data
,/meta
/data
配下はエピソード毎のサブグループ(episode_001
,episode_002
, ...)
- 各
/data/episode_xxx
に含まれるデータセット:- 属性
task
(英語の指示)task_zh
(中国語の指示)score
(品質スコア)
- データ
action
(関節コマンド,多次元配列)observation.images.*
(圧縮画像)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
}
}
読み取り例(Python)
h5py を用いた基本的な読み取り:
import h5py
with h5py.File('chunk_001.hdf5', 'r') as f:
print('top:', list(f.keys()))
episode_001 = f['/data/episode_001']
print('episode_001 datasets:', list(episode_001.keys()))
action = episode_001['action'][:]
print('action:', action)
適用シーンと利点
- 大規模マルチモーダルの格納(高解像度画像、センサーなど)
- 既定の圧縮でストレージ効率
- クロスプラットフォームでの共有と移行
- 階層構造により複雑タスクに適合
ロボット学習
エクスポートした HDF5 は模倣学習・強化学習・VLA モデルの訓練に直接利用できます。
詳細な手順とコード例:HDF5での学習