用游戲 GTA 訓練電腦實現自動駕駛

分類:技術 時間:2017-01-13

簡評:自動駕駛是一個我們看來高大上的名稱,看起來離我們很遠。 但你知道么,其實通過 GTA 就能讓我們訓練計算機來實現自動駕駛。

OpenAI 開源項目 DeepDrive

,通過玩游戲 GTA 5(Grand Theft Auto V:俠盜獵車手) 來機器學習自動駕駛。

這是通過 OpenAI 的 AI 訓練架構 Universe( 極光日報:Universe - AI 訓練平臺 ) 來實現的。而這個 GTA 訓練項目也是完全開源的,如果你想使用這個,只需要安一個 GTA 5,然后 Universe Agent 就會開始在這個虛擬的游戲世界自動駕駛一輛汽車。( 極光日報:深度學習 - 進化

GTA 5 的 AI 和這個虛擬世界給予了訓練自動駕駛的可行性。這是 演示視頻 (BiliBili),此 GTA 已經修改了暴力指數,成為了個和平的世界。

入門

  1. 打開一個 GTA 5 服務器實例來 開始 這個項目。
  2. 需要安裝 Universe Python 庫(如果您以前安裝了它,則不需要升級)。
  3. 可以通過運行以下代碼來附加代理,以便于檢測像素的改變。代理也可以模擬汽車的控制系統,比如方向盤,油門剎車等:
import gym
import universe # register Universe environments into Gym
from universe.spaces import joystick_event

env = gym.make('gtav.SaneDriving-v0')
env.configure(remotes='vnc://$host:$port') # point to the GTA V Universe server
observation_n = env.reset()

while True:
  steer = joystick_event.JoystickAxisXEvent(-1)     # turn right
  throttle = joystick_event.JoystickAxisZEvent(-1)  # go in reverse
  # Alternatively, use WASD to steer: ('KeyEvent', 'w', True)
  action_n = [[steer, throttle] for _ in observation_n]
  observation_n, reward_n, done_n, info = env.step(action_n)
  env.render()

(上圖:路面監測反饋給 Agent)

DeepDrive

DeepDrive 是自駕車 AI 所創建的平臺。DeepDrive 使用改裝框架和內存檢查技術來重新使用GTA 5 作為自駕車汽車模擬器,它還提供預訓練的自我驅動 Agent 和用于訓練他們的數據集。現有的 DeepDrive 環境和代理現在構建在 Universe 之上。

新的 DeepDrive 可以在大約二十分鐘內設置完成,支持 Linux 或 OS X 上的 Agent,并且與預先存在的 Universe Agent 兼容。

Release

  • 源碼 和 GTA 5 環境的 AMI
  • 一個預訓練 Agent,通過 Caffe 和 TensorFlow 實現。

以上集成了不同角度的跟隨式攝像機,強化過的訓練功能,包括躲避碰撞,訓練目的地和路上停留。

環境

在 Universe 開啟之前,DeepDrive 使用 DirectX hook 來捕獲屏幕,并且需要使用 C 在Windows 中寫入 Agent 程序。現在,GTA 5 運行在云上的 Windows 虛擬主機上,通過 VNC 和 Websocket 與 Universe 通信。Agent 當然也可以在 Linux 或 Mac上運行,并在任何 MachineLearning 框架中編寫。

(上圖:Game Camera 通過 VNC 把路面像素信息以傳遞到主機上,主機通過 Websocket 發出指令,模擬真實環境操控游戲中的車輛,這一切都是都是 Agent 來進行只能的訓練和操控)

GTA 5 給研究人員提供了一個豐富多樣的世界,用于測試和開發 AI。它的島嶼設置幾乎是洛杉磯規模的五分之一,可以訪問各種場景來測試系統。

除此之外,257 輛不同的車輛,7 種類型的自行車和 14 種天氣類型,它盡可用單個模擬器探索大量的排列組合。

(上圖:GTA 5 給予 AI 豐潤的土壤來成長,這里儼然就是個小世界)

預訓練 Agent

這個版本的 Release 提供了一個預訓練 Agent,它已經經過了 21 小時(處理了 60 萬張圖像)的游戲內模擬行駛。它可以駕馭不同的場景,天氣,路況。

(園長:內置的游戲 AI 是一個很好的初始推動力,它的性能優于人類,因為它可以訪問內部游戲狀態,雖然它仍然犯錯誤,如在高速公路上的 U 型轉彎,還有一些相對比較非典型的場景。)

視頻: 『GTA5』車輛自動駕駛程序

其他研究人員已經表明,你可以在GTA 5 中訓練視覺系統,并使用它們在真實世界中對圖像進行分類。

GTA 5 與 Universe 的集成自動繼承了 Universe 提供的所有工具和語義,實現可比性和共享性,可以輕松地對 GTA 5 上 Agent 的性能進行基準測試。它可以單獨使用,或作為另一個環境 Universe 代理訪問。

原文: GTA V Universe

相關閱讀

歡迎關注

  • 知乎專欄「極光日報」,每天為 Maker 導讀三篇英文文章。
  • 微信公眾號「極光開發者」(jiguangdev),每周兩篇技術向文章。

「啊咧咧,啊咧咧,老司機帶帶我,點完贊我就上車」


Tags: 游戲開發

文章來源:https://zhuanlan.zhihu.com/p/24844986


ads
ads

相關文章
ads

相關文章

ad