CARLAにおける自動運転のための模倣学習
CARLAは、自動運転研究のためのオープンソースシミュレーターです。
この記事では、CARLAにおける自動運転のための模倣学習を紹介します。
CARLAで模倣学習を用いることにより、以下のビデオのような自動運転を行うことができます。
CARLA
CARLA(Car Learning to Act)は、Unreal Engine 4を用いた自動運転研究のためのオープンソースシミュレーターです。
https://github.com/carla-simulator/carla
CARLAにおける自動運転のための模倣学習
以下のリポジトリに、CoRL-2017ドライビングベンチマークを実行するためのコードとトレーニング済モデルがあります。
https://github.com/carla-simulator/imitation-learning
なお、上記GitHubからデータセット(24GB)へのリンクがありますが、このリポジトリにトレーニング用のコードは含まれていません。
トレーニング用のコードは、以下のリポジトリのようです。
以下のリポジトリは、模倣学習の別実装で、トレーニング用のコードを含むのですが、上記リポジトリのモデルと互換性がなく、ベンチマークを実行するためのコードも含まれていません。
https://github.com/mvpcom/carlaILTrainer
CARLAサーバーの準備
以下の記事では、Dockerイメージを利用しましたが、
この記事では、Ubuntu 16.04 LTS上で、ここ(https://github.com/carla-simulator/carla/releases)からダウンロードしたCompiledバージョンを利用します。
なお、CARLAのバージョンは、要件に示された0.8.2を使用します(0.8.4でも動作しました)。
以下のコマンドで、CARLAの圧縮ファイルを展開します。
$ cd $ mkdir carla-0.8.2 $ tar xf Downloads/CARLA_0.8.2.tar.gz -C carla-0.8.2
imitation-learning
リポジトリのclone
以下のコマンドで、imitation-learningリポジトリをcloneします。
$ cd $ git clone https://github.com/carla-simulator/imitation-learning
依存パッケージのインストール
imitation-learningリポジトリに示されたPython関係の依存パッケージをインストールします。
細かいバージョン指定はないので、Minicondaを用いてPython 3.6の仮想環境carla_ilを作成し、condaを用いてtensorflow-gpu(1.8.0、numpy 1.14.5を含む)、scipy(1.1.0)、およびpillow(5.1.0)をインストールします。
CoRL-2017ベンチマークの実行
1つ目のターミナルで、CARLAサーバーを起動するため、以下のコマンドを実行します。
$ cd ~/carla-0.8.2 $ ./CarlaUE4.sh /Game/Maps/Town01 -carla-server -benchmark -fps=10 -windowed -ResX=640 -ResY=480
別のターミナルで、Pythonクライアントを起動するため、以下のコマンドを実行します。
$ export PYTHONPATH=~/carla-0.8.2/PythonClient/:$PYTHONPATH $ source activate carla_il $ cd ~/imitation-learning $ python run_CIL.py
まとめ
この記事では、CARLAにおける自動運転のための模倣学習を紹介しました。