CARLAにおける自動運転のための模倣学習

carla-imitation-learning

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イメージを利用しましたが、

Dockerを用いた自動運転シミュレーターCARLAの環境構築

この記事では、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における自動運転のための模倣学習を紹介しました。