中談到了無人駕駛預測的方法有兩種:基於規則的預測算法和基於機器學習的預測算法,今天來看看基於遞歸神經網絡(RNN)的目標車道預測。
什麼是遞歸神經網絡(RNN)
神經網絡是可訓練的多層模型,它通過輸入層輸入數據,並經過中間層提取高級Feature,並使用這些Feature計算得到最終的結果。
神經網絡從數據中學習的方法叫後向傳播,首先神經網絡得到輸入,併產生輸出,然後比較Ground Truth與輸出的誤差,然後這種誤差通過網絡反向傳播,中間隱層根據誤差調整網絡權重,以便在下一次傳播中提升神經網絡的準確率。
我們可以建立多重遞歸的神經網絡模型(MLP),從數據序列中提取高級特徵。每個MLP單元將序列的一個元素作為輸入,並預測序列的下一個元素作為輸出,為了對元素之間的順序關係建立模型,在每個單元之間建立一個額外的連接,這意味著每個單元根據輸入和上個單元的輸出做預測。這就是RNN的基礎結構。
基於遞歸神經網絡的目標車道預測
Apollo中使用RNN來預測車輛的目標車道。它為車道序列提供一個RNN模型,為障礙物提供另一個RNN模型,Apollo連接這兩個RNN的輸出,並且將它們的反饋輸入另一個神經網絡,該網絡會估算每個車道序列的概率,具有最高概率的序列就是我們預測目標車輛將遵循的序列。
為了訓練這個神經網絡,我們比較網絡輸出和真值,使用反向傳播來訓練網絡,
軌跡生成
軌跡生成是預測的最後一個步驟,一旦我們預測了車道序列,就可以生成車輛的預測軌跡。物體的運動軌跡有無限可能,我們怎麼預測最可能的軌跡呢?我們可以通過設置約束條件來過濾候選軌跡,比如移除掉車輛無法實際執行的軌跡,以及車輛的速度和加速度移除非舒適的軌跡等等。
Apollo中並沒有枚舉所有的軌跡再做篩選過濾,這只是一種數學意義上的推導。事實上,只要知道車輛的初始姿態和結束姿態,我們通過多項式擬合就可以得到一條絕大多數程度下適合的一條運動軌跡。
閱讀更多 半杯茶的小酒杯 的文章