11月22日,由騰訊游戲?qū)W堂舉辦的第五屆騰訊游戲開發(fā)者大會(Tencent Game Developers Conference,以下簡稱TGDC)正式開播,本屆大會以“Five by five”為主題,匯聚40多位海內(nèi)外行業(yè)嘉賓與專家學(xué)者,圍繞產(chǎn)品、技術(shù)、藝術(shù)、市場、獨立游戲及社會價值等議題,與從業(yè)者一起共同探討行業(yè)未來趨勢,分享具備實戰(zhàn)與前瞻性的從業(yè)經(jīng)驗與研究成果。
在第三天(11月24日)的活動中,騰訊自動駕駛仿真技術(shù)總監(jiān)孫馳天發(fā)表了“游戲技術(shù)助力自動駕駛仿真”主題演講。在演講中,孫馳天就騰訊自動駕駛部門的定位、騰訊自行研發(fā)的自動駕駛“綠洲”系統(tǒng)、以及游戲技術(shù)如何助力自動駕駛仿真發(fā)展等內(nèi)容進(jìn)行了詳細(xì)分享。
在他看來,首先騰訊自動駕駛部門的定位是要做汽車行業(yè)的工具箱和加速器,而并非自己造車。目前自動駕駛行業(yè)面臨的感知算法訓(xùn)練和測試驗證兩大挑戰(zhàn),都是需要虛擬仿真技術(shù)來幫助解決的。騰訊為此正在構(gòu)建自動駕駛用的“綠洲”系統(tǒng),并強調(diào)其對真實世界的幾何還原、邏輯還原、物理還原、高并發(fā)這四大核心能力。
隨后,他舉例展示了游戲技術(shù)例如云渲染技術(shù),MMO同步技術(shù)是如何運用于仿真系統(tǒng)的研發(fā)當(dāng)中的。在演講最后,孫馳天強調(diào):運用游戲技術(shù)幫助汽車自動駕駛系統(tǒng)的開發(fā)是十分高效且嚴(yán)肅的事情,并希望通過大家的這些努力,可以在未來3-5年內(nèi),讓大家敢于將汽車的駕駛權(quán)交給汽車商的自動駕駛算法,真正地實現(xiàn)汽車自動駕駛。
以下是為演講實錄,略有刪減!
大家好,我是來自騰訊自動駕駛業(yè)務(wù)中心的孫馳天,今天我想跟大家分享一下我們用游戲技術(shù),來助力自動駕駛仿真所做的一些工作。
首先介紹一下我們整個騰訊自動駕駛部門。很多朋友、很多同學(xué)都會疑惑:騰訊還有自動駕駛部門,你們是不是要造車呀?因為確實目前整個行業(yè)內(nèi)部做自動駕駛以及造車的公司越來越多。但其實我們還是很明確的,騰訊是不會自己去造車的,那我們做什么呢?
做汽車行業(yè)的工具箱和加速器
我們的定位是做汽車行業(yè)的工具箱和加速器,去做幫助自動駕駛落地的工具、軟件以及服務(wù)。其中會涉及到包括面向自動駕駛的模擬仿真體系TAD SIM,包括自動駕駛車端的全套軟件TAD Pilot,也包括面向自動駕駛用的一套云工具鏈和云服務(wù)TAD Cloud,最后一個是面向自動駕駛專用的,一種地圖格式叫高精度地圖TAD HD MAP。
騰訊自動駕駛是2016年正式成立的。在這五年來我們打造了一個三位一體的面向自動駕駛的研發(fā)體系,包括剛剛提及的一個自動駕駛的云開發(fā)平臺、自動駕駛的高精度地圖的平臺,也包括一個專門為自動駕駛或者我們稱之為智能網(wǎng)聯(lián)汽車服務(wù)的仿真平臺。
在這幾年的研發(fā)、探索和實踐中也碰到了一些問題。其實能很深切的感受到,在整個自動駕駛行業(yè)、或者說智聯(lián)網(wǎng)聯(lián)汽車這個行業(yè),有一些難題是困擾著整個行業(yè)的前進(jìn)和落地,所以我們將這里面的最重要兩點總結(jié)了出來。
第一是在感知算法訓(xùn)練上所面臨到的挑戰(zhàn)。
有一個比較有意思的段子是說:人工智能、人工智能,你有多少人工才能有多少智能。這個點其實在自動駕駛行業(yè)里也是非常現(xiàn)實的,每年全球這些做自動駕駛的公司,需要投入非常多的人力物力還有財力,來進(jìn)行自動駕駛專用的人工智能算法的標(biāo)注還有訓(xùn)練。這里面需要標(biāo)注的這些樣本,包括一般的汽車在路上經(jīng)常碰到的交通場景,也會包括一些可能平時不經(jīng)常碰到,但一旦碰到會發(fā)生比較危險的交通事件的一些場景,我們都是需要去進(jìn)行數(shù)據(jù)的采集和標(biāo)注的。
據(jù)第三方的統(tǒng)計,每年全球的自動駕駛公司,僅在這樣的數(shù)據(jù)集的采集和標(biāo)注上,就有超過10億美元的投入,所以這個投入還是非常非常巨大的,而且這個數(shù)據(jù)集也是很難進(jìn)行非常普適性的共享。原因是,行業(yè)內(nèi)有些公司會將自己采集和標(biāo)注的數(shù)據(jù)集拿出來給大家去共用,但是在不同的國家、不同的城市內(nèi),有不同的情況。
舉個例子,我國有些特色的場景,比如外賣小哥、老頭樂這種電動車。這種場景、要素,在別的國家是很少見到的,那這種要素的采集、標(biāo)注,都是需要我們國家內(nèi)部的這些科技公司來自己進(jìn)行數(shù)據(jù)的搜集和標(biāo)注、制作。所以這就會導(dǎo)致我們的數(shù)據(jù)集,基本上是每家都要自己去制作很多很多的標(biāo)注和采集的投入,這樣的量級對于自動駕駛行業(yè)來說,還是比較沉重的負(fù)擔(dān)。
第二個比較重要的問題是測試驗證問題。
在2016年的時候,蘭德智庫就提出來:一輛自動駕駛汽車需要經(jīng)過110億英里的距離,才能證明它達(dá)到一個合格的人類駕駛員水平,它才可以進(jìn)入一個量產(chǎn)的階段。那110億英里是什么概念?這里我們舉了一個比較直觀的數(shù)字,地球到太陽距離大概是0.932億英里,這樣相當(dāng)于是不到1億英里的樣子,110億英里就相當(dāng)于100多倍的地日距離,這個距離行業(yè)里的公司們做到什么程度呢?
拿行業(yè)里可能路測數(shù)據(jù)最多的谷歌無人車的子公司叫Waymo,以他的數(shù)據(jù)來舉例:Waymo到目前為止,已經(jīng)完成了超過2千萬英里的路測,即折合成0.2億英里的數(shù)字,大家可以看到0.2億英里,和我們想達(dá)到的目標(biāo)數(shù)字——110億英里還是有一個非常大的距離,而且這也是花費了Waymo很多年的時間才能達(dá)到。所以這個數(shù)字將是自動駕駛落地的一個非常大的阻礙。
那行業(yè)里會去怎么解決它呢?目前大家看到比較通用的辦法,是利用虛擬仿真的引擎、虛擬仿真系統(tǒng),來生成各種各樣的場景解決剛剛所說的兩個問題。
舉個例子,第一個感知算法訓(xùn)練的問題,那我們可能不需要通過這么多的真實采集車去進(jìn)行數(shù)據(jù)的采集和標(biāo)注,而是借由仿真系統(tǒng)自己內(nèi)部構(gòu)建千變?nèi)f化,多種多樣的場景。比如說城市的、高速的、城區(qū)的、晴天的、雨天的、霧天的等等。這些場景會生成各種各樣的圖像、點云,和不同的數(shù)據(jù)集用來給做感知系統(tǒng)做訓(xùn)練。這樣做不僅可以很方便地生成各種天氣、極端的交通場景,另外一個重要原因,是因為由仿真系統(tǒng)生出來的場景是自帶真值的。
“真值”是指什么呢?這可能是在人工智能里,用得比較多的一個詞: ground truth。它是指一個物體或者一個元素的客觀屬性,在觀察和了解這個世界的時候,我們看到的東西、認(rèn)知到的東西、或者摸到的東西,它都不是真值,它不是客觀值,是觀測值。而真值是指這個物體本身就具備的客觀屬性,所以由觀測值去推導(dǎo)它物體本身具有的客觀真值,中間就會存在誤差,這里面就會引入錯誤,但由仿真系統(tǒng)這種自帶真值的系統(tǒng),它生成出來的,預(yù)帶標(biāo)注結(jié)果的數(shù)據(jù),它的結(jié)果是100%準(zhǔn)確的。所以通過這種方式可以100%準(zhǔn)確地生成帶有標(biāo)注結(jié)果的訓(xùn)練數(shù)據(jù)。
第二個問題測試驗證。雖然行業(yè)內(nèi)公認(rèn)的谷歌無人車的子公司WayMo,它目前只進(jìn)行了0.2億英里的路測,但是他已經(jīng)進(jìn)行了150億英里的仿真測試。當(dāng)然不僅僅是WayMo,在整個行業(yè)內(nèi)部,使用虛擬仿真技術(shù)來進(jìn)行大范圍、大規(guī)模的里程測試,是一個共識。大家也將虛擬仿真技術(shù)稱作為整個自動駕駛技術(shù)奠基技術(shù)。為什么要用虛擬仿真技術(shù),來盡可能的代替道路測試呢?當(dāng)然不是要完全代替,只是說使用虛擬仿真技術(shù)來極大的代替,比如95%、99%的路測里程。
有三個非常重要的原因:首先是安全性問題。在2018年的3月18號,自動駕駛行業(yè)內(nèi)發(fā)生了一件非常有沖擊性的事情。在美國的亞利桑那州,Uber的無人測試車發(fā)生了整個行業(yè)內(nèi)、全球的第一起自動駕駛測試致死事故,這個事故當(dāng)時對于整個行業(yè)來說,是非常大的一個負(fù)面沖擊。
因為自動駕駛目前面臨的挑戰(zhàn),大家關(guān)心的最核心的就是安全性這個點。在測試過程中就已經(jīng)發(fā)生了致死事故,又如何能夠保證你的產(chǎn)品在以后大規(guī)模應(yīng)用的時候,可以解決這些你本應(yīng)該解決的安全問題呢?所以使用虛擬仿真測試來代替真實的道路測試,就可以完全避免安全性的問題。
在虛擬世界內(nèi)部是不會有任何真實的傷亡,畢竟在虛擬世界內(nèi)部把樓、把車、把道路都撞毀了也是不會有任何損失的,所以安全性是用虛擬仿真測試來代替真實路測的一個很重要的原因,也是我們放在第一個的原因。
第二個原因就是時間和金錢。舉一個我們?nèi)ミM(jìn)行一次自動駕駛路測例子:早上準(zhǔn)備代碼的發(fā)布、發(fā)包、車端部署。中午上車,把車開到指定的測試區(qū)域——因為不是所有區(qū)域都可以測試的,必須要去政府指定的自動駕駛的測試區(qū)域開展路測。測完之后下午再把數(shù)據(jù)拿回來,拿到本地進(jìn)行數(shù)據(jù)的分析和處理。這樣一來一回,那怕你只是調(diào)了算法里非常小的一個參數(shù)、一個變量,那也至少需要消耗一整天的時間來進(jìn)行驗證。
我們可以想象,如果進(jìn)行更多的、更豐富的場景測試,有幾千個、幾萬個、幾十萬個場景需要測試和覆蓋的時候,所消耗的時間和金錢是非常海量的數(shù)字。而使用虛擬仿真測試來進(jìn)行這樣的測試,唯一需要承擔(dān)就是電費成本。
第三個我們會重點提到軟件OTA的回歸測試。在這里簡單解釋一下,軟件的OTA是指這個軟件可能一開始發(fā)布到自動駕駛渠道上是版本一,后面通過不停的云端推送來進(jìn)行長期的升級和迭代。比如特斯拉,它是最典型的自動駕駛行業(yè)內(nèi)部,或者汽車行業(yè)內(nèi)部,會使用OTA不停地進(jìn)行智能駕駛或者說輔助駕駛軟件升級的一家公司。
回歸測試,是指我們每次升級之后,我們要進(jìn)行一個非常全面的檢查和測試,來保證最新的自動駕駛算法,是可以解決之前所有已經(jīng)解決的問題,而不是撿了芝麻丟了西瓜,或者拆東墻補西墻。如果一個軟件版本就需要進(jìn)行110億英里的里程測試,那當(dāng)每次軟件通過OTA進(jìn)行更新之后,需要進(jìn)行回歸測試的時候,這個總的里程就是一個天量、天文數(shù)字,沒有一家公司是可以承受得起的。所以,使用虛擬仿真測試來進(jìn)行軟件OTA之后的回歸測試是一個必然的趨勢。
自動仿真駕駛的“四大核心能力”(構(gòu)建自動駕駛用的“綠洲”系統(tǒng))
基于上面兩個解決方案,我們做了一件事情——我們的目標(biāo)是要打造一個類似于電影《頭號玩家》中的“綠洲”系統(tǒng)。 本質(zhì)上我們的目的是要構(gòu)建這樣的虛擬世界,只不過接入到這個虛擬世界內(nèi)部的,不再是人類的玩家用戶,而是被測試的自動駕駛算法。我們的目的是要生成不同的關(guān)卡、不同的副本,讓自動駕駛算法來體驗不同的場景,面對不同的困難和挑戰(zhàn),來觀察它們是不是可以很好地去解決這些路上常見、或是不常見的交通場景和問題,從而來決定這個算法是不是已經(jīng)成熟到可以部署到自動駕駛車輛上,進(jìn)行真實的道路測試或者規(guī)模的商用。基于這個目的,就需要打造我們的核心仿真系統(tǒng),我們也總結(jié)了四個仿真系統(tǒng)最核心的能力。
第一個是對于一個真實世界的幾何還原能力。大家可以理解為去構(gòu)建了一個游戲場景,這里面可能更需要在三維的靜態(tài)場景之上。不管是游戲里的場景構(gòu)建、還是地編,都是類似一個概念。只有很準(zhǔn)確的將一個世界真實地還原出來,才有可能比較準(zhǔn)確地去觀測它。
尤其是在做自動駕駛測試的時候,我們不僅要將世界非常真實的還原出來,還需要將觀測這個世界的算法或者是傳感器比較精確地還原出來。大家熟知的傳感器可能會包括攝像頭,其實在自動駕駛或者智能網(wǎng)聯(lián)汽車領(lǐng)域,也會用激光雷達(dá),毫米波雷達(dá)這樣的傳感器。我們的目標(biāo)是通過對世界進(jìn)行完整地、精確地幾何還原,來幫助進(jìn)行世界的真實重建,以及基于真實重建的世界的傳感器仿真。
第二步是要對世界一個非常精確的邏輯還原。幾何還原解決了,那邏輯還原需要解決的是,我們?nèi)绾稳ド墒澜鐑?nèi)部的動態(tài)的元素,動態(tài)場景問題。動態(tài)元素就會包括車、行人、外賣小哥、老頭樂電動車。
要還原這些動態(tài)要素,首先就要對這些動態(tài)元素有一個比較形象、準(zhǔn)確的建模——車的運動軌跡是什么樣子?人的運動軌跡是什么樣子?當(dāng)行人碰到別的障礙物車的時候,它會有什么樣的反應(yīng)?當(dāng)行人碰到別的車、碰到別的行人的時候是什么樣的反應(yīng)?這都需要進(jìn)行非常精確的邏輯還原,從而讓這個世界內(nèi)部的所有元素都更精確地貼近真實世界的元素反饋。
第三是對于真實世界的物理還原。做物理還原的原因是因為在做整個自動駕駛仿真的時候,我們很關(guān)心這些汽車運動模型,這輛車的動力學(xué)模型、它的電機、發(fā)動機、變速器、動力傳動系統(tǒng),當(dāng)然我們也會關(guān)心汽車的輪胎和地面的摩擦等這些物理效應(yīng),所以只有當(dāng)比較準(zhǔn)確、精確、真實還原出這些物理效果,才能得到一個比較精確的車輛仿真結(jié)果。
第四步需要做的是高并發(fā)。這個在上一部分我也提到了,我們做仿真系統(tǒng)的目的,就是給這些自動駕駛算法建立非常多的副本,讓他們?nèi)ミM(jìn)行挨個的挑戰(zhàn)。所以想建立成千上萬、幾百萬個副本,就需要具備高并發(fā)能力。從而讓這些自動駕駛算法,可以并行的進(jìn)入到這幾千、幾萬、幾十萬的場景或者副本當(dāng)中去進(jìn)行測試,而不是一個副本一個副本進(jìn)行測試,那這樣十萬個場景量級的場景庫可能需要等待數(shù)個月的時間才能得到一個結(jié)果。這四個點是我們目前總結(jié)的,對于自動駕駛仿真來說最核心的四個能力。
從無到有 構(gòu)建數(shù)字孿生世界
基于要構(gòu)建的這四個能力,我們在過去的這五年時間里做了什么呢?
首先我們的TAD SIM1.0從無到有地構(gòu)建了數(shù)字孿生世界,來將自動駕駛算法放在里面進(jìn)行世界的測試。
第一步,我們基于自動駕駛專用的高精度地圖,來完整1:1還原了整個現(xiàn)實世界,然后將現(xiàn)實世界轉(zhuǎn)換成一些真值,輸出給自動駕駛的算法,訓(xùn)練集。下一步在虛擬世界內(nèi)部生成,千變?nèi)f化的測試場景,供我們的自動駕駛算法進(jìn)行測試。后來我們發(fā)現(xiàn)只有這些可能是不夠的,尤其是自動駕駛方面。在仿真的真實性上是需要做提升的,所以我們又花費了比較多的時間,來利用游戲技術(shù)以及真實數(shù)據(jù)這兩條腿、雙擎驅(qū)動的方式,來極大地提升仿真系統(tǒng)的真實性。當(dāng)然我們用了一些比較不同的技術(shù)路線和方式來提升,包括在傳感器仿真上去運用游戲引擎的能力,包括在做交通流的仿真時,會使用AI、Agent AI的能力。
談到用游戲技術(shù)來提升自動駕駛仿真系統(tǒng)的真實性,它指的不是我們小時候,帶給我們無限歡樂的這些游戲,而是那些更新地使用最新的游戲引擎、渲染引擎或者游戲AI技術(shù)等等來構(gòu)建的次時代游戲。這里面有很多東西是值得借鑒,可以用于構(gòu)建自動駕駛仿真測試用的系統(tǒng)。舉例來說,第一點是如何用這些游戲技術(shù)來進(jìn)行看似很真實,但實際上是虛擬場景的還原。這里面舉了四個例子,大家可以看一看這四個場景的構(gòu)建,哪一個是真實、哪一個是虛擬的。
這四個場景其實都是虛擬的,都是利用游戲引擎以及一些場景構(gòu)建技術(shù)還原出來的一個真實世界供自動駕駛汽車來進(jìn)行測試。
在這種場景還原的技術(shù)點上,有幾點是我們特別關(guān)心的:首先是模型的面數(shù),包括所有模型使用的材質(zhì),對應(yīng)的光照變化和應(yīng)用的優(yōu)化,這些結(jié)合起來會極大地影響整個虛擬測試場景的還原真實度。場景還原真實度也會極大地影響整個仿真測試的結(jié)果。所以使用游戲技術(shù)里面的場景還原技術(shù)和一些別的技術(shù)來幫助我們極大提升場景的真實性是非常有幫助的。
同時我們也用了一些騰訊地圖的數(shù)據(jù)和衛(wèi)星圖的數(shù)據(jù),人工智能算法來幫助我們大規(guī)模地生成城市級別區(qū)域。
我們用騰訊地圖+衛(wèi)星圖數(shù)據(jù)+,自己的數(shù)據(jù)孿生的人工智能算法的工具鏈,可以直接純自動的生成。包括北京市五環(huán)以內(nèi)576平方公里的完全的城市重建,這里面沒有任何人工干預(yù),不管是建筑物還是道路還是水系還是植被,完全都是純自動生成、一鍵生成的,所花的所有成本也就是在本地,運行了一個22小時的電腦和電費,僅此而已。
如果這個工作放在云上的話,可以在一小時內(nèi)快速完成576平方公里的重建,所以使用這種技術(shù)來幫助我們重建,并在游戲引擎內(nèi)去渲染一個非常廣域和真實世界能夠?qū)?yīng)上的場景,可以幫助我們?nèi)ミM(jìn)行真實世界所對應(yīng)的虛擬場景搭建,從而進(jìn)行對應(yīng)的虛擬世界的自動駕駛的測試。
剛剛介紹的是利用騰訊地圖、衛(wèi)星圖還有一些POI數(shù)據(jù),來幫助我們構(gòu)建城市級別的場景。當(dāng)我們做自動駕駛仿真測試的時候,在一些局部的道路對精度有著非常高的要求。我們希望精度可以達(dá)到厘米級,比如3厘米、5厘米,這種情況下就會采用第二種技術(shù)手段,也就是一套依賴數(shù)據(jù)采集車的數(shù)據(jù)采集和重建技術(shù),來非常高精度以3厘米的精度來還原整個真實世界。
這里介紹了整個還原真實世界的步驟,首先會進(jìn)行一定的數(shù)據(jù)采集生成一定的虛擬世界,然后轉(zhuǎn)化成剛剛提到過通過真值系統(tǒng)轉(zhuǎn)換成深度值、語義信息。通過這些數(shù)據(jù),生成式對抗網(wǎng)絡(luò),將它們轉(zhuǎn)換成了真實圖片風(fēng)格的圖像,以及標(biāo)注的結(jié)果,而且這個標(biāo)注結(jié)果因為是進(jìn)行了真值標(biāo)注,所以是100%準(zhǔn)確。
通過這些真值的結(jié)果,又反過來訓(xùn)練場景生成和感知的算法,又反過來提升場景生成的自動化率,以及降低人工參與的比例,所以這樣閉環(huán)的工具鏈經(jīng)過三年時間可以非常高自動化率、低成本地不間斷的運行,幫助我們自動生成世界上各種各樣的場景。當(dāng)然還是需要采集一定的真實數(shù)據(jù),來作為這個數(shù)據(jù)集的輸入來補齊的,但是這樣一個自閉環(huán)場景生成的工具鏈,幫助我們極大地解決了采集數(shù)據(jù)會花費一定的時間和成本,但要又要生成無限多種虛擬場景的問題。
這個可以看到是通過剛剛介紹的依賴采集車的數(shù)據(jù)孿生的工具鏈,幫助還原了一個仿真測試場景,右邊是真實的采集回來的路測數(shù)據(jù),左邊是我們用采集回來的數(shù)據(jù),可以完全還原的虛擬仿真的測試場景,這里面包括我們對于靜態(tài)世界的還原,建筑、道路、路牌、標(biāo)識牌、道路、路面上的一些地面標(biāo)識,當(dāng)然也包括動態(tài)元素,這些行人這些車流,包括也可以看到,我們也生成了外賣小哥的小車。
將動態(tài)元素和靜態(tài)元素合在一起就可以生成一個比較真實,可以進(jìn)行虛擬仿真測試的一個虛擬環(huán)境。這樣做的好處是,可以通過有限的數(shù)據(jù)去生成無限多種的測試場景,這里我們是生成了一個和真實世界非常一致的,完全復(fù)現(xiàn)真實路采數(shù)據(jù)的虛擬場景,但我們可以用這個數(shù)據(jù)來生成無限多種千變?nèi)f化跟真實世界,完全不一樣的場景,來進(jìn)行進(jìn)一步的自動駕駛的仿真測試。
基于剛剛這些工作生成出來這些場景之后,還可以做進(jìn)一步更真實的仿真測試,在行業(yè)內(nèi)部我們管這個叫“車輛在環(huán)測試”。舉一個直觀例子,我們給自動駕駛汽車套上了一個AR眼鏡,大家可以看到在右側(cè)四幅畫面里面,最右邊的兩側(cè)是由虛擬仿真系統(tǒng)直接生成的虛擬畫面,而靠左邊這兩側(cè)圖片是我們將虛擬仿真系統(tǒng)生成的這些動態(tài)元素,這個圖層可以提取出來,以AR的方式疊加到自動駕駛汽車真實看到的真實世界的攝像頭的結(jié)果上面去,從而可以在完全空曠的測試場內(nèi)部,去生成無數(shù)多種、千變?nèi)f化、各種各樣的交通參與者的測試,包括這里面出現(xiàn)有老奶奶過馬路、有小貓小狗直接橫穿馬路的。
首先可以在虛擬場景內(nèi)去生成,然后將它這個圖層給提取出來,以AR的方式疊加到真實的攝像頭之上,進(jìn)行一個車輛在環(huán)測試,這個也是我們借助游戲引擎的一些能力,包括我們做的一些AR的工作可以幫助我們進(jìn)行一個非常真實的車輛在環(huán)的仿真測試。
下面我想介紹一下,我們使用Agent AI來提升我們在自動駕駛仿真里所使用的這些交通流的智能,交通流一般包括車流和人流,主要是行人和其他障礙物車等等這些動態(tài)元素。
這里面其實大家可能會很直觀的想到,我們需要面對的場景的內(nèi)部所需要的這些元素,可能跟游戲內(nèi)部的NPC是非常像的,只不過我們提的要求可能會和游戲內(nèi)部有些不一樣,游戲內(nèi)部的NPC一般是服務(wù)于一些特定的行為或者特定的運行規(guī)則。對于我們來說,我們的目的是需要這些Agent AI、這些NPC的AI要極大的還原真實世界里行人、車流、自行車、電動車,他們的真實運動行為。所以對于我們來說,光使用游戲里常用的behavior tree或者是一些別的狀態(tài)機,可能都是不足夠的。
基于這些游戲里我們常用的功能之外,我們還要使用我們采集回來的大量的真實數(shù)據(jù),包括大量的車流數(shù)據(jù)、大量的人流數(shù)據(jù),用這些真實數(shù)據(jù)來訓(xùn)練我們整個Agent AI的參數(shù),比如接近程度。比如他開車的時候有多么想去并道、有多么想去加塞,或者它跟前車的距離,會保持在一個很安全的跟車距離,還是很危險很接近的跟車距離。這些參數(shù)都要通過真實采集回來的數(shù)據(jù)進(jìn)行訓(xùn)練和標(biāo)定,從而得到一個非常貼近真實的交通場景的Agent AI的系統(tǒng),這是我們使用Agent AI來幫助我們生成場景內(nèi)部這些交通流的元素。
下一個我想講的點是我們?nèi)绾问褂迷朴螒蚣夹g(shù),其實主要是云渲染的技術(shù),來幫助我們進(jìn)行自動駕駛仿真的運行結(jié)果的一個觸達(dá)。其實在自動駕駛仿真里,我們的計算完全都是在云端的后臺,不管是整個場景的運算,還是對算法的運算,都是一個純后臺的計算。如何將場景內(nèi)部的目前運行的狀態(tài),這個車碰到了什么樣的場景,它現(xiàn)在處于什么樣的元素內(nèi)部,把這個結(jié)果呈現(xiàn)給終端用戶。這就需要使用云游戲或者準(zhǔn)確來說是云渲染的技術(shù),將后臺渲染出來的圖像,不管傳感器還是場景本身渲染出來的圖像通過推流的方式推送到前端、用戶端,可以讓用戶隨時隨地,基本上以用網(wǎng)頁瀏覽器的方式來進(jìn)行訪問。這樣用戶就可以非常輕松的訪問到在后臺高并發(fā)運行的,幾千上萬甚至幾十萬個自動駕駛仿真測試場景內(nèi)部。他關(guān)心的那一個場景內(nèi)部,這個主車到底碰到了什么樣的場景,它在嘗試解決一個什么樣的問題,它現(xiàn)在運行的狀態(tài)是什么樣,這些都是非常高逼真的可視化結(jié)果,就可以通過這個通路觸達(dá)到用戶的網(wǎng)頁端,讓用戶看到我們的結(jié)果。
第三個,我想跟大家介紹的是我們?nèi)绾问褂?/span>MMO同步技術(shù),來幫助我們提升仿真系統(tǒng)在運算時的一致性。其實MMO大家都比較熟悉了,不管是以前經(jīng)常玩的《魔獸世界》、還是我們騰訊自研的國風(fēng)大世界游戲《天涯明月刀》,它的后臺都是用了很多MMO技術(shù),來進(jìn)行玩家間的信息同步。
舉例來說,當(dāng)玩家A攻擊玩家B的時候,我一拳揮出去的時候,在玩家B的視角內(nèi)部,他也要看到是一個完全一樣的場景,而不能說玩家A看到我這個拳已經(jīng)擊打到玩家B的身上了,而對于玩家B來說這一拳還隔著十萬八千里,所以仿真測試不僅是要能夠?qū)崿F(xiàn)同步的結(jié)果,而且會比游戲的要求會再更高一層、再更上一層,我們會要求在整個仿真的內(nèi)部所有元素的信息同步需要做到強一致性。
什么叫強一致性?在做游戲的時候,在后臺內(nèi)部如果出現(xiàn)了丟幀、丟包、網(wǎng)絡(luò)抖動情況,我們在客戶端會是做一些補償,通過一些預(yù)測或者一些差值的算法,來將丟掉的數(shù)據(jù)包、丟掉這一幀給補上來,但在做自動駕駛仿真的時候,是不允許進(jìn)行這樣的操作。為了保證我們整個自動駕駛仿真世界內(nèi)所有要素,不管是場景內(nèi)部的車流、人流 這些要素,還是我們被測的自動駕駛車輛,它們所有要素看到場景必須在每一幀是完全一樣。我們就不能允許去做任何差值和預(yù)測,而要保證在每一幀所有要素的運算結(jié)果一定要完成,而且要同步到所有其他的要素結(jié)果上面來。
所以,我們就要進(jìn)行基于MMO同步技術(shù)的二次開發(fā),來進(jìn)行強一致性的實現(xiàn),保證場景內(nèi)部,即使是個非常大的地圖,可能幾百平方公里、幾千平方公里的地圖,在左上角一輛車動態(tài)它這個數(shù)據(jù),也可以通過真值系統(tǒng)瞬間、完整、完全準(zhǔn)確地傳達(dá)給整個地圖的最右下角的車輛的收到的信息,這是我們使用基于MMO技術(shù)、同步技術(shù),來進(jìn)行更進(jìn)一步的仿真強一致性的后臺技術(shù),同步我們開發(fā)所做的一些工作。
以上就是我給大家分享,我們?nèi)绾问褂糜螒蚣夹g(shù),來幫助我們打造自動駕駛仿真系統(tǒng),來幫助我們提升自動駕駛仿真系統(tǒng)的真實性,從而使用自動駕駛的仿真系統(tǒng)來進(jìn)一步提升自動駕駛汽車、智能網(wǎng)聯(lián)汽車的安全性的一個工作。
不管是我們用到游戲技術(shù),或者是整個行業(yè)內(nèi)一些別的同行會用,更廣闊的上下游有不同領(lǐng)域的技術(shù),我想強調(diào)的是這是件非常嚴(yán)肅的事情,說到底只要涉及到安全,那都不是一個小問題,我們想做的事情是為了極大的保證,大家在使用智能駕駛汽車,使用自動駕駛模式的時候一個駕駛安全性問題。
雖然用了很多游戲技術(shù),但我們是在非常嚴(yán)肅地使用游戲技術(shù)。在汽車這個行業(yè)內(nèi)部,在自動駕駛這個行業(yè)內(nèi)部,去嚴(yán)肅地解決自動駕駛安全性問題。我們也希望通過我們做這些工作,通過我們的這些努力,可以讓大家能非常有信心在未來3年、5年內(nèi),敢于將汽車的駕駛權(quán)交給汽車商的自動駕駛算法,讓它來代替你進(jìn)行汽車的駕駛。
投稿/爆料:tougao@youxituoluo.com
稿件/商務(wù)合作: 六六(微信 13138755620)
加入行業(yè)交流群:六六(微信 13138755620)
元宇宙數(shù)字產(chǎn)業(yè)服務(wù)平臺
下載「陀螺科技」APP,獲取前沿深度元宇宙訊息