• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于關(guān)鍵幀和骨骼信息的人體動(dòng)作識(shí)別方法*

      2019-11-18 09:45:14吳建國(guó)
      傳感器與微系統(tǒng) 2019年11期
      關(guān)鍵詞:關(guān)鍵幀質(zhì)心骨骼

      李 順, 郭 星, 吳建國(guó)

      (1.安徽大學(xué) 智能嵌入式技術(shù)研究中心,安徽 合肥 230601;2.安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601)

      0 引 言

      人體動(dòng)作識(shí)別一直是計(jì)算機(jī)視覺(jué)、人工智能和模式識(shí)別等熱門(mén)研究方向[1],包括視頻智能監(jiān)控、康復(fù)訓(xùn)練、虛擬現(xiàn)實(shí)、人機(jī)交互等[2]。目前動(dòng)作識(shí)別主要分為兩類方法:利用穿戴式設(shè)備來(lái)獲取人體運(yùn)動(dòng)信息[3],方法增加人體負(fù)擔(dān)和操作復(fù)雜,且實(shí)際推廣困難;目前主流的利用視覺(jué)捕捉技術(shù)[4],通過(guò)攝像頭采集人體運(yùn)動(dòng)信息,一種是傳統(tǒng)的三原色(RGB)彩色攝像頭采集信息然后分析識(shí)別動(dòng)作,例如Wang L等人[5]提取視頻中每一幀的圖像,根據(jù)圖像處理等相關(guān)算法和彩色視頻行為庫(kù)對(duì)比,實(shí)現(xiàn)動(dòng)作的分類和識(shí)別。普通攝像頭容易受光照以及背景變化等噪聲影響,且獲取圖像信息有限,后期處理相當(dāng)困難,且在識(shí)別速度和準(zhǔn)確率上較差。另外一種是3D深度傳感器,例如微軟Kinect、Intel RealSense 3D等,能克服傳統(tǒng)RGB攝像頭易受光照影響且能提供三維深度信息。微軟的Kinect的上市,使研究人員低成本獲取視頻中人體各關(guān)節(jié)點(diǎn)三維坐標(biāo)信息和場(chǎng)景深度信息等[6]。目前基于關(guān)節(jié)點(diǎn)信息的人體動(dòng)作識(shí)別研究得到關(guān)注,如Xia L等人[7]將獲取的人體關(guān)節(jié)點(diǎn)信息轉(zhuǎn)換為直方圖,然后使用HMM模型對(duì)動(dòng)作分類和識(shí)別,Patsadu O等人[8]將Kinect獲取的關(guān)節(jié)點(diǎn)信息利用反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(support vector machine,SVM)等多種分類器進(jìn)行人體動(dòng)識(shí)別研究。Kinect獲取的骨骼信息視頻中,幀率為30 FPS,并不是每一幀都是關(guān)鍵幀,冗余幀的存在會(huì)在動(dòng)作識(shí)別速度和精度上都會(huì)干擾。個(gè)體的身高和體型差異,不能直接使用骨骼點(diǎn)信息,需要將骨骼信息轉(zhuǎn)換成具有縮放和角度不變性的特征量。

      本文利用Kinect v2采集人體骨骼點(diǎn)信息,通過(guò)改進(jìn)的動(dòng)態(tài)時(shí)間規(guī)整(dynamic time warping,DTW)算法解決與動(dòng)作模板庫(kù)中模板動(dòng)作時(shí)間序列長(zhǎng)度不一致的問(wèn)題[9],實(shí)現(xiàn)對(duì)6種常見(jiàn)動(dòng)作的識(shí)別。通過(guò)實(shí)際測(cè)試,以及與其他算法對(duì)比實(shí)驗(yàn),表明本文方法在識(shí)別率和識(shí)別速度上效果顯著。

      1 關(guān)鍵幀提取

      關(guān)鍵幀是反映視頻中關(guān)鍵的視頻信息[10]。K-means算法常用來(lái)提取視頻中的關(guān)鍵幀,但傳統(tǒng)的K-means算法易受噪聲和孤立點(diǎn)的影響。本文針對(duì)Kinect v2采集的動(dòng)作視頻中25個(gè)骨骼點(diǎn)結(jié)合人體運(yùn)動(dòng)的認(rèn)知,采用加權(quán)K-means算法提取關(guān)鍵幀[11]。

      1.1 加權(quán)K-means聚類算法

      在人體運(yùn)動(dòng)中,不同骨骼點(diǎn)的地位不同,例如脊柱點(diǎn)相對(duì)于手腕點(diǎn)權(quán)重更大,且在動(dòng)作中手腕點(diǎn)擺動(dòng)幅度較大對(duì)聚類中心會(huì)干擾。針對(duì)每個(gè)骨骼點(diǎn)在運(yùn)動(dòng)中不同權(quán)重,骨骼點(diǎn)的權(quán)值定義為

      (1)

      Kinect v2采集的人體骨架視頻中,每一幀圖像包含25個(gè)骨骼點(diǎn)三維坐標(biāo)值組成75維的向量。一段動(dòng)作序列由N個(gè)幀圖像組成,表示為{f1,f2,…,fN-1,fN},fi∈FN,fi為N幀圖像中第i幀,F(xiàn)N為由每幀75維向量組成的一段動(dòng)作視頻的向量集合。將向量集合FN聚類劃分成K個(gè)簇,每個(gè)簇中幀相似度較高。

      1)從幀集合FN中隨機(jī)選取K個(gè)幀作為聚類質(zhì)心,表示c1,c2…ck,k≤N。

      2)根據(jù)式(2),計(jì)算每幀fi與K個(gè)聚類質(zhì)心的歐氏距離,并將其歸類到距離最近的聚類質(zhì)心的那個(gè)簇中

      labeli=argmin‖fi-cj‖,1≤j≤k

      (2)

      3)根據(jù)式(3),更新每個(gè)簇的加權(quán)平均值聚類質(zhì)心

      (3)

      式中Gj為聚類Cj中數(shù)據(jù)對(duì)象的權(quán)值,rij為fi是否屬于j類,如果是,rij為1,否則為0。

      4)重復(fù)計(jì)算步驟(2)和步驟(3),直至新舊質(zhì)心相等或差值小于閾值結(jié)束。

      1.2 提取關(guān)鍵幀

      通過(guò)上面的方法,將一段動(dòng)作視頻劃分為k個(gè)簇,并獲取到每個(gè)簇的聚類質(zhì)心ci。計(jì)算聚類質(zhì)心ci和動(dòng)作序列中幀fi同一骨骼點(diǎn)的三維坐標(biāo)值的歐氏距離,尋找關(guān)鍵幀。例如,計(jì)算骨骼點(diǎn)1和聚類質(zhì)心的骨骼點(diǎn)1的歐氏距離,以此類推,距離值最小的骨骼點(diǎn)標(biāo)記為1,其他記為0,如視頻中幀通過(guò)計(jì)算結(jié)果為{1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,1}。具體步驟如下:

      1)利用加權(quán)K-means算法獲取一段動(dòng)作序的K個(gè)聚類質(zhì)心,Gi={(xi1,yi1,zi1),(xi2,yi2,zi2),…,(xij,yij,zij)},i∈(1,2…,k),j=25。其中,(xij,yij,zi1j)為第i個(gè)聚類質(zhì)心中第j個(gè)骨骼點(diǎn)的三維坐標(biāo)。一段連續(xù)動(dòng)作視頻為Fn={(xn1,yn1,zn1),(xn2,yn2,zn2),…,(xnj,ynj,znj)},n∈(1,2,3,…,N),j=25。其中,(xnj,ynj,znj)為動(dòng)作視頻中第n幀的第j骨骼節(jié)點(diǎn)的三維坐標(biāo)。

      2)計(jì)算聚類質(zhì)心Gi和動(dòng)作視頻中幀F(xiàn)n中25個(gè)相對(duì)應(yīng)骨骼點(diǎn)三維坐標(biāo)之間的歐氏距離為

      D=Min(Gi,Fn)

      ={dis((xi1,yi1,zi1),(xn1,yn1,zn1)),

      dis((xi2,yi2,zi2),(xn2,yn2,zn2)),…,

      (4)

      dis((xij,yij,zij),(xnj,ynj,znj))}

      式中n∈(1,2,3,…,N),j=25,dis((xij,yij,zij),(xnj,ynj,znj))為第i個(gè)聚類質(zhì)心和第n幀在骨骼點(diǎn)j上的三維坐標(biāo)值的歐氏距離。對(duì)動(dòng)作視頻中的每一幀計(jì)算距離后,將最小值的dis((xij,yij,zij),(xnj,ynj,znj))標(biāo)記為1,否則標(biāo)記為0。通過(guò)式(3)獲取每一幀和K個(gè)聚類質(zhì)心對(duì)應(yīng)關(guān)鍵點(diǎn)的最小歐氏距離,并根據(jù)D中1的個(gè)數(shù)多少,排序選取前K個(gè)幀作為關(guān)鍵幀,再根據(jù)每個(gè)關(guān)鍵幀在原始動(dòng)作視頻的索引排序,就可以保證K個(gè)關(guān)鍵幀和動(dòng)作視頻中幀順序一致。

      通過(guò)對(duì)本文中6種常見(jiàn)動(dòng)作實(shí)驗(yàn)對(duì)比,k=10時(shí)準(zhǔn)確度和識(shí)別速度能兩者俱佳。

      2 人體運(yùn)動(dòng)特征提取

      動(dòng)作視頻的關(guān)鍵幀提取后,需要對(duì)關(guān)鍵幀中的特征向量進(jìn)行提取,個(gè)體的體型差異、距離Kinect遠(yuǎn)近和動(dòng)作的差異性。本文針對(duì)人體動(dòng)作的運(yùn)動(dòng)特征,利用骨骼點(diǎn)數(shù)據(jù)構(gòu)建人體結(jié)構(gòu)向量[12],計(jì)算出向量角度[13]和向量模比值作為描述動(dòng)作的特征量。

      2.1 Kinect人體結(jié)構(gòu)向量構(gòu)建

      根據(jù)人的動(dòng)作行為特點(diǎn),本文構(gòu)建22組人體結(jié)構(gòu)向量表示人體的軀干信息,如GRShoullder_RElbow表示右肩到右肘關(guān)節(jié)部位,GRElbos_Rhand為有右肘到右手部位。

      2.2 計(jì)算向量角度

      人在做同一個(gè)動(dòng)作時(shí),人體的肢體變化趨勢(shì)幅度相似,如右揮手時(shí),右肘部分關(guān)節(jié)角度變化明顯。因此選取向量角度值作為特征能很好消除個(gè)體差異和Kinect距離等問(wèn)題。設(shè)向量a=(x1,y1,z1),b=(x2,y2,z2),根據(jù)式(5)計(jì)算兩向量的夾角〈a,b〉。

      (5)

      利用上述式(5)計(jì)算人體結(jié)構(gòu)的向量角度,如根據(jù)GRShoullder_RElbow和GRElbos_Rwrist可計(jì)算出右肘部位的關(guān)節(jié)角度GRShoullder_RElelow_Rwrist,如圖1所示。

      圖1 右肘關(guān)節(jié)角度

      利用骨骼點(diǎn)三維坐標(biāo)信息,結(jié)合人體動(dòng)作行為分析,從關(guān)鍵幀中提取出跟日常動(dòng)作關(guān)鍵性的16個(gè)關(guān)節(jié)角度組成的關(guān)節(jié)角度特征向量,ANneck_RShoulder_Relbow,ARShoulder_RElbow_Rwrist,ANneck_LShoulder_Lelbow,ALShoulder_LElbow_Lwrist,ANeck_RShoulder_Spine,ANeck_LShoulder_Spine,ARElbow_RWrist_Spine,ARShoulder_RElbow_Spine,ALShoulder_LElbow_Spine,ALElbow_LWrist_Spine,ARShoulder_Spine_RHip,ASpine_RHip_RKnee,ARHip_RKnee_RFoot,ALShoulder_Spine_LHip,ASpine_LHip_LKnee,ALHipt_LKnee_LFoot。

      2.3 計(jì)算向量模比值

      如果使用關(guān)節(jié)角度來(lái)描述所有動(dòng)作,在某些動(dòng)作描述時(shí)往往信息不足。比如頭部與上肢體的相對(duì)位置,僅僅通過(guò)關(guān)節(jié)角度不能提供足夠的信息。因此,本文引入4個(gè)向量模比值來(lái)提供根據(jù)豐富的行為信息。GHead_Rhand,GHead_Lhand,Gspine_Rhand,GSpine_Lhand,分別為頭部到雙手和脊椎到雙手的人體結(jié)構(gòu)向量。根據(jù)式(6)計(jì)算出4組向量模比值

      a=(x1,y1,z1),b=(x2,y2,z2),

      (6)

      4組向量模比值分別為RHead_Rhand,RSpine_Rhand,RHead_Lhand,RSpine_Lhand。

      2.4 動(dòng)作特例量表示

      動(dòng)作視頻中關(guān)鍵幀的姿態(tài)特征由16個(gè)關(guān)節(jié)角度和4個(gè)向量模比值組成20維的特征向量組成,即B=(A1,A2…A16,R1,R2,R3,R4),A為關(guān)節(jié)角度,R表示向量模比值。一個(gè)動(dòng)作序列F有連續(xù)的姿態(tài)表示,即F=(B1,B2,…,Bi)。

      3 動(dòng)作識(shí)別算法

      Kinect采集的動(dòng)作序列與動(dòng)作模板在時(shí)序上存在明顯的不一致。本文采用優(yōu)化后的DTW算法可以很好解決時(shí)序不一致問(wèn)題,判斷兩個(gè)序列的相似度,從而實(shí)現(xiàn)動(dòng)作的識(shí)別。

      3.1 DTW算法

      測(cè)試模板X和標(biāo)準(zhǔn)模板Y是長(zhǎng)度為m和n的序列:X=(x1,x2,…,xi,…,xM),Y=(y1,y2,…,yj,…,yN)。其中,xi和yi在維數(shù)上相同,N和M可以不相同。d(x1,y1)為x1和y1的距離值,可表示為d(1,1),D(X,Y)為由x1和y1的距離值d(x1,y1),經(jīng)過(guò)若干節(jié)點(diǎn)對(duì),直到xM和yN的距離值d(xM,yN)的累計(jì)距離和,即

      D(X,Y)=∑d(xi,yi),1≤i≤M,1≤j≤N

      (7)

      為了確保在X和Y搜索出一條全局最優(yōu)路徑,需要滿足三個(gè)約束條件。第一邊界條件,從左下角(1,1)開(kāi)始到右上角(M,N)終止;第二單調(diào)性,路徑需保證時(shí)間順序上單調(diào)不減;第三連續(xù)性,不能跳過(guò)某個(gè)點(diǎn)去匹配,即(i,j)的下一點(diǎn)必須是(i+1,j),(i,j+1)和(i+1,j+1)的其中之一。為了避免路徑的斜率過(guò)大或過(guò)小,一般限定在0.5~2的范圍內(nèi)。全局最優(yōu)的規(guī)整路徑有且僅有一條,通過(guò)以上的條件,DTW算法的迭代公式如下

      (8)

      3.2 傳統(tǒng)DTW的改進(jìn)方式

      DTW算法采用歐氏距離雖然精度高,但運(yùn)算量較大,空間復(fù)雜度和時(shí)間復(fù)雜度都是O(M×N),對(duì)DTW改進(jìn)的主要方式是:全局路徑限制和放寬端點(diǎn)對(duì)齊。文獻(xiàn)[14]的全局路徑限制方法,通過(guò)將路徑的斜率限制在0.3~3范圍內(nèi),以減少運(yùn)算量,但精確度也相應(yīng)降低。實(shí)際應(yīng)用過(guò)程中,起點(diǎn)和終點(diǎn)的位置會(huì)發(fā)生變化,產(chǎn)生誤差。放寬端點(diǎn)對(duì)齊方法,會(huì)在(1,1),(1,2),(2,1)等中選最小值作為松弛起點(diǎn),相應(yīng)的會(huì)在(N,M),(N-1,M),(N,M-1)中選一個(gè)作為松弛終點(diǎn),該方法增加了精確度,減少了誤差,卻未減少運(yùn)算量。

      3.3 本文改進(jìn)的DTW算法

      DTW算法在路徑搜索過(guò)程中,必須滿足三條約束條件,而且部分交匯點(diǎn)的會(huì)冗余計(jì)算,且每個(gè)點(diǎn)的匹配計(jì)算,只和前兩個(gè)點(diǎn)相關(guān),并不需要保存累計(jì)距離矩陣和幀匹配矩陣。

      本文實(shí)驗(yàn)中,分別用2×N的數(shù)組dist[][]和pairs[][]表示距離值和幀對(duì)。用指針now指向當(dāng)前幀對(duì),返回兩個(gè)序列當(dāng)前的幀信息和距離,用指針pre指向當(dāng)前的前一時(shí)間。故DTW中的式(8)可改成

      (9)

      在二維數(shù)組dist和paris中,now和pre指針循環(huán)移動(dòng)確保數(shù)組中元素操作,以減少操作時(shí)間。本文改進(jìn)的DTW算法中,dist和paris都是2×N的數(shù)組。其時(shí)間和空間復(fù)雜度為O(N),相較于傳統(tǒng)O(M×N),速度提升明顯。

      4 實(shí)驗(yàn)結(jié)果與分析

      4.1 實(shí)驗(yàn)平臺(tái)的搭建

      本系統(tǒng)的硬件環(huán)境為:PC一臺(tái),CPU是i5—7500、內(nèi)存為16 GB,Kinect v2;軟件開(kāi)發(fā)環(huán)境是:Windows 10,Visual Studio 2017,Kinect for Windows SDK v2.0,C#編程語(yǔ)言。該人體動(dòng)作識(shí)別系統(tǒng)通過(guò)C#編寫(xiě)后臺(tái)和WFC編寫(xiě)界面實(shí)現(xiàn),系統(tǒng)界面如圖2所示。系統(tǒng)中的動(dòng)作模板庫(kù),基于MSRAction3D數(shù)據(jù)集預(yù)處理后制成,也可以錄制自定義動(dòng)作加入動(dòng)作模板庫(kù)[15]。通過(guò)Kinect v2采集2 s內(nèi)動(dòng)作視頻,然后系統(tǒng)進(jìn)行計(jì)算處理,對(duì)動(dòng)作進(jìn)行識(shí)別和顯示。

      圖2 人體動(dòng)作識(shí)別系統(tǒng)界面

      4.2 動(dòng)作識(shí)別結(jié)果與分析

      實(shí)驗(yàn)對(duì)6種常見(jiàn)動(dòng)作揮手、雙手舉起、前推、踢腿、站立、原地踏步進(jìn)行測(cè)試。實(shí)驗(yàn)中,選取20個(gè)在身高和體型具有差異性的被測(cè)試人員,每個(gè)人重置做一個(gè)動(dòng)作20次,每組動(dòng)作具有400個(gè)樣本,共2 400個(gè)動(dòng)作樣本,本文對(duì)6種動(dòng)作分別用wave,raise,push,kick,stand,step表示,實(shí)驗(yàn)結(jié)果如表1所示。

      表1 本文人體動(dòng)作識(shí)別混淆矩陣

      表2為基于傳統(tǒng)K-means和DTW算法的人體動(dòng)作識(shí)別結(jié)果。

      表2 傳統(tǒng)K-menas的人體動(dòng)作識(shí)別混淆矩陣

      對(duì)比表1和表2可以看出,改進(jìn)后的識(shí)別算法,動(dòng)作識(shí)別的準(zhǔn)確率提高明顯,且識(shí)別速度較之前提高近37 %。對(duì)比表1和表2發(fā)現(xiàn)采用加權(quán)K-means算法提取關(guān)鍵幀后,在提高準(zhǔn)確度同時(shí)降低誤判的種類。例如在踢腿(kick)動(dòng)作上,利用傳統(tǒng)K-means算法時(shí),誤判動(dòng)作有5種涉及上下半身;而使用了加權(quán)K-means算法后,在準(zhǔn)確率提高的同時(shí)誤判動(dòng)作只有下半身2種。同時(shí)在較復(fù)雜動(dòng)作識(shí)別上,由于采用加權(quán)K-means減少孤立點(diǎn)和噪聲對(duì)聚類精度影響,識(shí)別準(zhǔn)確度更顯著,表明本文加權(quán)K-means算法提取關(guān)鍵幀的有效性以及改進(jìn)DTW算法降低運(yùn)算復(fù)雜度。

      4.3 與其他算法比較

      同時(shí)本文選取其他兩種動(dòng)作識(shí)別方法與本文方法進(jìn)行比較。方法一基于關(guān)節(jié)點(diǎn)坐標(biāo)信息,通過(guò)預(yù)定義閾值完成動(dòng)作識(shí)別[16],例如腳距離地面達(dá)到預(yù)定義高度即為抬腿動(dòng)作。方法二文獻(xiàn)[17]基于關(guān)節(jié)角度特征向量,使用SVM分類器的動(dòng)作識(shí)別方法。圖3為三種方法在識(shí)別率上的混淆矩陣對(duì)比。

      從圖3的結(jié)果可以看出:1)方法一的平均識(shí)別率為79 %,由于直接利用骨骼點(diǎn)的三維坐標(biāo)信息,如果閾值設(shè)置的不合理會(huì)導(dǎo)致不同體型的識(shí)別率差距很大。同時(shí)如果動(dòng)作不標(biāo)準(zhǔn),相似動(dòng)作很難區(qū)分;2)方法二的平均識(shí)別率為84 %,方法對(duì)運(yùn)動(dòng)幅度較大的動(dòng)作識(shí)別相對(duì)穩(wěn)定,但對(duì)區(qū)分小和較復(fù)雜的動(dòng)作準(zhǔn)確率相對(duì)較低,容易受到噪聲干擾;3)本文克服了空間位置和角度的變化,及人體體型差異的影響,使其平均動(dòng)作識(shí)別率為95.6 %。

      圖3 三種識(shí)別方法的混淆矩陣對(duì)比

      5 結(jié) 論

      本文的方法不受光照、視角和場(chǎng)景變化等外部因素的影響,同時(shí)克服了傳統(tǒng)方法設(shè)備昂貴和操作復(fù)雜等諸多限制。實(shí)驗(yàn)結(jié)果表明:本文方法在識(shí)別率和速度上提升明顯,且具有良好的魯棒性,具有實(shí)際推廣性。

      猜你喜歡
      關(guān)鍵幀質(zhì)心骨骼
      重型半掛汽車質(zhì)量與質(zhì)心位置估計(jì)
      做家務(wù)的女性骨骼更強(qiáng)壯
      中老年保健(2021年5期)2021-12-02 15:48:21
      基于GNSS測(cè)量的天宮二號(hào)質(zhì)心確定
      三減三健全民行動(dòng)——健康骨骼
      中老年保健(2021年5期)2021-08-24 07:06:28
      基于改進(jìn)關(guān)鍵幀選擇的RGB-D SLAM算法
      骨骼和肌肉
      小布老虎(2017年1期)2017-07-18 10:57:27
      基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
      基于聚散熵及運(yùn)動(dòng)目標(biāo)檢測(cè)的監(jiān)控視頻關(guān)鍵幀提取
      論“關(guān)鍵幀”在動(dòng)畫(huà)制作中的作用
      一種海洋測(cè)高衛(wèi)星質(zhì)心在軌估計(jì)算法
      航天器工程(2014年5期)2014-03-11 16:35:53
      定南县| 长宁县| 澜沧| 茶陵县| 涡阳县| 临朐县| 塘沽区| 页游| 常熟市| 张北县| 辽阳市| 新乡县| 金平| 固原市| 嘉兴市| 曲阳县| 大田县| 巴彦县| 资溪县| 桃江县| 新郑市| 云安县| 湘潭市| 天全县| 循化| 化州市| 阿拉善左旗| 兰坪| 会东县| 桑日县| 宁海县| 清远市| 三门县| 陇南市| 璧山县| 绥化市| 永宁县| 泾川县| 瑞安市| 内乡县| 毕节市|