本文是自動駕駛仿真科普系列第二篇,上一篇為《自動駕駛科普文之一:場景來源、場景泛化及提取》
在跟很多仿真公司的專家及其下游用戶交流的過程中,我們了解到,當(dāng)下,自動駕駛的仿真,最難的環(huán)節(jié)之一是傳感器的建模。
按智行眾維CTO李月的說法,傳感器建??煞譃楣δ苄畔⒓壗?、現(xiàn)象信息級/統(tǒng)計信息級建模及全物理級建模幾個級別。這幾個概念的區(qū)別如下——
功能信息級建模簡單地描述攝像頭輸出圖像、毫米波雷達在某個范圍內(nèi)探測目標(biāo)這些具體功能,主要目的在于測試驗證感知算法,但對傳感器本身的性能并不關(guān)注;
現(xiàn)象信息和統(tǒng)計信息級建模是混合的、中間層級的建模,它包括一部分功能信息級建模,也包括一部分物理級建模;
全物理級建模,指對傳感器工作的整個物理鏈路做仿真,其目標(biāo)在于測試傳感器本身的物理性能,比如,毫米波雷達的濾波能力如何。
狹義上的的傳感器建模擬特指全物理級的建模。這種建模,很少有公司能做好,具體原因如下:
1.圖像渲染的效率不夠高
從計算機圖形成像原理看,傳感器模擬包括光線(輸入、輸出模擬)、幾何形狀、材質(zhì)模擬、圖像渲染等模擬,而渲染能力和效率的差別則會影響到仿真的真實性。
2. 傳感器的類型太多&模型精度、效率和通用性的“不可能三角”
僅有單個傳感器的精度高還不夠,你還需要所有的傳感器都能同時達到一個理想的狀態(tài),這就要求建模有很廣的覆蓋度,但在成本壓力下,仿真團隊顯然不可能對激光雷達做10個、20個版本的建模吧??另一方面,又很難用一個通用的模型去將各種不同款式的傳感器表達出來。
模型的精度、效率和通用性是一個“不可能三角”的關(guān)系,你可以去提升其中的一面或者兩個角兩面,但你很難去持續(xù)性地把三個維度同時提升。當(dāng)效率足夠高的時候,模型精度一定是下降的。
車右智能的仿真專家說:“再復(fù)雜的數(shù)學(xué)模型也可能只能以99%的相似度模擬真實傳感器,而這剩下的1%可能就是會帶來致命問題的因素。”
3.傳感器建模受制于目標(biāo)物的參數(shù)
傳感器仿真需要外部的數(shù)據(jù),即外部環(huán)境數(shù)據(jù)跟傳感器有強耦合,然而,外部環(huán)境的建模其實也挺復(fù)雜的,并且成本也不低。
城市場景下建筑物的數(shù)量太多,這會嚴(yán)重消耗用來做圖像渲染的計算資源。有的建筑物會遮擋路上的車流、行人及其他目標(biāo)物體,而有遮擋沒遮擋,計算量是完全不一樣的。
此外,目標(biāo)物的反射率、材質(zhì),很難通過傳感器建模搞清楚。比如,可以說一個目標(biāo)是個桶狀的,但它究竟是鐵桶還是塑料桶,這個很難通過建模來表達清楚;即使能表達清楚,要在仿真模型中把這些參數(shù)調(diào)好,又是一個超級大的工程。
而目標(biāo)物的材質(zhì)等物理信息不清楚的話,仿真的模擬器就難以選擇。
4.傳感器的噪聲加多少很難確定
某Tier 1仿真工程師說:
“深度學(xué)習(xí)算法識別物體是一個從真實世界的傳感器數(shù)據(jù)收集到信號去噪的過程,相比之下,傳感器建模則是要在理想的物理模型的基礎(chǔ)上合理地加入噪聲,而其難點就在于噪音如何加得才能跟真實世界足夠接近,以便既能讓深度學(xué)習(xí)模型識別出來,又能有效提升模型識別的泛化?!?/p>
言外之意,仿真生成的傳感器信號既要跟真實世界中的傳感器信號“足夠像”(能識別出對應(yīng)物體),又不能“太像”(模擬corner case讓感知模型能在更多情況下實現(xiàn)識別——泛化)。然而,問題在于,在真實世界中,傳感器的噪音在很多情況下是隨機的,這意味著,仿真系統(tǒng)如何去模擬這些噪音,是一個很大的挑戰(zhàn)。
從傳感器原理的角度看,相機建模的過程中還需要做相機模糊化(先生成理想的模型,然后加噪音)、畸變模擬、暗角模擬、顏色轉(zhuǎn)換、魚眼效果處理等而以激光雷達模型也可分為理想點云模型(步驟包括場景裁剪、可見判斷、遮擋判斷和位置計算)、功率衰減模型(包括對接受激光功率、反射激光功率、反射天線增益、目標(biāo)散射截面、接口孔徑、目標(biāo)距離、大氣傳輸系數(shù)、光學(xué)傳輸系數(shù)等子的設(shè)定)和考慮天氣噪點的物理模型等。
5.資源的限制
智行眾維CEO安宏偉提到了資源對感知虛擬仿真的限制:
“我們要對傳感器做完全的物理級建模,比如攝像頭的光學(xué)物理參數(shù)等都要清楚,還需要知道目標(biāo)物(感知對象)的材質(zhì)、反射率等數(shù)據(jù),這個工程量巨大——在有足夠人力的情況下,一公里場景的建設(shè)周期需要差不多1個月。即使真能建好,模型的復(fù)雜度也極高,很難在當(dāng)前的物理機上跑起來(實在太耗費算力了)?!?/p>
“未來,仿真都是要上云的,看起來,云端的算力‘無窮無盡’,但具體分?jǐn)偟侥硞€單一節(jié)點的單一模型上,云端的計算能力可能還不如物理機——并且,在物理機上做仿真時,如果一臺機器的計算資源不夠,可以上三臺,一臺負(fù)責(zé)傳感器模型,一臺負(fù)責(zé)動力學(xué),一臺負(fù)責(zé)規(guī)控,但在云上跑仿真,?能用在單一場景單一模型上的算力并不是無窮無盡的,那么這個就限制了我們這個模型的復(fù)雜度?!?/p>
6.仿真公司很難拿到傳感器的底層數(shù)據(jù)
全物理級建模需要把傳感器的各種表現(xiàn)都用數(shù)學(xué)模型構(gòu)建出來。比如,將信號接收器的某個具體性能、傳播路徑(中間受空氣的影響、反射折射的整個鏈路)用數(shù)學(xué)公式表達出來。然而,在軟硬件尚未真正解耦的階段,傳感器內(nèi)部的感知算法是個黑盒子,仿真公司無法了解算法究竟是個什么樣子。
全物理建模需要獲取傳感器元器件(如CMOS芯片、ISP)的底層參數(shù),對這些參數(shù)做建模,而且,還需要知道傳感器的底層物理原理,并對激光雷達的激光波、毫米波雷達的電磁波做建模。
對此,有一位仿真專家說:“要做好傳感器建模,得深刻理解傳感器的底層硬件知識,基本上相當(dāng)于要知道怎么設(shè)計一款傳感器?!?/p>
然而,傳感器廠商一般不愿意開放底層數(shù)據(jù)。
智行眾維CTO李月說:“這些底層參數(shù)你如果拿到了,拿著它去做建模,那你基本上就能把這個傳感器造出來了”
智行眾維CEO安宏偉說:“通常主機廠在和傳感器供應(yīng)商打交道的時候,不要說拿到材質(zhì)物理參數(shù)這些細節(jié),能拿到接口協(xié)議就已經(jīng)很不容易了。如果主機廠足夠強勢,傳感器供應(yīng)商也積極配合,他們可以拿到接口協(xié)議,但也不是全部。連主機廠都很難拿到的東西,仿真公司就更難了?!?/p>
事實上,傳感器的物理級仿真是只能由傳感器廠商去自己去做的。國內(nèi)很多傳感器廠商更多地外采芯片等零部件來做集成,因此,能對做傳感器物理級仿真的,實際上是TI、恩智浦這些上游供應(yīng)商。
某商用車無人駕駛公司的仿真工程師說:“傳感器的仿真難做,導(dǎo)致傳感器選型的過程很復(fù)雜。我們要做傳感器選型,基本上都是傳感器公司先把樣件寄給我,我們再把各種類型的都裝上到車上去測試。?如果傳感器廠商能跟仿真公司合作,他們之間就可以把接口全部拉通,提供精準(zhǔn)的傳感器建模,那我們就可以以很低的成本獲知傳感器的信息,做傳感器選型的工作量會大幅度減少?!?/p>
不過,51 World CTO鮑世強的說法是:“感知仿真現(xiàn)在還處在初期,還遠遠沒做到需要把傳感器里邊的建模搞得那么精細的階段。把傳感器里邊拆開建模那些東西,我覺得毫無意義。”
此外,按某無人駕駛公司仿真負(fù)責(zé)人的說法,傳感器仿真做不了,并不等于感知的仿真完全做不了。
比如,硬件在環(huán)(HIL)可以接入傳感器實物(傳感器和域控制器,都是實物)來測試。接入傳感器實物,既可以測試感知算法,也可以測試傳感器本身的功能和性能。這種模式下,傳感器是真實的,相比于傳感器仿真,仿真精確度更高。
但由于涉及到配套硬件,集成起來復(fù)雜,而且這種方式依然需要傳感器模型來控制環(huán)境信號的生成,成本也更高,因而,實踐中很少使用這種方法。
附:自動駕駛仿真測試的兩個階段(摘自公眾號“車路慢慢”在2021年3月26日推送的文章《自動駕駛虛擬仿真測試介紹》)
考慮到近期的實際情況,自動駕駛仿真大致要分為兩個發(fā)展階段(當(dāng)然這兩個階段可能并沒有明顯的時間界限)。
(1)階段一:
在試驗室和封閉試驗場內(nèi)對傳感器的感知識別模塊進行測試,在虛擬仿真環(huán)境對決策控制模塊進行測試,仿真環(huán)境直接向決策控制模塊提供目標(biāo)列表。
這主要是因為目前對傳感器的建模還有很多局限,從而不能進行有效(甚至是正確)的仿真。比如攝像頭輸出的圖片較容易仿真,但是污漬、強光等特性仿真難度較大;而對于毫米波雷達如果建立精度較高的模型,則計算速度較慢,不能滿足仿真測試的需求。
在試驗室和封閉試驗場可以對測試環(huán)境進行完整的控制和數(shù)據(jù)記錄。比如布置不同類別、位置和速度的行人和車輛,甚至可以對雨、雪、霧和強光的環(huán)境要素進行模擬,并將傳感器處理輸出的目標(biāo)列表與真實環(huán)境進行對比,從而給出對感知識別模塊的評估結(jié)果和改進建議。
這么做的好處是,在傳感器建模有很多局限的情況下,依然能夠在仿真環(huán)境下對決策控制模塊進行測試,提前享受仿真測試的優(yōu)勢。
(2)階段二:
在虛擬仿真環(huán)境進行高精度的傳感器建模,從而對完整的自動駕駛算法進行測試。
這樣不僅可以在同一環(huán)境下進行測試,從而提高測試效率、測試場景覆蓋率和復(fù)雜度;而且可以對一些基于AI的算法進行端到端的測試。
這一階段的難點,一方面是前面提到的滿足測試需求的傳感器建模,另外一方面是不同傳感器廠家和OEM廠家直接交互的接口很可能不一致(有些情況下可能并不存在)。