2022年11月29日,百度Apollo Day技術開放日活動線上舉辦。百度自動駕駛技術專家全景化展示Apollo技術實力及前沿技術理念。
自動駕駛行業沒有彎道超車,多年技術積累才能實現全無人落地的臨門一腳。百度自動駕駛技術專家陳競凱介紹,百度Apollo依托堅實的AI技術底座,打造安全、智能、高效的自動駕駛技術體系,實現從全無人運營到規模商業化運營。
百度的學習型PNC方案是將預測和決策兩個模塊聯合建模,然后送入到軌跡規劃和控制模塊中。學習型的PNC模塊是自動駕駛學術和產業的技術前沿。學術界雖然提出了不少研究成果,但在產業界其實應用的案例并不豐富,甚至可以說只是在嘗試階段。百度此次提出的預測決策一體化模型,在底層設計上實現的創新,是行業在實現PNC范式變革上邁出的重要一步。
以下為演講全文
陳競凱:大家好,我是百度自動駕駛的陳競凱。
眾所周知,百度在自動駕駛領域已深耕多年,今天為大家分享百度在打造安全、智能、高效的自動駕駛體系中的一些思考。
自動駕駛系統,最重要的是安全,系統設計需要遵從汽車安全體系。百度從功能安全和預期功能安全兩個方面來打造自動安全系統。
按照功能安全的設計要求,百度拆解了系統的安全框架和目標,通過適當的冗余,來降低失效帶來的危害。在計算硬件、傳感器、底盤、通訊的各個層面都構建了冗余,并且完善了故障檢測和處理方案,實現全方位的安全。
傳統的安全設計,主要是保障司機的可操作,即司機在故障發生的條件下,有能力處理相應的故障。在自動駕駛系統中,需要能夠讓自動駕駛系統處理這些故障,保證系統安全。
自動駕駛系統不僅僅要處理自動駕駛系統本身的故障,而且要對車輛的各個系統的問題,也作出相應的應對。
比如車輛的胎壓系統出現問題時,需要能夠檢測出來,能夠在車輛運動可能會出現異常的條件下,把車輛安全地停下來。帶傷運行會讓系統變得不夠安全,百度的安全策略是讓車輛在發生故障時,使之進入安全狀態,而不是繼續保持駕駛。
這時候就提出了一個不同于主系統的挑戰,如何在各種各樣的道路條件下,當發生故障的時候,把車輛進入安全狀態。在復雜的道路條件下,是不能簡單地一停了之的。故障方案必須與真實的道路環境相兼容。充分地利用了仿真的系統,去測試一下故障處理策略是不是能夠應對當前的故障,去能夠應對當前的道路條件。
進入安全狀態所需要的能力,通常和完成自動駕駛全功能能力是不太一樣的。往往需求相對小一點。這時候就能夠平衡可靠性的要求和成本。合理的安全駕駛策略就特別關鍵,百度在仿真系統里進行了大量的測試,去調整安全處理方案,使得在兩者之間取得一個比較好的平衡。
自動駕駛系統的能力演進,是按照預期功能安全框架去思考的,會從知道不知道、安全不安全這兩個維度去推進自動駕駛技術能力提升,提高自動駕駛系統對復雜場景的適應。
一個合理定義的ODD是自動駕駛系統,尤其是全無人自動駕駛系統不可或缺的一個組成部分。需要通過大量的仿真和道路測試,來保障在ODD范圍內的安全駕駛。
但是自動駕駛不是完美的,道路條件也很復雜,詳細定義的ODD,尤其是包含動態交互的ODD通常是不太現實的,所以在一般的ODD的定義中,通常還是偏向于靜態定義,很難去覆蓋所有的道路交互狀態。這時候就需要在車端有比較強的檢測能力,去檢測目前的系統是不是運行在ODD下,即使這樣也會遇到一些超出自動駕駛能力的一些狀況。
百度設計了一個系統,通過經驗數據,以及通過針對目前駕駛能力,設計一個偏召回的風險預警策略,能夠判斷出目前的系統,是不是處在一個可能會不安全的狀態。輔以一些云端和路測的手段來保障安全,使得系統從一個潛在不安全的狀態變為一個更加安全的狀態。當然了,這種工作一定會對自動駕駛效率有一定的折損。隨著自動駕駛能力的提升,不安全的狀態和場景會越來越少,對應的自動駕駛效率也會逐漸的提高。
在車端也會秉承這樣的思路,來做出相應的處理。在主系統之外去構建一些安全的回路,保證在一些場景下,突發狀態條件下的自動駕駛系統安全。
自動駕駛系統的能力目前還在不斷提高的過程中,需要把更多不知道的問題變成知道的問題,把不能安全通過的場景變成能夠安全通過的場景,并且能夠預知一些可能出現的危險,通過策略規避掉一些復雜的危險場景。車端的持續演進,不斷的去發現和改進自動駕駛能力的邊界,需要在車端有相應的數據挖掘體系,幫助發現這些問題。通過車端的數據挖掘,會不斷的發現自動駕駛系統中處理得不夠好的,或者是一些不確定性問題,然后把這些數據上傳到云端,通過云端系統,使用數據驅動的方式,訓練、仿真等一系列的工作提升自動駕駛能力,提升自動駕駛的安全性。
自動駕駛系統該如何設計?一直都有兩個思路:
一個是偏學術的
傾向于統一建模,端到端的解決問題;
另外一個思路是偏向工程的
去拆分系統,分治突破。
端到端的建模非常的簡潔優美,從長遠來看,也是一個非常有前途的方向。
在這種思路下,其他的領域里面百度取得了一些進展,比如說技術模型在NLP領域里面已經取得了統治性地位。在圖像領域,大模型也帶來很多的驚喜。同樣,百度對于這種端到端的大模型的解決方案,在自動駕駛系統的發展也充滿了期待。
這個方案的問題在于存在很大的不確定性。不能確定它究竟何時成熟,是兩年還是十年,這是一個問題。
基于這樣的認知,百度目前的主要的思路還是沿著工程化的路線在往前推進,同時也沒有放棄在端到端方面上的一些探索,會把一些階段性的成果應用到一些路線上。
百度的車載系統大體會分成四個部分:地圖、感知、預測決策、規劃控制。
地圖,是在系統中一個非常重要的組成部分,自動駕駛系統是不能脫離地圖的,因為交通系統本來就是規則約束下的系統,自動駕駛是運行在交通實際條件下,當然也不能脫離規則的約束,地圖恰恰是規則系統表達的一個核心框架。
百度認為不管是有沒有離線地圖,或者說只用在線地圖,地圖總是自動駕駛系統的一個底層表達,離線地圖是一個超視距的整體性的感知,地圖在自動駕駛系統中間發揮著重要的作用。
在談到離線地圖的時候,外界有聲音說,離線地圖制作成本是不是很高?會不會成為普及的障礙?在實踐過程中間我們發現,離線地圖并不是一個高成本的障礙,反而是我們一個前進的助力。
地圖的更新率其實不是一個問題,地圖的實時性才是它的問題,而不是更新率或者成本。
在目前的實踐中,目前車端實時生產的地圖和規模化生產的地圖其實還是有質量上的一些差距的,這種差距,需要通過自動駕駛策略去適應這兩種地圖的一些質量差異。但這種適應對自動駕駛能力來說是有折損的。
所以百度認為,在目前的條件下,一個規模化生產的高精地圖還是不可或缺的,實時地圖更多的會被應用在應對現實世界的變更,這時候會把自動駕駛的策略調整到一個更加安全謹慎的方式去通過。
感知系統,感知系統目前在整個業界的發展思路還是比較統一的,基本上是一個數據加模型驅動的系統。
目前主要的分歧是在于,大家討論的一些主要分歧在于傳感器的配置。
百度的判斷是這樣的,應該充分的發揮各個傳感器的能力,從出發點來說,首先要把事情做成,然后再去追求更好、更低成本,再去充分地發揮各個傳感器的能力,把感知做得更加可靠,更加穩定。
在具體的過程中,從后融合的方案轉向前融合的方案,前融合的的方案,使得能夠充分地發揮各個傳感器的優勢。另外,也會充分的利用百度大模型技術方面的一些積累,提升感知能力。
預測決策系統,預測決策系統是直接面對復雜外部環境的一個非常重要的部分,百度把這個系統的模塊的分界線劃到了預測決策和規劃控制之間,主要的出發點是,決策問題其實是可以引入人工判斷的節點,這時候可以在其中引入更多的人類智慧。
百度把預測和決策放在一起,其實也是有相應的思考的,百度認為預測是一個自標注的學習系統,在真實的世界里,主車是與現實世界是有交互的,這時候更傾向于認為預測和決策是一體的,預測很多是決策的預言實現。
規劃控制
規劃控制在傳統方案中是一個優化問題,在真實的道路條件下,往往會面臨一些求解空間和計算資源之間的沖突,百度也做了很多的探索。
正如我們前面提到的,駕駛能力的提升表現在車端,但是更多的工作是在云端完成的。
在車載系統的迭代中,如何能夠從數據中學習,從問題中學習,尤其是自動學習,這是百度一直以來追求的目標。
為此百度構建了數據閉環的系統,并且在自動駕駛技術研發的過程中間就不斷的迭代和完善這個系統。
仿真系統
仿真系統一直都是自動駕駛的話題中心之一,一個完美的仿真系統是自動駕駛開發者的夢想。尤其是在做一些端到端探索的時候,我們經常會感嘆,如果有一個完美的仿真系統是多么的幸福。然而,做一個完美的仿真系統在目前是不切實際的,如果想在仿真系統中去模擬各種各樣的駕駛風格,而且這種駕駛風格是和人類駕駛一模一樣的時候,實際上就做出了一個有不同個性的自動駕駛系統,這一點在目前這個階段還是很難的,不太切實際。百度追求的目標是做一個對我們的自動駕駛技術能力提升有用的仿真系統。
不管是車載系統還是云端系統,自動駕駛都需要算力的支持,這方面我們也會有一些持續的投入。
得益于自動駕駛技術的發展和自動駕駛體系的搭建,一方面我們會研發面向全無人自動駕駛系統,為大家更好的提供出行服務。另外一方面,也會落地一些高級輔助駕駛,給司機提供更好的駕乘體驗。
百度最初的自動駕駛系統,預測和決策是分開的。預測是一個帶有自標注的任務,一直都是數據驅動的,決策、規劃、控制,當初沿用的都是偏規則的傳統方案。
基于規則的方案:通常是把遇到的問題劃分成各種場景,在每個場景下,針對不同出現的問題,再做相應的處理,為了不讓各個規則之間發生沖突,通常會仔細地限定每個規則的作用范圍,一層一層的拆分,如果做得好的話,會形成一個類似樹形的拆分結構;如果處理得不好的話,就會變成一個補丁摞補丁的系統。尤其在后者的條件下,會遇到無法維護的問題,即使哪怕在前者我們一個高尖端好的樹狀結構,也會遇到一些認知升級導致目前的樹狀結構和認知不相匹配的一些問題。
規則系統在最初的時候,是可以最大化人類的經驗和一些先驗知識,能夠迅速地去提升自動駕駛能力。但是隨著時間的推移,有兩個問題是不可避免的會出現。
第一,策略分叉,會導致每一個規則的迭代,針對的問題會越來越小,這時候投入產出比會迅速的下降。
第二、在面對城市擴展、場景變化的時候,需要調整規則去適應,而且這種調整的范圍往往不是局限在葉子節點上的,而是需要從根到葉整個全面的調整。這種變化會使得規則系統在面臨這種遷移變化的時候會非常難以維護。
出于這樣的觀察,百度認為學習型的PNC是實現全無人的一個必由之路。
正如我們提到的,預測和決策其實是一個問題的兩面,預測是決策的自我預言實現。所以構造了一個預測和決策的多任務系統,聯合處理這個問題。我們對道路元素、信號燈、自測行為、道路元素都做了一些建模和交互的處理,最后形成一個預測和決策的一個結果。
這個框架的思路還是比較基本的,但是在實踐過程中間有很多有趣的問題。
因為每一個學習系統,都會面臨著一個啟動和迭代的問題。在這個過程中間,和原先的規則系統是什么樣一個關系?在實踐中間,百度采取了一種漸進式的改造思路,逐漸地去吸收規則系統。
打個比方,規則系統實際上是一臺學習系統的學步車,百度要在規則系統的經驗條件下去初始化我們的學習系統。然后再通過一些迭代使得學習系統要超過規則。
在過程中也會發現,在規則系統中的很多細小的地方,就隱含了一些決策的操作。這種決策的操作,其實在最初設計決策系統的時候,可能會有些漏掉的地方,需要后續再不停地去優化和改進。
百度最終的目標,也不是要把學習系統完全替代規則系統,因為兩點:
第一,交通系統本來就是一個靠規則約束的系統;
第二,需要規則去守護最后的底線。
我們在端到端探索也做了很多很多的嘗試。
比如,百度的搜索和推薦是發展領先的,在實際過程中也會把一些搜索和推薦的技術應用到自動駕駛系統中,而且還有一些意外的、超過我們預期的一些收獲。
在學習系統中間,直接生成軌跡是比較困難的,如果沒有一個合適的錨點的話,生成的軌跡往往比較難以盡如人意。但是在使用基于搜索的方法來做軌跡生成的時候會發現一個非常有趣的現象,在一般的場景里面,只需要搜索兩條軌跡侯選,就可以給出99%以上場景的可行的答案。在一些相對困難場景下,其實也有不錯的一些表現。
基于這個進展,把基于搜索的方案也整合到了系統里面。在對場景進行建模以后,再去構建一些場景的相似性的一些方案。通過搜索的技術,去生成一些軌跡的侯選,把它們作為規劃系統的一個啟發的輸入。
從實踐過程中百度發現,這種啟發的方式能夠大幅度降低在整體的搜索過程中間的一些計算開銷。
回顧來看,整體的框架是比較契合人類的駕駛模式。首先在高層語義層次上做出一些決策。比如說在一些宏觀的層面上作出了一些決策,但是在這個微觀軌跡的層面上,人類并不是去做一個詳細的優化,而是類似于直接出結果,而百度的檢索系統恰恰又跟人類這種直接輸出結果的方式,去追求可行而不是最優這種方式,有一種完美的一致。
百度追求的是做一個有用的仿真系統,應該滿足我們對于問題迭代的需求。并需要在微觀層面上,每一個場景上能夠做到輔助迭代,而且要能夠讓它對整體自動駕駛能力作出一個完整的評價。
仿真系統實際上是百度在自動駕駛技術發展迭代過程中的一個有效的工具。
為了完成自動駕駛發展的迭代工作,百度在仿真系統的能力構建上做了很多大量的工作,比如說做了Worldsim系統,使得能夠批量地構造大量的場景,去驗證各種各樣場景下的綜合能力,另外也構造了一個L2W系統,能夠精確地復現道路的場景,幫助去分析和驗證路上的問題。
百度也通過一些動力學的仿真,使得能夠比較精確的去模擬,去刻畫車輛的行為。
在此基礎上,構建了一個能夠驗證仿真系統和道路系統的一致性的系統,尤其是面臨一些安全性判斷的時候,對一致性有很高的要求,構建這樣一個仿真系統是滿足實際需要的。
另外,為了支撐感知能力的迭代,支撐我們自動駕駛系統對各個場景的適應,百度也構造了傳感器的仿真,實現了對各種光照條件和天氣條件的覆蓋。能夠通過高精地圖,自動地渲染出整個道路環境,能夠端到端地去評測整體的系統。
針對迭代過程中對自動駕駛中的安全、體感、合規等方方面面的要求,百度也構建了相應的度量體系,去幫助工程師在迭代過程中去更好的評價自動駕駛系統的表現。
百度也發展了部分的障礙物交互能力,坦率地講,在仿真系統中構造障礙物交互是一個比較困難的事,目前做的更多是排除一些典型的不合理的行為,而不是去構造一個能夠進行復雜交互的障礙物系統。
作為結果,仿真系統在迭代過程中也發揮了非常重要的作用。支持了數百人團隊的迭代,在仿真系統日行上百萬公里,去驗證自動駕駛能力的進步,同時也在仿真系統里去探索自動駕駛的更多可能性。
如果僅僅是在單個Case層面上去實現對道路的真實模擬其實不太夠的,如何對每一次迭代帶來的變化作出完整的評價,一直都是仿真系統面臨的一個非常大的挑戰。比如說在面對切車的時候,采取一些占據優勢地位,避免被切的策略,這時候就會帶來一些后續的交互行為,這種交互行為在仿真系統是很難模擬的,這時候會遇到一些極限的情況,導致急剎或者碰撞,這時候會面臨一個靈魂拷問,這樣的場景在路上會不會真的發生?
如果遇到這樣的情況,自動駕駛能力是變好了還是變壞了呢?
如果脫離了大規模的數據分布,是沒法討論這個問題的,所以在仿真系統中,一定需要構建一個好的數據集合。數據其實是仿真系統的靈魂。
為此,百度在針對路上可能會出現的各種情況,建設了豐富的場景庫,這些場景庫會拿到跟路上去做比對,看看在路上場景的覆蓋情況。
在建設過程中間發現,其實路上的場景絕大多數是可以通過大概600、700個場景就能夠覆蓋住的,后面就是一些分布的情況。在做泛化的時候也發現,其實后面很多情況不需要做泛化,這時候就針對這個路上常見的多個場景做了一些詳細的維度拆分。比如說,剛提到的這個切車的場景,會根據切車的車輛類型、切入開始的距離、速度、速度差、切車幅度、切入時間等等各個維度,去建設一個能夠充分刻畫這個場景的維度體系,并且建設一個相應的自動化匹配機制,使得在路上遇到了一樣的場景,能夠自動的去匹配到場景體系上,把相應維度上的參數提取出來。
在這樣的自動化掛接的基礎上,百度針對各個場景建立了相應的集合,在這基礎上統計了針對每個場景的數據分布,尤其是常見場景的數據分布。就可以清楚地了解到,這個場景在仿真系統內的真實運行場景,在真實世界里大概會是什么狀態,發生的概率有多大。在這個基礎上就構建一個針對仿真系統的、一個相對被扭曲的分布條件下,給出一個正確的度量。
這種度量不是像剛才提到的,從Worldsim中去泛化出來的這種場景,在那個場景里面很多車輛的行為、車輛的一些參數,和自然發生的情況還是會有些區別的,把真實世界的場景掛接到這個系統里面,它的運行也會變得更加的真實和可靠。
通過這樣一個體系建設,百度也建設了針對一些特定需求的場景庫,比如說針對交通法規,針對行使安全,針對主車通行等等,分別去建設場景庫,充分的利用到迭代過程中,評估每一次變更帶來的能力變化。
百度觀察到,在從一個城市向另外一個城市遷移的過程中間,這個數據統計、數據的分布是有變化的,這時候要求自動駕駛能力、自動駕駛的一些策略,從一個城市向另外一個城市遷移的過程中間需要做一些細微的調整,整體的場景庫也對遷移過程提供了很多的保障。
仿真系統在我們的自動駕駛技術迭代的過程中間發揮了非常重要的作用,是我們技術能力提升的重要支撐。
謝謝大家!
審核編輯 :李倩
-
自動駕駛
+關注
關注
784文章
13920瀏覽量
166793 -
ai技術
+關注
關注
1文章
1289瀏覽量
24394
原文標題:百度Apollo Day丨陳競凱:依托堅實的AI技術底座打造自動駕駛技術體系
文章出處:【微信號:baiduidg,微信公眾號:Apollo智能駕駛】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論