我們擅長(cháng)商業(yè)策略與用戶(hù)體驗的完美結合。
歡迎瀏覽我們的案例。
為了不斷給自動(dòng)駕駛汽車(chē)提供海量數據和極端場(chǎng)景以滿(mǎn)足安全測試的需要,仿真技術(shù)在近年來(lái)備受關(guān)注,眾多仿真平臺也應運而生。
在這種大背景下,英偉達將自己在圖形計算時(shí)代所積累的優(yōu)勢復制到自動(dòng)駕駛技術(shù)上,并且于 2019 年正式向客戶(hù)開(kāi)放 DRIVE Constellation 自動(dòng)駕駛仿真模擬器。
那么,當下無(wú)人駕駛在預期功能安全方面的進(jìn)展如何?英偉達在仿真驗證方面有什么獨特的見(jiàn)解?
雷鋒網(wǎng)新智駕邀請了英偉達無(wú)人駕駛開(kāi)發(fā)架構師楊健來(lái)進(jìn)行業(yè)內分享。以下為楊健的演講內容,雷鋒網(wǎng)新智駕進(jìn)行了不改變原意的整理:
大家好!我是英偉達無(wú)人駕駛解決方案架構師楊建,感謝新智駕提供的平臺,讓我們可以交流關(guān)于無(wú)人駕駛仿真方面的話(huà)題。
今天分享的主題為《英偉達仿真模擬方法論助力無(wú)人駕駛算法開(kāi)發(fā)》,主要分為以下三個(gè)方面:
無(wú)人駕駛與預期功能安全;
英偉達仿真驗證方法論;
解決問(wèn)題需要的規模和計算量。
一、無(wú)人駕駛和預期功能安全
首先給大家解釋一下 verification(驗證)和 validation(確認)的區別。
Verification,主要是驗證結果是否與預期設計相一致,即“把事情做對”;validation,則是結果在與預期設計相一致的同時(shí),確認預期設計是否有問(wèn)題,是否能夠滿(mǎn)足客戶(hù)的其他需求,即“做對的事情”。
目前,工業(yè)界有兩種驗證自動(dòng)駕駛車(chē)輛安全的方法論。
一種是大家比較熟悉的 ISO26262 功能安全(FuSa),這種方法論旨在預防由汽車(chē)電子電氣系統產(chǎn)生故障導致的意外風(fēng)險隱患。
另一種是 ISO21448 預期功能安全(SOTIF),這種方法論旨在解決自動(dòng)駕駛系統本身由于算法或者傳感器(攝像頭、激光雷達等)本身缺陷導致致命傷害事故的問(wèn)題。這也是今天分享的重點(diǎn)。
從開(kāi)發(fā)流程上來(lái)說(shuō),無(wú)論是 FuSa 還是 SOTIF,都要經(jīng)歷從需求定義到軟硬件開(kāi)發(fā)再到系統驗證的過(guò)程,但相對來(lái)說(shuō),SOTIF 需要解決的問(wèn)題難度更大。
就像長(cháng)尾理論一樣,容易造成事故的場(chǎng)景基本上出現在長(cháng)尾的尾部,因此,我們很難預測這些問(wèn)題將會(huì )在什么時(shí)候發(fā)生,而 SOTIF 就旨在去發(fā)現這些罕見(jiàn)的場(chǎng)景。
也就是說(shuō),SOTIF 可以發(fā)揮指導性的意義,把這種潛在的風(fēng)險進(jìn)行量化評估,從而評估車(chē)輛抵御風(fēng)險的能力。
我們可以看一下這張圖:
我們將所有場(chǎng)景分為 4 個(gè)區域,包括已知的安全場(chǎng)景、已知的不安全場(chǎng)景、未知的不安全場(chǎng)景以及未知的安全場(chǎng)景。
前面兩個(gè)場(chǎng)景相對好理解,已知的不安全場(chǎng)景可以通過(guò)對 ODD 進(jìn)行分析來(lái)解決相關(guān)的風(fēng)險。由于最后一個(gè)場(chǎng)景的安全的場(chǎng)景,因此我們對它的關(guān)注度也不是很大。
最需要關(guān)注的是區域3,即未知的不安全場(chǎng)景,由于該場(chǎng)景中存在著(zhù)巨大的風(fēng)險,如果我們對其一直處于無(wú)法悉知的狀態(tài),我們就無(wú)法評估其中的風(fēng)險會(huì )對無(wú)人駕駛帶來(lái)多大的影響。
所以,在 SOTIF 的開(kāi)發(fā)流程中,針對已知的安全場(chǎng)景,我們可以通過(guò)概念定義階段來(lái)對這些場(chǎng)景進(jìn)行足夠多的分析;針對已知的不安全場(chǎng)景,我們在驗證階段會(huì )去構建一些不安全的場(chǎng)景,然后對這些場(chǎng)景進(jìn)行驗證,確保無(wú)人駕駛算法可以安全地解決這些問(wèn)題;對于為安全的未知安全場(chǎng)景,我們需要一些輔助的手段來(lái)幫助我們發(fā)現場(chǎng)景,了解場(chǎng)景。
也就是說(shuō),我們的最終目標就是把未知的不安全場(chǎng)景逐漸轉化成已知的不安全場(chǎng)景,甚至是轉化成已知的安全場(chǎng)景。
不過(guò),從客觀(guān)上來(lái)講,未知的不安全場(chǎng)景肯定不會(huì )完全消失,但它最終會(huì )小到我們足以保證無(wú)人駕駛算法出現安全事故的概率會(huì )比真人駕駛要更小,也就是說(shuō),我們可以證明無(wú)人駕駛比真人駕駛要更安全。
二、英偉達的驗證方法論
剛剛跟大家分享了英偉達對于 SOTIF 的理解,接下來(lái)給大家解釋一下,我們針對上述一些問(wèn)題的方法和方法論。
首先,我們把整個(gè)驗證的測試過(guò)程分為幾個(gè)步驟:
構建一個(gè)模擬器來(lái)運行可控的環(huán)境和場(chǎng)景;
軟件在環(huán)仿真,對軟件算法模塊進(jìn)行單元測試;
硬件在環(huán)仿真,把若干模塊和模組整合進(jìn)行系統測試;
之后在可控的封閉道路上做整體測試。
所以,我們可以把上述步驟分為兩大類(lèi),即真實(shí)世界的測試里程,以及仿真環(huán)境里加速測試里程。這里的“加速”不僅是指時(shí)間上的加速,還包括了場(chǎng)景構建,或是其他變化的加速,從而獲得更高質(zhì)量的驗證里程數。
從另一個(gè)維度來(lái)劃分就是軟件在環(huán)和硬件在環(huán)。一般來(lái)看,軟件在環(huán)方面,無(wú)人駕駛算法開(kāi)發(fā)都在 X86 平臺上運行,因此模擬器也在相同的平臺運行。硬件在環(huán)方面,英偉達與傳統的主機廠(chǎng)有些不同。
傳統上的硬件在環(huán)一般指的是 ECU -in-the-loop,相當于只有計算單元是真實(shí)的硬件。事實(shí)上,我們所說(shuō)的硬件在環(huán)還包括了其他模擬出來(lái)的傳感器和車(chē)輛控制器。
由于,測試對象運行在目標平臺上,計算單元的算法需要驗證的里程數巨大。所以,一套硬件并不能夠滿(mǎn)足需求,而是需要利用到 IT 行業(yè)已經(jīng)非常成熟的并行化計算和集群化計算來(lái)提高仿真訓練效率。
因此,這種仿真的硬件在環(huán)平臺要能夠部署到數據中心,然后構建成集群,然后使用集群調度管理工具來(lái)進(jìn)行集群化并行化運行,這種測試的場(chǎng)景才有可能在有效的時(shí)間內完成海量的驗證里程。
如此一來(lái),硬件在環(huán)就可以做到比特級的準確,但它有一個(gè)缺點(diǎn)就是實(shí)時(shí)屬性太強。
對此,英偉達推出了 drive constellation 解決方案,這是一個(gè)虛擬的 AV 仿真硬件在環(huán)模擬器。
從整個(gè)仿真的結構來(lái)看,英偉達會(huì )把更多精力放在軟件在環(huán)仿真上,通過(guò)單個(gè)軟件模塊或者多個(gè)模塊進(jìn)行驗證;軟件在環(huán)仿真驗證之后就是硬件在環(huán)仿真,然后這一部分的仿真工作量相對減少;通過(guò)了硬件在環(huán)仿真驗證,最后才會(huì )進(jìn)入到路測階段。
就工作量而言,我們認為 SIL 一般占到 60-70%,HIL 在 20% 左右,剩下的為路測。
關(guān)于“加速”,我還想進(jìn)一步解釋一下。
如圖,在場(chǎng)景 A 當中,假設綠車(chē)是我們無(wú)人駕駛算法控制的車(chē),然后有一輛汽車(chē)想要變道超車(chē),一次性只變一個(gè)車(chē)道,這樣的場(chǎng)景發(fā)生的概率很高,基本上每 10 公里就會(huì )發(fā)生一次;場(chǎng)景 B 中,這輛汽車(chē)在超車(chē)時(shí)跨越了兩個(gè)車(chē)道,這種場(chǎng)景發(fā)生的概率相比前者低,大概每 30 公里發(fā)生一次。
將上述兩個(gè)常見(jiàn)的場(chǎng)景參數進(jìn)行一定的隨機調整,就能衍生出變種的場(chǎng)景。比如場(chǎng)景 Ax 和場(chǎng)景 Bx,這兩種場(chǎng)景都十分罕見(jiàn), 1 萬(wàn)公里可能才會(huì )發(fā)生一次,這也意味著(zhù)這些場(chǎng)景更加危險,因為無(wú)人駕駛開(kāi)發(fā)公司在路測時(shí),不一定能收集到這樣的場(chǎng)景。
通過(guò)這種隨機參數化的方式來(lái)衍生出常規場(chǎng)景的變種場(chǎng)景,擴大測試的場(chǎng)景范圍,才有可能進(jìn)一步覆蓋我們從未遇到過(guò)的風(fēng)險。同時(shí),我們可以在多個(gè)機器上一起并行測試,大大提升驗證的效率。
那么,我們怎么樣去應對諸如此類(lèi)的場(chǎng)景變化?
正如上述提到的增加隨機參數的方式,我們推出了一種類(lèi)似 Python 腳本的高級場(chǎng)景定義語(yǔ)言 HSDL。通過(guò)這種語(yǔ)言我們可以定義一些簡(jiǎn)單的行為,然后通過(guò)組合方式,將它們結合成復雜的場(chǎng)景。目前,這種語(yǔ)言也在積極地為 ASAM OpenScenario 2.0 做貢獻。
下圖是我們基于一個(gè)場(chǎng)景,通過(guò) HSDL 語(yǔ)言對該場(chǎng)景進(jìn)行多次隨機化變化生成的多個(gè)場(chǎng)景。在多次執行中,汽車(chē)的位置、所處的地形、面臨的天氣情況都不相同,許多的變化是我們在最開(kāi)始編寫(xiě)場(chǎng)景時(shí)沒(méi)有預料過(guò)的。
通過(guò)這種方式來(lái)不斷地改進(jìn)算法,提升無(wú)人駕駛算法的可靠性,最終形成開(kāi)發(fā)流程的閉環(huán)。
三、計算規模的問(wèn)題
涉及到隨機的參數變化,我們就需要思考計算規模的問(wèn)題。
從我們的經(jīng)驗來(lái)看,每個(gè)場(chǎng)景都需要經(jīng)歷多次隨機變化才能保證覆蓋,衍生出來(lái)的場(chǎng)景數量基本上是在 10 的二次方級別,當然也有可能更高。
那假如我們有 100 個(gè)基本測試場(chǎng)景,那么,總的需要測試的場(chǎng)景(加上衍生場(chǎng)景)大概有 100 萬(wàn)個(gè)。假如每個(gè)場(chǎng)景每次測試 15 秒,那么,總的測試時(shí)間大概在 40 萬(wàn)個(gè)小時(shí)左右。如果有 400 套像 Constellation 這樣的設備,那么,就可以在 1000 個(gè)小時(shí)之內完成所有的驗證任務(wù)。
如此大的計算規模需要在產(chǎn)品中加入數據中心的工作流程,幫助用戶(hù)來(lái)解決大規模集群的調度工作,以及仿真驗證任務(wù)的分發(fā)工作。
目前,英偉達已經(jīng)研發(fā)了 drive constellation cloud 集群化管理工具,用戶(hù)首先可以提交任務(wù),隨后,系統會(huì )自動(dòng)將這些任務(wù)切分,分發(fā)到集群中數百臺機器上,同時(shí)進(jìn)行運行。任務(wù)運行完以后,所有數據自動(dòng)收集起來(lái),然后存放到分布式存儲中進(jìn)行統一匯總,方便開(kāi)發(fā)工程師取用。
最后我們來(lái)討論一個(gè)問(wèn)題。
目前,我們認為有兩種主要的辦法來(lái)對感知進(jìn)行驗證,一種是 Replay,即在路面采集的數據記錄下來(lái),然后在最終驗證時(shí)進(jìn)行回放;另一種是 Simulation。
前一種辦法的優(yōu)勢就在于,這些收集到的數據都是來(lái)自真實(shí)世界里傳感器的數據,時(shí)間準確度也比較好。但同樣是因為這一點(diǎn),我們沒(méi)有辦法控制輸出的信號。也就是說(shuō),這種辦法只能進(jìn)行開(kāi)環(huán)驗證,基本上不能做閉環(huán)驗證,而且成本也很高。
盡管 Simulation 在對真實(shí)世界的感知上不如 Replay,但它在很大程度上彌補了 Replay 的上述短板。為了讓 Simulation 變得真實(shí),英偉達已經(jīng)開(kāi)發(fā)了效果更佳的渲染引擎。
好,我今天給大家分享的內容就是這些,感謝大家。
接下來(lái)是 Q&A 環(huán)節:
1. 激光雷達的反射值是怎么模擬的?
我們在構建靜態(tài)場(chǎng)景的時(shí)候就會(huì )賦予物體一些材質(zhì)屬性,使得光線(xiàn)追蹤算法可以模擬激光的物理反射。經(jīng)過(guò)對物體材質(zhì)屬性的計算,最終我們可以得到一個(gè)相對準確的反射值,甚至可以模擬出同一個(gè)激光雷達的多次反射和接收。
2. 傳感器仿真的真實(shí)度如何評估?
我們會(huì )進(jìn)行對比測試。通過(guò)神經(jīng)網(wǎng)絡(luò )模型直接來(lái)評估仿真圖像的真實(shí)度,基本上是難以量化的。但我們可以通過(guò)神經(jīng)網(wǎng)絡(luò )模型或是其他算法,來(lái)間接評判我們仿真的真實(shí)度。如果仿真模型的特性與真實(shí)采集到的數據基本一致,那么傳感器仿真的真實(shí)度就比較高。
3. 仿真的數據庫場(chǎng)景從哪里來(lái)?
英偉達內部使用的數據場(chǎng)景庫,一方面是基于我們對 ODD 的解析,比如在做無(wú)人駕駛的時(shí)候,針對定義的需求來(lái)構建場(chǎng)景;另一方面是來(lái)自一些公開(kāi)的場(chǎng)景庫,使用 HSDL 語(yǔ)言將不同的場(chǎng)景隨機組合起來(lái),生成更多的場(chǎng)景。
4. 如何保證交通流模擬,車(chē)輛軌跡和行為的仿真性?
簡(jiǎn)單來(lái)說(shuō)也是通過(guò) HSDL 語(yǔ)言來(lái)實(shí)現。但是由于每輛車(chē)的行為都是隨機發(fā)生的,如果要確保這些行為的合理性,我們就要對隨機變量的范圍進(jìn)行控制和調整。在一開(kāi)始的時(shí)候,這個(gè)范圍可能會(huì )過(guò)大或者過(guò)小,從而影響仿真的場(chǎng)景的真實(shí)性,所以,我們需要逐步優(yōu)化這個(gè)過(guò)程,對隨機參數進(jìn)行手動(dòng)的推理和調整。
5. 仿真場(chǎng)景中,哪些在 SIL 中測,哪些在 HIL 中測?
我們的基本邏輯是,盡量在 SIL 中測,因為 SIL 跑得比較快,剩下一小部分有代表性的在 HIL 中測。所以,剛剛提到的通過(guò) HSDL 語(yǔ)言合成的場(chǎng)景主要也是以 SIL 測試為主。 HSDL 的發(fā)布時(shí)間在很大程度上取決于今年下半年 ASAM OpenScenario 2.0 的推進(jìn)情況。
6. 高精地圖導入時(shí)怎么解決偏轉的問(wèn)題?
其實(shí)我們在推進(jìn)項目的過(guò)程中確實(shí)遇到了偏轉的問(wèn)題,但由于英偉達是外資公司,很難拿到中國的無(wú)偏高清地圖。所以,我們干脆不假設自己可以拿到無(wú)偏高精地圖,我們會(huì )將中國特有的場(chǎng)景,以及一些影響駕駛的交通元素合成一個(gè)地圖。盡管這個(gè)地圖在真實(shí)世界不存在,但與駕駛相關(guān)的元素,比如說(shuō)紅綠燈,交通信號牌或車(chē)道線(xiàn),都符合真實(shí)世界的法律法規,所以我們的項目得以正常推進(jìn)。
?。?a href="http://www.cki5.com/wechat/">邯鄲做小程序)
小米應用商店發(fā)布消息稱(chēng) 持續開(kāi)展“APP 侵害用戶(hù)權益治理”系列行動(dòng) 11:37:04
騰訊云與CSIG成立政企業(yè)務(wù)線(xiàn) 加速數字技術(shù)在實(shí)體經(jīng)濟中的落地和應用 11:34:49
樂(lè )視回應還有400多人 期待新的朋友加入 11:29:25
亞馬遜表示 公司正在將其智能購物車(chē)擴展到馬薩諸塞州的一家全食店 10:18:04
三星在元宇宙平臺推出游戲 玩家可收集原材料制作三星產(chǎn)品 09:57:29
特斯拉加州San Mateo裁減229名員工 永久關(guān)閉該地區分公司 09:53:13