kesai-labs/py123d

123D: A Unified Library for Multi-Modal Autonomous Driving Data

py123d – 統合された自動運転データセットライブラリ

何であるかpy123d は、Argoverse 2、nuScenes、Waymo、nuPlan、KITTI‑360、PandaSet など、主要な自動運転データセットを一貫した API で扱える Python パッケージです。このライブラリは、元のデータをダウンロードし、列指向の Apache Arrow 形式に変換した後、カメラ、LiDAR、地図、アノテーションへのゼロコピー・メモリマップアクセスを提供します。

なぜ重要か – 自動運転研究では、異なるファイル構造、センサー コーデック、ラベルスキーマを扱う必要があり、これが大きな障壁となります。py123d はこの課題を解消し、以下を可能にします:

  • CLI を通じて公式ソースからデータを直接取得。
  • メモリをフルにロードせずに即時読み込み可能なコンパクトな Arrow ファイルにすべてを保存。
  • 学習や評価コードを変更せずに、データセット間を切り替え可能。
  • 組み込みの Viser 3‑D ビューアまたはシンプルな Matplotlib プロットで、シーンを即座に可視化。

主な機能

機能 詳細
データセットのダウンロードと変換 1行の CLI(py123d-conversion …)で、元データを取得し Arrow 形式に変換、元ファイルをクリーンアップ。
Hydraベースのパイプライン YAML 設定で複雑な変換手順を記述でき、プロジェクト間で再利用可能。
ゼロコピー Arrow ストレージ 列指向、メモリマップ読み取りにより、数十億の点やフレームに対する高速かつ低メモリアクセスを実現。
複数のセンサー コーデック カメラには MP4/JPEG/PNG、LiDAR ポイントクラウドには LAZ/Draco/Arrow IPC をサポート。
センサーの重複なし 変換済みログは元ファイルへの参照を保持し、重複保存を回避。
統一 API どの対応データセットでも同じ Python 呼び出し(scene.cameras()scene.lidar()scene.map()scene.labels())が利用可能。
組み込み可視化 インタラクティブ 3‑D ビューア(Viser)と Matplotlib ヘルパーで、迅速な検査が可能。
拡張可能なモダリティ 最新リリースでは、深度カメラ、レーダー、ピクセル単位のセグメンテーション、ルート情報、ポーズ不確実性フィールドを追加。
マルチデータセット学習サポート コンパニオンリポジトリ py123d_garage では、学習ループ、NAVSIM メトリクス、CARLA/AlpaSim へのシミュレーションブリッジを提供。

インストール

# コアライブラリ
pip install py123d

# 特定データセット用のオプション(必要なものだけインストール)
# 例:Argoverse 2 対応
pip install py123d[av2]

パッケージは標準的な Python バージョン管理に準拠しており、PyPI でホストされています。

クイックデモ(Argoverse 2)

# 1️⃣ AV2 オプションをインストール
pip install py123d[av2]

# 2️⃣ 変換済みデータの保存先を指定
export PY123D_DATA_ROOT=/my/py123d_data

# 3️⃣ 3つの検証ログをダウンロードし Arrow 形式に変換
py123d-conversion dataset=av2-sensor-stream \
  dataset.parser.splits='[av2-sensor_val]' \
  dataset.parser.downloader.num_logs=3

# 4️⃣ インタラクティブビューアを起動
py123d-viser scene_filter=av2-sensor

ブラウザで http://localhost:8080 を開いてシーンを探索してください。

対応データセット – このライブラリは、手動ラベル、自動ラベル、合成データの幅広いコレクションを扱っており、以下を含みます:

  • 手動ラベル:nuScenes、Waymo Open Perception、Argoverse 2 Sensor、PandaSet、KITTI‑360
  • 自動ラベル:Waymo Open Motion、nuPlan(および mini)、NVIDIA Physical AI AV、NCore
  • 合成データ:CARLA、L3AD(CARLA 由来) 各エントリには、利用可能なセンサー(カメラ、LiDAR、レーダー)とアノテーションタイプ(3‑D ボックス、信号機、地図、セグメンテーションなど)が記載されています。

ドキュメントとコミュニティ – 完全な API リファレンス、変換ガイド、貢献手順は https://kesai.eu/py123d/ で利用可能です。プロジェクトは Apache‑2.0 ライセンスでオープンソースであり、新しいデータセットやモダリティの拡張を歓迎しています。


引用 py123d を研究で使用する場合、以下の論文を引用してください:

@article{Dauner2026ARXIV,
  title={123D: Unifying Multi-Modal Autonomous Driving Data at Scale},
  author={Dauner, Daniel and Charraut, Valentin and Berle, Bastian and Li, Tianyu and Nguyen, Long and Wang, Jiabao and Jing, Changhui and Igl, Maximilian and Caesar, Holger and Ivanovic, Boris and Geiger, Andreas and Chitta, Kashyap},
  journal={arXiv preprint arXiv:2605.08084},
  year={2026}
}

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト