胡遠志,蔣 濤,劉 西,施友寧
(汽車零部件先進制造技術教育部重點實驗室(重慶理工大學),重慶400054,中國)
在無人行橫道標志線和交通信號的城市道路中,過街行人與行駛的車輛往往存在相互干擾。街邊行人可以在短時間改變運動的方向和速度,如果自動駕駛車輛對行人的過街意圖產生誤判,不僅影響車輛的通行效率,嚴重時,還威脅行人的生命安全,因此準確的預測行人的過街意圖至關重要。
行人的過街意圖識別可以簡化為行人動作識別。在街邊行走不過街的行人與即將橫穿馬路的行人,其運動方向和行人相對于攝像頭的位置明顯不同;街邊站立不過街的行人與街道中行走過街的行人動作也明顯不同。設計一種神經網絡模型可以隱式的提取行人是否過街有關的行人動作特征,將提取的行人的動作特征輸入到行人意圖分類網絡中即可識別行人的過街意圖。
由于輸入的行人特征數據存在很大的差異性和復雜性,行人的過街動作識別應用于視頻是一個困難的問題[1]。目前動作識別方法分為3 類:三原色彩色標準(red green blue,RGB)視頻流法[2-5]、光流法[6-8]、骨架建模法[9-12]。
骨架建模通過估計人體姿態來預測人體的動作,基于骨架數據的動作識別方法對動態環境和復雜背景有很強的適應性,其中使用最廣泛的模型是遞歸神經網絡(recurrent neural network,RNN)和卷積神經網絡(convolutional neural networks, CNN)。RNN 可以捕捉到連續幀之間的時間依賴性,如bi-RNN[10]、Deep-LSTM[13]、融合特征模型和基于注意力的模型[14]。
為了識別行人的過街與不過街時的動作,研究者往往需要先檢測人體的骨骼點[15]。FANG Zhijie 等[16]利用檢測出的骨骼點之間的距離和角度判斷行人是否有過街意圖。R. Quintero 等[17]在三維空間檢測人體骨骼點,并基于骨骼點信息識別行人的靜止站立、起動、行走和停止動作。
骨架數據并不是單個關節點簡單組合,骨架數據可以作為圖形結構,傳統卷積神經網絡可以表示向量序列和二維網格,但并不能完全表示骨架數據的結構,將人體骨架數據看作骨架圖結構,可以更深度的提取骨架信息。YAN Sijie 等人應用圖卷積網絡(graph convolutional network,GCN)來進行動作識別,將人體骨架看作圖形結構,提出了時空圖卷積網絡[14],將骨架數據直接建模為圖形結構,以此獲得更好的性能。
本文采用圖卷積的方法進行行人過街意圖識別。將行人骨架看作圖結構,行人非相鄰關節點之間會存在依賴關系,比如行人的行走時,手部關節與腿部關節會有耦合的運動關系。本文設計了一種自適應的圖卷積網絡,可以捕捉到非相鄰關節間的依賴關系。同時為了更加充分利用骨架數據,進一步利用了骨骼的長度和方向信息,設計雙流圖卷積網絡。
圖由節點和連線組成,是一種描述系統建模的抽象數據類型,被廣泛應用于姿態估計、行為識別等諸多鄰域[18]。圖中任意節點的狀態更新均依賴于與其存在連接關系的n個節點的狀態,具有節點和連線的完整圖可定義為

其中:鄰接矩陣M可以表示各個節點間的結構信息關系,圖中節點存在連接的位置元素為1,其余位置元素為0,若圖中有i個節點,圖的節點的狀態信息集合記為X= {x0,x1,x2,…,xi}。
行人的行為特征可以用骨架序列圖表示,采用openpose 骨架序列[17],如圖1 所示。其中0-17 編號分別 對 應: Nose、Neck、RShoulder、RElbow、RWrist、LShoulder、LElbow、LWrist、RHip、RKnee、Rankle、LHip、LKnee、Lankle、REye、LEye、REye、REar、LEar,共18 個關節點。將行人過街視頻中每一幀中的骨架關節點組合看作一個圖,每個關節點具有2D 或者3D 坐標。設一幅骨架圖中有i個關節節點,且每一個關節均可表示為具有3 個位置坐標的向量X= (x,y,z),則從第1個關節到第i關點的狀態向量集合記作X= {x0,x1,x2,x3,…,xi}表示。

圖1 行人骨架關節點
每個行人數據集樣本關節之間的結構信息可以用時空圖表示,時空圖包括空間維度信息和時間維度信息。圖的結構遵循ST-GCN 所提出的原始結構[14],如圖2 所示。時空骨架圖在空間維度上,骨架圖的關節為圖的節點,關節之間的連接為圖的空間邊(圖中藍色線)。在時間維度上,相鄰幀對應節點之間的連接為圖的時間邊(圖中的橙色線),將每個關節的坐標設置為對應節點的狀態。

圖2 行人時空骨架圖
在空間維度上,將骨架圖定義為G=(V,E),其中V為n個關節的集合,E是個n-1 空間邊的集合。設一個有N個節點和T幀的骨架序列的時空圖為G=(V,E),V是3D 的關節在T幀內的位置框架,其節點節點集合為V={vti|t= 1,…N,i= 1,…N},第t幀的第i個節點的特征向量F(vti),該節點的坐標向量和估計置信度組成,ES={vtivtj|(i,j)∈H}表示空間邊,EF={vtiv(t+1)i}表示時間邊。
傳統卷積有固定的鄰域大小(如3×3 的卷積核即為8 鄰域),同時有固定的順序(一般為左上角到右下角),如圖3 所示。對于圖結構數據而言:不存在固定8 鄰域結構,每個節點的鄰域大小是變化的,如圖1 所示。例如人體骨架脖子Neck 脖子節點的鄰域節點個數為5,Shoulder 肩節點的鄰域節點個數為2,Wrist 手腕節點的鄰域節點個數為1;并且同一鄰域內的節點不存在順序。

圖3 傳統卷積8 鄰域圖
根據上文定義的圖,ST-GCN 核心思想將卷積從規則數據擴展到圖結構數據的過程中,選擇合適的取樣函數和權重函數[14]。提出在圖上應用多層時空圖卷積運算來提取高層特征,然后利用全局平均池化層和softmax 分類器,根據提取的特征進行動作類別預測。
在空間維數中圖卷積運算表示為

其中:Zij的意義為(在i節點的鄰域中的)j節點所處類的節點數量。Si表示vj卷積的取樣區域,定義為目標節點vi到鄰居節點vj的距離;歸一化系數是為了平衡鄰域中每一類節點的貢獻;ω[li(vj)]為權重矩陣;fin(vj)為輸入的特征映射。
圖網絡的特征實際上是C×T×N的向量,其中N表示圖節點的數量,C代表通道數,T代表時間幀長度,要實現ST-GCN,式2 轉換為:

其中:Kv表示空間維數的核大小,āK為N×N的鄰接矩陣,fin為特征映射,表示頂點Vj是否在頂點Vi的子集Sik中,Si為目標點Vi卷積的采樣區域。從權重向量的fin中提取特定子集中的連通點,ηik是歸一化對角矩陣。

設置α= 0.001,可以避免空行,歸一化也可以避免計算數據差異越來越大,Wk是卷積。
在2D 卷積中,鄰域內的像素具有固定的空間順序,可以通過根據空間順序索引的張量來實現加權函數。但骨架序列沒有這樣的隱式排列,所以在骨架識別中按照目標節點周圍鄰域的圖標記過程定義來構造加權函數。
延用ST-GCN 所提出的加權函數設計模式,不給每個相鄰節點一個唯一的標簽,而是通過分區策略將關節點的鄰域集合劃分為3 個子集,每個子集都有一個數字標簽。圖4 顯示了這個策略,其中×表示骨架的重心,所有關節的平均坐標視為重心。

圖4 采樣區域圖
采樣區域Si是曲線所包圍的區域,根據身體運動大致分為向心運動和離心運動,將鄰居集劃分為3 個區域:1)根節點本身;2)向心組,比根節點更加靠近骨架重心的相鄰節點;3)離心組。采樣區域Si映射表示為li=S(Vi)→{1,2,3},相應的加權函數可表示為W(Vi,Vj) :S(Vi)→Rc,則一個映射與權重的賦予可以通過來實現。每個子集的權重向量在訓練時會向前反向傳播更新,以此來提高其加權準確性。Mk是N×N注意力圖,表示每個頂點的重要性。
在ST-GCN 的時間維度上,時間卷積網絡(temporal convolutional network,TCN)每個頂點的相鄰節點數固定為2(即為兩個連續幀中的對應關節),所以可以在上面計算的輸出特征圖上進行Kt×1 卷積,其中Kt是時間維度的內核大小。
ST-GCN 中的圖卷積構造過程存在2 個缺點:
1) ST-GCN 的注意力機制靈活性不夠,掩碼Mk是與鄰接矩陣直接相乘。這就造成一個現象,就是如果鄰接矩陣Mk里面部分元素為0,那么無論Mk對應元素為何值,最后結果都是0。換句話說就是不會創造不存在的連接,ST-GCN 中使用的骨架圖只代表人體的物理結構,忽略了非物理連接關節之間的依賴關系。例如,手和腿之間的關系對于識別行人“過街”動作是很重要的,然而由于手和腿部關節在骨架圖的定義中相距很遠,ST- GCN 很難捕捉到手和腿之間的依賴關系。
2) 行人關節之間的骨骼特征的2D 信息如骨骼長度和方向,與行人的過街意圖息息相關。例如行人從街邊橫穿突然過街,行人的骨骼2D 骨骼長度和方向會發生突變,有利于快速識別行人的過街意圖。
ST-GCN 骨架數據的時空圖卷積中,圖的結構是預定義的,不適用于不同行人過街狀態的識別,本文應用了一種自適應圖卷積層(adaptive graph convolution,AGC),它將圖的拓撲結構與網絡的其他參數一起以端到端的學習方式進行優化。由于圖對于不同的層和樣本是唯一的,這就增加了模型的靈活性。同時插入殘差分支,保證了模型的穩定性。
由式(3)可知:圖的拓撲實際上是由鄰接矩陣Ak和掩碼Mk決定的,Ak確定了兩個關節點之間是否有連接,而Mk決定了關節點之間的連接的強度。為了增加圖結構的適應性,將圖卷積公式改為


其中:Ak與式(3)原始的歸一化N×N鄰接矩陣Ak相同,表示行人關節點的物理結構。Bk和Ak類似,也是一個的鄰接矩陣,但Bk是一個可訓練的權重,而且沒有對其進行如歸一化等任何約束條件,Bk是從數據學習過來的參數,不僅能表示2 個節點是否存在聯系,而且能表示聯系的強弱。這里與ST-GCN 有不同的融合方式,ST-GCN 是相乘,這里是相加,相加就可以產生不存在的聯系。Ck是數據相關圖,為每一個樣本學習唯一的圖,為了確定2 個頂點之間是否存在連接以及連接的強度,應用歸一化嵌入式Gauss 函數來計算2 個頂點的相似性:其中:f(vi,vj)為給定輸入映射,等于式(6)和式(7)的乘積,其大小為C×T×N,N是頂點的總數,θ可以表示為θ(vi) =Wθvi,φ可以表示為φ(vj) =Wφvj,頂點Vi和頂點Vj表示任意2 個點,Vi表示當前關注位置的信息,Vj表示全局信息,θ和φ通過1×1 卷積學習。fe(vi,vj)是non-local 提出的4 個具體函數中名為Embedded Gaussian[19]的一種相似度函數,用來計算和所有可能關聯的之間的相似關系。M為歸一化系數,N是Vj的位置的數目,用歸一化簡化梯度計算,計算所有j的softmax,保證輸入與輸出的大小一致。
如圖5 所示,在具體的實現中,首先將大小為Cin×N×T的輸入映射fin嵌入具有2 個嵌入函數的Ce×N×T中,即θ和φ,嵌入函數為1×1 卷積層,2 個嵌入的特征圖被重新排列并重塑為一個N×Ce×T矩陣和一個Ce×T×N矩陣,然后相乘得到一個N×N矩陣Ck,其中Ck ij表示頂點Vi和Vj的連接度。將矩陣的值歸一化為0~1,作為2 個頂點的虛擬邊,歸一化Gauss具有softmax 操作,可以計算Ck為

圖5 自適應卷積塊

其中:Wθ和Wφ分別為嵌入函數θ和φ的參數。將Bk和Ck添加到原公式,Bk的值和θ和φ的參數被初始化為0,這樣可以增強模型的靈活性,而不會降低模型的原始性能。
時間維度的卷積與ST-GCN 相同,即對C×T×N特征圖進行Kt×1 卷積。空間(圖)卷積網絡GCN 和時間卷積網絡TCN 之后都有一個批歸一化(BN)層和一個ReLU 層。如圖6 左所示,一個基本塊是一個空間自適應圖卷積神經網絡結構(adaptive graph convolutional neural network structure,AGCN)、一個時間TCN 和Dropout 的組合,下降率設置為0.5。為了穩定訓練,為每個塊添加殘差(ResNet)連接。
自適應圖卷積神經網絡(AGCN)是這些基本塊的堆棧,如圖6 右所示共有9 個基本塊,每塊的輸出通道 分 別 為64、64、64、128、128、128、256、256、256,在開始時添加一個BN 層(批量歸一化)來對輸入數據進行規范化。最后執行一個全局平均池化層,以匯集到相同大小的不同樣本的特征圖。最終的輸出被發送到一個softmax 分類器,獲得過街意圖預測。

圖6 AGCN 模塊結構
在原有的骨架識別中,僅僅對關節坐標位置信息進行提取與識別,行人關節之間的骨骼信息骨骼長度和方向,對于行人意圖識別也同樣重要。在本文中,應用骨骼信息與關節信息來加強行人意圖的識別。骨骼信息能表示行人骨骼的物理連接、骨骼的長度與連接方向,其信息輸入的數據是骨骼的長度和方向。
首先尋找一個人體骨骼的重心,就是人胸腔部分作為中心點,因為每個骨骼都有兩個點,把靠近中心點的關節看做源關節,遠離中心點的關節視為目標關節。所以說關節就是點,骨骼就是從一個點指向另外一個點的向量,向量的長度就是骨骼的長度,向量的方向就是骨骼的方向。假設一個行人骨骼的源關節位置信息為V1= (x0,y0,z0),其目標關節位置信息為V2=(x1,y1,z1),則骨骼的矢量計算為eV1V2= (x1-x0,y1-y0,z1-z0)。因為骨骼是2 個關節組成一個骨骼,而且沒有環狀的圖,所以關節數比骨骼數多1 個。中心關節上添加一個值為0 的空關節,這樣關節數與骨骼數就相同,網絡也相同,雙流法的框架如圖7。

圖7 雙流圖卷積模塊
可根據骨骼的長度與連接方向對過街行人的過街狀態進行分類與識別。假設道路上有3 種不同狀態的行人:行人橫向過街(過街)、 行人在街邊行走(不過街)、行人在道路邊等待(不過街或者即將過街)。在連續視頻幀中,3 種行人的骨骼長度變化和骨骼的方向存在差異明顯,分類網絡可根據行人特征的差異性來識別行人的過街意圖。給定一個樣本,首先根據關節的數據計算骨骼的數據,然后將關節數據和骨骼數據分別輸入AGCN,最后將2 個網絡輸出的softmax 分數融合,得到融合分數,預測行人過街意圖標簽。
3.1.1 實驗數據集
采用加拿大York 大學提供的自動駕駛聯合注意力公開數據集 (joint attention in autonomous driving public dataset,JAAD )[22], 預測行人過街意圖,JAAD包含346 個視頻場景,其中81 個行人不過街的場景,234 個行人過街的場景。在每個視頻中,隨著時間的推移,每個行人都有自己的過街狀態等信息,如圖8 所示。
3.1.2 實驗數據集預處理

為了提取行人的關鍵點,本實驗采用openpose 算法提取過街行人骨架數據[17],其中JAAD 數據集提供每個行人的身份識別號(ID)和過街時間幀等信息。全部視頻幀被標準化為656×368 幀大小。然后,將每個關鍵點 (x,y) ∈R2分別歸一化,將每個坐標除以656和368,如式(9)所示:這種規范化有利于數據的標準化輸入(方差≤1),為神經網絡做準備,同時保留了場景中行人的空間信息。隨后利用openpose 獲取行人關鍵點的坐標序列,則每個行人的狀態可以表示為其中:C是通道數,設C= 3 ,包括骨骼2 維坐標、關節點置信度;T是時間幀,T= 300;N是行人關節點數量,N= 15。

3.1.3 實驗參數設置
實驗中,為了訓練并驗證ST-AGCN 對行人過街意圖的識別準確率,將JAAD 數據集行人樣本統一幀數為300,若數據集視頻幀數小于300,則從第一幀循環,直到視頻幀達到300 幀,若數據集視頻幀大于300 幀,則將大于300 幀外的視頻幀作為另一個視頻幀;openpose 獲取行人關節點信息采用caffe 深度學習框架;行人過街意圖識別采PyTorch 深度學習框架;行人過街意圖識別分類num_class 為2,C 為過街(Crossing),NC 為不過街(No Crossing),其中訓練集和測試集的比例為1:1;訓練epoch 為50,訓練批次大小為8;采用隨機梯度下降(SGD)優化器;初始學習率為0.01;權重衰減系數為10-4。
3.2.1 行人過街意圖分類分析
行人過街意圖分類存在2 個神經網絡模型,如圖9所示。首先將原始視頻數據輸入到openpose 骨架特征提取網絡模型,得到行人關節點坐標,根據行人關節點坐標繪制出行人骨架圖;然后將行人的關節特征輸入到雙流自適應圖卷積神經網絡模型,得到行人的過街意圖標簽。

圖9 過街和不過街意圖分類網絡數據處理流程
行人不同的動作狀態會激活關節之間不同的動作依賴性,在實驗可視化視圖中,行人關節的依賴性由白色高亮的熱度圖表示在關節上。
實驗利用關節點熱度圖來評價分類網絡對關節點之間的依賴性以及對單個關節的關注度。若不同關節點之間存在依賴性,則關節點將會由不同大小的熱度圖;若某節點對模型識別分類結果產生較大的影響;該節點將產生更大的權重參數,則產生較大的熱度圖,反之將產生更小的熱度圖。在意圖分類整個過程中,計算并繪制行人關節點的熱度圖,如圖10 所示。

圖10 不過街和過街意圖關節點熱度圖
在行人不過街神經網絡的分類過程中,神經網絡更加關注腿部的關節點信息,所以腿部出現較大的熱度圖,在行人過街神經網絡的分類過程中,神經網絡不僅關注腿部的關節點信息,而且關注手部關節的擺動信息,故腿部和手部關節都出現較大的熱度圖。從實驗結果也可以看出,行人不同過街狀態,模型可以對相同的關節產生不同的關注度,實驗驗證意圖分類神經網絡的自適應可以捕捉到非相鄰關節間的依賴關系。
3.2.2 模型識別方法性能分析
本次實驗重新設計了時空圖卷積神經網絡用于行人過街意圖的識別分類,在分類網絡中加入了自適應圖卷積模塊和雙流圖卷積模塊,如圖11 所示。雙流自適應圖卷積神經網絡可以準確識別行人的過街狀態(過街、不過街)。

圖11 行人過街與不過街識別結果
實驗采用準確率 (accuracy,Acc)指標進行評價,計算公式為

其中:P和N分別表示總的過街樣本和不過街樣本數目;PT和NT分別表示正確識別的過街樣本與不過街樣本數目。
實驗對比了Openpose+ST-GCN 模型和Openpose+2s-AGCN 模 型 識 別 的 準 確 率, 分 別 為86% 和89.36%,Openpose+2s-AGCN 模型的識別準確率高3.36%,驗證了模型自適應和雙流圖卷積的有效性。本實驗的模型與同樣在JAAD 公開數據集上的實驗模型結果對比,如表1 所示。本實驗的模型準確率比Openpose+Keypoint 分類模型還要高1.36%。

表1 行人過街意圖模型準確率
本文在時空圖卷積網絡(ST-GCN)的基礎上,針對此網絡的不足,進行了改進,針對此網絡注意力機制靈活度不夠以及不能捕捉到非相鄰關節間的依賴關系,加入了自適應圖卷積模塊,為了充分利用骨骼的2D 信息,加入了雙流圖卷積,最后設計了雙流自適應圖卷積神經網絡(ST-AGCN)行人過街意圖識別方法。在自動駕駛聯合注意力公開數據集 (JAAD) 中具有行人的身份標識號(ID)和標簽信息(過街、不過街;C/NC),實驗對行人骨骼關節點的關注度和意圖分類的準確率進行分析比較,驗證了自適應模塊和雙流網絡都能給行人過街意圖網絡帶來性能上的提升,改進網絡結構后準確率提升3.36%。
本文提出的方法,當智能車輛檢測出行人過街意圖時候,能夠方便智能車輛或者駕駛員及時收到反饋,減速停車禮讓行人,提高交通安全性和車輛的通行效率。但本文所提出的雙流自適應圖卷積行人過街意圖識別方法,更加側重空間維度上信息的利用,未來將針對網絡時間維度上信息的利用。