接下來,我們將陸續發布5篇仿真主題的文章。嚴格意義上說,這是筆者的一系列學習筆記。
對自動駕駛仿真中的很多知識點(排名第一的就是“用真實道路數據做仿真”),筆者已經好奇了兩年多時間,但此前一直沒有機會學習。今年4月份的疫情期間,偶爾得到了一次跟某仿真公司創始人閑聊的機會,筆者便趁機向其請教了許多問題。
此后,為交叉驗證,筆者又陸陸續續向近20位在自動駕駛仿真業務一線的專家請教。
對本系列學習筆記提供支持的專家包括但不限于智行眾維CEO安宏偉、深信科創創始人楊子江、智行眾維CTO李月、51 World CTO 鮑世強及毫末智行和輕舟智航、車右智能的仿真專家等。在此表示感謝。
一.場景來源——從合成數據到真實道路數據
據公眾號“車路慢慢”的作者李慢慢及智行眾維CTO李月介紹,仿真測試場景的來源,大體上可以有2種思路:
第一種思路是由德國PEGASUS項目提出的功能場景-邏輯場景-具體場景三層體系:1)、通過真實道路數據采集和理論分析等方式,得到不同的場景類型(即功能場景);2)、再分析出這些不同場景類型中的關鍵參數,并通過真實數據統計和理論分析等方法得到這些關鍵參數的分布范圍(即邏輯場景);3)、最后選取其中一組參數的取值作為一個測試場景(即具體場景)。
如下圖所示:
舉個例子,功能場景可以描述為,“自車(被測車)在當前車道運行,在自車前方有前車加速運行,自車跟隨前車行駛。” 邏輯場景則提煉出關鍵場景參數,并賦予場景參數特定的取值范圍,如以上描述的場景可提取自車車速、前車車速以及加速度、自車與前車距離等參數,每個參數都有一定的取值范圍和分布特性,參數之間可能還存在相關性。具體場景則需要選取特定的場景參數值,組成場景參數向量,并通過具體的場景語言表示。
這其實就是通常所說的“虛擬搭建/用算法生成的場景”,盡管對場景的理解仍來自于真實道路場景,但實踐中更多地是基于這種理解在軟件里面“人為地擬定”一個行駛軌跡、一組場景,因而,這種場景背后的數據也被稱為“合成數據”。
在實操中,這種思路面臨的主要挑戰是,仿真工程師對車輛的正常駕駛場景的理解是否足夠深。如果工程師不理解場景,任性地去“擬定”出一個場景,那當然是不能用的。
第二種思路是:采集自動駕駛車輛預定工作區域內的交通流量數據,并將這些數據輸入交通仿真工具中產生交通流,并使用該交通流充當自動駕駛車輛的“周圍交通車輛”,實現測試場景的自動生成。
據深信科創創始人楊子江介紹,為確保能獲得比較準確的“真值”,通常,工程采集車上的傳感器配置要比普通的自動駕駛汽車高許多,如定位系統會采用20W以上的設備以及高線束的激光雷達,產生的數據會更加精確。
UberACT前首席科學家Raquel Urtasun創辦的仿真公司Waabi,據說無需激光雷達等高精度的傳感器,直接用攝像頭收集的數據來做仿真。
用真實道路數據做仿真,最大的優勢是,場景的多樣性不會受限于工程師對場景的理解不足,因而,更容易將那些“誰也想不到”的未知場景給“打撈”出來。
此外,某自動駕駛公司仿真負責人說:為了提高仿真的真實度,后面大家就會盡可能地少采用合成數據,多采用真實道路數據。實際上現在的仿真已經在往這個方向發展了——真實數據和模塊越來越多了。
不過,有一線仿真實踐的工程師們普遍反映,這一思路過于理想化。具體地說,用真實道路數據做仿真,存在如下幾點局限性——
1.數據需要做人工校核
實際上,傳感器采集到的數據并不能直接用于仿真——數據類型及格式需要轉換,有很多無效數據需要清洗,也要從中辨別出有效的場景,某些特定的要素需要進行標注,不同傳感器之間的數據需要實時同步和融合等等。
正常情況下,自動駕駛車輛的感知數據無需經過人工校核,而是直接給到決策算法,但如果是做仿真,對感知數據的人工校核就是必不可少的步驟。
2.逆向過程的實現難度比正向過程大
某無人駕駛卡車公司仿真工程師說:用合成數據做仿真,是一個正向的過程,即你先知道自己需要去做哪些測試,然后再自己主動去設計這樣一個場景;用真實數據做仿真是一個逆向的過程,即你先遇到一個問題,然后再去解決這個問題。兩者相比較,后者的難度要大得多。
3.無法解決交互問題
復睿微電子負責人Jame Zhang在一次公開分享中提到,WorldSim(用虛擬數據做仿真)像在玩游戲,而LogoSim(用真實道路數據做仿真)則更像是電影,你只能看,沒法參與,因此,LogoSim天然沒法解決交互性的問題。
4.無法做閉環
復睿微電子負責人Jame Zhang還提到了這兩種仿真方法的另一個區別:使用真實道路數據做回放,能采集的片段永遠是有限的,經常是,采集開始的時候,危險可能已經發生了一段時間了,之前的數據你很難獲得了,但如果用虛擬數據(合成數據),就無需面對這個問題。
某主機廠的仿真負責人說:“上述專家表述的是采集的過程。的確,考慮到采集設備的容量以及有效場景的定義,采集打點的場景都是有長度的,一般都是功能觸發前后一段時間,尤其是觸發前的緩存不會特別長。另一方面,在數據采集后用來回灌的時候,則只能是功能觸發前的場景是有效的,而功能觸發后的真實場景卻是無效的。”
這位主機廠的專家說:真實道路數據用來訓練感知算法是可以的,但要測試整個算法鏈路的話,還是得依賴合成場景數據。
不過,這位主機廠的仿真主管最后也強調:“所謂的‘沒法實現閉環’也是相對的,已經有供應商可以把采集到的場景里面的元素都完成參數化,這樣就可以閉環了,但這種設備的價格是非常昂貴的。”
5.數據的真實度仍然難以保障
用真實交通流數據做仿真,也被稱為“回灌”。
據深信科創創始人楊子江介紹,“回灌”需要用到核心技術有兩個:一個是在仿真環境中還原路采數據的路網結構,二是將路采數據中的動態交通參與者(行人,車輛等)在不同坐標系下的位姿信息映射到仿真世界路網下的全局坐標系中。
這個過程中需要使用的工具有SUMO或openScenario——用于讀入交通參與者的位點信息。
某主機廠仿真專家說:“原始數據的回灌也不能保證百分之百真實,因為在將原始數據注入仿真平臺后,還得加上車輛動力學仿真。但如此一來,場景是否還與真實道路上的場景一致,就不好說了。”
究其原因,現有的交通流仿真軟件往往還存在如下幾大缺陷:
生成的交通流不夠保真,往往只支持車輛軌跡導入,而車輛間的雙向交互不夠真實;
仿真模塊(自車)和交通流模塊(其他道路參與者)之間的數據傳輸接口受限(如路網格式不同,需要路網匹配),第三方可操作性有限;
基于規則的交通流模型是面向交通效率評價的,可能會出現過于簡化的問題(往往采用一維模型,假設設立是沿著中心線行駛的,較少考慮橫向影響),難以滿足交互安全評價的需求。
某Tier 1的仿真工程師說,用真實交通流數據生成仿真場景,如何選擇交通流模型(比如跟馳模型、換道模型怎么定義)、如何定義交通流仿真模塊接口都是有相當難度的。同時,來自自車的數據和其他道路使用者的數據如何做好時間同步,也會是一個很大的問題。
6.數據的通用程度低、泛化難度大
智行眾維CEO安宏偉和CTO李月都特別提到了仿真數據的“通用性”問題。所謂數據通用性,即指車輛及場景的參數是可以調整的。比如,在數據是用一輛轎車去采集的,攝像頭的視角很低,但在變成仿真場景之后,攝像頭的的視角可以調高,這組數據可以用于卡車模型的測試。
如果場景是虛擬搭建/算法生成的,各參數可根據需要任意調整;那么,如果場景是基于真實道路數據的呢?
某工具鏈公司的仿真負責人說,在用真實道路數據做仿真的情況下,一旦傳感器的位置或者型號有變更,這一組數據的價值就降低,甚至會“作廢”。
輕舟智航的仿真專家說,也可以用神經網絡對真實道路數據做調參,這種調參的智能化程度會更高一些,但可控性會比較弱。
用真實交通流數據做仿真,又稱為“回灌”,而回灌又可分兩種,直接回灌和模型回灌——
所謂“直接回灌”,是指對傳感器數據不做處理直接喂給算法,在這種模式下,車輛及場景的參數是不可調整的,用某款車型采的數據,就只能用于同款車型的仿真測試;
“模型回灌”,則是指先將場景數據抽象化、模型化,用一組數學公式將其表達出來,在這個數學公式里面,車輛及場景的參數都是可調的。
按李月的說法,直接回灌是無需用到數學模型的,“比較簡單,基本上,只要有大數據能力都能做到”,但在他們的模型回灌方案中,不管是傳感器模型還是車輛的行駛軌跡、車速,都是要通過數學公式來完成的。
模型回灌的技術門檻很高,成本也不低,一位仿真工程師說:“要把傳感器錄制的數據轉換成仿真數據,數據解析的過程非常難。因此,當前,這一技術主要停留在PR層面上。在實踐中,各家的仿真測試都是以算法生成的場景為主,以采自真實道路集的場景為補充。”
某自動駕駛公司仿真負責人說:用真實交通流的數據做仿真,目前還是很前沿的技術,這些數據的調參難度很大(僅可在一個很小的范圍內調參)。因為路采的都是一堆日志、一條條的記錄,它記錄的是這個車第一秒第二秒怎么運行的,而不像人工編輯的一些場景是由一系列的公式組成的。
這位仿真專家說,模型回灌存在的最大挑戰是:在場景比較復雜的情況下,要將場景用公式表達的難度極高,這個過程是可以通過自動化的方式來實現的,但最終做出來的場景能不能用也是個問題。
Waymo在2020年公布了的“通過將傳感器收集到的數據直接生成逼真的圖像信息來做仿真”的ChauffeurNet,其實就是在云端用神經網絡將原始道路數據轉換成數學模型,然后做模型回灌。但一位在硅谷多年的仿真專家說,這個還停留在試驗階段,距離成為真正的產品還有一段時間。
這位仿真專家說,比回灌更有意義的是引入機器學習或強化學習。具體地說,仿真系統在充分學習各類交通參與者行為習慣的基礎上訓練出一些自己的邏輯,并將這些邏輯公式化,然后,在這些公式中調參。
不過,智行眾維CTO李月和副總經理馮宗磊的說法是,他們目前已經能夠實現模型回灌了。
馮宗磊認為,一個仿真公司是否具備做模型回灌的能力,這主要取決于他們所使用的工具及場景管理能力。
“場景管理中,切片是非常重要的一環——不是所有的數據都是有效的,比如,1小時的數據中,真正有效的可能只有不到5分鐘,在做場景管理的時候,仿真公司需要將有效的部分切出來,這個過程便被稱為‘切片’。
“切片完成后,仿真公司還需做一個相應的帶語義信息的管理環境(比如哪個是行人、哪個是十字路口),方便下次去篩選。具體地說,需要先對數據切片做分類,然后再做動態目標列表的精修,精修完之后再導入到仿真環境的模型里去,如此一來,模型就有相應的語義信息了。有了語義信息,就可以調參了,然后,數據就可以復用了。
“多數公司基于真實交通流的數據之所以不能調參,是因為他們沒有做好場景管理。”
深信科創創始人楊子江說:“如果要將路采數據泛化,并且要保持數據的真實性,可以在場景初始化以及開始階段回放路采數據,在某一時刻由smart-npc模型來接管道路中的背景車輛,使背景車輛不會按照路采數據運行。smart-npc接管后通過把泛化后的場景記錄下來,以做到泛化后的關鍵場景可回放。”
某主機廠的仿真工程師認為,模型回灌盡管聽上去“不明覺厲”,但實際上“必要性不大”。原因是:將數據模型化與回灌的初衷不符——回灌的初衷是想要真實的數據,但既然模型化了,參數可調了,就不是最真實的了;費時費力,數據格式轉換非常麻煩,費力不討好。
這位工程師說:“既然你想要更多場景,那直接用仿真器大規模生成泛化場景就行了啊,大可不必走真實數據模型化這條路。”
對此,馮宗磊的回應是:
“用算法直接生成場景,這在開發的早期當然是沒問題的,但局限性也很明顯——那些工程師們‘想不到’的場景怎么辦?真實的交通狀況千變萬化,你的想象力不可能窮舉所有。
“更關鍵的是,在工程師想象出的場景中,目標物之間的交互關系往往是不自然的。比如前方有車輛插入,它是以多大的角度插入?在距離你10米時還是5米時插入?在用算法生成場景的實踐中,場景參數的制定往往帶有非常的大主觀性、隨意性,工程師拍腦袋想出了一組參數注入模型,但這組參數是否具有代表性呢?”
馮宗磊認為,在無人駕駛還處于Demo階段時,靠算法生成的虛擬場景能滿足需求,但在前裝量產時代,基于大規模的自然駕駛數據(真實交通流數據)來做場景泛化,還是很有必要的。
據一位跟Momenta有過接觸的人士說:“Momenta已經具備了用真實道路數據做場景泛化(調參)的能力,但他們的技術只給自己用,不對外。”
51 World車載仿真負責人鮑世強,認為,自然駕駛數據做泛化目前還比較前瞻,但未來肯定會成為很重要的方向,因此,他們也在探索。
總結:兩種路線相互滲透,界限越來越模糊
復睿微仿真負責人James Zhang在前段時間的一段分享中提到,特斯拉的仿真有兩種方法:場景完全虛擬(算法生成)的叫 WorldSim,將真實數據回放給算法看的叫LogSim,“但WorldSim中的路網也是在對來自真實道路的數據做自動標準的基礎上生成的,因此,WorldSim與LogSim的界限越來越模糊”。
輕舟智航的仿真專家說:“真實場景數據轉化為標準格式化數據后,可通過規則去進行赴泛化,從而產生更有價值的仿真場景。”
51 World 車載仿真業務負責人鮑世強也認為,未來的趨勢是,用真實道路數據做仿真和用算法生成的數據做仿真這兩種路線會相互滲透。
鮑世強說:“一方面,用算法生成場景,也依賴于工程師對真實道路場景的理解,對真實場景的理解越透徹,建模就越能接近真實。另一方面,用真實道路數據做場景,也需要對數據做切片、提取(將有效部分篩選出來),再設定參數、觸發規則,再做精細化的分類,然后可以將它們邏輯化、公式化。”
二.場景泛化與場景提取
上面幾段反復提到的對場景數據做“調參”,又被稱為“場景泛化”——通常主要指對虛擬搭建的場景做泛化。用某主機廠系統工程師的話說,場景泛化的優勢是,我們可以“憑空造”一些現實世界當中從來都沒有過的場景。
一個仿真公司的場景泛化能力越強,對某個場景調參后得到的可用場景的數量就越多,因此,場景泛化能力也是仿真公司的一項關鍵競爭力。
不過,輕舟智航的算法專家說,場景泛化可以通過數學模型、機器學習等方法去實現,但關鍵的問題是如何保證泛化的場景是真實、而且更加有價值。
決定一個公司的場景泛化能力強或者弱的關鍵要素有哪些?
深信科創創始人楊子江認為,場景泛化中有一個很大的難點是,如何將軌跡抽象為更高級別的語義,用一形式化的描述語言來表達。
某Tier 1仿真工程師說:主要看該公司所采用的仿真工具是用什么語言(比如openscenario)來描述不同的交通場景的,這門語言對交通環境中各個層次的定義是否合理(可表示需要的細節,同時又具備可拓展性)。
針對功能場景、邏輯場景以及具體場景都有相應的場景語言:如針對前兩者,有M-SDL等高級場景語言;針對后者有OpenSCENARIO、GeoScenario等。
還有一個層面可能是對干擾行為的仿真,對各種駕駛行為、駕駛“性格”的泛化程度。
△圖表摘自孫劍、田野、余榮杰所著《自動駕駛虛擬仿真測試評價理論與方法》一書
深信科技創始人楊子江說:“基于交通流的泛化和駕駛員的智能化,如果模型足夠好,由于隨機因子的存在,場景運行10次,就相當于泛化了10個。”
不過,智行眾維CTO李月認為,不能為了泛化而泛化。“我們一定要對被測的功能有深刻的理解,然后再去設計泛化方案,而不是為了泛化而泛化,更不能漫無邊際地去泛化。場景泛化雖然是虛擬,但也要尊重現實。”
另外一位仿真專家也說:“說到底,仿真還是要為測試服務的,我們是已經在路上遇到了一個問題,然后看如何通過仿真解決,而不是說我先有了一個仿真的技術,然后看用在什么問題上吧?”
前文提到的一位仿真專家稱,據他了解,目前還沒有多少公司能真正做到場景泛化的自化,在大多數情況下,調參都是靠人工來完成的。“場景泛化能力,盡管很重要,但現階段,還沒有哪個公司真能做得很好。”
51 World車載仿真業務負責人鮑世強認為,做場景泛化,最重要的是要對自動駕駛仿真測試需要什么樣的場景有一個深刻的理解。事實上,現在的問題不是生成的場景太少,實在是太多,而且有很多并不會真實發生,算不上有效的測試場景,這就是對需求理解不到位造成的。
有專家稱,第三方仿真公司面臨的最大挑戰是,由于自己并沒有親自上陣做自動駕駛,因而對自動駕駛究竟需要什么樣的仿真理解是不足的。
而那些有能力、對仿真需求理解比較深入的L4級自動駕駛公司,其實并沒有足夠的動力把場景泛化做得非常深入。因為,Robotaxi通常只在某個城市的一個很小的區域里跑,他們只要采集這一個區域的場景數據做訓練和測試就行了,沒有太大的必要去泛化出很多他們在相當長一段時間內都不會接觸的場景。
鮑世強認為,蔚小理這些主機廠,真實道路數據比較多,對場景泛化也沒有太強的需求。相反,對這些公司來說,比場景泛化更迫切的,是對場景做精細化分類管理,篩選出真正有效的場景。
輕舟智航的仿真專家也認為,隨著車隊規模的增加、來自真實道路的數據規模急劇膨脹,對仿真公司來說,如何充分挖掘出這些數據中的有效場景確實比做場景泛化重要得多。“我們也許會探索出智能化程度更高的泛化手段,能更快地對算法做大規模驗證。”
楊子江說:“針對參數層面的泛化,例如車道數量、交通參與者的種類數量、天氣,以及速度、TTC等關鍵參數,各家產生泛化場景的能力都差不多,但場景泛化能力的核心在于如何識別有效場景,過濾無效場景(包括重復的、不合理的);而場景識別的難點在于,復雜場景需要識別多個對象之間相互關系。”
上述幾位提到的“識別有效場景,過濾無效場景”,又被稱為“場景提取”。
場景提取的前提是,先搞清楚究竟什么是“有效場景”。據幾位仿真專家介紹,除法律規定應當測試的場景外,有效場景還包括如下兩類:做系統正向設計時,工程師根據算法的開發需求定義的場景;測試中被挖掘出的那些“算法搞不定”的場景。
當然,有效和無效都是相對的,這跟公司的發展階段、算法的成熟階段有關——原則上,隨著算法的成熟、問題的解決,很多原來的有效場景都會成為無效場景。
那大家是如何高效地篩選出有效場景的?
學術界有一種設想是:在感知算法里面設定一些熵值,當場景的復雜度超過了這些值,感知算法就把改場景標記為一個有效的場景。但這個熵值怎么設,存在很大挑戰。
某仿真公司采用的是“排除法”,即如果一個原本表現非常好的算法在某一些泛化場景中“問題頻發”,那這個場景大概率就是“無效場景”,可以排除了。
某主機廠的系統工程師說:“目前還沒有很好的做場景篩選的方法。如果吃不準,那就放到云仿真上去算,總歸是能算出來這些極限場景,然后再拿這些極限條件在自己的HIL臺架上或者VIL臺架上做驗證,那么效率就會高很多”。
審核編輯 :李倩
-
數據采集
+關注
關注
39文章
6288瀏覽量
114118 -
仿真
+關注
關注
50文章
4132瀏覽量
134091 -
自動駕駛
+關注
關注
785文章
13953瀏覽量
167138
原文標題:自動駕駛科普文之一:場景來源、場景泛化及提取
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
自動駕駛規控算法驗證到底需要什么樣的場景仿真軟件?
![<b class='flag-5'>自動駕駛</b>規控算法驗證到底需要什么樣的<b class='flag-5'>場景</b>仿真軟件?](https://file1.elecfans.com/web3/M00/07/E0/wKgZO2eq6ymAAA3lAADJc5sW11I751.png)
自動駕駛測試場景庫的構建及評價方法之場景生成方法研究
![<b class='flag-5'>自動駕駛</b>測試<b class='flag-5'>場景</b>庫的構建及評價方法之<b class='flag-5'>場景</b>生成方法研究](https://file1.elecfans.com/web3/M00/06/D7/wKgZPGeQXlKAc9QdAAAM-kw4EM4877.png)
一文聊聊自動駕駛測試技術的挑戰與創新
![<b class='flag-5'>一</b><b class='flag-5'>文</b>聊聊<b class='flag-5'>自動駕駛</b>測試技術的挑戰與創新](https://file1.elecfans.com/web3/M00/00/CB/wKgZO2dNqh-AbdvkAAJ8XxHihyU454.png)
![](https://file1.elecfans.com/web1/M00/F5/88/wKgaoWc9vBGAPfSAAANGpN4KPs0772.jpg)
汽車雷達回波發生器的技術原理和應用場景
基于場景的自動駕駛驗證策略
![基于<b class='flag-5'>場景</b>的<b class='flag-5'>自動駕駛</b>驗證策略](https://file1.elecfans.com/web1/M00/F3/71/wKgZoWcXX1eACbiwAAAhY7VUWkg978.png)
![](https://file1.elecfans.com/web2/M00/09/90/wKgZomcPKxmASQCFAAEgUWmACmg080.jpg)
RISC-V適合什么樣的應用場景
FPGA在自動駕駛領域有哪些優勢?
FPGA在自動駕駛領域有哪些應用?
標貝數據采集標注在自動駕駛場景中落地應用實例
![標貝數據采集標注在<b class='flag-5'>自動駕駛</b><b class='flag-5'>場景</b>中落地應用實例](https://file1.elecfans.com/web2/M00/E9/D0/wKgZomZVd3yAd2cZAAL0x8YKw88122.png)
評論