胡遠(yuǎn)志,蔣 濤,劉 西,施友寧
(汽車零部件先進(jìn)制造技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室(重慶理工大學(xué)),重慶400054,中國(guó))
在無人行橫道標(biāo)志線和交通信號(hào)的城市道路中,過街行人與行駛的車輛往往存在相互干擾。街邊行人可以在短時(shí)間改變運(yùn)動(dòng)的方向和速度,如果自動(dòng)駕駛車輛對(duì)行人的過街意圖產(chǎn)生誤判,不僅影響車輛的通行效率,嚴(yán)重時(shí),還威脅行人的生命安全,因此準(zhǔn)確的預(yù)測(cè)行人的過街意圖至關(guān)重要。
行人的過街意圖識(shí)別可以簡(jiǎn)化為行人動(dòng)作識(shí)別。在街邊行走不過街的行人與即將橫穿馬路的行人,其運(yùn)動(dòng)方向和行人相對(duì)于攝像頭的位置明顯不同;街邊站立不過街的行人與街道中行走過街的行人動(dòng)作也明顯不同。設(shè)計(jì)一種神經(jīng)網(wǎng)絡(luò)模型可以隱式的提取行人是否過街有關(guān)的行人動(dòng)作特征,將提取的行人的動(dòng)作特征輸入到行人意圖分類網(wǎng)絡(luò)中即可識(shí)別行人的過街意圖。
由于輸入的行人特征數(shù)據(jù)存在很大的差異性和復(fù)雜性,行人的過街動(dòng)作識(shí)別應(yīng)用于視頻是一個(gè)困難的問題[1]。目前動(dòng)作識(shí)別方法分為3 類:三原色彩色標(biāo)準(zhǔn)(red green blue,RGB)視頻流法[2-5]、光流法[6-8]、骨架建模法[9-12]。
骨架建模通過估計(jì)人體姿態(tài)來預(yù)測(cè)人體的動(dòng)作,基于骨架數(shù)據(jù)的動(dòng)作識(shí)別方法對(duì)動(dòng)態(tài)環(huán)境和復(fù)雜背景有很強(qiáng)的適應(yīng)性,其中使用最廣泛的模型是遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)。RNN 可以捕捉到連續(xù)幀之間的時(shí)間依賴性,如bi-RNN[10]、Deep-LSTM[13]、融合特征模型和基于注意力的模型[14]。
為了識(shí)別行人的過街與不過街時(shí)的動(dòng)作,研究者往往需要先檢測(cè)人體的骨骼點(diǎn)[15]。FANG Zhijie 等[16]利用檢測(cè)出的骨骼點(diǎn)之間的距離和角度判斷行人是否有過街意圖。R. Quintero 等[17]在三維空間檢測(cè)人體骨骼點(diǎn),并基于骨骼點(diǎn)信息識(shí)別行人的靜止站立、起動(dòng)、行走和停止動(dòng)作。
骨架數(shù)據(jù)并不是單個(gè)關(guān)節(jié)點(diǎn)簡(jiǎn)單組合,骨架數(shù)據(jù)可以作為圖形結(jié)構(gòu),傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)可以表示向量序列和二維網(wǎng)格,但并不能完全表示骨架數(shù)據(jù)的結(jié)構(gòu),將人體骨架數(shù)據(jù)看作骨架圖結(jié)構(gòu),可以更深度的提取骨架信息。YAN Sijie 等人應(yīng)用圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)來進(jìn)行動(dòng)作識(shí)別,將人體骨架看作圖形結(jié)構(gòu),提出了時(shí)空?qǐng)D卷積網(wǎng)絡(luò)[14],將骨架數(shù)據(jù)直接建模為圖形結(jié)構(gòu),以此獲得更好的性能。
本文采用圖卷積的方法進(jìn)行行人過街意圖識(shí)別。將行人骨架看作圖結(jié)構(gòu),行人非相鄰關(guān)節(jié)點(diǎn)之間會(huì)存在依賴關(guān)系,比如行人的行走時(shí),手部關(guān)節(jié)與腿部關(guān)節(jié)會(huì)有耦合的運(yùn)動(dòng)關(guān)系。本文設(shè)計(jì)了一種自適應(yīng)的圖卷積網(wǎng)絡(luò),可以捕捉到非相鄰關(guān)節(jié)間的依賴關(guān)系。同時(shí)為了更加充分利用骨架數(shù)據(jù),進(jìn)一步利用了骨骼的長(zhǎng)度和方向信息,設(shè)計(jì)雙流圖卷積網(wǎng)絡(luò)。
圖由節(jié)點(diǎn)和連線組成,是一種描述系統(tǒng)建模的抽象數(shù)據(jù)類型,被廣泛應(yīng)用于姿態(tài)估計(jì)、行為識(shí)別等諸多鄰域[18]。圖中任意節(jié)點(diǎn)的狀態(tài)更新均依賴于與其存在連接關(guān)系的n個(gè)節(jié)點(diǎn)的狀態(tài),具有節(jié)點(diǎn)和連線的完整圖可定義為
其中:鄰接矩陣M可以表示各個(gè)節(jié)點(diǎn)間的結(jié)構(gòu)信息關(guān)系,圖中節(jié)點(diǎn)存在連接的位置元素為1,其余位置元素為0,若圖中有i個(gè)節(jié)點(diǎn),圖的節(jié)點(diǎn)的狀態(tài)信息集合記為X= {x0,x1,x2,…,xi}。
行人的行為特征可以用骨架序列圖表示,采用openpose 骨架序列[17],如圖1 所示。其中0-17 編號(hào)分別 對(duì) 應(yīng): Nose、Neck、RShoulder、RElbow、RWrist、LShoulder、LElbow、LWrist、RHip、RKnee、Rankle、LHip、LKnee、Lankle、REye、LEye、REye、REar、LEar,共18 個(gè)關(guān)節(jié)點(diǎn)。將行人過街視頻中每一幀中的骨架關(guān)節(jié)點(diǎn)組合看作一個(gè)圖,每個(gè)關(guān)節(jié)點(diǎn)具有2D 或者3D 坐標(biāo)。設(shè)一幅骨架圖中有i個(gè)關(guān)節(jié)節(jié)點(diǎn),且每一個(gè)關(guān)節(jié)均可表示為具有3 個(gè)位置坐標(biāo)的向量X= (x,y,z),則從第1個(gè)關(guān)節(jié)到第i關(guān)點(diǎn)的狀態(tài)向量集合記作X= {x0,x1,x2,x3,…,xi}表示。
圖1 行人骨架關(guān)節(jié)點(diǎn)
每個(gè)行人數(shù)據(jù)集樣本關(guān)節(jié)之間的結(jié)構(gòu)信息可以用時(shí)空?qǐng)D表示,時(shí)空?qǐng)D包括空間維度信息和時(shí)間維度信息。圖的結(jié)構(gòu)遵循ST-GCN 所提出的原始結(jié)構(gòu)[14],如圖2 所示。時(shí)空骨架圖在空間維度上,骨架圖的關(guān)節(jié)為圖的節(jié)點(diǎn),關(guān)節(jié)之間的連接為圖的空間邊(圖中藍(lán)色線)。在時(shí)間維度上,相鄰幀對(duì)應(yīng)節(jié)點(diǎn)之間的連接為圖的時(shí)間邊(圖中的橙色線),將每個(gè)關(guān)節(jié)的坐標(biāo)設(shè)置為對(duì)應(yīng)節(jié)點(diǎn)的狀態(tài)。
圖2 行人時(shí)空骨架圖
在空間維度上,將骨架圖定義為G=(V,E),其中V為n個(gè)關(guān)節(jié)的集合,E是個(gè)n-1 空間邊的集合。設(shè)一個(gè)有N個(gè)節(jié)點(diǎn)和T幀的骨架序列的時(shí)空?qǐng)D為G=(V,E),V是3D 的關(guān)節(jié)在T幀內(nèi)的位置框架,其節(jié)點(diǎn)節(jié)點(diǎn)集合為V={vti|t= 1,…N,i= 1,…N},第t幀的第i個(gè)節(jié)點(diǎn)的特征向量F(vti),該節(jié)點(diǎn)的坐標(biāo)向量和估計(jì)置信度組成,ES={vtivtj|(i,j)∈H}表示空間邊,EF={vtiv(t+1)i}表示時(shí)間邊。
傳統(tǒng)卷積有固定的鄰域大?。ㄈ?×3 的卷積核即為8 鄰域),同時(shí)有固定的順序(一般為左上角到右下角),如圖3 所示。對(duì)于圖結(jié)構(gòu)數(shù)據(jù)而言:不存在固定8 鄰域結(jié)構(gòu),每個(gè)節(jié)點(diǎn)的鄰域大小是變化的,如圖1 所示。例如人體骨架脖子Neck 脖子節(jié)點(diǎn)的鄰域節(jié)點(diǎn)個(gè)數(shù)為5,Shoulder 肩節(jié)點(diǎn)的鄰域節(jié)點(diǎn)個(gè)數(shù)為2,Wrist 手腕節(jié)點(diǎn)的鄰域節(jié)點(diǎn)個(gè)數(shù)為1;并且同一鄰域內(nèi)的節(jié)點(diǎn)不存在順序。
圖3 傳統(tǒng)卷積8 鄰域圖
根據(jù)上文定義的圖,ST-GCN 核心思想將卷積從規(guī)則數(shù)據(jù)擴(kuò)展到圖結(jié)構(gòu)數(shù)據(jù)的過程中,選擇合適的取樣函數(shù)和權(quán)重函數(shù)[14]。提出在圖上應(yīng)用多層時(shí)空?qǐng)D卷積運(yùn)算來提取高層特征,然后利用全局平均池化層和softmax 分類器,根據(jù)提取的特征進(jìn)行動(dòng)作類別預(yù)測(cè)。
在空間維數(shù)中圖卷積運(yùn)算表示為
其中:Zij的意義為(在i節(jié)點(diǎn)的鄰域中的)j節(jié)點(diǎn)所處類的節(jié)點(diǎn)數(shù)量。Si表示vj卷積的取樣區(qū)域,定義為目標(biāo)節(jié)點(diǎn)vi到鄰居節(jié)點(diǎn)vj的距離;歸一化系數(shù)是為了平衡鄰域中每一類節(jié)點(diǎn)的貢獻(xiàn);ω[li(vj)]為權(quán)重矩陣;fin(vj)為輸入的特征映射。
圖網(wǎng)絡(luò)的特征實(shí)際上是C×T×N的向量,其中N表示圖節(jié)點(diǎn)的數(shù)量,C代表通道數(shù),T代表時(shí)間幀長(zhǎng)度,要實(shí)現(xiàn)ST-GCN,式2 轉(zhuǎn)換為:
其中:Kv表示空間維數(shù)的核大小,āK為N×N的鄰接矩陣,fin為特征映射,表示頂點(diǎn)Vj是否在頂點(diǎn)Vi的子集Sik中,Si為目標(biāo)點(diǎn)Vi卷積的采樣區(qū)域。從權(quán)重向量的fin中提取特定子集中的連通點(diǎn),ηik是歸一化對(duì)角矩陣。
設(shè)置α= 0.001,可以避免空行,歸一化也可以避免計(jì)算數(shù)據(jù)差異越來越大,Wk是卷積。
在2D 卷積中,鄰域內(nèi)的像素具有固定的空間順序,可以通過根據(jù)空間順序索引的張量來實(shí)現(xiàn)加權(quán)函數(shù)。但骨架序列沒有這樣的隱式排列,所以在骨架識(shí)別中按照目標(biāo)節(jié)點(diǎn)周圍鄰域的圖標(biāo)記過程定義來構(gòu)造加權(quán)函數(shù)。
延用ST-GCN 所提出的加權(quán)函數(shù)設(shè)計(jì)模式,不給每個(gè)相鄰節(jié)點(diǎn)一個(gè)唯一的標(biāo)簽,而是通過分區(qū)策略將關(guān)節(jié)點(diǎn)的鄰域集合劃分為3 個(gè)子集,每個(gè)子集都有一個(gè)數(shù)字標(biāo)簽。圖4 顯示了這個(gè)策略,其中×表示骨架的重心,所有關(guān)節(jié)的平均坐標(biāo)視為重心。
圖4 采樣區(qū)域圖
采樣區(qū)域Si是曲線所包圍的區(qū)域,根據(jù)身體運(yùn)動(dòng)大致分為向心運(yùn)動(dòng)和離心運(yùn)動(dòng),將鄰居集劃分為3 個(gè)區(qū)域:1)根節(jié)點(diǎn)本身;2)向心組,比根節(jié)點(diǎn)更加靠近骨架重心的相鄰節(jié)點(diǎn);3)離心組。采樣區(qū)域Si映射表示為li=S(Vi)→{1,2,3},相應(yīng)的加權(quán)函數(shù)可表示為W(Vi,Vj) :S(Vi)→Rc,則一個(gè)映射與權(quán)重的賦予可以通過來實(shí)現(xiàn)。每個(gè)子集的權(quán)重向量在訓(xùn)練時(shí)會(huì)向前反向傳播更新,以此來提高其加權(quán)準(zhǔn)確性。Mk是N×N注意力圖,表示每個(gè)頂點(diǎn)的重要性。
在ST-GCN 的時(shí)間維度上,時(shí)間卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)每個(gè)頂點(diǎn)的相鄰節(jié)點(diǎn)數(shù)固定為2(即為兩個(gè)連續(xù)幀中的對(duì)應(yīng)關(guān)節(jié)),所以可以在上面計(jì)算的輸出特征圖上進(jìn)行Kt×1 卷積,其中Kt是時(shí)間維度的內(nèi)核大小。
ST-GCN 中的圖卷積構(gòu)造過程存在2 個(gè)缺點(diǎn):
1) ST-GCN 的注意力機(jī)制靈活性不夠,掩碼Mk是與鄰接矩陣直接相乘。這就造成一個(gè)現(xiàn)象,就是如果鄰接矩陣Mk里面部分元素為0,那么無論Mk對(duì)應(yīng)元素為何值,最后結(jié)果都是0。換句話說就是不會(huì)創(chuàng)造不存在的連接,ST-GCN 中使用的骨架圖只代表人體的物理結(jié)構(gòu),忽略了非物理連接關(guān)節(jié)之間的依賴關(guān)系。例如,手和腿之間的關(guān)系對(duì)于識(shí)別行人“過街”動(dòng)作是很重要的,然而由于手和腿部關(guān)節(jié)在骨架圖的定義中相距很遠(yuǎn),ST- GCN 很難捕捉到手和腿之間的依賴關(guān)系。
2) 行人關(guān)節(jié)之間的骨骼特征的2D 信息如骨骼長(zhǎng)度和方向,與行人的過街意圖息息相關(guān)。例如行人從街邊橫穿突然過街,行人的骨骼2D 骨骼長(zhǎng)度和方向會(huì)發(fā)生突變,有利于快速識(shí)別行人的過街意圖。
ST-GCN 骨架數(shù)據(jù)的時(shí)空?qǐng)D卷積中,圖的結(jié)構(gòu)是預(yù)定義的,不適用于不同行人過街狀態(tài)的識(shí)別,本文應(yīng)用了一種自適應(yīng)圖卷積層(adaptive graph convolution,AGC),它將圖的拓?fù)浣Y(jié)構(gòu)與網(wǎng)絡(luò)的其他參數(shù)一起以端到端的學(xué)習(xí)方式進(jìn)行優(yōu)化。由于圖對(duì)于不同的層和樣本是唯一的,這就增加了模型的靈活性。同時(shí)插入殘差分支,保證了模型的穩(wěn)定性。
由式(3)可知:圖的拓?fù)鋵?shí)際上是由鄰接矩陣Ak和掩碼Mk決定的,Ak確定了兩個(gè)關(guān)節(jié)點(diǎn)之間是否有連接,而Mk決定了關(guān)節(jié)點(diǎn)之間的連接的強(qiáng)度。為了增加圖結(jié)構(gòu)的適應(yīng)性,將圖卷積公式改為
其中:Ak與式(3)原始的歸一化N×N鄰接矩陣Ak相同,表示行人關(guān)節(jié)點(diǎn)的物理結(jié)構(gòu)。Bk和Ak類似,也是一個(gè)的鄰接矩陣,但Bk是一個(gè)可訓(xùn)練的權(quán)重,而且沒有對(duì)其進(jìn)行如歸一化等任何約束條件,Bk是從數(shù)據(jù)學(xué)習(xí)過來的參數(shù),不僅能表示2 個(gè)節(jié)點(diǎn)是否存在聯(lián)系,而且能表示聯(lián)系的強(qiáng)弱。這里與ST-GCN 有不同的融合方式,ST-GCN 是相乘,這里是相加,相加就可以產(chǎn)生不存在的聯(lián)系。Ck是數(shù)據(jù)相關(guān)圖,為每一個(gè)樣本學(xué)習(xí)唯一的圖,為了確定2 個(gè)頂點(diǎn)之間是否存在連接以及連接的強(qiáng)度,應(yīng)用歸一化嵌入式Gauss 函數(shù)來計(jì)算2 個(gè)頂點(diǎn)的相似性:其中:f(vi,vj)為給定輸入映射,等于式(6)和式(7)的乘積,其大小為C×T×N,N是頂點(diǎn)的總數(shù),θ可以表示為θ(vi) =Wθvi,φ可以表示為φ(vj) =Wφvj,頂點(diǎn)Vi和頂點(diǎn)Vj表示任意2 個(gè)點(diǎn),Vi表示當(dāng)前關(guān)注位置的信息,Vj表示全局信息,θ和φ通過1×1 卷積學(xué)習(xí)。fe(vi,vj)是non-local 提出的4 個(gè)具體函數(shù)中名為Embedded Gaussian[19]的一種相似度函數(shù),用來計(jì)算和所有可能關(guān)聯(lián)的之間的相似關(guān)系。M為歸一化系數(shù),N是Vj的位置的數(shù)目,用歸一化簡(jiǎn)化梯度計(jì)算,計(jì)算所有j的softmax,保證輸入與輸出的大小一致。
如圖5 所示,在具體的實(shí)現(xiàn)中,首先將大小為Cin×N×T的輸入映射fin嵌入具有2 個(gè)嵌入函數(shù)的Ce×N×T中,即θ和φ,嵌入函數(shù)為1×1 卷積層,2 個(gè)嵌入的特征圖被重新排列并重塑為一個(gè)N×Ce×T矩陣和一個(gè)Ce×T×N矩陣,然后相乘得到一個(gè)N×N矩陣Ck,其中Ck ij表示頂點(diǎn)Vi和Vj的連接度。將矩陣的值歸一化為0~1,作為2 個(gè)頂點(diǎn)的虛擬邊,歸一化Gauss具有softmax 操作,可以計(jì)算Ck為
圖5 自適應(yīng)卷積塊
其中:Wθ和Wφ分別為嵌入函數(shù)θ和φ的參數(shù)。將Bk和Ck添加到原公式,Bk的值和θ和φ的參數(shù)被初始化為0,這樣可以增強(qiáng)模型的靈活性,而不會(huì)降低模型的原始性能。
時(shí)間維度的卷積與ST-GCN 相同,即對(duì)C×T×N特征圖進(jìn)行Kt×1 卷積。空間(圖)卷積網(wǎng)絡(luò)GCN 和時(shí)間卷積網(wǎng)絡(luò)TCN 之后都有一個(gè)批歸一化(BN)層和一個(gè)ReLU 層。如圖6 左所示,一個(gè)基本塊是一個(gè)空間自適應(yīng)圖卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(adaptive graph convolutional neural network structure,AGCN)、一個(gè)時(shí)間TCN 和Dropout 的組合,下降率設(shè)置為0.5。為了穩(wěn)定訓(xùn)練,為每個(gè)塊添加殘差(ResNet)連接。
自適應(yīng)圖卷積神經(jīng)網(wǎng)絡(luò)(AGCN)是這些基本塊的堆棧,如圖6 右所示共有9 個(gè)基本塊,每塊的輸出通道 分 別 為64、64、64、128、128、128、256、256、256,在開始時(shí)添加一個(gè)BN 層(批量歸一化)來對(duì)輸入數(shù)據(jù)進(jìn)行規(guī)范化。最后執(zhí)行一個(gè)全局平均池化層,以匯集到相同大小的不同樣本的特征圖。最終的輸出被發(fā)送到一個(gè)softmax 分類器,獲得過街意圖預(yù)測(cè)。
圖6 AGCN 模塊結(jié)構(gòu)
在原有的骨架識(shí)別中,僅僅對(duì)關(guān)節(jié)坐標(biāo)位置信息進(jìn)行提取與識(shí)別,行人關(guān)節(jié)之間的骨骼信息骨骼長(zhǎng)度和方向,對(duì)于行人意圖識(shí)別也同樣重要。在本文中,應(yīng)用骨骼信息與關(guān)節(jié)信息來加強(qiáng)行人意圖的識(shí)別。骨骼信息能表示行人骨骼的物理連接、骨骼的長(zhǎng)度與連接方向,其信息輸入的數(shù)據(jù)是骨骼的長(zhǎng)度和方向。
首先尋找一個(gè)人體骨骼的重心,就是人胸腔部分作為中心點(diǎn),因?yàn)槊總€(gè)骨骼都有兩個(gè)點(diǎn),把靠近中心點(diǎn)的關(guān)節(jié)看做源關(guān)節(jié),遠(yuǎn)離中心點(diǎn)的關(guān)節(jié)視為目標(biāo)關(guān)節(jié)。所以說關(guān)節(jié)就是點(diǎn),骨骼就是從一個(gè)點(diǎn)指向另外一個(gè)點(diǎn)的向量,向量的長(zhǎng)度就是骨骼的長(zhǎng)度,向量的方向就是骨骼的方向。假設(shè)一個(gè)行人骨骼的源關(guān)節(jié)位置信息為V1= (x0,y0,z0),其目標(biāo)關(guān)節(jié)位置信息為V2=(x1,y1,z1),則骨骼的矢量計(jì)算為eV1V2= (x1-x0,y1-y0,z1-z0)。因?yàn)楣趋朗? 個(gè)關(guān)節(jié)組成一個(gè)骨骼,而且沒有環(huán)狀的圖,所以關(guān)節(jié)數(shù)比骨骼數(shù)多1 個(gè)。中心關(guān)節(jié)上添加一個(gè)值為0 的空關(guān)節(jié),這樣關(guān)節(jié)數(shù)與骨骼數(shù)就相同,網(wǎng)絡(luò)也相同,雙流法的框架如圖7。
圖7 雙流圖卷積模塊
可根據(jù)骨骼的長(zhǎng)度與連接方向?qū)^街行人的過街狀態(tài)進(jìn)行分類與識(shí)別。假設(shè)道路上有3 種不同狀態(tài)的行人:行人橫向過街(過街)、 行人在街邊行走(不過街)、行人在道路邊等待(不過街或者即將過街)。在連續(xù)視頻幀中,3 種行人的骨骼長(zhǎng)度變化和骨骼的方向存在差異明顯,分類網(wǎng)絡(luò)可根據(jù)行人特征的差異性來識(shí)別行人的過街意圖。給定一個(gè)樣本,首先根據(jù)關(guān)節(jié)的數(shù)據(jù)計(jì)算骨骼的數(shù)據(jù),然后將關(guān)節(jié)數(shù)據(jù)和骨骼數(shù)據(jù)分別輸入AGCN,最后將2 個(gè)網(wǎng)絡(luò)輸出的softmax 分?jǐn)?shù)融合,得到融合分?jǐn)?shù),預(yù)測(cè)行人過街意圖標(biāo)簽。
3.1.1 實(shí)驗(yàn)數(shù)據(jù)集
采用加拿大York 大學(xué)提供的自動(dòng)駕駛聯(lián)合注意力公開數(shù)據(jù)集 (joint attention in autonomous driving public dataset,JAAD )[22], 預(yù)測(cè)行人過街意圖,JAAD包含346 個(gè)視頻場(chǎng)景,其中81 個(gè)行人不過街的場(chǎng)景,234 個(gè)行人過街的場(chǎng)景。在每個(gè)視頻中,隨著時(shí)間的推移,每個(gè)行人都有自己的過街狀態(tài)等信息,如圖8 所示。
3.1.2 實(shí)驗(yàn)數(shù)據(jù)集預(yù)處理
為了提取行人的關(guān)鍵點(diǎn),本實(shí)驗(yàn)采用openpose 算法提取過街行人骨架數(shù)據(jù)[17],其中JAAD 數(shù)據(jù)集提供每個(gè)行人的身份識(shí)別號(hào)(ID)和過街時(shí)間幀等信息。全部視頻幀被標(biāo)準(zhǔn)化為656×368 幀大小。然后,將每個(gè)關(guān)鍵點(diǎn) (x,y) ∈R2分別歸一化,將每個(gè)坐標(biāo)除以656和368,如式(9)所示:這種規(guī)范化有利于數(shù)據(jù)的標(biāo)準(zhǔn)化輸入(方差≤1),為神經(jīng)網(wǎng)絡(luò)做準(zhǔn)備,同時(shí)保留了場(chǎng)景中行人的空間信息。隨后利用openpose 獲取行人關(guān)鍵點(diǎn)的坐標(biāo)序列,則每個(gè)行人的狀態(tài)可以表示為其中:C是通道數(shù),設(shè)C= 3 ,包括骨骼2 維坐標(biāo)、關(guān)節(jié)點(diǎn)置信度;T是時(shí)間幀,T= 300;N是行人關(guān)節(jié)點(diǎn)數(shù)量,N= 15。
3.1.3 實(shí)驗(yàn)參數(shù)設(shè)置
實(shí)驗(yàn)中,為了訓(xùn)練并驗(yàn)證ST-AGCN 對(duì)行人過街意圖的識(shí)別準(zhǔn)確率,將JAAD 數(shù)據(jù)集行人樣本統(tǒng)一幀數(shù)為300,若數(shù)據(jù)集視頻幀數(shù)小于300,則從第一幀循環(huán),直到視頻幀達(dá)到300 幀,若數(shù)據(jù)集視頻幀大于300 幀,則將大于300 幀外的視頻幀作為另一個(gè)視頻幀;openpose 獲取行人關(guān)節(jié)點(diǎn)信息采用caffe 深度學(xué)習(xí)框架;行人過街意圖識(shí)別采PyTorch 深度學(xué)習(xí)框架;行人過街意圖識(shí)別分類num_class 為2,C 為過街(Crossing),NC 為不過街(No Crossing),其中訓(xùn)練集和測(cè)試集的比例為1:1;訓(xùn)練epoch 為50,訓(xùn)練批次大小為8;采用隨機(jī)梯度下降(SGD)優(yōu)化器;初始學(xué)習(xí)率為0.01;權(quán)重衰減系數(shù)為10-4。
3.2.1 行人過街意圖分類分析
行人過街意圖分類存在2 個(gè)神經(jīng)網(wǎng)絡(luò)模型,如圖9所示。首先將原始視頻數(shù)據(jù)輸入到openpose 骨架特征提取網(wǎng)絡(luò)模型,得到行人關(guān)節(jié)點(diǎn)坐標(biāo),根據(jù)行人關(guān)節(jié)點(diǎn)坐標(biāo)繪制出行人骨架圖;然后將行人的關(guān)節(jié)特征輸入到雙流自適應(yīng)圖卷積神經(jīng)網(wǎng)絡(luò)模型,得到行人的過街意圖標(biāo)簽。
圖9 過街和不過街意圖分類網(wǎng)絡(luò)數(shù)據(jù)處理流程
行人不同的動(dòng)作狀態(tài)會(huì)激活關(guān)節(jié)之間不同的動(dòng)作依賴性,在實(shí)驗(yàn)可視化視圖中,行人關(guān)節(jié)的依賴性由白色高亮的熱度圖表示在關(guān)節(jié)上。
實(shí)驗(yàn)利用關(guān)節(jié)點(diǎn)熱度圖來評(píng)價(jià)分類網(wǎng)絡(luò)對(duì)關(guān)節(jié)點(diǎn)之間的依賴性以及對(duì)單個(gè)關(guān)節(jié)的關(guān)注度。若不同關(guān)節(jié)點(diǎn)之間存在依賴性,則關(guān)節(jié)點(diǎn)將會(huì)由不同大小的熱度圖;若某節(jié)點(diǎn)對(duì)模型識(shí)別分類結(jié)果產(chǎn)生較大的影響;該節(jié)點(diǎn)將產(chǎn)生更大的權(quán)重參數(shù),則產(chǎn)生較大的熱度圖,反之將產(chǎn)生更小的熱度圖。在意圖分類整個(gè)過程中,計(jì)算并繪制行人關(guān)節(jié)點(diǎn)的熱度圖,如圖10 所示。
圖10 不過街和過街意圖關(guān)節(jié)點(diǎn)熱度圖
在行人不過街神經(jīng)網(wǎng)絡(luò)的分類過程中,神經(jīng)網(wǎng)絡(luò)更加關(guān)注腿部的關(guān)節(jié)點(diǎn)信息,所以腿部出現(xiàn)較大的熱度圖,在行人過街神經(jīng)網(wǎng)絡(luò)的分類過程中,神經(jīng)網(wǎng)絡(luò)不僅關(guān)注腿部的關(guān)節(jié)點(diǎn)信息,而且關(guān)注手部關(guān)節(jié)的擺動(dòng)信息,故腿部和手部關(guān)節(jié)都出現(xiàn)較大的熱度圖。從實(shí)驗(yàn)結(jié)果也可以看出,行人不同過街狀態(tài),模型可以對(duì)相同的關(guān)節(jié)產(chǎn)生不同的關(guān)注度,實(shí)驗(yàn)驗(yàn)證意圖分類神經(jīng)網(wǎng)絡(luò)的自適應(yīng)可以捕捉到非相鄰關(guān)節(jié)間的依賴關(guān)系。
3.2.2 模型識(shí)別方法性能分析
本次實(shí)驗(yàn)重新設(shè)計(jì)了時(shí)空?qǐng)D卷積神經(jīng)網(wǎng)絡(luò)用于行人過街意圖的識(shí)別分類,在分類網(wǎng)絡(luò)中加入了自適應(yīng)圖卷積模塊和雙流圖卷積模塊,如圖11 所示。雙流自適應(yīng)圖卷積神經(jīng)網(wǎng)絡(luò)可以準(zhǔn)確識(shí)別行人的過街狀態(tài)(過街、不過街)。
圖11 行人過街與不過街識(shí)別結(jié)果
實(shí)驗(yàn)采用準(zhǔn)確率 (accuracy,Acc)指標(biāo)進(jìn)行評(píng)價(jià),計(jì)算公式為
其中:P和N分別表示總的過街樣本和不過街樣本數(shù)目;PT和NT分別表示正確識(shí)別的過街樣本與不過街樣本數(shù)目。
實(shí)驗(yàn)對(duì)比了Openpose+ST-GCN 模型和Openpose+2s-AGCN 模 型 識(shí) 別 的 準(zhǔn) 確 率, 分 別 為86% 和89.36%,Openpose+2s-AGCN 模型的識(shí)別準(zhǔn)確率高3.36%,驗(yàn)證了模型自適應(yīng)和雙流圖卷積的有效性。本實(shí)驗(yàn)的模型與同樣在JAAD 公開數(shù)據(jù)集上的實(shí)驗(yàn)?zāi)P徒Y(jié)果對(duì)比,如表1 所示。本實(shí)驗(yàn)的模型準(zhǔn)確率比Openpose+Keypoint 分類模型還要高1.36%。
表1 行人過街意圖模型準(zhǔn)確率
本文在時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(ST-GCN)的基礎(chǔ)上,針對(duì)此網(wǎng)絡(luò)的不足,進(jìn)行了改進(jìn),針對(duì)此網(wǎng)絡(luò)注意力機(jī)制靈活度不夠以及不能捕捉到非相鄰關(guān)節(jié)間的依賴關(guān)系,加入了自適應(yīng)圖卷積模塊,為了充分利用骨骼的2D 信息,加入了雙流圖卷積,最后設(shè)計(jì)了雙流自適應(yīng)圖卷積神經(jīng)網(wǎng)絡(luò)(ST-AGCN)行人過街意圖識(shí)別方法。在自動(dòng)駕駛聯(lián)合注意力公開數(shù)據(jù)集 (JAAD) 中具有行人的身份標(biāo)識(shí)號(hào)(ID)和標(biāo)簽信息(過街、不過街;C/NC),實(shí)驗(yàn)對(duì)行人骨骼關(guān)節(jié)點(diǎn)的關(guān)注度和意圖分類的準(zhǔn)確率進(jìn)行分析比較,驗(yàn)證了自適應(yīng)模塊和雙流網(wǎng)絡(luò)都能給行人過街意圖網(wǎng)絡(luò)帶來性能上的提升,改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)后準(zhǔn)確率提升3.36%。
本文提出的方法,當(dāng)智能車輛檢測(cè)出行人過街意圖時(shí)候,能夠方便智能車輛或者駕駛員及時(shí)收到反饋,減速停車禮讓行人,提高交通安全性和車輛的通行效率。但本文所提出的雙流自適應(yīng)圖卷積行人過街意圖識(shí)別方法,更加側(cè)重空間維度上信息的利用,未來將針對(duì)網(wǎng)絡(luò)時(shí)間維度上信息的利用。