淺析基于深度卷積網絡的自動駕駛多模態軌跡預測
?為了安全高效地在道路上行駛,自動駕駛汽車必須具有像人類駕駛員一樣預測周圍交通參與者行為的能力。目前,軌跡預測的相關研究受到了越來越多的重視。這篇文章主要解決軌跡預測的一個難點,即預測的多模態。同時,這篇文章的另一個亮點是通過卷積光柵圖像來實現預測。作者通過實驗得到了目前最優的預測效果。這篇文章對軌跡預測相關領域的研究具有一定的學習和參考價值。
無論是在難度還是潛在的社會影響方面,自動駕駛是目前人工智能領域面臨的最大問題之一。自動駕駛車輛(SDVs)有望在改善更多人的生活質量的同時,減少道路事故,挽救數百萬人的生命。然而,盡管有大量的關注和在自動駕駛領域工作的行業參與者,為了開發一個能與最好的人類駕駛員操作水平相當的系統,仍有許多工作要做。其中一個原因是交通行為的高度不確定性以及SDV在道路上可能遇到的大量情況,使得很難創建一個完全通用的系統。為了確保安全和高效的運行,自動駕駛車輛需要考慮到這種不確定性,并預測周圍交通參與者的多種可能行為。我們解決了這個關鍵問題,并提出了一種方法來預測多個可能的軌跡,同時估計它們的概率。該方法將每個參與者的周圍環境編碼成一個光柵圖像,作為深度卷積網絡的輸入,以自動獲得任務的相關特征。經過大量的離線評估和與最新基準的比較,該方法成功地在SDVs上完成了封閉道路測試。近年來,人工智能(AI)應用領域取得了前所未有的進展,智能算法迅速成為我們日常生活中不可或缺的一部分。舉幾個影響了數百萬人的例子:醫院使用人工智能方法來幫助診斷疾病[1],婚介服務使用學習的模型來連接潛在的夫婦[2],而社交媒體訂閱源則通過算法[3]來構建。盡管如此,人工智能革命仍遠未結束,并有可能在未來幾年進一步加速。有趣的是,汽車領域是主要的產業之一,目前為止人工智能的應用還很有限。大型汽車制造商通過在高級駕駛輔助系統(ADAS)中使用人工智能(AI)取得了一些進展[5],然而,它的全部能力仍有待通過新的智能技術的出現加以利用,例如自動駕駛汽車(SDVs)。盡管駕駛車輛對許多人來說是很平常的活動,但也是一項危險任務,甚至對于有幾年經驗的人類駕駛員來說也是如此[6]。雖然汽車制造商正努力通過更好的設計和ADAS系統來提高汽車安全性,但年復一年的統計數據表明,仍有許多工作要做來扭轉公共道路上的負面趨勢。尤其是2015年美國的車禍死亡人數占總死亡人數的5%以上[7],絕大多數車禍都是人為因素造成的[8]。不幸的是,這并不是最近才出現的問題,幾十年來,研究人員一直在試圖了解其原因。研究包括調查司機分心的影響[9]、酒精和毒品使用[10]、[11]和司機年齡[6]等因素,以及如何最有效地讓司機接受自己是易犯錯誤的并最高效地影響他們的行為[12]。毫不奇怪,現有文獻中的一個共同主題是,人類是交通系統中最不可靠的部分。這可以通過SDV的發展和廣泛應用來改善。硬件和軟件技術的最新突破使這一前景成為可能,為機器人和人工智能領域打開了大門,從而可能產生迄今為止最大的社會影響。自動駕駛技術已經發展了很長一段時間,最早的嘗試可以追溯到20世紀80年代,關于AL-VINN的研究[13]。然而,直到最近,技術進步才達到一個可以更廣泛使用的程度,例如2007年DARPA城市挑戰的結果[14],[15]。在這里,參賽隊伍必須在復雜的城市環境中導航,處理公共道路上常見的情況,并與人和機器人駕駛的車輛進行互動。這些早期的成功激發了人們對自動駕駛領域的極大興趣,許多行業參與者(如Uber和Waymo)和政府機構正競相為實現SDVs建立技術和法律基礎。然而盡管取得了進展,仍有更多的工作要做,來使SDVs以人的水平運作并充分商業化。要在現實世界中安全有效地運行,一個關鍵的難題是正確地預測周圍參與者的運動,一個成功的系統還需要考慮到他們固有的多模態特性。我們專注于這項任務,并以我們部署的基于深度學習的工作[16]為基礎,創建了編碼高清地圖和環境的鳥瞰圖(BEV)光柵,以預測參與者的未來,并提出以下貢獻:(1)我們擴展了現有技術,提出了一種方法,取代單一軌跡的推斷,而給出了多條軌跡及其概率;(2) 在對多假設方法進行廣泛的離線研究之后,該方法成功地在SDV上進行了封閉道路測試。?
圖1顯示了我們的模型如何捕獲未來6秒軌跡的多模態。該方法使用光柵化的車輛上下文(包括高清地圖和其他參與者)作為模型輸入,以預測參與者在動態環境中的運動[16]。當車輛接近交叉口時,多模態模型(其中我們將模態數設置為2)估計直行的概率比右轉的概率略低,見圖1a。在三個步驟后,車輛繼續直行,此時右轉的概率顯著下降(圖1c);注意,實際上車輛繼續直行通過交叉口。我們可以看到,單模態模型不能捕捉場景的多模態,而是粗略地預測兩種模態的平均值,如圖1b和1d所示。相關工作預測參與者未來動作的問題已在最近的一些出版物中討論過。本課題的全面概述見[17]、[18],在本節中,我們將從自主駕駛的角度回顧相關工作。首先,我們將介紹自動駕駛行業中實際應用的工程方法。然后,我們討論了用于運動預測的機器學習方法,特別強調了深度學習方法。自動駕駛系統中的運動預測大多數部署的自動駕駛系統使用成熟的工程方法來預測參與者的動作。常用的方法包括根據底層物理系統的假設和利用卡爾曼濾波(KF)[19],[20]等技術,通過隨時間傳播對象的狀態來計算對象的未來運動。雖然這種方法對短期預測效果很好,但由于模型忽略了周圍的環境(如道路、其他參與者、交通規則),其性能在較長時間內會下降。針對這一問題,MercedesBenz[21]提出的方法利用地圖信息作為約束條件來計算車輛的長期未來位置。系統首先將每個檢測到的車輛與地圖上的一條或多條車道相關聯。然后,基于地圖拓撲、車道連通性和車輛當前狀態估計,為每個車輛和相關車道對生成所有可能的路徑。這種啟發式方法在一般情況下提供了合理的預測,但是它對車輛和車道關聯的誤差很敏感。作為現有的部署工程方法的替代,所提出的方法自動地從車輛通常遵守道路和車道約束的數據中學習,同時很好地推廣到在道路上觀察到的各種情況。此外,結合現有的車道關聯的想法,我們提出了一個我們方法的擴展。機器學習預測模型人工設計的模型無法擴展到許多不同的交通場景,這促使機器學習模型成為替代方案,如隱馬爾可夫模型[22]、貝葉斯網絡[23]或高斯過程[24]。最近研究人員關注于如何使用逆強化學習(IRL)來模擬環境背景[25]。Kitani等人[26]考慮場景語義,使用逆最優控制來預測行人路徑,然而現有的IRL方法對于實時應用來說是低效的。深度學習在許多實際應用中的成功[27]促使人們研究它在運動預測中的應用。隨著近期遞歸神經網絡(RNN)的成功,其中一條研究路線叫做長短時間記憶(LSTM)被用于序列預測任務。文獻[28],[29]的作者應用LSTM預測了行人在社會交往中的未來軌跡。在[30]中,LSTM被應用于利用過去的軌跡數據預測車輛位置。在[31]中,另一個稱為門控遞歸單元(GRU)的RNN變體與條件變分自動編碼器(CVAE)結合用于預測車輛軌跡。此外,[32],[33]通過將卷積神經網絡(CNN)應用于一系列視覺圖像,直接從圖像像素預測簡單物理系統的運動。在[16]中,作者提出了一個系統,在該系統中,使用CNNs預測短期車輛軌跡,并將編碼單個參與者周圍環境的BEV光柵圖像作為輸入,該圖像隨后也應用于弱勢交通參與者[34]。盡管這些方法取得了成功,但它們并沒有解決精確的長期交通預測所需的未來可能軌跡潛在的多模態問題。目前存在許多研究在解決多模態建模的問題。混合密度網絡(MDNs)[35]是通過學習高斯混合模型的參數來解決多模態回歸問題的傳統神經網絡。然而,MDNs由于在高維空間中操作時的數值不穩定性,實際上經常難以訓練。為了解決這個問題,研究人員提出訓練一個網絡集合[36],或者訓練一個網絡,用一個僅考慮最接近真值的預測結果的損失,來產生M種不同假設[37]對應的M個不同輸出。由于良好的經驗結果,我們的工作建立在這些努力的基礎上。此外,在[38]中,作者通過學習將概率分配給六個機動類別的模型,介紹了公路車輛多模態軌跡預測的方法。該方法需要預先定義一組可能的離散動機,這對于復雜的城市駕駛來說可能很難定義。或者,在[28]、[29]、[31]中,作者建議通過采樣生成多模態預測,這需要重復的前向傳遞來生成多個軌跡。而我們提出的方法在一個單一的前向CNN模型上,直接計算多模態的預測結果。
圖2.
?本文提出的網絡框架提出的方法在本小節中,我們討論提出的交通參與者多模態軌跡預測方法,我們先介紹問題定義以及符號使用,然后討論我們設計的卷積神經網絡結構和損失函數。問題定義假設我們可以得到安裝在自動駕駛汽車上的傳感器,比如激光雷達、超聲波雷達或者相機的實時數據流。此外,假設這些數據被用于現存的檢測和跟蹤系統中,并輸出所有周圍交通參與者的狀態估計S(狀態包括檢測框、位置、速度、加速度、航向和航向角變化率)。定義跟蹤器輸出狀態評估的一組離散時間為,在連續的時間步之間的時間間隔是固定的(當跟蹤器工作在10Hz時,時間間隔為0.1s)。然后,我們定義跟蹤器在tj時刻對第i個交通參與者的狀態輸出為sij,這里i=1,…,Nj。Nj是在tj時刻被跟蹤的所有交通參與者數。注意一般情況下,交通參與者的個數是時刻變化的因為新的交通參與者會出現在傳感器的感知范圍內以及原先被跟蹤的交通參與者會超出傳感器的感知范圍。并且,我們假設可以得到自動駕駛汽車行駛區域的詳細的高精地圖信息M,包括道路和人行道位置,車道方向以及其他相關的地圖信息。多模態軌跡建模基于我們之前的工作[16],我們首先柵格化一個BEV柵格圖像,該圖像編碼交通參與者的地圖環境以及周圍交通參與者(比如其他的車輛和行人等),如圖一所示。然后,給定在tj時刻的第i個交通參與者的柵格圖和狀態估計sij,我們使用一個卷積神經網絡模型來預測M個可能的未來狀態序列,以及每個序列的概率。其中,m表示模態數,H表示預測的時間步長。有關柵格化方法的詳細描述,請讀者查閱我們之前的工作[16]。在不損失一般性的情況下,我們簡化了工作,我們只推斷第i個交通參與者未來的x和y坐標而不是完整的狀態估計,而其余的狀態估計可以通過狀態序列和未來的位置估計得到。在tj時刻交通參與者過去和未來的位置坐標都是都是相對于交通參與者在tj時刻的位置,其中前進方向為x軸,左手方向為y軸,交通參與者檢測框的中心為原點。本文提出的網絡結構如圖2所示。輸入是300*300的分辨率為0.2米的RGB柵格圖以及交通參與者當前的狀態(車速、加速度和朝向角改變率),輸出是M個模態的未來的x坐標和y坐標(每個模態有2H個輸出)以及它們的概率(每個模態一個標量)。所以每個交通參與者有(2H+1)M的輸出。概率輸出隨后被傳到softmax層以保證它們的和為1。注意任何卷積神經網絡結構可以被用作基礎網絡,這里我們使用了MobilleNet-v2。多模態優化函數在這一部分我們討論我們提出的建模軌跡預測問題固有的多模態性的損失函數。首先,我們定義在tj時刻第i個交通參與者的第m個模態的單模態損失函數為真值軌跡點和預測的第m個模態之間的平均位移誤差(或者L2范數)。
一個簡單的多模態損失函數我們可以直接使用的是ME損失,定義如下:
然而,從我們在第四節的評估結果可以看出,由于模態崩潰問題,ME損失不適用于軌跡預測問題。為了解決這個問題,我們受到[37]的啟發提出使用一種新的多軌跡預測(MTP)損失,它明確地模擬了軌跡空間的多模態。在MTP方法中,對tj時刻的第i個交通參與者,我們首先通過神經網絡的前向傳播獲得M條輸出軌跡。然后我們通過一個任意軌跡距離公式確定最接近真值軌跡的模態m。
在選擇了最佳的匹配模態m后,最終的損失函數可以被定義為如下:
這里I是一個二進制指示函數,如果條件c是真的就等于1,否則就為0,是一個分類交叉熵損失,定義為:
α是一個用來權衡兩個損失的超參數。換句話說,我們使最匹配的模態m的概率接近1,使其它模態的概率接近0。注意在訓練的過程中,位置的輸出只更新最優模態,而概率的輸出所有模態都更新。這使得每個模式都專門針對不同類別的參與者行為(例如,直走或者轉彎),這樣就成功地解決了模態崩潰的問題,如接下來的實驗中所示。
圖3:模態選擇方法(模態以藍色表示):使用位移時,真值(綠色)與右轉模態匹配,而使用角度時則與直行模態匹配我們實驗了幾種不同的軌跡距離函數。特別是作為第一選項,我們使用的是兩個軌跡之間的平均位移。但是,這個距離函數并不能很好地對十字路口處的多模態行為進行建模,如圖3所示。為了解決這個問題,我們提出一個通過考慮交通參與者當前位置與真值和預測軌跡最后一個位置之間夾角的測距函數,從而改進了對十字路口場景的處理。第四節給出了定量的比較結果。最后,對損失(2)和(4)我們訓練卷積神經網絡參數來最小化訓練集上的損失。
注意我們的多模態損失函數是不可知的選擇其中一個模態作損失函數,并且很容易將我們的方法推廣到論文[16]中提出的用負高斯對數似然來預測軌跡點的不確定性。車道線跟隨多模態預測之前我們描述了一種方法,它可以直接在一個前向傳播過程中預測多個模態。在[21]中,每輛車都與一條車道相關聯(即為車道線跟隨車輛),我們提出了一種隱式輸出多條軌跡的方法。特別是,假設我們已知可能跟隨的車道線和通過車道線評分系統篩選出不可能跟隨的車道線,我們添加了另一個柵格層來編碼此信息,并訓練網絡輸出車道線跟隨軌跡。然后,對于一個場景,我們通過生成多個不同的車道線跟隨的柵格圖,可以有效地預測多模態軌跡。為了生成訓練集,我們首先確定車輛實際跟隨的車道線并基于此建立輸入柵格圖。然后我們通過設置M=1(ME和MTP在這種情況下是相等的)來使用之前介紹的損失函數來訓練車道線跟隨(LF)模型。實際上,LF和其它方法可以被同時使用,分別處理車道線跟隨和其它的交通參與者。請注意我們介紹這種方法只是為了完整性,因為實踐者可能會發現將柵格化想法與現有的車道線跟隨方法相結合來獲得多模態預測會很有幫助,如[21]中所述。
圖4. LF模型在同一場景下不同跟隨車道線的軌跡輸出示例(淡粉色表示)在圖4中我們展示了同一個場景的柵格圖,但是使用兩個不同的用淡粉色標記的跟隨車道線。一個是直行另一個是左轉。該方法輸出的軌跡很好地遵循了預定的路徑,并可用于對車道線跟隨車輛生成多條預測軌跡。實驗我們通過手動駕駛在匹茲堡、PA、菲尼克斯、AZ等不同交通條件下(如不同時段、不同天數),收集了240小時的數據。從相機、激光雷達和超聲波雷達獲取原始傳感器數據,使用UKF[40]和運動學模型[41]對j交通參與者進行跟蹤,并以10Hz的速率對每輛跟蹤車輛輸出狀態估計。UKF在大量標記數據上進行了高度優化和訓練,并在大規模真實數據上進行了廣泛測試。每個交通參與者在每個離散時刻的跟蹤時刻相當于一個單一的數據點1,在刪除靜態交通參與者后,總體數據有780萬個數據點。我們考慮了6秒的預測時間(即H=60),α=1,并且使用3:1:1的分割比例獲得訓練集、驗證集和測試集。我們將提出的方法與幾個基線進行比較:(1)前向UKF實時估計的狀態(2)單軌跡預測(STP)[16](3)高斯混合軌跡空間MDN[35]
模型在TensorFlow[42]上實現,并在16Nvidia Titan X GPU卡上訓練。我們使用開源分布式框架Horovod[43]進行訓練,在24小時內完成。我們設置每個gpu處理的批量數為64,并使用Adam optimizer[44]進行訓練,將初始學習率設置為10-4,每隔2萬次迭代就降低0.9倍。所有的模型都是端到端的訓練,并部署到自動駕駛汽車上,使用GPU執行批量處理,平均時間約為10ms。實驗結果我們使用與運動預測相關的誤差度量來比較方法:位移(1),以及沿著和交叉跟蹤的誤差[45]分別測量與真值的縱向和橫向偏差。由于多磨要方法提供了概率,一種可能的評估方法是使用最可能的模態的預測誤差。但是,早期關于多模態預測[31]的研究發現,這種度量指標更傾向于單模態模型,因為他們顯示地優化了平均預測誤差,同時輸出了不真實的軌跡(參看圖1中的示例)。我們從[31]和[37]鏡像現有的設置,過濾掉概率低的軌跡(我們將閾值設置為0.2),并使用其余設置的最小誤差模式來計算度量指標。我們發現這種方式計算的結果更加符合自動駕駛汽車上的觀測性能。表1. 不同方法的預測誤差比較(以米為單位)
在表1中我們給出了預測步長為1s和6s的誤差,一級不同數量的模態M在整個預測步長的平均度量指標(模態數量從2到4)。首先我們可以看到單模態模型(如UKF和STP)顯然不適合進行上時間預測。然而它們在1s的短時預測結果是合理的,6s的預測誤差明顯大于最優多模態方法。這樣的結果是在意料之中的,因為在短期內交通參與者受到物理和它們周圍環境的限制,導致真值近似單模態分布[16]。另一方面,從長時間的角度來看,預測問題的多模態性變得更加明顯(例如當一個交通參與者接近一個十字路口時,它們在完全相同的場景下可能做出幾種不同的選擇)。單模態預測并沒有很好地考慮這種問題,而是直接預測了一個分布的平均值,如圖1所示。此外,值得注意的是,對于各種M值,MDN和ME給出的結果與STP相似。原因是眾所周知的模態崩潰問題,其中只有一個模態提供了非退化預測。因此,在實踐中,一個受影響的多模態方法會退回到單模態,不能完全捕獲多個模態。[37]的作者報告了MDNs的這個問題,并發現多模態假設模型受到的影響較小,我們的實驗結果也進一步證實了這一點。將我們的重點轉移到MTP方法上,我們觀察到與其他方法相比有了明顯的改進。平均誤差和6s時刻的誤差都全面下降,表明這些方法學習到了交通問題的多模態性。短期1s和長期6s的預測誤差均低于其它方法,即使在長期預測的效果更加明顯。有趣的是,結果表明當M=3時,各項評價指標均達到了最佳。表2. 對于不同模態在6s時刻的位移誤差
接下來,我們評估了不同的軌跡距離度量,以選擇在MP訓練中的最佳匹配模態。表一顯示,使用位移作為距離函數比使用角度的性能稍好。然而,為了更好地理解這種選擇的含義,我們將測試集分為三類:左轉、右轉和直行(測試集中95%的交通參與者大致是直行,其余的在轉彎之間平均分布),并在表2中報告了6s預測的結果。我們可以看到,使用角度改善轉彎的處理,以及非常輕微的退化直行情況。這證實了我們的假設,即角度匹配策略提高了十字路口的性能,這對自動駕駛汽車的安全性至關重要。考慮到這些結果,在本節的剩余部分中,我們將使用角度模態匹配策略的MTP模型。
圖5. 從左到右分別對應1到4個不同模態對輸出軌跡的影響在圖5中,當增加模態M的數量時,我們可以看到,當M=1時(即所推斷的軌跡大致是直線模式和右轉模式的平均值。增加模態的數量到2,我們得到了一個直走和右轉模態的清晰的分離。此外,將M設置為3會出現左轉模態,盡管可能性很低。當我們設置為M=4時,我們發現了一個有趣的結果,直線模態又分成了“快”和“慢”模態,建模·交通參與者的縱向速度。我們注意到在遠離十字路口的直道上也有同樣的效果,直行模態會分開成幾種不同的速度模態。
圖6. 模態概率校正的分析最后,我們對預測模態概率的標定進行了分析。特別地,利用測試集,我們計算了預測模態概率和與真值軌跡最匹配的模態概率之間的關系。我們根據軌跡的預測概率對其進行了分段,并計算了每個分段的平均模態匹配概率。圖6給出了我們使用M=3的結果,而M為其他值的結果與所示類似。我們可以看出,改圖與y=x參考線非常接近,表明預測的概率經過了很好的校準。由于交通參與者行為固有的不確定性,為了保證在道路上安全高效地行駛,自動駕駛汽車需要考慮周圍交通參與者未來可能的多條軌跡。在這篇論文中,我們解決了自動駕駛問題的這一關鍵方面,并且提出了一種對車輛運動預測的多模態建模方法。該方法首先生成一個柵格圖編碼交通參與者的周圍環境,并使用一個卷積神經網絡模型輸出幾個可能的預測軌跡及其概率。我們討論了幾種多模態模型,并與目前最先進的方法進行了比較,結果表明,本文提出的方法具有實際效益。經過大量的離線評估,該方法成功地在自動駕駛汽車上進行了測試。