當前位置:
首頁 > 科技 > 專欄 | 像訓練Dota2一樣訓練真實機器人?Gibson Environment環境了解一下

專欄 | 像訓練Dota2一樣訓練真實機器人?Gibson Environment環境了解一下


機器之心專欄


作者:

夏斐、何志揚





本文是對斯坦福人工智慧實驗室 Silvio Savarese 教授團隊開發的模擬環境——Gibson Environment 的介紹。原文作者是夏斐,何志揚。該模擬環境的優點在於它是基於真實環境渲染而獲得的,因此在該環境中訓練的智能體具備很好的真實環境遷移特性,這對於自動駕駛、機器人等技術的低風險、低成本研發都有很大的應用價值。該項目於 9 月初在 GitHub 完全開源,並同時公開了目前最大的 3D 室內數據集。項目網址 gibson.stanford.edu,相關論文曾發表在 CVPR 2018 上。



很高興給大家介紹我們 CVPR 2018 的項目 Gibson Environment。這是一個主要適用於機器人導航任務的模擬平台。我們在傳統的圖形學渲染 pipeline 基礎上進行了創新,使用神經網路作為渲染引擎 (neural network rendering engine),達到了近乎真實環境的渲染效果。通過和物理引擎的融合,我們可以做到在計算機里 1:1 地模擬真實環境:







效果圖:我們動態地模擬了斯坦福計算機系 (Gates Building) 一樓的真實場景,讓虛擬機器人可以在其中進行探索,學習真實世界。我們在 Gibson Environment 里可以同時「激活」大量類似的機器人。喜歡電影黑客帝國的讀者可能對這個概念並不陌生。



通過 Gibson Environment,我們可以把真實的場景 (例如家庭住宅,學校,辦公室) 虛擬化,以節約大量在真實環境訓練機器人的資源。另一方面,我們可以把虛擬環境中訓練出來的機器人部署到真實環境。這為實現真實的強化學習提供了有力的基礎。







使用我們的開源平台來探索激活的和真實世界的感知。上圖展示了 Gibson 中的兩個智能體。這兩個智能體是激活的、嵌入式的,並服從物理定律和空間(a,b)的約束。它們源源不斷地接收視覺觀察,就好像佩戴了攝像頭,並以第一人稱視角來觀察環境(c)。除了(c)中的 RGB 通道模態,它們還能接收其它模態的觀察,如(d)深度、(e)語義標籤、(f)表面法線。該虛擬環境是通過掃描真實建築得到的。





  • 項目網址:http://gibson.vision



  • 3D 數據集地址:http://gibson.vision/database



  • 論文地址:http://gibson.vision/Gibson_CVPR2018.pdf 



  • Github 地址:https://github.com/StanfordVL/GibsonEnv 



背景




2016 年起,伴隨深度強化學習的興起,計算機視覺領域的研究重心從靜態圖像處理開始轉向動態視覺控制。大量的模擬模擬平台湧現而出 (例如虛擬駕駛平台 Carla, 虛擬無人機平台 Airsim)。


 





傳統機器人領域傾向於將一個複雜的任務分成感知 (perception) 模塊和決策 (planning) 模塊,而強化學習讓我們可以端到端地學習到更複雜的控制 (end to end control/sensorimotor control),即輸入感測器信息,然後直接輸出控制信號。




目前最前沿的強化學習演算法已經在很多端到端任務上獲得了的成功,例如在遊戲中學會解迷宮,在不平的路面上學會行走。在自動駕駛中,從攝像頭拍到的畫面,我們可以直接預測方向盤的轉角和油門剎車。





 

這樣的任務無法在靜態的數據集(例如 ImageNet)中學習。我們需要在一個可互動式的動態環境中訓練智能體。







上圖涵蓋了目前主流的模擬環境,包括遊戲類的毀滅戰士(VIZdoom)、俠盜獵車(GTA)、駕駛類的 CARLA,物理類的 Roboschool 等。之前提到的解迷宮、行走智能體就出自這些環境。有了這些成果,我們能不能將智能體應用於實際生活中,解決駕駛、機器人行走的問題呢?




事實告訴我們,部署到實際中的智能體往往會因為觀測到的像素不同而導致結果不理想,甚至失靈。例如在 GTA 中訓練的自動駕駛汽車到了真實世界中,看到從沒有見過的場景,會不幸成為馬路殺手。




可遷移已訓練智能體的學習環境需要具備三個主要特性:(1)來自真實世界並反映其語義複雜性;(2)具有確保在實際部署結果之前不需要進一步的域適應的機制;(3)智能體可在環境中具象化,並服從空間和物理定律的約束。




針對這個問題,我們設計了 Gibson Environment,以解決模擬平台的環境不夠真實 (photorealisitic) 的問題。目前大部分的模擬平台都是基於計算機圖形學的方法 (例如 THOR, House3D, Carla),而使用這種方法通常很難遷移到真實環境。在我們的工作中,我們使用基於圖片的渲染 (IBR) 方法,結合神經網路,達到了高效和真實的渲染。




Gibson Environment 的名字來源於美國認知心理學之父 James J. Gibson。他提出認知 (perception) 和 行動 (action) 具有非常緊密的聯繫,嬰兒需要通過主動玩耍才能學會識別各種物體。這對於人工智慧也是一樣的。Gibson Environment 的科研價值在於它正是這樣一個環境,讓智能體可以同時學習認知和行動。







方法




為了渲染出看起來更加真實的畫面,計算機圖形學領域主要有兩條主要的技術線路,一種是通過更仔細的建模和更好的光線追蹤演算法來實現渲染。這種方法在電影製作中十分常見,通常需要消耗大量的計算資源和資金,不適合用於實時渲染的模擬環境。




另一種方法是直接從真實環境中採集圖片,把渲染的問題定義為「視角合成」問題,即給定幾個從已有的視角採集的圖片,合成一個新的視角。我們採用了這種方法作為渲染方法,示意圖如下:







該方法的輸入是環境的 3D 模型(比較粗糙)和從一系列視角採集到的圖片。對於要渲染的任意一個視點,我們選取周圍的 k 個視點,將每個視點的每個像素投射到 3D 模型上,得到一個三維點雲。之後,我們對 3D 點雲進行簡單的雙線性插值,得到一個初步的渲染結果。




不同於常見 3D 模型材質渲染的方法,我們對於不同的視點選取材質的方法是自適應的(更近的視點採樣更多)。受掃描位置稀疏性、設備、重建演算法、偽像等因素的限制,植被和小物體等細節大多數時候都無法正確重建。反射表面,例如窗戶和檯面,將在重建的網格上留下孔。這些都導致了渲染輸出的不完整。




為此,我們使用一個卷積神經網路對渲染進行後處理。我們採用兩階段方法,第一階段是點雲的純幾何渲染。我們的 CUDA 點雲渲染器可以以 80fps 渲染 10M 個點的 1024x2048 視頻流。




我們項目的另一個創新是把像素級域適應 (pixel level domain adaptation) 的機制嵌入到渲染引擎當中。對於渲染圖像 I_s 和真實圖像 I_t,我們的後處理網路 f 可以讓渲染圖像看起來像真實世界中的照片,即 f(I_s)≈I_t。與此同時,我們還訓練了另外一個網路 u,讓真實世界中的照片看上去像我們的渲染圖像,即 u(I_t)≈f(I_s)(此處「≈」僅非嚴謹地代表「相似」)。


 





在深度估計任務上的 Gibson 到真實環境的遷移實驗結果表明,f(I_s) 域和 u(I_t) 域能很好地對齊。




這樣做簡化了機器人在真實世界的部署:只需要在機器人的感測器上接入我們的網路,就能給機器人戴上了一副虛擬的「眼鏡」(goggles),令其在真實環境中感知和 Gibson Environment 一樣的環境。




特性




物理具象化




下圖展示了火柴人從樓梯跌落時的場景,上行的火柴人動作軌跡看上去很符合物理定律,下行是對應的火柴人視角的觀察。


 





為了使智能體受到物理和空間的約束,我們將 Gibson 環境與物理引擎相結合。這使我們能夠將智能體暴露於物理現象,如碰撞、重力、摩擦等。我們的物理模擬器支持剛體和軟體模擬,具有離散和連續的碰撞檢測。使用 GPU 和 OpenGL 優化,我們的環境支持以 100 倍實時速度學習物理相互作用。由於掃描模型默認情況下不具備材料屬性,因此我們的空間不提供真實的物理屬性,例如材料摩擦。我們在物理引擎中默認使用庫侖摩擦模型來模擬它。為了降低計算複雜度,除非用戶激活,否則我們也不會在物理引擎中對氣流進行建模。相對地,我們為剛體運動提供線性阻尼函數。




優化速度




渲染幀數對於強化學習很關鍵,我們希望能實現更快於實時的模擬幀數。為此,我們實現了 CUDA-優化的渲染 pipeline。在最消耗計算資源的後處理網路執行中,我們在 RGBD 數據上取得了幾十到上百幀數的渲染性能。




強化學習任務







該視頻展示了在 Gibson Environment 中訓練的強化學習策略的一些結果。智能體執行的是視覺局部規劃和避障的任務。




數據集




近年來隨著實景掃描技術的進步,有大量的樓房、住宅、真實場所被掃描並保存成了虛擬檔案。最初,這樣的檔案主要被應用於房地產網路銷售。




斯坦福視覺實驗室(Stanford Vision Lab)是最早將這樣的數據應用於科研的實驗室。在 Stanford 2D3DS 項目中,研究院將斯坦福大學 6 棟主要建築進行了掃描,並取得了一系列突破。在此之後,被應用於科研的實景掃描數據量呈指數式增長。




Stanford 2D3DS:http://buildingparser.stanford.edu/dataset.html




Gibson Environment 可以模擬任何被掃描過的真實環境,這是它的一個巨大優點。你完全可以掃描自己的房子,然後用 Gibson Environment 為之生成一個虛擬的環境,訓練你的掃地機器人。




在我們這次的 release 中,我們收集並開源了 572 個建築物(1440 層)的掃描。作為現有最大的數據集,我們比同類數據集(例如 matterport3D)大一個數量級。


 





其中每個建築物的虛擬環境數據包含了完整的 3D 網格,如下圖所示:







當智能體在環境中探索時,可以隨自身的探索觀察到不同類型的動態視圖:


 





從左到右依次是 RGB 視圖、深度視圖和表面法線視圖。




下圖是該環境的全景展示:


 





目前我們已經在 GitHub 項目中發布了一小部分數據集作為環境 Beta 測試的一部分,主要的數據集將會在近期發布。




討論




在文中,我們對渲染方法做了各種測試,包括速度、和真實圖像的差距、以及域適應能否成功實現等,有興趣的讀者可以參考我們的文章。不過由於時間的限制,在 CVPR 的文章里我們並沒有在機器人上做實驗,近期我們正在進行這些實驗,包括語義導航、語義建圖、目標驅動的三維重建等任務。




ROS Demo




由於面向的是機器人的應用,我們集成了 Gibson 模擬環境和機器人操作系統,ROS 的用戶可以方便地使用 Gibson Env 作為模擬器,來模擬攝像頭或者 kinect 輸入。下圖是用 Gibson 模擬器模擬機器人建圖 (mapping) 的一個簡單 demo:


 







本文為機器之心轉載,二次

轉載請聯繫原公眾號獲得授權



?------------------------------------------------


加入機器之心(全職記者 / 實習生):hr@jiqizhixin.com


投稿或尋求報道:

content

@jiqizhixin.com


廣告 & 商務合作:bd@jiqizhixin.com

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

使用AMD CPU,3000美元打造自己的深度學習伺服器

TAG:機器之心 |