AirSim환경에서 자율주행 자동차를 시뮬레이션 하는 튜토리얼을 해보자.
실습은 총 두가지이다.
- Autonomous Driving using End-to-end Deep Learning: an AirSim tutorial
- Distributed Deep Reinforcement Learning for Autonomous Driving
졸업 논문에서 CV와 RL을 사용한 End-to-end 자율주행 시뮬레이션을 구현하기 위해서는 두 가지 방법 모두 사용해야 하므로, 두 튜토리얼을 모두 진행해볼 것이다.
관련 깃허브 자료와 상세한 설명은 다음 링크를 참조하자.
https://github.com/microsoft/AutonomousDrivingCookbook/tree/master/AirSimE2EDeepLearning
맥 상에서 언리얼 엔진을 이용하여 AirSim을 빌드하는 방법은 다음 링크를 참조해보자.
https://jjuke-brain.tistory.com/83
윈도우즈에서 빌드하는 방법은 매우 쉽다. 다음 링크를 참조하자.
https://microsoft.github.io/AirSim/build_windows/
목차
1. Prerequisites and Setup
먼저 필요한 것들을 설치하고, 환경을 세팅하자.
해당 튜토리얼을 진행하기 위해서는 CNN 지식이 어느 정도 필요하다. 네트워크가 어떻게 동작하는지 정도는 숙지하고 튜토리얼을 진행하면 원하는 작업에 응용할 수 있을 것이다.
1) 언리얼 엔진 환경 세팅
논문 작성 시에는 'AirSim Neighborhood'라는 환경을 사용할 것이다.
기존의 다른 많은 논문과 튜토리얼에서 사용하는 환경이다.
다음 링크에서 자신의 환경에 맞는 NH 환경을 다운받자.
https://github.com/Microsoft/AirSim/releases
내가 다운받은 버전은 v1.7.0이다.
아쉽게도, 맥에서는 원하는 Environment를 빌드하는 과정이 너무 복잡하고, 정리된 내용이 없어 결국 윈도우즈에서 진행했다.
간단히 압축받은 파일을 풀고, 'AirSimNH - WindowsNoEditor - AirSimNH.exe'를 누르면 다음과 같이 게임 환경이 실행된다.
2) 딥러닝 구현 환경 세팅
딥러닝은 Jupyter Notebook에서 진행할 것이다.
필자는 GPU 서버를 사용했는데, GPU가 있다면 로컬 환경에서 진행하면 될것이다.
설치할 라이브러리와 버전은 다음과 같다.
- Anaconda (파이썬 3.5 이상, 필자는 python3.6 사용)
- CNTK or Tensorflow - 더 익숙한 Tensorflow 사용
- h5py
- Keras
- AzCopy
이외의 dependency는 다음과 같다. 아나콘다 환경에서 'InstallPackages.py'를 root나 administrator로 실행하면 다음의 패키지를 자신의 환경에 다운받을 수 있다.
- jupyter
- matplotlib (튜토리얼 상에서는 2.1.2 버전을 다운받으라고 나와있는데, 그냥 최신 버전을 다운받고 코드를 최신 버전에 맞추어서 작성했다. 왜냐면 파이썬 3.6버전 이상부터는 matplotlib 2.1.2 버전이 다운되지 않는다..)
- image
- keras_tqdm
- opencv
- msgpack-rpc-python
- pandas
- numpy
- scipy
또는 jupyter notebook 환경에서 필요할 때마다 해당 라이브러리를 다운받아도 상관없다.
3) 시뮬레이터 패키지
튜토리얼을 위한 시뮬레이션 환경을 저자분들께서 친절하게 패키지로 만들어두었다.
다음 링크에서 패키지를 다운받자. (또는 포스트 가장 처음에 올려둔 링크에서 직접 다운받을 수 있다.)
https://airsimtutorialdataset.blob.core.windows.net/e2edl/AD_Cookbook_AirSim.7z
다운받아 압축을 풀면 다음과 같은 파일이 생성된다.
이제 AD_Cookbook_Start_AirSim.ps1 파일을 우클릭하여 PowerShell에서 실행한 후
'landscape' 환경에서 실행해보자.
그러면 다음과 같이 landscape 환경이 실행될 것이다.
4) Dataset
Dataset 다운로드 링크는 다음과 같다. (Cookbook 깃허브의 README에서도 다운받을 수 있다.)
https://aka.ms/AirSimTutorialDataset
실제 자율주행에 사용되는 데이터는 petabyte 단위의 상상도 힘들만큼 큰 용량의 데이터가 사용되지만, 이 튜토리얼에서 진행해볼 데이터는 3.25GB정도의 데이터이다.
최근댓글