• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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
    沿河| 如东县| 运城市| 牡丹江市| 阿坝县| 青河县| 黑山县| 西青区| 高阳县| 聂荣县| 河北省| 霍山县| 土默特左旗| 巨鹿县| 堆龙德庆县| 嘉黎县| 富锦市| 日喀则市| 石柱| 南涧| 千阳县| 常山县| 崇明县| 廊坊市| 九龙城区| 吴忠市| 合山市| 阿拉善左旗| 武强县| 报价| 屏山县| 方城县| 杭锦后旗| 温泉县| 汤阴县| 藁城市| 公主岭市| 治多县| 句容市| 台江县| 福州市|