はじめに
OrionはXiaomi Labsによって開発されたオープンソースプロジェクトで、エンドツーエンド(E2E)の自律走行技術に焦点を当てている。Orionは、長期的な過去の文脈、運転シナリオの推論、正確な軌道予測を統合し、意思決定の精度を大幅に向上させる。Orionは、クローズドループテストにおいて、ドライビングスコア(DS)77.74、成功率(SR)54.62%と、同等の手法よりもはるかに優れた性能を発揮します。Orionは、自律走行分野の開発者、研究者、企業のアルゴリズム開発やシナリオテストに適しています。
機能一覧
- 長期的な歴史的文脈の処理QT-Formerモジュールにより、車両の走行から長期間のデータを抽出・統合し、現場に関するより包括的な情報を提供します。
- ドライビング・シナリオの推論大規模言語モデル(LLM)を用いて道路環境を分析し、論理的な運転指示を生成する。
- 正確な軌道予測生成プランナーは、言語的なコマンドに基づいてマルチモーダルな軌道(加速、操舵など)を生成し、経路計画の精度を向上させるために使用されます。
- 統一された最適化フレームワーク視覚的質問応答(VQA)とプランニングタスクのエンドツーエンドの最適化をサポートし、意味的推論と行動出力のギャップを埋める。
- オープンループとクローズドループの評価Bench2Driveデータセットのテストをサポートするオープンループ評価スクリプトとクローズドループ評価コンフィギュレーションを提供します。
- 視覚化と分析ツール運転シナリオの比較ビデオを生成し、決定点と予測された軌跡をラベル付けして、モデルの性能を簡単に分析できるようにします。
- オープンソースリソースのサポート推論コード、訓練済みモデル、設定ファイルは、二次開発や研究を容易にするために提供されています。
ヘルプの使用
Orionは、GitHubでホストされている自動運転開発者や研究者のためのオープンソースのフレームワークです。以下は、ユーザーが素早くデプロイ、実行、開発できるようにするための詳細な使用ガイドである。
設置プロセス
OrionはPythonをサポートする環境で実行する必要があり、互換性を確保するためにLinuxシステム(Ubuntu 20.04など)を推奨する。以下は詳細なインストール手順です:
- 環境を整える
以下のツールがシステムにインストールされていることを確認してください:- Python 3.8(公式推奨バージョン)。コマンドを確認してください:
python3 --version
- Git.installコマンド:
sudo apt update sudo apt install git
- Conda(仮想環境作成用)。Condaが利用できない場合は、Anacondaのウェブサイトからダウンロードできる。
- Python 3.8(公式推奨バージョン)。コマンドを確認してください:
- 仮想環境の構築
Condaを使って仮想環境を作成し、有効化する:conda create -n orion python=3.8 -y conda activate orion
- クローン倉庫
Gitを使ってOrionのソースコードをダウンロードする:git clone https://github.com/xiaomi-mlab/Orion.git cd Orion
- PyTorchのインストール
公式には、PyTorch 2.4.1(CUDA11.8をサポート)をインストールすることを推奨している。以下のコマンドを実行してください:pip install torch==2.4.1+cu118 torchvision==0.19.1+cu118 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu118
- 追加の依存関係をインストールする
プロジェクトに必要な他のPythonライブラリをインストールする:pip install -v -e . pip install -r requirements.txt
万が一
requirements.txt
これらのライブラリのいくつかが失敗した場合は、個別にインストールしてみてください(たとえばtransformers
そしてnumpy
). - 訓練済みモデルのダウンロード
Orionは、以下のような外部の事前に訓練されたモデルを使用する:mkdir ckpts cd ckpts wget https://huggingface.co/exiawsh/pretrain_qformer/resolve/main/pretrain_qformer.pth wget https://github.com/NVlabs/OmniDrive/releases/download/v1.0/eva02_petr_proj.pth
- データセットの準備
Orionは評価にBench2Driveデータセットを使用します。データをダウンロードして準備する必要があります。 Bench2Driveデータ準備ドキュメント.データセットをプロジェクトディレクトリに展開する:unzip bench2drive.zip -d ./data
- インストールの確認
推論スクリプトを実行し、環境設定をチェックする:./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3.py ckpts/Orion.pth 1
エラーが報告されなければ、インストールは成功です。
主な機能
オリオンの中核機能は、エンドツーエンドの自動操縦による推論とプランニングだ。その仕組みはこうだ:
1.オペレーショナル・オープン・ループ評価
オープンループ評価は、固定されたデータセット上でモデルの性能をテストするために使用されます。運用ステップ
- データセットとモデルの重みが準備できていることを確認してください。
- 評価スクリプトを実行する:
./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3.py ckpts/Orion.pth 1
- CoT(思考連鎖)推論を有効にするには、以下を実行する:
./adzoo/orion/orion_dist_eval.sh adzoo/orion/configs/orion_stage3_cot.py ckpts/Orion.pth 1
- 出力は
output
軌道座標と評価指標(L2エラーなど)を含むカタログ。
2.運用クローズドループ評価
クローズドループ評価は、実際の走行環境をシミュレートするため、CARLAシミュレータが必要です。操作手順
- CARLAの設置参考 Bench2Drive評価ツールのドキュメント CARLAと評価ツールの導入。
- 評価スクリプトの設定評価スクリプトを編集する。
eval.sh
)、以下のパラメータを設定する:GPU_RANK=0 TEAM_AGENT=orion TEAM_CONFIG=adzoo/orion/configs/orion_stage3_agent.py+ckpts/Orion.pth
- 運用クローズドループ評価評価コマンドを実行します(特定のコマンドについては、Bench2Drive のドキュメントを参照してください)。
- 出力には、ドライビング・スコア(DS)、成功率(SR)、ビジュアライゼーション・ビデオが含まれる。
3.ビジュアル分析
Orionは、モデルの判断と軌道予測を実証する走行シナリオの比較ビデオの作成をサポートします。運用ステップ
- 視覚化スクリプトを実行する:
python visualize.py --data_path ./data/test --model_path ckpts/Orion.pth
- 出力ビデオは
output/videos
信号、障害物、予測軌道(緑色の線)でラベル付けされたカタログ。ユーザーはOrionの性能を他の手法(UniADやVADなど)と比較することができます。
注目の機能操作
Orionは、視覚言語モデリングと生成プランニングの組み合わせにより、強力なシーン推論と軌道生成機能を備えている。その詳細な仕組みは以下の通りだ:
1.シナリオ推理と口頭指示
Orionの言語モデルは、テキスト命令に基づく運転行動の適応をサポートする。例えば、「交差点では速度を落としてください」と入力します。ステップ・バイ・ステップ:
- コマンドファイルの作成
commands.txt
書き込みコマンド:在交叉路口减速慢行
- 推論スクリプトを実行し、コマンド・ファイルを指定する:
python inference.py --model_path ckpts/Orion.pth --command_file commands.txt
- に保存され、コマンドによる軌道の調整が出力に反映される。
output/trajectories
.
2.マルチモーダル軌道生成
Orionの生成プランナーは、複数の軌道モード(加速、減速、ステアリングなど)をサポートしています。生成パラメータは、設定ファイルを介してユーザーが調整することができます:
- コンパイラ
configs/planner.yaml
::trajectory_mode: multimodal max_acceleration: 2.0 max_steering_angle: 30
- 計画スクリプトを実行する:
python planner.py --config configs/planner.yaml --model_path ckpts/Orion.pth
- 出力トレースは
output/trajectories
複数のパス候補をサポートしている。
3.エンド・ツー・エンドの最適化
Orionは、ビジュアル・クエスチョン&アンサー(VQA)とプランニング・タスクの統合最適化をサポートしています。ユーザーは以下の手順でテストすることができる:
- 推論スクリプトを設定してVQAモードを有効にする:
python inference.py --model_path ckpts/Orion.pth --vqa_mode true
- テスト質問(例えば「この先に歩行者はいますか?)を入力すると、モデルは意味的な答えとそれに対応する軌跡を返す。
ほら
- ハードウェア要件推論にはNVIDIA A100(32GB RAM)以上のGPUを推奨。トレーニングにはより大きなRAMが必要(80GB推奨)。
- データ形式入力データは、Bench2Driveフォーマット(例.
.jpg
そして.pcd
)、そうでなければ前処理が必要である。 - モデル重量オリオン座の公式モデルが発表されました。ハグする顔)が、トレーニングの枠組みはまだオープンになっていない。
- 更新頻度GitHubのリポジトリを定期的にチェックし、最新のコードとドキュメントを確認してください。
これらの手順により、ユーザーはOrionを迅速に導入し、推論タスクの実行やアルゴリズム開発を行うことができる。
アプリケーションシナリオ
- 自律走行アルゴリズム開発
開発者はOrionを使用して、エンドツーエンドの自律走行アルゴリズムをテストし、複雑なシナリオにおける意思決定能力を最適化することができます。オープンソースのコードとモデルは、迅速な反復をサポートします。 - 学術研究
Orionに基づいて、研究者は自律走行における視覚言語モデルの応用を探求し、推論と計画の相乗効果を分析し、質の高い論文を作成することができる。 - 模擬試験
自動車メーカーは、CARLAなどのシミュレーション環境にOrionを統合することで、仮想シナリオで車両性能をテストし、ロードテストのコストを削減することができる。 - 教育とトレーニング
大学や専門学校は、学生が自律走行の原理を理解し、ビジュアライゼーション・ビデオで実践的なスキルを高めるための教材としてオリオンを利用することができる。
品質保証
- Orionはどのようなデータセットをサポートしていますか?
現在、Bench2Drive データセットがサポートされており、将来的には他のデータセット(例えば nuScenes)もサポートされる可能性がある。ユーザーは公式フォーマットでデータを準備する必要があります。 - 推論が遅いという問題をどう解決するか?
CoTの推論は遅いので、標準的な推論モード(orion_stage3.py
).GPUの性能を最適化したり、モデルの精度を下げたり(fp16など)することで、速度を向上させることもできます。 - クローズドループ評価に必要なツールとは?
CARLAエミュレータとBench2Drive評価ツールのインストールが必要です。詳細な設定は公式ドキュメントを参照してください。 - オリオンはリアルタイム走行をサポートしていますか?
現在のバージョンは、オフラインの推論に基づいており、リアルタイムアプリケーションは、さらにコードとハードウェアを最適化する必要があり、それは公式アップデートに注意を払うことをお勧めします。