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