劉延釗,黃志球,沈國華,王金永,徐 恒
(1.南京航空航天大學計算機科學與技術學院,江蘇 南京 211106;2.南京航空航天大學高安全系統(tǒng)的軟件開發(fā)與驗證技術工業(yè)和信息化部重點實驗室,江蘇 南京 211106;3.軟件新技術與產業(yè)化協(xié)同創(chuàng)新中心,江蘇 南京 210093)
自動駕駛車輛是包含感知、決策和控制三大功能模塊的智能體系統(tǒng)[1]。其中,行為決策模塊的功能是進行自動駕駛車輛駕駛行為決策,其決策結果關乎自動駕駛車輛的行駛安全。因此,提高行為決策模塊的智能化水平是自動駕駛領域的研究熱點和難點。21世紀初,美國成功舉辦自動駕駛車輛公開賽,掀起了全球自動駕駛技術研究的熱潮。近些年,我國自動駕駛產業(yè)蓬勃發(fā)展,隨著科研技術的突破和成果的產出,自動駕駛技術逐漸地改變了現(xiàn)代人類的生活方式。然而,隨著近些年自動駕駛車輛事故的發(fā)生,在社會上也引起了民眾對于車輛安全方面的普遍擔憂。
城市交通中存在的不確定性因素給自動駕駛車輛識別和判斷交通情況并做出合理駕駛行為造成極大的困難。這些不確定性主要體現(xiàn)在交通參與者行為難以預測。因此,在城市中進行自動駕駛是一個突出的挑戰(zhàn),特別是在許多激進的、高速的交通參與者面前[2]。麻省理工學院的自動駕駛車輛技術(Massachusetts Institute of Technologyautonomous vehicles technology,MIT-AVT)研究結論表明:由于人類行為在不同層面的差異,自動駕駛系統(tǒng)在實際應用過程中面臨巨大挑戰(zhàn),這些挑戰(zhàn)來自于人與環(huán)境交互過程中的不確定性[3]。主要包括以下幾類:①人類在參與交通過程中的行為具有不確定性,主要包含與其他車輛、行人等交通參與者之間信息交互時的不確定性。②人工駕駛員風格、經驗和其他有助理解、判斷人工駕駛行為等因素的不確定性。③人類對駕駛環(huán)境的判斷和駕駛方式的差異性。④人類駕駛員駕駛車輛熟練度的差異性。⑤車輛發(fā)生故障時,人類駕駛員故障排除能力的差異性。
自動駕駛技術融入城市交通中,能夠改善交通環(huán)境,提高出行的安全性,減少交通事故的發(fā)生頻率。然而,距離自動駕駛完全進入現(xiàn)代交通流還要幾十年時間。在此期間,自動駕駛車輛不可避免地要與其他車輛以及車輛內部和外部的人進行交互[4],因此人類駕駛員仍是最關鍵的決策者[5]。
當前,由于對駕駛行為分類的研究并不完善,自動駕駛領域內并沒有形成共識以供參考來準確地判斷不同的駕駛行為類別。現(xiàn)有研究對于分類標準的定義給出了不同的方式。例如Augustynowicz[6]考慮將駕駛行為規(guī)范為[-1,1]的離散值。Constantinescu等[7]采用主成分分析(principal component analysis,PCA)法篩選出5類駕駛行為。Miyajima等[8]利用高斯混合模型(Gaussian mixture model,GMM)來分類駕駛員的行為。Yurtsever等[9]使用詞袋(bag of words,BOW)和K均值聚類算法分類駕駛行為。Sama等[10]使用一個自編碼網(wǎng)絡來獲取基于道路類型的駕駛特征。Liu等[11]利用三通道RGB(red green blue)來描述不同的駕駛行為,并利用深度稀疏自編碼器分類不同的駕駛行為。
這些方法雖然在一定程度上對駕駛風格進行了定義,但目前的研究尚未形成共識,主要原因在于這些方法對人工駕駛車輛行為相關知識獲取和表達的研究都限定在某個具體的交通場景中,且預測模型大多為黑盒模型,可解釋性差,若通過豐富場景進行知識獲取,經濟成本和時間消耗巨大,因此在應對復雜多變的城市交通環(huán)境時存在明顯的局限性。在知識的獲取和表達方面,目前主要的研究方法有模糊理論、人工神經網(wǎng)絡、專家系統(tǒng)。這些方法能夠對知識進行簡單有效地表達,但缺點是無法對知識進行自動獲取,而且實時性和推理速度方面存在缺陷。人工神經網(wǎng)絡雖然能解決知識獲取的問題,但在模型擬合上容易存在“過學習”和“欠學習”的問題,且模型靈活性較差,學習收斂速度慢[12]。
決策樹算法是支持決策過程可視化的白盒模型,在知識自動獲取和準確表達方面具有明顯優(yōu)勢,便于引入專家經驗理解人工駕駛車輛行為和交通場景中多源異構信息的關系,極大地降低了研究影響人工駕駛行為因素的時間和成本。另外,通過決策樹剪枝可以有效避免過擬合問題,因此在應對駕駛行為的分類問題上具有明顯優(yōu)勢。
自動駕駛車輛行為決策方法按照實現(xiàn)邏輯可以分為以下兩類:
(1)基于規(guī)則的行為決策方法:常用方法為有限狀態(tài)機。該方法的邏輯為根據(jù)駕駛經驗和交通法規(guī)等約束,提前建立規(guī)則匹配機制,在車輛駕駛過程中根據(jù)實際情況匹配具體的駕駛行為[13]。代表性的應用包括國防科技大學的紅旗CA7460無人車[14]、美國福特集團與卡內基梅隆大學合作的BOSS無人車[15]、麻省理工大學的Talos無人車[16]、斯坦福大學與德國大眾公司合作的Junior無人車[17]等?;谝?guī)則的行為決策方法邏輯性強,規(guī)劃推理能力強,但規(guī)則設計復雜、成本高,對實際場景覆蓋率低,推理準確率低。
(2)基于學習算法的行為決策方法:此類方法的邏輯為利用大量數(shù)據(jù)進行模型訓練來模擬真實的駕駛環(huán)境,通過模型完成駕駛行為選擇[18]?;趯W習算法的行為決策中常用的方法為:部分可觀測馬爾可夫決策過程[19](partially observable Markov decision process,POMDP)、卷積神經網(wǎng)絡[20]、貝葉斯網(wǎng)絡(Bayesian network,BN)等。Ulbrich等[21]通過提出基于非線性動態(tài)BN的場景建模方法,提高了自動駕駛車輛換道的可靠性。Brechtel[22]在POMDP模型的基礎上嵌入BN,減小了行為決策過程中由于環(huán)境感知不確定帶來的風險。Liu等[23]利用深度強化學習算法解決高速公路上的水平決策問題,無碰撞地完成了導航任務。代表應用有智能先鋒II號無人車[24]、英偉達端到端卷積神經網(wǎng)絡決策系統(tǒng)[25]等。與基于規(guī)則的行為決策方法相比,基于學習算法的行為決策方法具有更高的推理準確率和真實場景覆蓋率。同時,也存在一些大數(shù)據(jù)領域的普遍問題,即數(shù)據(jù)依賴性強、模型可解釋性差[26]等問題。
針對當前自動駕駛車輛行為決策研究中存在的缺乏人工駕駛車輛行為相關知識的獲取與表達、對交通場景中不確定性因素考慮不充分等問題,本文提出利用決策樹算法進行人工駕駛行為分類,并結合BN概率推理的自動駕駛車輛行為決策模型。
決策樹是依據(jù)決策建立起來的、用來分類和決策的樹結構。概括地說,決策樹算法的邏輯可以描述為if-then,根據(jù)樣本的特征屬性按照“某種順序”排列成樹形結構,將樣本的屬性取值按照if-then邏輯逐個自頂向下分類,最后歸結到某一個確定的類中?!澳撤N順序”是指決策樹的屬性選擇方法。以二叉決策樹為例,樹形結構由結點和邊組成,決策樹的結點代表分類問題中樣本的某個屬性,邊的含義為是與否兩種情況,即樣本屬性取值是否符合當前分類依據(jù)。
1.1.1 決策樹的屬性選擇方法
決策樹學習的關鍵在于選擇劃分屬性。屬性的選擇流程可簡略表述為:首先,計算訓練樣本中每個屬性的“貢獻度”,選擇貢獻最高的屬性作為根結點。根結點下擴展的分支將依據(jù)根結點所代表屬性的取值決定(例如根結點代表的屬性為性別,則分支為男和女)。然后,將已經被選擇為結點的屬性從候選屬性集中剔除,接著不斷重復進行候選屬性集合中剩余屬性的“貢獻度”的計算和選擇,直至達到預設的模型訓練閾值(例如達到決策樹最大深度)。最后,得到一棵能較好地擬合訓練樣本分布的決策樹模型。
根據(jù)屬性選擇方法的不同,可以把決策樹的生成算法分為以下3種:
(1)ID3(iterative dichotomiser 3)算法:信息增益大的屬性優(yōu)先。首先,計算所有候選屬性的信息增益,選擇其中信息增益最大的屬性作為根結點。然后,按照根結點所代表屬性的取值決定分支情況。其次,將已選擇屬性從候選集中刪除,并計算剩余屬性的信息增益。最后,選擇信息增益最大的結點作為子結點,直至所有屬性都已選擇。信息熵是用來衡量樣本純度指標的,是計算信息增益的前提,定義為
式中:D為樣本集合;p k為D中第k類樣本所占的比例,其計算方式為
式中:Ck表示集合D中屬于第k類樣本的樣本子集。
假設D中某個具有V個取值的屬性為A,取值分別為{a1,a2,…,a V}。根據(jù)不同的取值將D中的樣本劃分為V個子集。其中,取值為av的樣本屬于第v個子集,記作D v。
根據(jù)式(1)可以計算出樣本D v的信息熵。通過增加各分支權重|D v|/|D|使樣本數(shù)量多的結點具有更大的“影響”[27]。首先,計算屬性A對于數(shù)據(jù)集D的條件熵Ent(D|A):
然后,計算用屬性a對樣本集合D進行劃分所得的信息增益=信息熵-條件熵:
通過對所有屬性的信息增益進行計算,選擇信息增益最大的屬性作為結點添加入樹,重復進行屬性的信息增益計算和選擇過程,最終構建出一棵分類決策樹。
(2)C4.5算法:信息增益率大于平均值的屬性優(yōu)先。信息增益率即為各屬性信息增益所占比例。因此,屬性取值的個數(shù)越少,信息增益率反而越高,這就導致信息增益率準則更偏向于取值個數(shù)少的屬性。因此,在ID3算法中各屬性信息增益計算的基礎上,C4.5算法運用了一個啟發(fā)式原則:首先,計算每個屬性的信息增益率,進而計算所有屬性的平均信息增益率。然后,按照信息增益率與平均信息增益率的大小關系,將屬性分為兩類。最后,選擇信息增益率大于平均值,且數(shù)值最大的屬性。信息增益率的計算方式為
式中:H A(D)是與屬性A有關的定值。通常,取值為樣本集合D的信息熵:
(3)分類與決策樹(classification and regression tree,CART)算法:基尼指數(shù)小的屬性優(yōu)先。CART不再以信息增益為基礎進行屬性的選擇,而是采用一種代表樣本不純度的指標對屬性進行度量,這種不純度指標叫做基尼指數(shù)?;嶂笖?shù)越小代表樣本的純度越高。基尼指數(shù)的定義為
1.1.2 決策樹算法選擇
決策樹依靠不同的屬性選擇方法生成樹結構,但如果不加干預地任其生長,可能導致生成的決策樹規(guī)模太過龐大,對訓練數(shù)據(jù)學習的“過分好”,這類問題被稱為過擬合。剪枝策略常被用于減少過擬合風險。剪枝是指對決策樹的分支進行修剪,防止決策樹規(guī)模過大的一類方法。按照對分支修剪時間的不同,可分成“預剪枝”和“后剪枝”策略。其中,預剪枝策略是指在未確定劃分結點前,判斷決策樹是否進一步生長的。例如,該結點劃分并不能提高分類準確率,則拒絕使用該結點進行劃分。后剪枝是指在已經生成決策樹的基礎上加以調整,得到更精簡的后剪枝決策樹的策略。但實際上修剪樹是為了縮小決策樹的規(guī)模,如果修剪過度,則會導致學習結果過于“簡單”,從而導致欠擬合問題。
ID3算法以信息增益為標準選擇屬性,缺點為:①沒有剪枝策略,容易導致過擬和問題。②屬性取值個數(shù)越多,信息增益越大。③只能用于處理離散分布的屬性。④沒有考慮缺失值。
對于ID3算法存在的缺點,C4.5算法有了一定的改進。C4.5通過剪枝策略可以有效降低過擬合風險。以信息增益率為標準,克服了ID3對取值個數(shù)多的屬性的傾向問題。通過選擇相鄰樣本平均數(shù)作為劃分點,來處理連續(xù)屬性。用沒有缺失值的樣本子集來填充,解決數(shù)據(jù)缺失的問題。但C4.5算法同樣存在一些不足:①剪枝策略可以再優(yōu)化。②C4.5使用多叉樹,效率不如二叉樹高。③C4.5只用于分類,不能用于回歸任務。④C4.5基于熵運算,設計大量對數(shù)運算,耗時較長。
CART算法在C4.5的基礎上進行了改進。CART算法基于“代價復雜度”,剪枝效率更高。CART是二叉樹結構,運算效率高,且既可以用于分類,也可以用來回歸。CART算法通過計算基尼指數(shù)進行結點劃分,避免了費時的對數(shù)運算。
基于以上不同算法的對比,并結合實際應用中自動駕駛車輛數(shù)據(jù)集龐大,對運算速度要求高,需要對缺失值處理等原因,本文采用性能最好的CART算法作為構建決策樹模型的方法。
人工駕駛行為預測模型如圖1所示。
圖1 人工駕駛行為預測模型Fig.1 Prediction model of human-driving behaviors
1.2.1 線下訓練
人工駕駛行為預測流程分為模型的構建和行為預測兩部分。模型的構建部分就是線下訓練獲得最優(yōu)模型并導出的過程,該流程主要分為3個階段:
(1)數(shù)據(jù)預處理階段:該階段的目的是采集數(shù)據(jù)并提取數(shù)據(jù)特征形成訓練模型的數(shù)據(jù)集。首先,利用輔助駕駛軟件PreScan搭建仿真場景并采集數(shù)據(jù),通過PCA降低數(shù)據(jù)的相關性,獲得了人工駕駛車輛速度、與人工駕駛車輛相對距離、剎車次數(shù)等數(shù)據(jù)主屬性。然后,計算得到與人工駕駛車輛相對速度等屬性具有一定相關性,且對分析人工駕駛行為具有重要意義的屬性。最后,對數(shù)據(jù)進行篩選并進入模型訓練階段。
(2)模型訓練階段:該階段的目的是根據(jù)訓練數(shù)據(jù)對決策樹模型進行學習。首先,計算每個屬性對于數(shù)據(jù)集的基尼指數(shù)?;嶂笖?shù)代表了有放回抽樣實驗中,從一個樣本空間中選擇的兩個樣本不相同的概率。然后,選擇基尼指數(shù)最小的屬性作為劃分結點,并產生分支。其中,每個分支代表的子樹部分的數(shù)據(jù)純度比父結點劃分前數(shù)據(jù)純度高,以此來代表對樣本進行了進一步的分類。最后,遞歸地執(zhí)行屬性的基尼指數(shù)計算。隨著結點的劃分,每個結點中的樣本純度逐漸增大,即更傾向于同一類別。為了防止決策樹的過擬合問題,在模型訓練時可以預先設置訓練閾值(如決策樹最大深度等)。當結點的分裂過程中參數(shù)達到了訓練閾值,就結束決策樹的生成過程,并通過后剪枝策略將生成的決策樹中那些對樣本分類“貢獻”低的分枝剪掉。剪枝策略能夠縮小決策樹的規(guī)模,有效地防止過擬合問題,從而提升訓練模型的泛化能力。
(3)模型優(yōu)化階段:該階段的目的是對模型的最優(yōu)參數(shù)進行選擇。由于搜索過程是一個遍歷模型候選參數(shù)的過程,若模型參數(shù)的取值過多,則遍歷過程復雜且耗時。因此,采用網(wǎng)格搜索的模型參數(shù)選擇方法。首先,通過設置每個參數(shù)的取值范圍和增量大小,降低遍歷過程的復雜度,從而獲得最優(yōu)模型參數(shù)。然后,導出最優(yōu)模型訓練參數(shù)和模型文件,用于最優(yōu)模型的線下預測階段。
1.2.2 在線預測
人工駕駛行為預測模型的在線預測部分的功能是將自動駕駛車輛傳感器獲得的時空數(shù)據(jù)輸入到最優(yōu)模型中,進行人工駕駛行為在線預測。最優(yōu)模型的分類精度與行為預測結果將組合成標簽 概率對,作為自動駕駛行為決策模型的一個輸入。
二分類問題中通常包括兩類結果,即正類和反類,根據(jù)分類模型對屬于不同類別的數(shù)據(jù)預測結果的不同,可以將結果分為以下4種情況:
(1)真正類TP:實際與預測結果均為正類。
(2)真反類TN:實際與預測結果均為反類。
(3)假反類FN:實際為正類,預測結果為反類。
(4)假正類FP:實際為反類,預測結果為正類。
根據(jù)以上4種分類結果,定義查準率P和查全率R分別為
在實際的分類模型評價標準中,最常用的是F1度量,它是查準率P和查全率R的調和平均。
由于人工駕駛行為分類模型的訓練是一個多分類任務,考慮F1度量的兩種計算方式,微觀F1(micro-F1)和宏觀F1(macro-F1),兩者的區(qū)別在于micro-F1是通過計算所有類別總的P和R,然后計算F1的值,而macro-F1是通過計算每個類別的P和R,然后計算F1,最后將每個類別的F1取平均得到。
由于本文人工駕駛行為分類模型訓練所用數(shù)據(jù)較平衡,故采用macro-F1作為分類模型的評價指標。
BN是一種以貝葉斯公式為基礎的概率圖模型,BN的結構是一個有向無環(huán)圖(directed acyclic graph,DAG),圖中結點被稱為BN結點,若結點之間存在依賴關系,則由一條有向邊連接,方向為被依賴結點指向依賴結點[28]。BN的參數(shù)由結點的概率值和結點間的條件概率表(conditional probability table,CPT)組成,CPT用來描述屬性的聯(lián)合概率分布。具體來說,一個BN由結構G和參數(shù)θ兩部分構成,即BN=〈G,θ〉,網(wǎng)絡結構G是一個DAG,每個結點對應一個屬性,若兩個屬性有直接依賴關系,則二者由一條有向邊連接起來,由父結點指向子結點;參數(shù)θ定量描述這種依賴關系,假設屬性x i在G中的父結點集合為πi,則θ包含了每個屬性的條件概率表
BN結構表達屬性之間的條件獨立性,給定父結點集,BN假設每個屬性與其非后裔屬性獨立,即屬性x1,x2,…,x d的聯(lián)合概率分布定義為
2.2.1 BN學習
BN通過有向邊將網(wǎng)絡中各個結點連接起來,當其中的某個結點狀態(tài)發(fā)生變化時,與其直接或間接相連的結點也會隨之更新,這個過程稱為貝葉斯推理。推理的前提是構建出符合問題需求的BN模型,為了充分利用BN概率推理的能力,學習得到一個好的DAG和CPT十分重要。
BN學習分為結構學習和參數(shù)學習兩部分[29]。
結構學習是指構建出符合問題需求的DAG結構,常用方法為基于采樣的馬爾可夫鏈蒙特卡羅(Markov chain Monte Carlo,MCMC)方法,該方法是基于馬爾可夫鏈實現(xiàn)的參數(shù)估計方法。通過構造先驗分布,來模擬待估計參數(shù)可能的分布情況。隨著狀態(tài)的變化,馬爾可夫鏈逐漸收斂,從收斂后的馬爾可夫鏈中按照一定的采樣標準進行樣本采樣,用采樣的樣本逼近待估計參數(shù)的后驗分布。
假設,存在連續(xù)型變量x∈X,變量x的概率密度為p(x),根據(jù)連續(xù)性變量的概率定義可知,變量x在其定義域X內的期望為
如果存在另外的函數(shù)f,滿足f(x)在定義域X內均有定義,那么f(x)在定義域X上的期望為
則式(14)的無偏估計為
式中:x1,x2,…,x n是獨立同分布的隨機變量。
如果連續(xù)變量x的概率密度p(x)比較復雜,那么式(14)中的積分運算將無法進行。而MCMC方法通過采樣樣本來逼近真實分布的方式避免了困難的積分運算問題。其中,采樣的樣本是有限個數(shù)的,并且服從真實分布情況的。
將馬爾可夫鏈狀態(tài)轉移的概率概率記作T(x′|x),t時刻的狀態(tài)分布記作p(x t)。如果滿足如下條件:
那么,稱p(x)為馬爾可夫鏈的平穩(wěn)分布。式(16)被稱為馬爾可夫鏈的細致平穩(wěn)條件。
MCMC的采樣方式中,具有代表性的算法為Metropolis-Hastings(MH)算法。通過“拒絕采樣”來近似得到平穩(wěn)分布,M H算法流程如下所示。
參數(shù)學習是指在已知貝葉斯網(wǎng)絡結構的情況下,構建當前結構各結點代表的屬性之間的CPT。目前最常用的參數(shù)學習方法為最大似然估計[30](maximum likelihood estimation,MLE),通過采樣數(shù)據(jù)進行參數(shù)估計。假設數(shù)據(jù)集D c包含訓練集D中所有屬于類別c的樣本,并且這些樣本滿足獨立同分布性質,那么,便可得到參數(shù)θc對于數(shù)據(jù)集D c的似然為
P(D c|θc)取最大值時的參數(shù)值便是θc進行最大似然估計。求解過程如下:
由于似然函數(shù)為連乘形式,且概率P滿足P>0,所以對似然函數(shù)等號兩邊同時取對數(shù)得到對數(shù)似然(log-likelihood,LL):
2.2.2 貝葉斯推斷
BN訓練好(即結構和條件概率表確定)后,便可以用來進行“查詢”即概率推理[31-32],通過一些屬性變量的觀測值來推測其他屬性變量的取值,這個過程被稱為貝葉斯推斷,屬性變量觀測值稱為“證據(jù)”。
貝葉斯推斷的過程就是貝葉斯公式計算的過程。貝葉斯公式為
式中:H表示待推斷假設;E表示證據(jù);P(H)稱為先驗概率,即證據(jù)E未被觀測前對于H基于現(xiàn)有知識的認知;P(E)稱為歸一化常數(shù),或邊緣似然率,是一個定值;P(H|E)稱為后驗概率,是推斷的結果;P(E|H)稱為似然,指在給定假設下,證據(jù)與假設的相容程度,是E的函數(shù)。
貝葉斯推斷的具體步驟如下:
步驟1確定BN結構和CPT,并基于先驗知識,構建初始的BN。
步驟2觀測到證據(jù)后,根據(jù)證據(jù)更新網(wǎng)絡。若證據(jù)是根結點,則沿著邊緣正向傳播,若為子結點,則沿著邊緣反向傳播。即根據(jù)貝葉斯規(guī)則,計算新的先驗條件概率。
步驟3根據(jù)計算出的先驗條件概率,沿著邊緣逐個更新各結點的后驗概率。
步驟4當有新的證據(jù)被觀測到時,執(zhí)行步驟2和步驟3更新所有結點的后驗概率。
BN實際是由一些結點以條件概率的形式,直接或間接連接起來的,直觀上看,結點與結點之間靠有向邊連接,但實際是以概率的形式互相影響的,所以BN支持從原因到結果的正向推斷,也支持從結果到原因的反向推斷。同時BN支持流式數(shù)據(jù)的更新,觀測到證據(jù)后BN得到更新,而當新數(shù)據(jù)到來時,前期更新得到的后驗概率又作為新證據(jù)的先驗概率參與BN更新,不要求這些證據(jù)同時出現(xiàn),符合實際交通場景中不同行為的非同時性,這個過程叫做貝葉斯更新。最終的更新結果為各結點的后驗概率,因此本文以后驗概率最大為選擇依據(jù)。
利用BN構建自動駕駛車輛行為決策模型。決策額框架如圖2所示。該框架分為BN學習階段和BN駕駛行為決策階段。首先,根據(jù)駕駛場景信息進行BN學習,結合先驗知識進行最優(yōu)結構篩選。然后,將學習到的BN模型導出。最后,將傳感器實時數(shù)據(jù)和人工駕駛行為預測結果輸入到模型中,進行BN概率推理,獲得最優(yōu)駕駛動作。
圖2 自動駕駛車輛行為決策框架Fig.2 Framework of behavioral decision-making of autonomous vehicles
在復雜且充滿不確定性的城市交通環(huán)境中,自動駕駛車輛的行為決策系統(tǒng)能否充分考慮復雜的路況以及不確定性因素,直接影響著自動駕駛車輛行駛的安全性?,F(xiàn)階段,自動駕駛車輛的研究已經取得了一些成果,但短時間內完全取代人工駕駛車輛仍無法實現(xiàn),所以人工駕駛車輛與自動駕駛車輛共存的交通環(huán)境仍是研究的主要方向。對于人工駕駛車輛來說,駕駛員的操作尤其重要,然而真實世界中,絕大部分的交通事故都是由于人類駕駛員的錯誤操作引起的。2016年2月,谷歌自動駕駛車輛與加州的一輛公交車相撞,據(jù)谷歌官方說法,當時自動駕駛車輛正在山景城菲利斯大道上向北行駛,一輛在國王大道上向西行駛的公交突然闖紅燈,最終導致兩車相撞。事故調查結果顯示,當時谷歌自動駕駛車輛試圖并道時與一輛行駛的公交車相撞,汽車中的工作人員表示自己當時認為公交車會放慢車速讓汽車通過,因此并未采取任何應對措施,但實際上公交車非但沒減速,反而加速轉彎,這就是導致事故發(fā)生的主要原因。由此次事故可見,人工駕駛車輛的行為的確會影響自動駕駛車輛的安全,在某些情況下,忽略這一因素甚至會導致嚴重的交通事故。另外,在城市交通中,不遵守交通規(guī)則的行為時有發(fā)生,例如行人無視紅綠燈橫穿馬路、車輛爭搶路口強行超車等行為。另外在車輛眾多、識別難度大的場景,例如停車場等,自動駕駛車輛要能給出合理、高效的駕駛行為也顯得尤為重要。
根據(jù)以上情形設置駕駛場景,并針對各場景進行行為決策分析以及仿真實驗驗證,重點針對場景一進行詳細分析,其他場景的分析結果將在仿真實驗中展示。
場景1還原谷歌2016年事故場景。在十字路口處,自動駕駛車輛處在同向兩車道右側由南向北行駛,初速度為6 m/s,車道中心線為虛線(即允許在安全的情況下進行換道操作),路口附近有一向西行駛的人工駕駛車輛企圖進入右側車道繼續(xù)向北行駛,到達路口時速度為10 m/s,加速度為2 m/s2。
場景2在城市中一個雙向四車道前方有人行道的路況下,自動駕駛車輛由西向東在最右側車道以10 m/s的速度行駛,左前方、左后方、前方同車道各有一輛人工駕駛車輛,人行道處有行人橫穿馬路。
場景3存在多車輛的停車場,自動駕駛車輛欲安全穩(wěn)步提速駛離停車場,加速度為3 m/s2。
3.2.1 人工駕駛行為分類模型
在自動駕駛車輛行駛的過程中,將傳感器獲得的自動駕駛車輛周圍車輛的信息(如速度,是否正常使用轉向燈等),與周圍車輛關系信息(如相對距離,相對速度等)以及環(huán)境信息(如交通燈,人行道等)輸入訓練好人工駕駛行為分類模型進行在線預測獲得駕駛行為類別,并將該類別以及分類準確率作為BN行為決策模型的一個輸入。
3.2.2 BN行為決策模型
BN的結點代表了交通環(huán)境中參與決策的要素,結點間的有向邊表示結點間的因果關系。結點中包含結點名稱、屬性,結點間通過條件概率相互關聯(lián)。
以場景1為例,行為決策模型中所應用的BN結點的名稱及含義如表1所示。
表1 BN結點及其含義Table 1 Name and meaning of BN nodes
表1中僅列舉了場景1中涉及到參與決策的結點,本文利用BN工具Netica實現(xiàn)BN結構的創(chuàng)建,訓練和概率推理,以最大后驗概率準則為依據(jù)選擇自動駕駛車輛最優(yōu)駕駛行為。場景1的初始BN如圖3所示。
圖3 場景1的初始BNFig.3 Initial BN of scenario 1
圖3中描述了3類信息:
(1)道路信息(車道,車道線,交通燈,人行道,障礙物):用于自動駕駛車輛識別周圍交通道路情況,以確定可能采取的駕駛行為,如車道線為虛線,則表示允許換道操作。
(2)其他交通參與者信息(行人,右前方車輛,駕駛行為類別):這類信息是自動駕駛車輛需要及時應對的交通環(huán)境中的不確定性因素,要想做出安全可靠的駕駛行為,需要對這些交通參與者的行為做出及時的應對,如行人橫穿馬路,車輛需減速避讓。
(3)自動駕駛車輛信息(自動駕駛車輛):根據(jù)道路信息確定的自動駕駛車輛可能的駕駛行為。
駕駛行為決策過程即BN概率推理過程,在訓練好的BN基礎上,當“證據(jù)”被觀測到(即傳感器獲取了當前道路信息和其他交通參與者信息)時,將BN中對應結點的概率值依次更新,進而依次更新其他各結點的后驗概率,得到場景1更新后的BN如圖4所示。
圖4 場景1更新后的BNFig.4 Updated BN of scenario 1
圖4中除駕駛行為類別和自動駕駛車輛結點外,其余結點的概率值均通過車輛傳感器實時獲取,其中駕駛行為類別結點的概率值由人工駕駛行為分類模型獲得,根據(jù)場景1仿真實驗過程中監(jiān)測數(shù)據(jù),經人工駕駛行為分類模型預測的結果為aggressive,模型分類精度為88%,以標簽-概率對(aggressive,0.88)作為BN中駕駛行為類別結點的“證據(jù)”。BN行為決策的結果在自動駕駛車輛結點中顯示,根據(jù)圖4中BN概率推理的結果,基于最大后驗概率準則,自動駕駛車輛行為決策的結果為減速左轉,即減速向左做出避讓行為。
谷歌自動駕駛車輛事故的主要原因是由于自動駕駛車輛錯誤預估了公交車的行為,本文通過構造場景1情況下無人工駕駛行為分類模型的自動駕駛車輛行為決策模型(以下稱為單一決策模型)來驗證本文模型。
場景1中單一決策模型的初始BN如圖5所示。
圖5 單一決策模型的BNFig.5 BN of single decision-making model
依次更新各結點后驗概率,得到更新后單一決策模型BN如圖6所示。
圖6 單一決策模型的更新后BNFig.6 Updated BN of single decision-making model
根據(jù)最大后驗概率準則,單一決策模型的決策結果為加速直行,與自動駕駛車輛行為決策模型的結果不同,將在第4節(jié)仿真實驗中驗證行為決策結果的正確性。
PreScan是一款西門子公司旗下的汽車駕駛仿真軟件,支持全球定位系統(tǒng)(global positioning system,GPS)、雷達等多種功能的開發(fā)應用。該工具主要功能[33]分為4部分:駕駛場景建模、車載傳感器配置、車輛控制系統(tǒng)搭建和運行結果可視化。PreScan能夠便捷地搭建交通場景,支持與Matlab/Simulink、CarSim等軟件進行聯(lián)合仿真,場景模型搭建操作方便。同時,支持真實地圖導入,能夠較好地吻合真實場景,適用于自動駕駛、輔助駕駛等系統(tǒng)的開發(fā)與驗證。智能駕駛系統(tǒng)在PreScan中的仿真實現(xiàn)過程如圖7所示。
圖7 PreScan仿真過程Fig.7 Simulation process of PreScan
PreScan支持簡易界面操作和編程操作兩種方式進行場景搭建,并且可以通過拖拽方式添加車輛、行人等交通參與者,同時提供多種傳感器設備可以實時收集車輛運行數(shù)據(jù)和環(huán)境數(shù)據(jù)。根據(jù)駕駛場景1建模,其三維建模結果如圖8所示,其中黑色車輛代表自動駕駛車輛,白色車輛代表人工駕駛車輛。
圖8 場景1的三維模型Fig.8 Three dimensional model of scenario 1
駕駛場景2的三維模型建模結果如圖9所示。其中,黑色車輛代表自動駕駛車輛,其他顏色車輛代表人工駕駛車輛。
圖9 場景2的三維模型Fig.9 Three dimensional model of scenario 2
駕駛場景3的三維模型建模結果如圖10所示。其中,位于道路中間的黑色車輛代表自動駕駛車輛,其他車輛表示在停車位中的人工駕駛車輛。
圖10 場景3的三維模型Fig.12 Three dimensional model of scenario 3
設置好駕駛場景和交通參與者后,通過PreScan中提供的Simulink模塊接口,設置車輛的動力學模型和行為決策控制算法,從而完成對車輛的運動控制。以場景1為例,車輛的動力學模型如圖11所示。
圖11 場景1中的車輛動力學模型Fig.11 Dynamic model of autonomous vehicle in scenario 1
在simulink中搭建行為決策算法,其結果如圖12所示。
圖12 Simulink中搭建的行為決策算法Fig.12 Algorithm of behavioral decision-making in Simulink
將場景1中車輛行駛數(shù)據(jù)導出,如圖13所示,其中圖13(a)為速度隨時間變化情況,圖13(b)為加速度隨時間變化情況。
圖13(a)的第3 s時右前方車輛開始加速準備通過路口,這一信息被自動駕駛車輛傳感器獲取,自動駕駛車輛速度降低,5 s后速度逐漸恢復至6 m/s,圖13(b)的加速度變化情況也符合這一情況。通過PreScan中的三維Viewer模塊可視化仿真過程,路口處車輛行為如圖14所示。
圖13 場景1中車輛行駛數(shù)據(jù)Fig.13 Data of driving vehicles in scenario 1
圖14 路口處車輛行為Fig.14 Behavior of vehicle in intersection
由以上結果可知,自動駕駛車輛做出了減速避讓的駕駛行為,成功地避免了類似谷歌自動駕駛車輛事故的發(fā)生。然而單一決策模型的決策結果為減速直行,將會導致與人工駕駛車輛發(fā)生碰撞。
將場景2中的車輛行駛數(shù)據(jù)導出,如圖15所示。
圖15 場景2中車輛行駛數(shù)據(jù)Fig.15 Data of driving vehicles in scenario 2
由圖15(a)和圖15(b)可知,自動駕駛車輛在行駛臨近人行道時,行人橫穿馬路引得周圍車輛減速,自動駕駛車輛的行為決策結果為逐漸減速避讓。
場景3中自動駕駛車輛行駛路線如圖16所示。
圖16 場景3中自動駕駛車輛行駛路線Fig.16 Route of autonomous vehicle in scenario 3
由行駛路線可知,自動駕駛車輛成功駛離車輛眾多的停車場。
本文針對自動駕駛車輛行為決策研究中缺乏人工駕駛車輛行為相關知識的獲取與表達、對交通場景中不確定性因素考慮不充分等問題進行了深入研究,提出了以人工駕駛行為分類為基礎,利用BN建模駕駛場景并進行最優(yōu)駕駛動作推理的自動駕駛車輛行為決策方法。
本文的研究內容如下:
(1)基于決策樹算法建立人工駕駛車輛行為分類模型,解決了影響自動駕駛車輛行為決策的因素相關知識的獲取與表達方面的問題,設置對比實驗驗證了該模型的必要性,提高了行為決策模型在應對交通環(huán)境中交通參與者行為復雜難以預測方面的魯棒性。
(2)基于BN算法建立自動駕駛車輛行為決策模型,解決了交通場景中不確定性因素考慮不充分的問題。利用BN建模駕駛場景并進行最優(yōu)駕駛動作推理,提高了自動駕駛車輛在城市交通環(huán)境中行為決策的安全性。
(3)基于自動駕駛仿真工具PreScan設置駕駛場景仿真環(huán)境,并設置車輛控制算法等要素,以仿真方式驗證了本文提出的自動駕駛車輛行為決策方法的可靠性。
本文研究中仍存在不足之處,需要未來繼續(xù)深入研究:
(1)本文中人工駕駛行為分類模型的構建基于仿真實驗獲得的數(shù)據(jù)集,未來應在更豐富的數(shù)據(jù)集上進行訓練。對于人工駕駛車輛行為分類所依賴的屬性以及類別的劃分仍需根據(jù)實際情況進行調整,未來可根據(jù)更多的領域經驗進行改進。
(2)本文中只考慮了行為決策的安全性,而實際生活中還有更多需要考慮的因素,如舒適性、效率等。未來可在決策模型中增加效用結點以擴展駕駛動作的選擇標準,使決策模型給出更安全,舒適的駕駛動作。
(3)本文行為決策的目標行為設計粒度較粗,未來可考慮基于橫縱向解耦的方法對決策行為進一步細化,以達到更精準的行為決策結果。