彭濤,黃子杰,劉軍平,張自力,胡智程
(武漢紡織大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院,武漢 430200)
隨著無人駕駛技術(shù)的逐漸成熟,隨之而來的安全問題也被人們所關(guān)注。無人駕駛過程中行人的安全問題是無人駕駛的核心問題之一。行人軌跡的預(yù)測,可為緊急制動[1-3]提供可靠的依據(jù)。同時,行人軌跡預(yù)測可以在監(jiān)控系統(tǒng)中預(yù)防危險活動[4-6]。然而,行人的活動充滿了不確定性,行人在行走過程中與其他物體的互動是由常識和社會習(xí)俗驅(qū)動的,在互動的過程中,會有一種力量阻礙行人前往目的地,這種力量叫做社會力量[7],如圖1所示,它包括:
(1)行人之間的交互力[8-10]。
(2)行人與靜態(tài)場景之間的交互力[11]。
(3)其他交互力[12]。
為了解決這個復(fù)雜環(huán)境下行人軌跡預(yù)測問題,在“Social-LSTM”中[13],首次將深度學(xué)習(xí)模型和社交力量相結(jié)合應(yīng)用于行人軌跡預(yù)測,該方法在一定程度上提升了行人軌跡預(yù)測的精度,但是未考慮場景信息。與此同時,為計算場景中所有行人的狀態(tài),導(dǎo)致模型的計算量大,實時性差[14]。
圖1 場景中的行人需要遵守“社會法則”
此后,研究人員將基于循環(huán)神經(jīng)網(wǎng)絡(luò)不斷改進(jìn)預(yù)測結(jié)果[15-16]。例如Huynh等人提出了Scene-LSTM[17],對“Social-LSTM”模型進(jìn)行了改進(jìn)。Matteo Lisotto等人也提出了一個新的池化層來改進(jìn)模型,可生成對抗網(wǎng)絡(luò)的引入,在一定程度上提升了模型的性能[18]。如Agrim等人提出的Social-GAN模型[19]。但是這些方法都有共同的問題:一是由于循環(huán)網(wǎng)絡(luò)的使用,使得網(wǎng)絡(luò)運行效率低,訓(xùn)練成本高。二是池化層的引入存在問題,無法正確表達(dá)行人之間的交互。
隨著圖網(wǎng)絡(luò)技術(shù)的發(fā)展,圖卷積神經(jīng)網(wǎng)絡(luò)為行人軌跡預(yù)測提供了新思路[20-21]。為更準(zhǔn)確地預(yù)測行人軌跡,減少參數(shù),Mohamed等人提出了Social-STGCNN框架[22],在文中,他將行人軌跡建模為時空圖,以行人為頂點,行人之間的交互力為邊,進(jìn)而構(gòu)建權(quán)重矩陣。該方法不僅在原方法的基礎(chǔ)上提高了計算速度,而且提高了預(yù)測精度。然而,在此框架中仍然未提及靜態(tài)場景因素對行人運動軌跡的影響,所以預(yù)測的軌跡仍有偏差。
模型主要為行人特征提取模塊、場景特征提取模塊和預(yù)測模塊。模型的詳細(xì)描述如圖2所示。
圖2 模型流程圖
為得到行人運動軌跡的特征,本文使用了Mohamed等人提出的時空圖卷積網(wǎng)絡(luò)來提取行人特征圖。不僅獲取了行人的空間信息,還保留了行人的時間信息。
在特征提取模塊,首先構(gòu)建一組空間圖形Gt=(Vt,Et),其中t表示當(dāng)前時間。Vt是頂點的集合,與行人的坐標(biāo)相同,即:Vt=Xt。Xt定義如下:
(1)
同理,Et為圖Gt中邊的集合,它代表行人之間的函數(shù)關(guān)系。與Abduallah等人的工作類似,模型對不同距離行人之間的影響進(jìn)行了加權(quán),以進(jìn)一步反映力的變化。權(quán)重用a表示,計算公式如下:
(2)
將行人軌跡繪制成圖,然后利用圖卷積神經(jīng)網(wǎng)絡(luò)對矩陣圖進(jìn)行處理,得到行人軌跡特征。
經(jīng)過上述過程后,可獲得空間行人軌跡特征。以此為基礎(chǔ),在空間特征圖的基礎(chǔ)上擴(kuò)展時間軸,將多幅行人軌跡圖進(jìn)行時間維度連接,得到同一行人在兩個時間段之間的時間特征,并將時間圖與空間圖組合成時空圖卷積神經(jīng)網(wǎng)絡(luò)。
在獲取了行人特征圖之后,為了提升準(zhǔn)確度,本文添加了場景特征圖。場景中不同區(qū)域的障礙物會在不同方向上對行人的運動產(chǎn)生阻力,從而產(chǎn)生了行人繞道的效果。因此,需要對場景中的不同區(qū)域進(jìn)行阻力判斷,以確定它是否會被大多數(shù)行人接受。
(1)構(gòu)建點陣圖。根據(jù)數(shù)據(jù)集中已有數(shù)據(jù)可以發(fā)現(xiàn),場景中存在沒有行人軌跡的地方,該區(qū)域可以用來表示不能進(jìn)入或不能到達(dá)的位置。因此,可首先構(gòu)筑場景點陣圖。
(3)
式(3)中,n為行人數(shù)量,t為時間。Xpoint表示該時間段內(nèi)所有行人經(jīng)過此點的次數(shù)。NUMX則表示該段時間內(nèi)所有行人的全部坐標(biāo)點。
(3)獲取場景特征圖Nav。得到行人點陣圖后,為每個場景內(nèi)行人設(shè)定鄰域,并根據(jù)鄰域內(nèi)點陣圖的平均權(quán)重得到行人鄰域內(nèi)不同區(qū)域的權(quán)重圖,如式(4):
(4)
其中,m表示以該行人為中心的鄰域。
(4)將場景特征圖進(jìn)行歸一化處理,進(jìn)而得到行人向鄰域內(nèi)不同方向前進(jìn)的概率。
將場景轉(zhuǎn)換為場景圖的過程如圖3所示。由于監(jiān)視器對應(yīng)的是同一個場景,對于場景中的行人,場景的影響只會隨著靜態(tài)障礙物的移動而改變,但是整個場景的整體傾向性不會因為行人的移動而改變。因此,在場景圖中,只需要考慮空間坐標(biāo)變化,而不需要考慮時間變化對場景的影響。也就是說,在處理場景特征時,不需要考慮時間序列對特征的影響。因此,將場景特征的處理置于時空圖形卷積網(wǎng)絡(luò)之外。
如圖3所示,以某一點為中心獲取一定范圍內(nèi)的場景圖,并依據(jù)此圖產(chǎn)生權(quán)重圖。
百里香從末明了琵琶仙的感情,更沒想到琵琵仙對鐵頭大哥用情如此之深,因此大感意外和失落。但他轉(zhuǎn)念一想,琵琶仙初來蘄州身陷絕境之時,是鐵頭大哥出手相助,幫她安葬了客死他鄉(xiāng)的爺爺,又將她薦到鬧春樓唱曲謀生。知恩圖報,情義無價,這樣的女子更值得尊敬,豈能因為自己的一廂情愿而生怨意?果真如此,我百里香與無良小人又有何異?
圖3 場景特征提取
通過上述操作,可以為行人設(shè)置一個一定大小的鄰域,并利用平均池化層將鄰域內(nèi)所有的場景特征值進(jìn)行平均處理,進(jìn)而得到較為合理的場景特征圖。
通過兩種特征的處理,可得到行人的運動特征和場景特征,然后使用時間外推卷積神經(jīng)網(wǎng)絡(luò)(TXP-CNN)進(jìn)行軌跡預(yù)測。其中,TXP-CNN網(wǎng)絡(luò)將上述兩個特征進(jìn)行卷積,生成一個新的以時間為因果序列的預(yù)測軌跡。
TCN=1DFCN+causalconvolutions
(5)
式(5)中,1D FCN為按每個T間隔作為一輪輸入的全卷積神經(jīng)網(wǎng)絡(luò),Causal Convolutions為對卷積結(jié)果擴(kuò)張的因果卷積網(wǎng)絡(luò)。
TXP-CNN對圖的時間維進(jìn)行操作,使用feature map作為預(yù)測的條件并進(jìn)行擴(kuò)展。由于它依賴于特征空間上的卷積操作,所以它的參數(shù)比遞歸操作要小。由于網(wǎng)絡(luò)采用因果卷積,可以記錄軌跡的時間信息,從而在降低參數(shù)的同時保留了時間特征。
(6)
如上為模型介紹。模型采用了兩種不同的網(wǎng)絡(luò)來處理行人之間的特征以及行人與場景之間的特征,進(jìn)一步減少了由時間序列帶來的計算和存儲需求。
模型在兩個行人軌跡數(shù)據(jù)集(ETH[23]和UCY[24])上進(jìn)行測試。其中,ETH包括兩種場景:ETH和HOTEL。UCY包括三種場景:UNIV、ZARA-01和ZARA-02。在場景中,共記錄了1536名行人在該場景中進(jìn)行的行走等社交活動。本文提出的訓(xùn)練方法和其他論文一樣,使用一部分?jǐn)?shù)據(jù)集進(jìn)行實驗,使用剩下的數(shù)據(jù)集進(jìn)行測試,最后用剩下的4個數(shù)據(jù)集進(jìn)行驗證。數(shù)據(jù)集中的軌跡每0.4秒采樣一次。在實驗中,觀察3.2秒的軌跡,即8幀,然后預(yù)測接下來4.8秒的軌跡,也就是12幀。
(7)
(8)
模型由三部分組成:ST-GCN層、navi-pooling層和TXP-CNN層。模型使用PReLu作為的激活函數(shù)。模型的批容量設(shè)置為128,使用隨機梯度下降(SGD)的方法對模型進(jìn)行350次迭代。學(xué)習(xí)率設(shè)置為0.01。為了達(dá)到局部最優(yōu)效果,模型在經(jīng)過150次迭代后,將學(xué)習(xí)率修改為0.002。然后根據(jù)視頻幀的圖片大小,設(shè)置場景圖的大小為400×320。為得到更準(zhǔn)確的模型,對三個模塊的層數(shù)進(jìn)行了對比實驗。實驗表明,一層ST-GCN層、一層navi-pooling層和五層TXP-CNN層的性能最好。
為了確定不同網(wǎng)絡(luò)層數(shù)對模型的影響,模型進(jìn)行了消融實驗。實驗發(fā)現(xiàn)ST-GCN模型中卷積層數(shù)的不同會影響行人軌跡的特征提取,TXP-CNN模型卷積層數(shù)的不同會影響模型的學(xué)習(xí)能力。在實驗中,將兩個神經(jīng)網(wǎng)絡(luò)分別設(shè)置為1層、3層和5層,選擇ETH數(shù)據(jù)集進(jìn)行組合實驗,以獲得效率和準(zhǔn)確率最高的組合。實驗結(jié)果如表1所示。實驗使用單數(shù)據(jù)集進(jìn)行消融實驗,同時使用ADE/FDE作為參考指數(shù)。
表1 消融實驗結(jié)果
表1中第一行中的數(shù)字表示ST-GCN的層數(shù),第一列中的數(shù)字表示TXP-CNN的層數(shù)。使用ADE/FDE作為評估指標(biāo)。由表1可知,當(dāng)模型的層數(shù)過多時,模型的精度開始下降。同時,層數(shù)過少會影響實驗結(jié)果,特征和學(xué)習(xí)過少會使實驗結(jié)果不準(zhǔn)確。因此,模型選擇使用1層ST-GCN和5層TXP-CNN作為模型中的網(wǎng)絡(luò)層數(shù)。
表2與表3將模型與其他模型在ADE和FDE指標(biāo)上的性能進(jìn)行了比較。比較的對象包括Social-LSTM、SR-LSTM、Social-STGCNN、SS-LSTM、Social-BiGAT。從表2和表3可以發(fā)現(xiàn):①總體性能最低的是Social-LSTM,原因是該方法只提取了少數(shù)特征,并且只在池化層中選取模型并與場景中的所有行人進(jìn)行交互。②使用GAN網(wǎng)絡(luò)連接后的預(yù)測結(jié)果精度由較大提升。③使用圖卷積網(wǎng)絡(luò)的模型精確度最高。
表2 對應(yīng)模型的ADE值
表3 對應(yīng)模型的FDE值
通過比較可以看出,對于FDE指標(biāo),與大多數(shù)方法相比,本文提出的模型的平均精度提高了約20%;但本文提出的方法在ADE指標(biāo)上在HOTEL場景內(nèi)的誤差較大。
同時,本模型與STGCNN相比,在增加參數(shù)的情況下并其運算速度并未大幅降低。
表4 模型參數(shù)表
本文使用現(xiàn)有的時空間圖卷積神經(jīng)網(wǎng)絡(luò)方法提取行人之間的特征,并在此基礎(chǔ)上增加場景特征。通過繪制場景圖,形成當(dāng)前場景的權(quán)重圖,并為每個行人設(shè)置一個鄰域來代表場景中靜態(tài)障礙物對其產(chǎn)生的影響。然后使用TXP-CNN網(wǎng)絡(luò)來預(yù)測軌跡。本文在ETH和UCY數(shù)據(jù)集上進(jìn)行了實驗,證明了該模型的優(yōu)越性。另外,由于使用了殘差網(wǎng)絡(luò)和卷積網(wǎng)絡(luò),進(jìn)一步降低了實驗所需的參數(shù)。在未來,將進(jìn)一步降低預(yù)測誤差,并將預(yù)測目標(biāo)從行人擴(kuò)展到多個可移動物體的集合。