楊文彥,張 希,陳 浩,金文強
(上海交通大學 機械與動力工程學院,上海 200240)
行人是重要的交通參與者,由于缺乏外界保護,行人也是交通參與者中最為弱勢的群體,除此之外,行人的運動特性與過街時的行為特征復雜多變,在人車混行的路口,面對來車,行人可能采取加速前行或止步避讓等不同的行動[1]。人類駕駛員可相對容易地判斷出行人的意圖,進而選擇繼續(xù)行駛或是停車避讓,而自動駕駛場景下,僅通過傳感器檢測、跟蹤難以得出行人下一步的運動軌跡,如果只要檢測到有行人就停下避讓,在一些場景下可能使車輛的控制過于保守,影響通行的效率,而錯誤的判斷則可能造成人車相撞導致行人傷亡的慘劇。研究表明,當車輛以50 km/h的速度行駛時,提前0.16 s進行制動,可使人員傷亡的概率降低15%[2],由此可見,為自動駕駛汽車建立行人軌跡預測模型,對可能與車輛產生交互的行人的運動軌跡進行預測,能夠給自動駕駛汽車的控制預留時間,提高安全性與通行效率。
國內外學者已經開展了一些行人軌跡預測的相關研究,包括基于多重環(huán)境的行人過街行為預測模型[3];基于動態(tài)貝葉斯網絡(Dynamic Bayesian Network,DBN)的概率預測模型[4];基于馬爾可夫鏈,考慮行人個性和過去行為狀態(tài)的預測模型[5];分析行人微觀動力學特性的社會力模型(Social Force Model)[6]等。社會力模型由Dirk Helbing和Peter Molnar提出,將行人與外界空間的相互作用量化為引力和斥力,此后許多學者在此基礎之上對社會力模型做出了改進,例如由單個行人拓展到人群[7],考慮行人的路徑選擇[8]等,并將其運用到軌道交通行人流仿真[9]、人群疏散[10]、信號燈控制下路口行人過街仿真[11]等領域。
上述研究,提出行人過街與否的概率模型,或是從微觀動力學的角度研究行人的行走行為,進行模擬和仿真,鮮有預測行人行走的精確軌跡用于自動駕駛領域。基于以上問題,本研究提出一種基于社會力的自動駕駛汽車行人軌跡預測模型,整合了判斷行人行為意圖的行人走、停決策和改進的社會力模型,首先通過行人走、停決策判斷行人面對來車選擇繼續(xù)行走還是停下避讓,對于繼續(xù)行走的行人,通過改進的社會力模型預測其行走軌跡,模型還考慮了性別、年齡等行人個體特征對其決策與軌跡的影響,模型框架如圖1所示。
圖1 模型框架Fig.1 Model framework
在人車混行的路口,過街的行人面對來車可能選擇繼續(xù)行走,也可能選擇停下避讓,準確地判斷行人是否會繼續(xù)行走,是行人軌跡預測的前提。行人是否繼續(xù)行走,受到多種因素的影響,包括行人個體特征和人車之間的距離、車速。圖2為本研究所考慮工況。
圖2 行人走、停決策工況Fig.2 Working condition of pedestrian’s walking or stopping decision
考慮一十字路口,當南北方向信號燈為綠燈時,行人通過斑馬線過街,南北方向行駛的車輛左轉或右轉進入東西方向,由此與行人產生沖突??紤]以下4個因素作為自變量:(1)行人的性別GEN,男:1;女:0。(2)年齡AGE,青年(30歲以下):0;中年(30~60歲):1;老年(60歲以上):2。(3)人與車之間的距離DIS,如圖2所示,定義為行人到車頭中部的距離。汽車的行駛速度為VEL。行人面對來車是否繼續(xù)前進(走:1,停:0)作為因變量,對行人的行走行為進行分類。行人的走、停決策基于二元邏輯回歸,假設函數hλ的表達式為:
(1)
式中,自變量x=[1,GEN,AGE,DIS,VEL]T為一向量,第1項對應常數項,其余各項對應前文所述4個影響因素。λ=[λ0,λ1,λ2,λ3,λ4]T為邏輯回歸的系數,通過訓練得到。邏輯回歸的代價函數為:
ln[1-hλ(x(i))]},
(2)
式中,m為訓練樣本的數量;hλ(i)為樣本i的假設值;y(i)樣本i的真實值。給定初值λini,通過梯度下降的方式求得代價函數的全局最優(yōu),此時的λ就是模型所需的系數,如表1所示。
表1 邏輯回歸系數Tab.1 Logistic regression coefficients
將訓練好的模型用于走、停決策,將某場景下的自變量x代入公式(1),hλ>0.5時認為行人繼續(xù)行走;hλ<0.5時認為行人會停下等待。
自Dirk Helbing和Peter Molnar提出社會力模型[6]后,許多研究者根據不同的應用場景提出了一系列社會力模型的變體[12-14]。在上述研究的基礎上,針對人車混行路口的應用場景進行了改進,著重考慮了混行路口環(huán)境(斑馬線、車輛)對行人的影響,改進的社會力模型公式為:
Fα=Fd+Fb+Fp+Fv,
(3)
驅動力為驅動行人向目標點移動的力,假定行人在沒有干擾的情況下沿直線向目標點走去,受到其他行人和環(huán)境干擾時,行人的行走方向會發(fā)生變化,此時,驅動力Fd將使行人回到原來的行走方向上。驅動力的公式為:
(4)
式中,vd為理想速度矢量,其大小為理想速率vd;vα為實際速度矢量,通過公式(3)迭代計算得到,τα為調整時間,衡量行人速度變化的快慢。
驅動力示意圖如圖3所示,在實際應用中,為了確定目標點,利用自動駕駛汽車車載傳感器觀測行人1 s,由觀測1 s內行人的起點和終點連線方向作為行人行走的理想方向,向量vd的方向即為此方向。
圖3 驅動力Fig.3 Driving force
行人過馬路時,通常會在斑馬線內行走,以獲得更高的安全感。模型假設當行人因避讓他人或車輛等原因行走在斑馬線外時,斑馬線邊界會有一作用力使其回到斑馬線內部;當行人在線內,但因周圍環(huán)境影響有走出線外的趨勢時,斑馬線邊界對其有一作用力使其繼續(xù)保持在線內行走。斑馬線約束力的公式為:
(5)
在一定范圍內,行人面對迎面走來的其他人會有避讓的趨勢,這種趨勢通過行人之間的相互作用力體現。關于這個力的作用范圍,已有研究給出了結果,例如:半徑10 m,圓心角120°的扇形[15];半徑8 m,圓心角170°的扇形[16]。在本研究中,斑馬線總長度較短,約為8.4 m。綜合考慮斑馬線長度、行人的觀察習慣,設定力的作用范圍為半徑R=6 m,圓心角Angle=170°的扇形,扇形的對稱軸與行人α的速度向量vα方向在一條直線上。行人之間的相互作用力示意圖見圖5,為了表示得更加清晰,圖中只畫出了行人α的受力情況,行人β1和β2在行人α的力作用范圍內,行人β3不在此范圍內,因此,行人α和行人β1和β2之間存在相互作用力。經典社會力模型[6]中,行人之間排斥力的勢場為一橢圓,參考經典社會力模型,通過以下方法構造此橢圓:以行人α和行人β1為例:行人β1在時間步長Δt內以速度vβ1行走了一段位移向量,以該向量的起點和終點作為橢圓的兩個焦點,以行人α作為橢圓上一點構造橢圓。bβ1為橢圓的半長軸,ταβ1為橢圓上行人α所在點的切線方向,nαβ1為橢圓上行人α所在點的法線方向,行人α受到行人β1對其作用力亦沿此方向,行人α受到行人β2對其作用力同理。
圖4 斑馬線約束力Fig.4 Boundary force of crosswalk
行人α受到行人β對其作用力的公式為:
(6)
圖5 行人之間相互作用力Fig.5 Effect forces between pedestrians
式中,Ap為強度系數,Bp為距離系數,兩者待標定;Pα和Pβ為行人α和行人β的相對于原點的位置向量;vβ為行人β的速度向量;Δt為時間步長;nαβ為圖5所示力場橢圓上行人α所在點的法線方向;bβ為橢圓的半短軸。行人α受到的其他行人對其作用力的合力為:
(7)
面對來車選擇繼續(xù)行走通過馬路的行人會受到車輛對其影響力,具體表現為:橫坐標方向上有遠離來車的運動趨勢,縱坐標方向上有加速,盡快通過的趨勢,其表達式為:
(8)
式中,Av為強度系數,Bv為距離系數,兩者待標定;車輛對行人影響力與人車之間距離有關,此外,不同于行人與行人,行人于車輛在大小上存在差異,為了衡量這種差異,將行人和車輛等效為圓形,人的半徑為rα,車輛的半徑為rv,定義為車寬的一半;dαv為從車頭中點指向行人的向量;ταv為垂直于dαv且遠離車輛方向的單位向量。車輛對行人影響力如圖6所示。
圖6 車輛對行人影響力Fig.6 Influence force of vehicle on pedestrians
為了標定改進社會力模型中各分力的常系數,以及驗證軌跡預測的準確性,需要采集真實的行人行走軌跡。在中國上海某人車混行路口,通過四旋翼無人機,從40 m左右的高度,俯視角度拍攝行人行走的軌跡,另外,在路口兩側架設相機,同步地拍攝行人行走的視頻,從中得到行人的性別和年齡,數據采集的示意圖如圖7所示。
圖7 數據采集方法Fig.7 Data collection method
采集的行人行走數據共9 h30 min,經過篩選,共有525組行人的軌跡被運用到參數標定中,120組行人軌跡被運用到模型驗證中。
采集的行人軌跡,通過視頻處理,以0.2 s為間隔,分割為圖片,使軌跡離散化,再通過圖像處理,得到圖片中行人的像素坐標。為了獲得行人的位置、速度、加速度等運動狀態(tài)信息,需要將圖片中的像素坐標轉化為與現實尺度對應的物理坐標。利用直接線性變換法[17-18](其示意圖如圖8所示)進行坐標變換需要先確定4個參考點,取斑馬線4個角點,實地測量,構建物理坐標系,得到參考點的物理坐標,參考點的像素坐標通過圖像處理得到,將2組坐標代入線性方程組:
(9)
式中,u=[u1,u2,u3,u4]T和v=[v1,v2,v3,v4]T為參考點像素橫、縱坐標向量;x=[x1,x2,x3,x4]T和y=[y1,y2,y3,y4]T為參考點物理橫、縱坐標向量;l1~l8為待求的轉換系數,圖片的像素坐標y方向向下為正,為了統(tǒng)一,建立的物理坐標系也一律取y方向向下為正。
圖8 直接線性變換法Fig.8 Direct linear transformation method
求解線性方程組,得到轉換系數l1~l8后,對于一點的像素坐標[u,v]T,可以利用式子:
(10)
將其轉換為物理坐標[x,y]T。
本研究改進的社會力模型中的參數,一部分可以通過觀察行人行走軌跡直接獲得,這部分參數稱為可測量參數,另一部分參數無法通過觀察行走軌跡直接得到,需要用統(tǒng)計學的方法獲得,這部分參數稱為不可測量參數。
3.3.1可測量參數標定
可測量參數包括行人的理想速率vd和調整時間τ,這兩個值會影響公式(4)所示驅動力Fd的大小。和走、停決策相同,將不同年齡段的行人劃分為3類:青年:30歲及以下;中年:30~60歲;老年:60歲及以上。本研究的場景下,兒童大多和成年人結伴而行,其參數與同行成年人一致。
行人的理想速率vd定義為:行人在沒有他人、車輛等外界因素干擾下,在斑馬線內沿直線行走時速度的大小,此參數的標定通過選取符合定義的行人行走視頻,通過視頻處理與圖像處理,圖片幀之間位移差和時間差相除得到。標定結果顯示,不同年齡段行人的理想速率存在一定的差異,青年人理想速率vd的均值μ=1.53 m/s,標準差σ= 0.163 m/s;中年人μ= 1.35 m/s,σ= 0.157 m/s;老年人μ= 1.21 m/s,σ= 0.150 m/s。
行人調整時間τ定義為:行人從當前速度(一般為一個較低的速度)加速到理想速度所需的時間,此參數的標定通過視頻與圖像處理,通過記錄行人從開始行走加速到勻速行走所需的時間得到。標定結果顯示,不同年齡段行人的調整時間存在一定的差距,青年人調整時間τ的均值μ= 1.60 s,標準差σ= 0.224 s;中年人μ= 1.61 s,σ= 0.288 s;老年人μ= 1.66 s,標準差σ= 0.299 s。
3.3.2不可測量參數標定
不可測量參數為改進的社會力模型各分量中的常系數,這些系數無法從圖像中直接測量獲得,對于這些參數,使用極大似然估計(Maximum Likelihood Estimation)法[19]進行標定。
令參數向量θ=[Ab,Bb,Abr,Bbr,Ap,Bp,Av,Bv]T,假設社會力合力F=[Fx,Fy]T滿足均值向量為μ,協(xié)方差矩陣為∑F的二維正態(tài)分布,F為θ的函數,所以μ=μ(θ)也是θ的函數,列出二維正態(tài)分布的極大似然函數:
(11)
式中,aj(i)為行人j在i時刻的加速度,通過圖像處理方法得到。對于整段用來進行參數標定的行人軌跡,共有N個行人,每個行人j有Mj個時刻,則整段軌跡的極大似然函數可表示為:
(12)
兩邊取對數,得到對數形式的極大似然函數:
[aj(i)-μ(θ)]。
(13)
求對數極大似然函數lnL(θ,M,N)對于θ的導數,令導數為0得到對數極大似然函數的最大值,此時的θ各分量的值就是參數標定的結果,不可測量參數的標定結果如表2所示。
通過3.1節(jié)所述數據采集方法,3.2節(jié)所述數據
表2 不可測量參數Tab.2 Non-measurable parameters
處理方法可以得到行人面對來車所采取的真實決策和行人行走的真實軌跡,將相同的初始條件輸入行人走、停決策和改進的社會力模型,可以得到模型對于行人走、停及其行走軌跡的預測結果,通過真實軌跡與預測結果的對比來驗證模型的準確性。
進行驗證的路口為中國上海某人車混行的路口,其中,路口的寬度為11.85 m,斑馬線寬度為6.00 m,車輛接近、通過斑馬線時的平均速度為3.36 m/s。
對于100個有過馬路意向的被測行人,一方面記錄他們面對來車的所采取的真實反應(繼續(xù)行走、停下等待),另一方面通過圖像與數據處理,得到性別、年齡、人車距離、車速等自變量,并將自變量x=[1,GEN,AGE,DIS,VEL]T導入公式(1)所述的假設函數中,得到邏輯回歸預測的結果,表3為邏輯回歸分類。
表3 邏輯回歸分類Tab.3 Classification of logistic regressions
對于實際選擇繼續(xù)前進的行人,走、停決策預測其行走的正確率為91.8%;實際選擇停下等待的行人,走、停決策預測其停下的正確率為88.2%;走、停決策總體預測正確率為90.0%,能夠在一定程度上判斷面對來車行人的行為,為軌跡預測做好準備。
改進的社會力模型的準確程度通過行人的真實軌跡和模型所生成軌跡之間的差異來衡量,定義兩個衡量指標:平均位移誤差AE、最終位移誤差FE,其公式分別為:
(14)
(15)
圖9 誤差度量Fig.9 Measurement of errors
預測的總時長為2 s,視頻處理時,每0.2 s分一幀,所以整個預測過程有11幀。平均誤差AE為每一幀誤差的平均值,最終誤差FE為最后一幀的誤差。驗證場景分為單個行人的軌跡預測和多個行人的軌跡預測,如圖10所示。
圖10 軌跡預測驗證場景Fig.10 Verification scenes of trajectory prediction
4.2.1單人場景軌跡預測
如圖11(a)所示,某一行人自北向南通過斑馬線,此時有一左轉車輛與行人交互,行人在車輛影響下有向西避讓的趨勢,圖11(b)為行人真實位移與社會力模型預測位移隨時間變化的對比,圖11(c)為預測軌跡與真實軌跡對比。
圖11 單人場景軌跡預測Fig.11 Trajectory prediction of single-pedestrian scene
隨著時間的推移,預測位移與真實位移之間的誤差略有增加,但預測軌跡與真實軌跡基本重合。該場景下,軌跡預測的誤差AE=0.078 m,FE=0.129 m。
4.2.2多人場景軌跡預測
圖12 多人場景軌跡預測Fig.12 Trajectory prediction of multi-pedestrian scene
如圖12(a)所示,5個行人(兩個自北向南,3個自南向北)通過斑馬線,此時有一左轉車輛與行人們交互,圖12(b)為5個行人位移誤差的平均值隨時間變化圖,圖12(c)為各個行人預測軌跡與真實軌跡對比圖。該場景下,各行人軌跡預測誤差AE的平均值為0.072 m,FE的平均值為0.145 m。
4.2.3總體驗證結果
選取其他符合上述兩類場景的其他真實行人軌跡各10組,取誤差AE,FE的平均值,得到總體驗證結果如表4所示,平均誤差AE小于15 cm,最終誤差FE小于25 cm,能夠在一定程度上預測行人軌跡。
表4 總體驗證結果Tab.4 Overall verification result
本研究提出的基于社會力的自動駕駛汽車行人軌跡預測模型,由行人走、停決策和行人軌跡預測兩大部分組成。考慮了年齡、性別等個體差異性對于行人面對來車采取決策的影響以及不同年齡行人行走速度和反應速度的快慢,并將這些差異通過改進的社會力模型予以體現。通過視頻處理和圖像處理完成了模型中可測量參數的標定,通過極大似然估計法完成了不可測量參數的標定。通過采集行人的真實軌跡與模型預測軌跡相對比,驗證了走、停決策與軌跡預測的準確性。驗證結果表明,走、停決策準確率為90.0%,軌跡預測AE的均值小于15 cm,FE的均值小于25 cm,模型具有一定的準確性。
本研究只考慮了行人軌跡的預測,然而在更為復雜的交通環(huán)境中,還存在著騎自行車(電動車)等其他交通參與者與自動駕駛汽車發(fā)生交互的情況,準確預測他們的運動軌跡,對于交通安全很有意義,這也是接下來研究方向所在。