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