0
本文作者: 奕欣 | 2018-07-16 10:15 |
雷鋒網(wǎng) AI 科技評論按:本文作者為夏斐和何志揚,首發(fā)于公眾號“ 心有麟熙”,AI科技評論獲授權(quán)轉(zhuǎn)載,并做了不改動原意的修改。
很高興給大家介紹我們?nèi)脒x CVPR2018 年的項目 Gibson Environment。這是一個主要適用于機器人導(dǎo)航任務(wù)的模擬平臺。我們在傳統(tǒng)的圖形學(xué)渲染管線基礎(chǔ)上進(jìn)行了創(chuàng)新,使用神經(jīng)網(wǎng)絡(luò)作為渲染引擎 (neural network rendering engine),達(dá)到了近乎真實環(huán)境的渲染效果。通過和物理引擎的融合,我們可以做到在計算機里1:1地模擬真實環(huán)境:
效果圖:我們動態(tài)地模擬了斯坦福計算機系 (Gates Building) 一樓的真實場景,讓虛擬機器人可以在其中進(jìn)行探索,學(xué)習(xí)真實世界。我們在Gibson Environment里可以同時“激活”大量類似的機器人。喜歡電影黑客帝國的讀者可能對這個概念并不陌生。
通過Gibson Environment,我們可以把真實的場景 (例如家庭住宅,學(xué)校,辦公室) 虛擬化,以節(jié)約大量在真實環(huán)境訓(xùn)練機器人的資源。另一方面,我們可以把虛擬環(huán)境中訓(xùn)練出來的機器人部署到真實環(huán)境。這為實現(xiàn)真實的強化學(xué)習(xí)提供了有力的基礎(chǔ)。目前Gibson Environment已經(jīng)完全開源,正在Beta測試階段。有興趣的讀者可以在項目網(wǎng)站上使用我們的源代碼。
項目網(wǎng)址:http://gibson.vision
論文:http://gibson.vision/Gibson_CVPR2018.pdf
Github地址:https://github.com/StanfordVL/GibsonEnv
視頻介紹:https://www.youtube.com/watch?v=KdxuZjemyjc
2016年起,伴隨深度強化學(xué)習(xí)的興起,計算機視覺領(lǐng)域的研究重心從靜態(tài)圖片開始轉(zhuǎn)向動態(tài)的控制。大量的仿真模擬平臺涌現(xiàn)而出 (例如虛擬駕駛平臺Carla, 虛擬無人機平臺Airsim)。
傳統(tǒng)機器人領(lǐng)域傾向于將一個復(fù)雜的任務(wù)分成感知 (perception) 模塊和決策(planning) 模塊,而強化學(xué)習(xí)讓我們可以端到端地學(xué)習(xí)到更復(fù)雜的控制 (end to end control/sensorimotor control),即輸入為傳感器信息,直接輸出控制信號。
目前最前沿的強化學(xué)習(xí)算法已經(jīng)在很多端到端任務(wù)上獲得了的成功,例如在游戲中學(xué)會解迷宮,在不平的路面上學(xué)會行走。在自動駕駛中,從攝像頭拍到的畫面,我們可以直接預(yù)測方向盤的轉(zhuǎn)角和油門剎車。
這樣的任務(wù)無法在靜態(tài)的數(shù)據(jù)集(例如 ImageNet)中學(xué)習(xí)。我們需要在一個可交互式的動態(tài)環(huán)境種訓(xùn)練智能體。
這張圖涵蓋了目前主流的模擬環(huán)境,包括游戲類的毀滅戰(zhàn)士(VIZdoom),俠盜獵車(GTA),駕駛類的CARLA,物理類的Roboschool。之前提到的解迷宮、行走智能體就出自這些環(huán)境。有了這些成果,我們能不能將智能體運用于實際生活中,解決駕駛、機器人行走的問題呢?
事實告訴我們,部署到實際中的智能體往往會因為觀測到的像素不同而導(dǎo)致結(jié)果不理想,甚至失靈。例如在俠盜獵車手中訓(xùn)練的自動駕駛汽車到了真實世界中,看到從沒有見過的場景,會不幸成為馬路殺手。
針對這個問題,我們設(shè)計了Gibson Environment,以解決模擬平臺不夠真實(photorealisitic) 的問題。目前大部分的模擬平臺都是基于計算機圖形學(xué)的方法(例如 THOR, House3D, Carla),而使用這種方法通常很難遷移到真實環(huán)境。在我們的工作中,我們使用基于圖片的渲染 (IBR) 方法,接合神經(jīng)網(wǎng)絡(luò),達(dá)到了高效和真實的渲染。
Gibson Environment的名字來源于美國認(rèn)知心理學(xué)之父James J. Gibson。他提出認(rèn)知 (perception) 和 行動 (action) 具有非常緊密的聯(lián)系,嬰兒需要通過主動玩耍才能學(xué)會識別各種物品。對于人工智能也是一樣。Gibson Environment的科研價值在于它正是這樣一個環(huán)境,讓智能體可以同時學(xué)習(xí)認(rèn)知和行動。
為了能渲染出看起來更加真實的畫面,計算機圖形學(xué)領(lǐng)域主要有兩條主要的技術(shù)線路,一種是通過更仔細(xì)的建模和更好的光線追蹤算法來實現(xiàn)渲染。這種方法在電影制作中十分常見,通常需要消耗大量的計算資源和資金,不適合用于實時 (real time) 的模擬環(huán)境。
另一種方法是直接從真實環(huán)境中采集圖片,把渲染的問題定義為“視角合成”問題,即給定幾個從已有的視角采集的圖片,合成一個新的視角。我們采用了這種方法作為我們的渲染方法,這個方法的示意圖如下:
方法的輸入是環(huán)境的3D模型(比較粗糙)和一系列視角采集到的圖片。對于要渲染的任意一個視點,我們選取周圍的k個視點,將每個視點的每個像素投射到3D模型上,得到一個三維點云。之后,我們對3D點云進(jìn)行簡單的雙線性插值,得到一個初步的渲染結(jié)果。
不同于常見3D模型材質(zhì)渲染的方法,我們對于不同的視點選取材質(zhì)的方法是自適應(yīng)的(更近的視點采樣更多)。在此之上為了還原更多微細(xì)節(jié)(例如植物,無法被實景掃描捕捉),我們使用一個卷積神經(jīng)網(wǎng)絡(luò)對渲染進(jìn)行后處理。具體技術(shù)細(xì)節(jié)可以參考原論文。
我們項目的另一個創(chuàng)新是把像素級別域遷移 (pixel level domain adaptation) 的機制嵌入到渲染引擎當(dāng)中。我們的后處理網(wǎng)絡(luò) f 可以讓渲染看起來像真實世界中的照片,與此同時我們還訓(xùn)練了另外一個網(wǎng)絡(luò) u,讓真實世界中的圖片看上去像我們的渲染。
這樣做簡化了機器人在真實世界的部署:只需要在機器人的傳感器上接入我們的網(wǎng)絡(luò),就像給機器人戴上了一副虛擬的“眼鏡” (goggles) 。
近年來隨著實景掃描技術(shù)的進(jìn)步,有大量的樓房,住宅,真實場所被掃描并保存成了虛擬檔案。最初,這樣的檔案主要被應(yīng)用于房地產(chǎn)網(wǎng)絡(luò)銷售。
斯坦福視覺實驗室(Stanford Vision Lab)是最早將這樣的數(shù)據(jù)應(yīng)用于科研的實驗室。在 Stanford 2D3DS (鏈接:http://buildingparser.stanford.edu/dataset.html) 項目中,研究院將斯坦福大學(xué)6棟主要建筑進(jìn)行了掃描,并取得了一系列突破。在此之后,被應(yīng)用于科研的實景掃描數(shù)據(jù)量呈指數(shù)式增長。
Gibson Environment可以模擬任何被掃描過的真實環(huán)境,這是它的一個巨大優(yōu)點。你完全可以掃描自己的房子,然后用Gibson Environment為之生成一個虛擬的環(huán)境,訓(xùn)練你的掃地機器人。
在我們CVPR18的論文中,我們收集并開源了572個建筑物(1440層)的掃描。作為現(xiàn)有最大的數(shù)據(jù)集,我們比同類數(shù)據(jù)集(例如matterport3D)大一個數(shù)量級。
目前我們已經(jīng)在https://github.com/StanfordVL/GibsonEnv 發(fā)布了一小部分?jǐn)?shù)據(jù)集作為環(huán)境Beta測試的一部分,主要的數(shù)據(jù)集將會在近期發(fā)布。
在文中,我們對我們的渲染做了各種測試,包括速度,和真實圖像的差距,以及域遷移能否成功實現(xiàn)等,有興趣的讀者可以參考我們的文章。不過由于時間的限制,在CVPR的文章里我們并沒有在機器人上做實驗,近期我們正在進(jìn)行這些實驗,包括語義導(dǎo)航、語義建圖、目標(biāo)驅(qū)動的三維重建等任務(wù)。
由于面向的是機器人的應(yīng)用,我們集成了Gibson模擬環(huán)境和機器人操作系統(tǒng),ROS的用戶可以方便地使用Gibson Env作為模擬器,來模擬攝像頭或者kinect輸入。下圖是用Gibson模擬器模擬機器人建圖 (mapping) 的一個簡單的demo。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。