亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于時(shí)空?qǐng)D卷積網(wǎng)絡(luò)改進(jìn)的人體行為識(shí)別方法

        2022-06-25 05:01:32
        關(guān)鍵詞:關(guān)聯(lián)矩陣有向圖骨架

        王 松

        (楚雄師范學(xué)院 管理與經(jīng)濟(jì)學(xué)院,云南 楚雄 675000)

        人類行為識(shí)別(Human Action Recognition)是在計(jì)算機(jī)視覺(jué)(CV)和模式識(shí)別(PR)交叉領(lǐng)域的針對(duì)視頻片段進(jìn)行動(dòng)作分類的人類行為理解問(wèn)題,對(duì)姿勢(shì)估計(jì)、理解視頻信息有重要作用。以人類為主體的行為識(shí)別研究,主要應(yīng)用集中在智能家居、智能監(jiān)控安防、人機(jī)交互,還有基于內(nèi)容的視頻檢索和推動(dòng)智慧城市發(fā)展等方面。

        在很多行業(yè)都可以使用行為識(shí)別技術(shù),由于其具有廣泛的應(yīng)用前景和社會(huì)價(jià)值,行為識(shí)別一直都是計(jì)算機(jī)視覺(jué)(CV)和模式識(shí)別(PR)交叉領(lǐng)域的研究熱點(diǎn)。行為識(shí)別算法的關(guān)鍵是能否從包含人類行為的視頻中有效獲取時(shí)間和空間上的行為信息,目前主流的行為識(shí)別算法主要是根據(jù)光流信息來(lái)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型,受制于數(shù)據(jù)量以及光流信息對(duì)動(dòng)作信息的表達(dá)很模糊,這種基于RGB圖像的行為識(shí)別模型經(jīng)常會(huì)因?yàn)橐暯堑淖兓蛷?fù)雜背景的干擾,從而導(dǎo)致泛化能力不足,在現(xiàn)實(shí)生活中很難應(yīng)用[1]。而基于骨骼數(shù)據(jù)的行為識(shí)別可以較好地解決這個(gè)問(wèn)題。目前,從2018年出現(xiàn)的時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(Spatial Temporal Graph Convolutional Networks)ST-GCN行為識(shí)別模型開(kāi)始,各種實(shí)驗(yàn)已經(jīng)證明GCN用于基于骨骼的行為識(shí)別能大幅提高識(shí)別的準(zhǔn)確性,確定了在行為識(shí)別方向上利用圖卷積的必要性,但如何更好地學(xué)習(xí)骨骼數(shù)據(jù)中關(guān)節(jié)點(diǎn)和骨架邊所表達(dá)的動(dòng)作特征仍然待解決。

        本文針對(duì)以上問(wèn)題,改進(jìn)現(xiàn)有的時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(ST-GCN)行為識(shí)別模型。改進(jìn)方法可進(jìn)一步促進(jìn)人體行為識(shí)別技術(shù)在智能家居、智能監(jiān)控安防、人機(jī)交互、基于內(nèi)容的視頻檢索、智慧城市發(fā)展等領(lǐng)域的廣泛應(yīng)用。

        1 時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(ST-GCN)行為識(shí)別模型

        1.1 ST-GCN模型結(jié)構(gòu)基于骨骼數(shù)據(jù)的行為識(shí)別屬于分類問(wèn)題,需要從骨骼數(shù)據(jù)中提取骨架信息,獲得動(dòng)作特征,推理出該動(dòng)作的分類。目前,ST-GCN首先提出了一個(gè)通用的基于圖的框架對(duì)人體骨骼進(jìn)行建模,取得了較好的效果。動(dòng)作識(shí)別可以從人體的多種形態(tài)去識(shí)別,比如外形、深度、光流、身體骨架,但是人們對(duì)外形和光流的研究比較多,對(duì)包含有大量信息的動(dòng)態(tài)骨架研究較少,先前有相關(guān)工作提出了一種有原則的、高效的時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(Spatial Temporal Graph Convolutional Networks)對(duì)動(dòng)態(tài)骨架進(jìn)行建模[2]。其中圖卷積(GCN)之前大多被應(yīng)用在圖像分類、文獻(xiàn)分類、半監(jiān)督學(xué)習(xí)等任務(wù)中,然而很多任務(wù)都是將一個(gè)固定的圖作為輸入,在ST-GCN之前,利用圖卷積在大規(guī)模數(shù)據(jù)集上對(duì)動(dòng)態(tài)圖進(jìn)行建模還沒(méi)有被研究,比如在人體骨架序列上。ST-GCN通過(guò)將圖卷積網(wǎng)絡(luò)擴(kuò)展到時(shí)空?qǐng)D模型,設(shè)計(jì)出一種用于動(dòng)作識(shí)別的骨架序列的通用表示。模型建立在由骨骼序列構(gòu)成的圖結(jié)構(gòu)之上,其中圖中的每一個(gè)點(diǎn)都對(duì)應(yīng)人體骨架結(jié)構(gòu)中的每一個(gè)關(guān)節(jié)點(diǎn)。這里有兩種類型的邊,一種是空間邊(spatial edges),它建立在每一幀人體骨架的自然連接節(jié)點(diǎn)上,另外一種是時(shí)序邊(temporal edges),它將連續(xù)兩幀中相同節(jié)點(diǎn)連接起來(lái),這樣多層的時(shí)間空間圖卷積就能被構(gòu)造出來(lái),學(xué)習(xí)時(shí)間維度和空間維度的運(yùn)動(dòng)特征。層級(jí)性的ST-GCN避免了手動(dòng)劃分身體部分和設(shè)計(jì)遍歷規(guī)則,這不僅使得網(wǎng)絡(luò)表達(dá)能力更強(qiáng)并且性能更好,同時(shí)也很容易在不同的場(chǎng)景中泛化。

        1.2 ST-GCN模型鄰域劃分策略圖結(jié)構(gòu)數(shù)據(jù)和傳統(tǒng)卷積的圖像數(shù)據(jù)是不同的,在圖像為代表的歐式空間中,結(jié)點(diǎn)的鄰居數(shù)量都是固定的,而在圖結(jié)構(gòu)為代表的非歐氏空間中,鄰居節(jié)點(diǎn)數(shù)量不固定、圖結(jié)構(gòu)大多不規(guī)則、節(jié)點(diǎn)順序不確定[3]。處理圖結(jié)構(gòu)數(shù)據(jù)的難點(diǎn)在于鄰居結(jié)點(diǎn)數(shù)量不固定,無(wú)法用固定大小可學(xué)習(xí)的卷積核來(lái)抽取特征,需要提出一種可處理變長(zhǎng)鄰居結(jié)點(diǎn)的卷積核在圖上抽取特征,才能應(yīng)用圖卷積[4]。在ST-GCN中提出三種圖鄰居節(jié)點(diǎn)的分區(qū)策略:

        第一:唯一劃分(Uni-labeling):將節(jié)點(diǎn)的鄰域劃分為一個(gè)子集。

        第二:基于距離的劃分(Distance partitioning):將節(jié)點(diǎn)的鄰域劃分為兩個(gè)子集,距離d=0表示節(jié)點(diǎn)本身與d=1表示鄰居節(jié)點(diǎn)集,這樣有兩個(gè)不同的權(quán)重向量,它們能夠?qū)植刻匦裕ɡ珀P(guān)節(jié)之間的相對(duì)平移)進(jìn)行建模。

        第三:空間構(gòu)型劃分(Spatial configuration partitioning):將節(jié)點(diǎn)的鄰域劃分為3個(gè)子集,第一個(gè)子集連接了空間位置上比根節(jié)點(diǎn)更遠(yuǎn)離整個(gè)骨架的鄰居節(jié)點(diǎn),第二個(gè)子集連接了更靠近中心的鄰居節(jié)點(diǎn),第三個(gè)子集為根節(jié)點(diǎn)本身,分別表示了離心運(yùn)動(dòng)、向心運(yùn)動(dòng)和靜止的運(yùn)動(dòng)特征。

        1.3 ST-GCN模型圖卷積實(shí)現(xiàn)ST-GCN模型主要利用圖傅里葉變換(Graph Fourier Transform)實(shí)現(xiàn)圖卷積操作[5]。單個(gè)幀內(nèi)骨骼數(shù)據(jù)的內(nèi)連接由鄰接矩陣A和表示自連接的單位矩陣I表示。在單幀情況下,具有第一種分區(qū)策略的ST-GCN可以通過(guò)以下公式實(shí)現(xiàn):

        當(dāng)采用第二種和第三種劃分策略時(shí),A+I=

        設(shè)置a=0.001,是為了避免A j為空。為了實(shí)現(xiàn)可學(xué)習(xí)性的權(quán)重變化,對(duì)于每個(gè)鄰接矩陣,增加一個(gè)可學(xué)習(xí)的權(quán)重矩陣M,將式(1)中的(A+I)替換成(A+I)?M,將式(2)中的A j替換成A j?M。

        ST-GCN通過(guò)線性堆疊的GCN和TCN來(lái)間接擴(kuò)大每個(gè)節(jié)點(diǎn)的感受野,有助于時(shí)空信息的提取。對(duì)鄰域的手工劃分雖然會(huì)增加參數(shù)數(shù)量,但也能提高網(wǎng)絡(luò)對(duì)不同關(guān)節(jié)特征的刻畫(huà)能力。但沒(méi)有建立非相鄰關(guān)節(jié)之間的直接連接,因此遠(yuǎn)端關(guān)節(jié)之間的信息交互可能會(huì)有困難。

        2 基于ST-GCN改進(jìn)的行為識(shí)別模型

        2.1 骨骼圖結(jié)構(gòu)

        2.1.1 骨骼信息通?;诠趋佬畔⒌男袨樽R(shí)別的輸入為原始骨架數(shù)據(jù),用開(kāi)源姿態(tài)分析工具OpenPose處理NTU-RGB+D數(shù)據(jù)集中的骨骼數(shù)據(jù),得到一系列動(dòng)作幀,每個(gè)幀包含一組關(guān)節(jié)坐標(biāo)。根據(jù)這些坐標(biāo),提取骨骼信息。記一個(gè)有N個(gè)節(jié)點(diǎn)和T幀的骨骼序列圖為G=(V,E),其節(jié)點(diǎn)集合為V={vti|t=1,…,T,i=1,...,N},第t幀的第i節(jié)點(diǎn)的特征向量F(v ti)由該節(jié)點(diǎn)的坐標(biāo)向量和估計(jì)置信度組成。

        先前相關(guān)工作表明將關(guān)節(jié)點(diǎn)信息和骨架邊信息結(jié)合在一起對(duì)于基于骨骼數(shù)據(jù)的動(dòng)作識(shí)別效果有提升[6]。這里骨架邊表示為兩個(gè)相連關(guān)節(jié)點(diǎn)之間的坐標(biāo)差,以3D骨骼數(shù)據(jù)為例,原始數(shù)據(jù)中的關(guān)節(jié)點(diǎn)表示為具有三個(gè)元素的向量,即其x坐標(biāo),y坐標(biāo)和z坐標(biāo)。給定兩個(gè)關(guān)節(jié)點(diǎn)v1=(x1,y1,z1)和v2=(x2,y2,z2),從v1到v2連接的骨架被公式化為兩個(gè)關(guān)節(jié)點(diǎn)向量的差,即e v1,v2=

        2.1.2 有向圖結(jié)構(gòu)傳統(tǒng)方法總是將骨骼數(shù)據(jù)建模為由循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)或卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)處理的矢量序列或偽圖像[7,8]。但是,這些表示忽略了關(guān)節(jié)和骨架之間的運(yùn)動(dòng)學(xué)依賴性。在ST-GCN提出的鄰域劃分策略啟發(fā)下,將骨骼數(shù)據(jù)表示為有向圖,來(lái)處理不同的信息方向,其中關(guān)節(jié)點(diǎn)為頂點(diǎn),而骨架為邊。每條邊的方向由頂點(diǎn)與根節(jié)點(diǎn)之間的距離確定,距離根節(jié)點(diǎn)較近的頂點(diǎn)指向距離根節(jié)點(diǎn)較遠(yuǎn)的頂點(diǎn),并且定義根節(jié)點(diǎn)為骨架的中心。如圖2所示,顯示了一個(gè)骨架對(duì)應(yīng)的有向圖表示的示例,其中標(biāo)號(hào)為一的頂點(diǎn)是根頂點(diǎn)。從生物學(xué)上講,人體骨骼是一個(gè)關(guān)節(jié)系統(tǒng),距離人體中心較遠(yuǎn)的關(guān)節(jié)始終由更靠近中心的相鄰關(guān)節(jié)進(jìn)行物理控制。例如,腕部位置由肘部的位置和前臂的形狀確定。這樣,手前臂可以表示為從肘部指向腕部的有向邊。

        對(duì)于每個(gè)頂點(diǎn)v i,將以它為終點(diǎn)的邊定義為傳入邊e-i,將從它出發(fā)的邊定義為傳出邊e+i;類似的,對(duì)于每條邊e j,定義為它是從出發(fā)點(diǎn)v sj到目標(biāo)點(diǎn)。如果v i是e j目標(biāo)點(diǎn)(出發(fā)點(diǎn)),則e j是v i的傳入邊(傳出邊)。如圖2(a),v1和v2分別是e1出發(fā)點(diǎn)和目標(biāo)點(diǎn),相對(duì)的,e1是v2的傳入邊,e2和e3是v2的傳出邊。實(shí)際上,每條邊僅有一個(gè)出發(fā)點(diǎn)和一個(gè)目標(biāo)點(diǎn),但對(duì)于每個(gè)頂點(diǎn),傳入邊和傳出邊的數(shù)量是不確定的。分別用和ε+i表示頂點(diǎn)v i的傳入邊和傳出邊的集合。這樣骨骼信息可以公式化為G=(V,ε),其中,V是頂點(diǎn)(關(guān)節(jié)點(diǎn))集合,ε是有向邊(骨架邊)集合,則多幀的骨骼視頻可以表示為S={G1,G2,…,G T},T為視頻長(zhǎng)度。

        圖1 骨架對(duì)應(yīng)的有向圖Fig.1 Digraph corresponding to skeleton

        2.2 有向圖網(wǎng)絡(luò)對(duì)骨骼數(shù)據(jù)處理后,已將骨骼數(shù)據(jù)表示為有向圖,因此現(xiàn)在的問(wèn)題在于如何提取圖中包含的信息以進(jìn)行動(dòng)作分類,尤其是如何得到圖中關(guān)節(jié)點(diǎn)和骨架之間的依賴關(guān)系。針對(duì)此問(wèn)題,借鑒圖神經(jīng)網(wǎng)絡(luò)中的不動(dòng)點(diǎn)理論和基于空間域的圖卷積神經(jīng)網(wǎng)絡(luò)[9],提出有向圖神經(jīng)網(wǎng)絡(luò)來(lái)解決此問(wèn)題。該網(wǎng)絡(luò)包含多個(gè)層,每層的輸入為包含骨骼邊和頂點(diǎn)參數(shù)的圖結(jié)構(gòu),輸出為更新參數(shù)后的相同圖結(jié)構(gòu)。這里的參數(shù)表示向量形式的骨骼邊和頂點(diǎn)的屬性。在每一層中,頂點(diǎn)和邊的參數(shù)根據(jù)其相鄰的邊和頂點(diǎn)信息而更新。

        在底層,每個(gè)頂點(diǎn)和邊僅能從其相鄰的邊或頂點(diǎn)接收參數(shù)信息。這種多層網(wǎng)絡(luò)在更新參數(shù)時(shí)能提取頂點(diǎn)和邊的局部信息。例如,該模型可以提取關(guān)節(jié)的角度信息,該角度信息僅需要一個(gè)關(guān)節(jié)點(diǎn)及其兩個(gè)相連骨架邊的信息。而在頂層可以將彼此距離較遠(yuǎn)的關(guān)節(jié)和骨骼的信息聚集在一起。因此,提取的信息對(duì)于識(shí)別任務(wù)而言更具全局性和語(yǔ)義性。與傳統(tǒng)CNN相比,該網(wǎng)絡(luò)的輸入為有向圖,且可以對(duì)類似樹(shù)狀結(jié)構(gòu)的骨骼數(shù)據(jù)進(jìn)行建模。該設(shè)計(jì)借鑒于以前的基于骨骼的動(dòng)作識(shí)別工作中的“身體部位”概念[10],其概念是為了劃分人體區(qū)域,進(jìn)行局部部位的關(guān)節(jié)建模。但是改進(jìn)后的方法相比于ST-GCN,不需要手動(dòng)設(shè)計(jì)鄰域劃分策略的過(guò)程也同樣能得到骨骼的角度方向等信息,并且具有更好的性能。

        有向圖網(wǎng)絡(luò)單元是有向圖神經(jīng)網(wǎng)絡(luò)的基本塊,它包含兩個(gè)更新函數(shù)hv和he,以及兩個(gè)聚合函數(shù)g e-和g e+。更新函數(shù)用于根據(jù)頂點(diǎn)和邊連接的邊和頂點(diǎn)來(lái)更新其參數(shù),聚合函數(shù)用于聚合連接到一個(gè)頂點(diǎn)的多個(gè)傳入(傳出)邊的屬性。這是因?yàn)檫B接到每個(gè)頂點(diǎn)的傳入(傳出)邊的數(shù)量是變化的,而參數(shù)的數(shù)量是固定的,由于這些邊沒(méi)有明顯的順序,因此聚合函數(shù)應(yīng)該對(duì)其輸入的排列保持不變,并且可以采用可變數(shù)量的參數(shù),例如平均池化,最大池化和逐個(gè)元素求和。更新過(guò)程的公式如下:

        v′和e′分別是v和e的更新后的值,e-表示輸入邊,e+表示輸出邊。該過(guò)程涉及四個(gè)步驟:

        第一步:對(duì)于每個(gè)頂點(diǎn)v i,指向它的所有傳入邊都由傳入聚合函數(shù)g e-處理,該函數(shù)返回聚合結(jié)果。

        第二步:與步驟1相似,從v i發(fā)出的所有傳出邊都由傳出聚合函數(shù)g e+處理,該函數(shù)返回聚合結(jié)果。

        第三步:v i,和被一起作為頂點(diǎn)更新函數(shù)hv的輸入,該函數(shù)將v i更新為v′i。

        第四步:對(duì)于每條邊e j,它的出發(fā)點(diǎn)、目標(biāo)點(diǎn)和它自己將作為邊更新函數(shù)he的輸入,該函數(shù)將更新邊e j為e′j。

        該過(guò)程也可以概括為頂點(diǎn)更新過(guò)程,然后是邊更新過(guò)程,如圖2所示,(a)是原始圖;(b)顯示了頂點(diǎn)更新的過(guò)程,其中頂點(diǎn)本身(v2)的屬性及其輸入邊緣(e1)和輸出邊緣(e2和e3)的屬性被組合以獲得更新的頂點(diǎn)(v′2);(c)顯示出了邊緣更新的過(guò)程,其中邊緣本身的屬性(e1)以及其源頂點(diǎn)(v′1)和目標(biāo)頂點(diǎn)(v′2)的屬性被組合以獲得更新的邊緣(e′1)。藍(lán)色圓圈表示要更新的邊(或頂點(diǎn))。橙色圓圈和綠色圓圈分別表示更新中涉及的源頂點(diǎn)(或傳入邊緣)和目標(biāo)頂點(diǎn)(或傳出邊緣)。在本次實(shí)驗(yàn)中,選擇了平均池化作為傳入邊和傳出邊的聚合函數(shù),并選擇了單個(gè)全連接層作為更新函數(shù)。

        圖2 頂點(diǎn)和邊的更新過(guò)程,(a)原始圖,(b)頂點(diǎn)更新,(c)邊更新Fig.2 Update process of vertex and edge,(a)Original drawing,(b)Vertex update,(c)Edge update

        在實(shí)現(xiàn)有向圖網(wǎng)絡(luò)層時(shí),頂點(diǎn)的輸入數(shù)據(jù)實(shí)際上形成C×T×N v的張量f v,其中C是通道數(shù),T是幀數(shù),N v表示骨架圖中頂點(diǎn)的數(shù)量。類似地,邊的數(shù)據(jù)形成一個(gè)C×T×N e的張量f e,其中N e是圖中的邊的數(shù)量。這種類似ST-GCN的輸入數(shù)據(jù)來(lái)實(shí)現(xiàn)有向圖網(wǎng)絡(luò)并不好,因?yàn)閷?shí)現(xiàn)有向圖網(wǎng)絡(luò)單元的目的是找到每個(gè)頂點(diǎn)的傳入邊和傳出邊(ε-i和ε+i),并找到每條邊的出發(fā)點(diǎn)和目標(biāo)點(diǎn)(v sj和)。為此,使用圖的關(guān)聯(lián)矩陣(incidence matrix)來(lái)表示節(jié)點(diǎn)與邊之間的連接關(guān)系,給定有N v個(gè)頂點(diǎn)和N e個(gè)邊的有向圖,A為N v×N e的邊和節(jié)點(diǎn)的對(duì)應(yīng)關(guān)聯(lián)矩陣,其元素(A_ij,i=1,…,N_v;j=1,…,N_e)表示相應(yīng)頂點(diǎn)(v j)與邊(v j)之間的關(guān)系。詳細(xì)來(lái)說(shuō),如果v i是e j的出發(fā)頂點(diǎn),則A ij=-1。如果v i是e j的目標(biāo)頂點(diǎn),則A ij=1。如果v i和e j之間沒(méi)有連接,則A ij=0。

        為了將出發(fā)頂點(diǎn)和目標(biāo)頂點(diǎn)分開(kāi),使用As表示出發(fā)頂點(diǎn)的關(guān)聯(lián)矩陣,其中僅包含A中絕對(duì)值小于0的元素。類似地,將At定義為目標(biāo)頂點(diǎn)的關(guān)聯(lián)矩陣,其中僅包含A中大于0的元素。例如,對(duì)于圖2(a)所示的圖,下式顯示了關(guān)聯(lián)矩陣及其對(duì)應(yīng)的As和At。

        圖2 訓(xùn)練集和驗(yàn)證集損失函數(shù)變化Fig.2 Change of loss function of training set and verification set

        目前已經(jīng)有了輸入張量和關(guān)聯(lián)矩陣,現(xiàn)在可以找到相關(guān)聯(lián)的邊和頂點(diǎn),并通過(guò)矩陣乘法執(zhí)行聚合函數(shù)。例如,給定f v和As,首先將f v變?yōu)镃T×N v矩陣。那么,f v和As的乘積可以提供一個(gè)CT×N e張量。根據(jù)矩陣乘法的定義,該張量的每個(gè)元素對(duì)應(yīng)于對(duì)應(yīng)邊的出發(fā)頂點(diǎn)的和。值得注意的是,本文實(shí)驗(yàn)中使用的聚合函數(shù)是平均池化函數(shù),并且需要對(duì)關(guān)聯(lián)矩陣進(jìn)行歸一化。而且,定義A的歸一化為=AΛ-1,其中Λ是對(duì)角矩陣,Λii=∑j A ij+?。?設(shè)置為e-6,是為了避免A為零的情況。通過(guò)這些修改,將等式(3)轉(zhuǎn)換為:

        其中H表示單層全連接層,即式(3)中的更新函數(shù)。與常規(guī)卷積層相似,在每個(gè)有向圖網(wǎng)絡(luò)單元之后添加BN層和ReLU層。

        2.3 注意力機(jī)制對(duì)動(dòng)作識(shí)別而言,每個(gè)動(dòng)作的信息往往集中在某一個(gè)或幾個(gè)關(guān)節(jié),而且肢節(jié)末端的關(guān)節(jié)由于運(yùn)動(dòng)更頻繁,幅度更大,往往具有更多的關(guān)鍵信息。有向圖網(wǎng)絡(luò)單元的輸入圖是根據(jù)人體的骨骼自然結(jié)構(gòu)手動(dòng)設(shè)計(jì)的,這種方法在識(shí)別動(dòng)作時(shí)可能忽略一些非連接信息。例如,左手和右手之間沒(méi)有連接,但是對(duì)于拍手和擁抱之類的許多動(dòng)作而言,兩只手之間的關(guān)系對(duì)于識(shí)別至關(guān)重要。為了給圖構(gòu)造提供更大的靈活性,常規(guī)方法旨在通過(guò)在訓(xùn)練過(guò)程中學(xué)習(xí)圖的拓?fù)浣Y(jié)構(gòu)來(lái)構(gòu)造自適應(yīng)圖。先前有相關(guān)工作提出的ST-GCN在圖的原始鄰接矩陣上應(yīng)用注意力機(jī)制,以將不同重要性的權(quán)重分配給不同的邊[2]。如果使用A o表示原始鄰接矩陣,即自然人體骨架結(jié)構(gòu)圖,則新的鄰接矩陣A由A=PA o得到,其中P的元素初始化為1,并在訓(xùn)練過(guò)程中更新。然而,乘法運(yùn)算不能改變?cè)监徑泳仃囍械?元素,這意味著該方法只能改變已經(jīng)存在的邊的重要性,并且不能生成新的邊,例如兩只手之間可能存在聯(lián)系。先前有相關(guān)工作提出與ST-GCN不同的方法,直接將鄰接矩陣設(shè)置為網(wǎng)絡(luò)參數(shù),為了穩(wěn)定訓(xùn)練過(guò)程,設(shè)置A=A o+P,其中P具有與A o相同的大小,并用0初始化[2]。這樣就能夠通過(guò)參數(shù)P在學(xué)習(xí)過(guò)程中添加新的邊。但是,由于A o是不可修改的,因此我們無(wú)法刪除不需要的邊,這也降低了模型的靈活性。如果刪除A o,則直接使得骨骼圖的特征學(xué)習(xí)不受任何約束,反而會(huì)降低性能。實(shí)際上,在訓(xùn)練過(guò)程開(kāi)始時(shí)存在更多不確定性,有或沒(méi)有A o的差異主要在于訓(xùn)練過(guò)程的開(kāi)始階段。因?yàn)榧s束較少但參數(shù)眾多的模型很容易收斂到局部最優(yōu)。所以可以添加具有固定拓?fù)涞膱D對(duì)模型進(jìn)行標(biāo)準(zhǔn)化,這可以幫助模型收斂到全局最優(yōu)值。

        基于以上討論,在原始矩陣A0的基礎(chǔ)上添加常用動(dòng)作的連接,這里設(shè)定人體動(dòng)作中帶有非自然連接的部分以手部關(guān)節(jié)為主,在自然連接的基礎(chǔ)上連接手部與其他關(guān)節(jié)的連接,組成動(dòng)作關(guān)聯(lián)矩陣A=A0+A ha nd,將其作為固定拓?fù)浣Y(jié)構(gòu),在前幾個(gè)訓(xùn)練周期將其固定,將關(guān)聯(lián)矩陣設(shè)置為模型的參數(shù)并用A初始化,但固定在前n個(gè)時(shí)期(標(biāo)記為A n)。這樣在早期確定圖結(jié)構(gòu)可以簡(jiǎn)化訓(xùn)練,而在訓(xùn)練后期可以為圖構(gòu)建提供更大的靈活??偨Y(jié)以上幾種策略:

        第一:A=PA0,ST-GCN的實(shí)現(xiàn)方式,這種方法只能改變已經(jīng)存在的邊的重要性,不能生成新的邊。

        第二:A=A0+P,這種方式可以生成新的邊,但是無(wú)法移除原有的邊。

        第三:A=P,這種方法會(huì)使得圖結(jié)構(gòu)的學(xué)習(xí)不受骨骼自然連接的約束,可能會(huì)降低性能。

        第四:A=A n,表示前n次迭代A=A0+A ha nd,后面的迭代A=P,這樣用固定的圖結(jié)構(gòu)使得前期更容易訓(xùn)練,且容易學(xué)習(xí)到非骨骼連接關(guān)系,后期的不固定的圖結(jié)構(gòu)帶來(lái)了更多的靈活性。

        2.4 時(shí)間信息建模在基于骨骼數(shù)據(jù)的行為識(shí)別中,人類動(dòng)作被記錄為骨骼序列幀。在有向圖網(wǎng)絡(luò)只能處理單個(gè)幀的空間信息,即空間中關(guān)節(jié)的局部特征。因此,現(xiàn)在需要對(duì)骨架序列中的時(shí)間信息建模,學(xué)習(xí)時(shí)域上關(guān)節(jié)變化的局部特征。這里借鑒ST-GCN[11]所采用的時(shí)間卷積(TCN)思路和偽3D CNN[12]在基于RGB的動(dòng)作識(shí)別中的方法,偽3D CNN使用2D卷積對(duì)空間信息進(jìn)行建模,然后使用1D卷積對(duì)時(shí)間信息進(jìn)行建模。受到這種方法的啟發(fā),在更新每個(gè)有向圖網(wǎng)絡(luò)單元中關(guān)節(jié)和骨架的空間信息之后,在時(shí)間維度應(yīng)用一維卷積來(lái)對(duì)時(shí)間信息進(jìn)行建模。因?yàn)樵谝曨l幀中,相同的關(guān)節(jié)或骨骼可以自然地組織為一維序列,較容易實(shí)現(xiàn)。

        時(shí)間卷積可類比圖像的卷積操作,關(guān)節(jié)的特征數(shù)、幀數(shù)、關(guān)節(jié)數(shù)(C,V,T)對(duì)應(yīng)于圖像中的通道數(shù)、圖像的寬、圖像的高(C,W,H)。卷積核的大小為kernel_size×1,則每次完成1個(gè)節(jié)點(diǎn),進(jìn)行kernel_size個(gè)幀的卷積。stride為1,則每次移動(dòng)1幀,完成1個(gè)節(jié)點(diǎn)后進(jìn)行下1個(gè)節(jié)點(diǎn)的卷積。

        類似于有向圖網(wǎng)絡(luò)單元,每個(gè)1D卷積層之后是BN層和ReLU層,組成時(shí)間卷積單元。自適應(yīng)的有向圖神經(jīng)網(wǎng)絡(luò)的總體體系結(jié)構(gòu)有10層,每個(gè)層包含一個(gè)有向圖網(wǎng)絡(luò)單元和一個(gè)時(shí)間卷積網(wǎng)絡(luò)單元。單元的輸出通道為64、64、64、64、128、128、128、256、256和256。最后在全局平均池化層之后添加softmax層,以進(jìn)行類別預(yù)測(cè)。

        2.5 雙流框架由于僅從空間信息中很難識(shí)別出諸如“站起來(lái)”與“坐下來(lái)”之類的動(dòng)作,這是由于缺少運(yùn)動(dòng)信息,即不同幀中骨骼位置的改變。之前基于常規(guī)RGB的動(dòng)作識(shí)別方法通常使用光流場(chǎng)來(lái)描述視頻的運(yùn)動(dòng)信息,都是通過(guò)計(jì)算連續(xù)幀之間的像素移動(dòng)得到運(yùn)動(dòng)信息[13]。受這些方法的啟發(fā),在本次研究中提取了關(guān)節(jié)點(diǎn)和骨架在相鄰幀之間的運(yùn)動(dòng)信息,以提高動(dòng)作識(shí)別效果。由于骨骼數(shù)據(jù)表示為關(guān)節(jié)的坐標(biāo),因此可以將沿時(shí)間維度的坐標(biāo)差視為關(guān)節(jié)的運(yùn)動(dòng)信息,類似地,骨架的形變表示為連續(xù)幀中同一骨架邊的向量之差。理論上,關(guān)節(jié)點(diǎn)v在時(shí)間t中的運(yùn)動(dòng)計(jì)算為mv t=v t+1-v t,同樣的,骨架邊的形變定義為me t=e t+1-e t。與空間信息建模一樣,運(yùn)動(dòng)信息被公式化為有向圖序列:

        然后,將運(yùn)動(dòng)信息圖序列輸入到另一個(gè)自適應(yīng)圖卷積網(wǎng)絡(luò)中,組成雙流網(wǎng)絡(luò),以對(duì)動(dòng)作標(biāo)簽進(jìn)行預(yù)測(cè)。最后,通過(guò)添加softmax層的輸出得分來(lái)融合兩個(gè)網(wǎng)絡(luò)。

        3 實(shí)驗(yàn)與分析

        3.1 實(shí)驗(yàn)數(shù)據(jù)及預(yù)處理本文采用新加坡南洋理工大學(xué)ROSE實(shí)驗(yàn)室建立的行為識(shí)別數(shù)據(jù)集NTU-RGB+D作為實(shí)驗(yàn)數(shù)據(jù)[14]。數(shù)據(jù)集由60個(gè)動(dòng)作類別(分成日常動(dòng)作、醫(yī)療相關(guān)動(dòng)作、雙人交互行為三大類)和56880個(gè)視頻動(dòng)作樣本組成,每個(gè)視頻包含一個(gè)動(dòng)作,包括單人動(dòng)作(例如坐下)和雙人動(dòng)作(例如互相握手)。同時(shí)有四種不同的動(dòng)作數(shù)據(jù)形式:RGB視頻、3D骨架數(shù)據(jù)、深度圖序列和紅外視頻。在本文實(shí)驗(yàn)中,選用3D骨架數(shù)據(jù)進(jìn)行基于骨骼信息的行為識(shí)別研究。

        3.1.1 數(shù)據(jù)的預(yù)處理原始數(shù)據(jù)集的輸入為NTU-RGB+D的骨骼數(shù)據(jù),然后要將人的臀關(guān)節(jié)和脊椎之間的骨骼與z軸平行,將人的右肩和左肩之間的骨骼與x軸平行,填充空幀等預(yù)處理,以NTU-RGB+D數(shù)據(jù)集為例,具體步驟(算法1處理骨骼數(shù)據(jù)為numpy張量)如下:

        輸入:骨骼數(shù)據(jù)文件(例如S001C001P001 R001A001.skeleton)。

        輸出:分別得到Cross-Subject與Cross-View基準(zhǔn)下的訓(xùn)練集和驗(yàn)證集的骨骼點(diǎn)數(shù)據(jù)、關(guān)節(jié)數(shù)據(jù)和相應(yīng)的標(biāo)簽數(shù)據(jù)文件,即data_joint.npy,data_bone.npy,label.pkl。

        算法具體步驟:

        第一步:獲取動(dòng)作標(biāo)簽數(shù)據(jù),得到數(shù)據(jù)集中各個(gè).skeleton文件名的AXXX,即表示action_class。

        第二步:獲得骨骼點(diǎn)數(shù)據(jù),使用(N,C,T,V,M)的數(shù)據(jù)張量表示,分別表示動(dòng)作標(biāo)簽,通道數(shù),幀標(biāo)簽,節(jié)點(diǎn)標(biāo)簽,人數(shù)標(biāo)簽,如果有多個(gè)人,只取前兩個(gè)body。

        第三步:預(yù)標(biāo)準(zhǔn)化,得到第二步的數(shù)據(jù)張量,對(duì)于空幀用前一幀填充,將臀關(guān)節(jié)和脊柱關(guān)節(jié)之間的關(guān)節(jié)與z軸平行,將右肩和左肩之間的關(guān)節(jié)與x軸平行,減去中心關(guān)節(jié)(脊柱關(guān)節(jié))。

        第四步:獲得關(guān)節(jié)數(shù)據(jù),利用得到的骨骼點(diǎn)數(shù)據(jù),定義關(guān)節(jié)數(shù)據(jù)為joint1-joint2,即data[:,:,:,v1,:]-data[:,:,:,v2,:]。

        第五步:獲得motion數(shù)據(jù),利用得到的骨骼點(diǎn)數(shù)據(jù),定義motion數(shù)據(jù)為相鄰兩幀的差異,即data[:,:,t+1,:,:]–data[:,:,t,:,:]。

        3.1.2 數(shù)據(jù)的讀取經(jīng)過(guò)預(yù)處理,原始的骨骼數(shù)據(jù)已經(jīng)處理成numpy張量保存在文件中,這里用一個(gè)Feeder類來(lái)對(duì)數(shù)據(jù)文件進(jìn)行讀取,同時(shí)按置信度排序,隨機(jī)選擇等方法導(dǎo)出,具體步驟(算法2數(shù)據(jù)的讀?。┤缦拢?/p>

        輸入:骨骼點(diǎn)數(shù)據(jù)文件路徑,關(guān)節(jié)數(shù)據(jù)文件路徑和標(biāo)簽數(shù)據(jù)路徑。

        輸出:分別得到相應(yīng)的dataset。

        算法具體步驟:

        第一步:輸入?yún)?shù)為文件路徑。

        第二步:提供隨機(jī)選擇、歸一化輸入、計(jì)算數(shù)據(jù)的均值與標(biāo)準(zhǔn)差等方法,返回需要的dataset,包括骨骼點(diǎn)數(shù)據(jù),關(guān)節(jié)邊數(shù)據(jù)和標(biāo)簽數(shù)據(jù)。

        3.2 準(zhǔn)確性評(píng)估對(duì)于NTU-RGB+D,準(zhǔn)確性評(píng)估有兩個(gè)基準(zhǔn)[15]:

        第一:Cross-subject(CS),訓(xùn)練集和驗(yàn)證集中的人員互不相同。將40個(gè)主題分為訓(xùn)練和測(cè)試組。每組包括20個(gè)subject。對(duì)于此評(píng)估,訓(xùn)練和測(cè)試集分別具有40320和16560個(gè)樣本。在此評(píng)估中,訓(xùn)練對(duì)象的ID為:1、2、4、5、8、9、13、14、15、16、17、18、19、25、27、28、31、34、35、38;其余科目保留供測(cè)試。所以訓(xùn)練集包含40320個(gè)視頻,驗(yàn)證集包含16560個(gè)視頻。

        第二:Cross-view(CV),訓(xùn)練和驗(yàn)證集中使用的攝像機(jī)的水平角度不同。為了進(jìn)行交叉視圖評(píng)估,選擇相機(jī)1的所有樣本進(jìn)行測(cè)試,并選擇相機(jī)2和3的樣本進(jìn)行訓(xùn)練。換句話說(shuō),訓(xùn)練集包括動(dòng)作的正視圖和兩個(gè)側(cè)視圖,而測(cè)試集包括動(dòng)作的左右45度視圖。對(duì)于此評(píng)估,訓(xùn)練和測(cè)試集分別具有37920和18960個(gè)視頻樣本。

        3.3 基于ST-GCN改進(jìn)的行為識(shí)別模型實(shí)現(xiàn)

        3.3.1 有向圖結(jié)構(gòu)的定義用有向圖來(lái)表示骨骼數(shù)據(jù),對(duì)于NTU RGB+D,設(shè)定脊椎中心為“骨骼中心”,得到關(guān)節(jié)邊的集合directed edges,得到骨骼圖的關(guān)聯(lián)矩陣。具體步驟(算法3定義有向圖結(jié)構(gòu))如下:

        輸入:directed edges,節(jié)點(diǎn)數(shù)。

        輸出:得到有向圖。

        算法具體步驟:

        第一步:得到骨骼原始邊的集合directed edges,骨骼點(diǎn)數(shù)量num_nodes。

        第二步:由骨骼自然連接得到原始關(guān)聯(lián)矩陣A0,加上手部關(guān)節(jié)與其他關(guān)節(jié)的有可能的邊A ha nd,得到關(guān)聯(lián)矩陣A=A0+A ha nd,對(duì)A進(jìn)行方向劃分得到,出發(fā)頂點(diǎn)的關(guān)聯(lián)矩陣As,目標(biāo)頂點(diǎn)的關(guān)聯(lián)矩陣At,歸一化后得到骨骼圖的關(guān)聯(lián)矩陣source_matrix,target_matrix。

        第三步:返回Graph,其中包括num_node、edges、source_M、target_M。

        3.3.2 改進(jìn)模型的定義定義模型,構(gòu)造時(shí)間卷積單元和有向圖網(wǎng)絡(luò)單元。具體步驟(算法4定義網(wǎng)絡(luò)模型)如下:

        輸入:骨骼數(shù)據(jù)的圖結(jié)構(gòu)Graph,圖的關(guān)聯(lián)矩陣。

        輸出:得到自適應(yīng)圖卷積網(wǎng)絡(luò)模型Model。

        算法具體步驟:

        第一步:構(gòu)造時(shí)間卷積單元。在C×T×N的特征圖上,用K t×1對(duì)時(shí)間域進(jìn)行卷積。

        第二步:構(gòu)造有向圖網(wǎng)絡(luò)單元。其中加入可調(diào)整的權(quán)重矩陣torch.nn.Parameter(torch.from_numpy(source_M.astype('float32'))),初始化為關(guān)聯(lián)矩陣source_M和target_M,加上更新函數(shù),再添加BN層和ReLU層。

        第三步:自適應(yīng)的有向圖神經(jīng)網(wǎng)絡(luò)的總體體系結(jié)構(gòu)有10層,每個(gè)層包含一個(gè)有向圖網(wǎng)絡(luò)單元和一個(gè)時(shí)間卷積網(wǎng)絡(luò)單元。每層的輸出通道為64、64、64、64、128、128、128、256、256和256。最后在全局平均池化層之后添加softmax層,以進(jìn)行行為類別預(yù)測(cè)。

        3.3.3 參數(shù)設(shè)置及結(jié)果本文實(shí)驗(yàn)設(shè)置的主要參數(shù)為學(xué)習(xí)率、每批數(shù)據(jù)量、優(yōu)化器和訓(xùn)練輪次,具體的參數(shù)設(shè)置如表1所示。在數(shù)據(jù)集上訓(xùn)練時(shí)間約45小時(shí),損失值和準(zhǔn)確性的變化情況用tensorboard框架記錄,得到結(jié)果如圖3所示。可以看出,模型在80k次迭代訓(xùn)練后收斂。

        表1 模型訓(xùn)練參數(shù)設(shè)置Table 1 Model training parameter setting

        3.4 對(duì)比分析本文基于ST-GCN模型的改進(jìn),首先在鄰域劃分策略上,用有向圖來(lái)處理不同方向的關(guān)節(jié)信息,相比于ST-GCN不需要手動(dòng)設(shè)計(jì)鄰域劃分策略的過(guò)程,頂點(diǎn)和邊的信息更新就可以獲得類似于骨骼方向、角度等信息;其次在注意力機(jī)制上,增加注意力權(quán)重矩陣,在自然連接的基礎(chǔ)上增加手部關(guān)節(jié)與其他部位有可能的連接,既可以改變邊的權(quán)重還可以進(jìn)行邊的增加和刪除,更好的捕捉動(dòng)作特征;最后在數(shù)據(jù)增強(qiáng)方面,在原始骨骼信息反映的節(jié)點(diǎn)位置基礎(chǔ)上,對(duì)相鄰關(guān)節(jié)點(diǎn)取差值得到骨骼邊動(dòng)態(tài)信息,作為網(wǎng)絡(luò)輸入,不僅如此,對(duì)相鄰兩幀求差值,分別得到關(guān)節(jié)點(diǎn)和骨架邊的運(yùn)動(dòng)信息,作為另一個(gè)網(wǎng)絡(luò)輸入,形成雙流結(jié)構(gòu),提升識(shí)別準(zhǔn)確性。

        3.4.1 不同類型注意力機(jī)制對(duì)比ST-GCN在圖的原始鄰接矩陣上應(yīng)用注意力機(jī)制,以將不同重要性的權(quán)重分配給不同的邊。如果使用A o表示原始鄰接矩陣,即自然人體骨架結(jié)構(gòu)圖,則新的鄰接矩陣A由A=PA o得到,在此基礎(chǔ)上,通過(guò)改進(jìn)這種不能添加新的邊的缺陷而提出的另外三種新的鄰接矩陣策略,分別是改乘法運(yùn)算為加法運(yùn)算、替換原有的原始矩陣和前n次迭代A=A0,后面迭代A=P,本次實(shí)驗(yàn)設(shè)置n=10,20。表2顯示了這四種方式的實(shí)驗(yàn)結(jié)果。

        表2 不同類型注意力機(jī)制對(duì)比結(jié)果Table 2 Comparison of different types of Attention Mechanism

        3.4.2 空間信息、運(yùn)動(dòng)信息和融合后的雙流框架對(duì)比分別實(shí)驗(yàn)空間信息、運(yùn)動(dòng)信息和融合后的雙流框架,對(duì)識(shí)別準(zhǔn)確性做出比較,如表3所示,將空間信息和運(yùn)動(dòng)信息進(jìn)行融合能提高動(dòng)作識(shí)別的準(zhǔn)確性,這也證明了學(xué)習(xí)運(yùn)動(dòng)信息的必要性。

        表3 識(shí)別準(zhǔn)確性的對(duì)比結(jié)果Table 3 Comparison results of recognition accuracy

        4 結(jié)論

        本文針對(duì)目前利用時(shí)空?qǐng)D卷積網(wǎng)絡(luò)ST-GCN行為識(shí)別模型進(jìn)行人體行為識(shí)別準(zhǔn)確性有待提高和如何更好地學(xué)習(xí)骨骼數(shù)據(jù)中關(guān)節(jié)點(diǎn)和骨架邊所表達(dá)的動(dòng)作特征等問(wèn)題,改進(jìn)現(xiàn)有的時(shí)空?qǐng)D卷積網(wǎng)絡(luò)(ST-GCN)行為識(shí)別模型。針對(duì)傳統(tǒng)模型需要手動(dòng)劃分身體部分而在骨骼長(zhǎng)度、方向等信息缺失的問(wèn)題,提出有向圖網(wǎng)絡(luò),聚合和更新頂點(diǎn)和邊的局部信息,包含骨骼邊與骨骼點(diǎn)的依賴關(guān)系,更具有全局性。將提取的骨骼點(diǎn)數(shù)據(jù)和骨架邊數(shù)據(jù)都作為網(wǎng)絡(luò)輸入,與空間信息形成雙流結(jié)構(gòu),提升對(duì)空間信息的表達(dá)能力,提升識(shí)別準(zhǔn)確率。改進(jìn)后的模型在NTU-RGB+D數(shù)據(jù)集上達(dá)到了96%的準(zhǔn)確率。實(shí)驗(yàn)證明,改進(jìn)后的模型在識(shí)別準(zhǔn)確率上較原模型提高了7.7個(gè)百分點(diǎn)。并研究了在不同的注意力機(jī)制中,即不同的權(quán)重矩陣策略對(duì)識(shí)別準(zhǔn)確率的影響,根據(jù)NTU-RGB+D數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)顯示,權(quán)重矩陣在訓(xùn)練前期使用固定骨骼結(jié)構(gòu)的關(guān)聯(lián)矩陣,后期為可學(xué)習(xí)的參數(shù)矩陣,能加快模型收斂速度,對(duì)于模型識(shí)別準(zhǔn)確率有1-2個(gè)百分點(diǎn)的提高。

        猜你喜歡
        關(guān)聯(lián)矩陣有向圖骨架
        n階圈圖關(guān)聯(lián)矩陣的特征值
        淺談管狀骨架噴涂方法
        有向圖的Roman k-控制
        單圈圖關(guān)聯(lián)矩陣的特征值
        骨架密度對(duì)炭/炭多孔骨架壓力浸滲銅的影響
        超歐拉和雙有向跡的強(qiáng)積有向圖
        關(guān)于超歐拉的冪有向圖
        基于關(guān)聯(lián)矩陣主對(duì)角線譜理論的歐拉圖研究
        n階圈圖的一些代數(shù)性質(zhì)
        內(nèi)支撐骨架封抽技術(shù)在突出煤層瓦斯抽采中的應(yīng)用
        欧美疯狂做受xxxx高潮小说| 亚洲精品一区二区高清| 在线精品亚洲一区二区动态图| 激情第一区仑乱| 无码一区二区三区AV免费换脸| 一区二区三区在线观看日本视频| 亚洲av成熟国产一区二区 | 久久精品黄aa片一区二区三区| 欧美色综合高清视频在线| 免费高清视频在线观看视频| 偷拍一区二区三区高清视频| 国色天香精品一卡2卡3卡4| 秒播无码国产在线观看| 一区二区三区四区在线观看视频| 亚洲va视频一区二区三区| 日射精情感性色视频| 亚洲美女影院| 国内精品久久人妻互换| 无套内射在线无码播放| 18禁超污无遮挡无码免费游戏| 亚洲综合网站精品一区二区| 国内偷拍精品一区二区| 欧美牲交videossexeso欧美| 国产午夜激无码av毛片| 久草91这里只有精品| 国产日产韩国av在线| 亚洲伊人色欲综合网| 婷婷综合缴情亚洲狠狠| 中文字幕亚洲综合久久久| 少妇被又大又粗又爽毛片| 激情欧美日韩一区二区| 国产成人午夜av影院| 亚洲三级视频一区二区三区| 亚洲国产一区二区a毛片| 亚洲国产一区二区三区在线视频| 毛茸茸的女性外淫小视频| 18禁裸男晨勃露j毛网站| 免费人成毛片乱码| 精品自拍偷拍一区二区三区| 天天做天天爱夜夜爽| 抽插丰满内射高潮视频|