陳利峰
摘 要: 主要研究采用圖像預(yù)處理、3D Zernike矩、建立碼書(shū)和支持向量機(jī)(SVM)等技術(shù)對(duì)動(dòng)作視頻中的人體動(dòng)作進(jìn)行識(shí)別。仿真試驗(yàn)結(jié)果表明,采用該方法可以有效地對(duì)KTH和A?go?go舞蹈視頻數(shù)據(jù)庫(kù)進(jìn)行識(shí)別,且可以有效地識(shí)別舞蹈動(dòng)作,進(jìn)而對(duì)舞者進(jìn)行動(dòng)作糾正。
關(guān)鍵詞: 舞蹈視頻; 人體動(dòng)作識(shí)別; SVM; 圖像分割
中圖分類號(hào): TN911.73?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)03?0051?03
Research on recognition technology for human?body action in dance video image
CHEN Lifeng
(College of Physical Education, Zhengzhou University, Zhengzhou 450044, China)
Abstract: The technologies of image preprocessing, 3D Zernike moment, code book establishment and support vector machine (SVM) used to recognize the human?body action in movement video are studied. The results of simulation experiment show that the method can identify the KTH and A?go?go dance video database effectively. The method can recognize the dance movement availably, and correct the dancers′ action.
Keywords: dance video; human?body action recognition; SVM; image segmentation
0 引 言
視頻中的人體動(dòng)作識(shí)別是目前計(jì)算機(jī)研究中的一個(gè)熱點(diǎn),其目的是通過(guò)各種圖像處理和識(shí)別分類技術(shù)對(duì)視頻中的動(dòng)作進(jìn)行提取和分析 ,以判斷視頻中的人物所進(jìn)行的動(dòng)作,從而得出有用的信息,具有十分廣泛的用途。視頻人體動(dòng)作識(shí)別的關(guān)鍵是對(duì)原視頻圖像進(jìn)行合理的預(yù)處理,然后提取視頻圖像的特征并進(jìn)行描述和分類[1?2]。
視頻動(dòng)作識(shí)別技術(shù)與舞蹈藝術(shù)相結(jié)合的相關(guān)研究目前在國(guó)內(nèi)剛起步。通過(guò)對(duì)舞蹈視頻應(yīng)用人體動(dòng)作識(shí)別技術(shù)可以有效地識(shí)別舞蹈動(dòng)作姿勢(shì)。通過(guò)比對(duì)視頻動(dòng)作與標(biāo)準(zhǔn)動(dòng)作,可以對(duì)舞者的舞蹈姿勢(shì)進(jìn)行評(píng)價(jià),從而給出修改建議,是一種先進(jìn)的輔助訓(xùn)練方式[3]。
本文采用視頻人體動(dòng)作識(shí)別的相關(guān)技術(shù),先以較為簡(jiǎn)單的KTH數(shù)據(jù)庫(kù)訓(xùn)練出有效的SVM分類器,再利用更為復(fù)雜的A?go?go舞蹈視頻數(shù)據(jù)庫(kù)對(duì)SVM分類器進(jìn)行強(qiáng)化訓(xùn)練,最后利用訓(xùn)練所得的成熟分類器對(duì)A?go?go舞蹈視頻進(jìn)行識(shí)別,并獲得了較好的分類效果,本文的研究思路如圖1所示。
1 視頻圖像的數(shù)字化處理
1.1 灰度變換
對(duì)視頻圖像進(jìn)行數(shù)字計(jì)算識(shí)別前,必須先進(jìn)行灰度變換,圖像閾值化和圖像分割等預(yù)處理,以降低計(jì)算機(jī)的運(yùn)算量,并提取出有效信息。
通常視頻圖像最初都是真彩圖像,即RGB圖像,它的每個(gè)像素都由R,G,B三原色構(gòu)成。由于直接對(duì)真彩圖像進(jìn)行處理的運(yùn)算量十分巨大,分析效率較低。因此,本文采用灰度變換的方法將視頻圖像處理為灰度圖像,降低圖像包含的色彩信息,灰度化后的圖像如圖2所示。
1.2 運(yùn)動(dòng)圖像閾值化
圖像閾值化的目的是為了獲取運(yùn)動(dòng)圖像的二值化圖像,主要實(shí)現(xiàn)手段是選擇合適的閾值,以閾值為區(qū)分標(biāo)準(zhǔn),然后將像素灰度值分為兩類,從而實(shí)現(xiàn)對(duì)運(yùn)動(dòng)圖像的分割,閾值一般可寫(xiě)成如下形式:
[T=Tx,y,f(x,y),p(x,y)] (1)
式中:[fx,y]是在像素點(diǎn)[x,y]處的灰度值;[px,y]是該點(diǎn)的灰度梯度函數(shù)。采用式(1)即可求出二值化后的圖像。
1.3 運(yùn)動(dòng)圖像分割
得到了動(dòng)作視頻當(dāng)前時(shí)刻的二值圖像后,需要將運(yùn)動(dòng)區(qū)域從場(chǎng)景中分離出來(lái),這涉及到運(yùn)動(dòng)區(qū)域分割。本文采用Matlab軟件自帶的二值圖像處理函數(shù)通過(guò)設(shè)置合適的閾值找到運(yùn)動(dòng)中的人體輪廓的邊緣。
具體做法為:設(shè)當(dāng)前時(shí)刻為[t,]檢測(cè)視頻在時(shí)刻[t]的幀為[P(x,y,t),]尺寸為[M×N,]得到二值圖像為[Ax,y,t]。
對(duì)于[t]時(shí)刻,二值化圖像[Ax,y,t]的前景灰度值為255,背景灰度值為0。設(shè)定沿著[A]的列向量進(jìn)行掃描,統(tǒng)計(jì)每一列中前景像素的數(shù)目[C(1 1.4 3D Zernike矩提取整體特征 獲得運(yùn)動(dòng)視頻圖像的二值化圖像后,本文采用Zemike矩對(duì)運(yùn)動(dòng)圖像的二值圖像進(jìn)行特征描述,從而實(shí)現(xiàn)對(duì)其分類識(shí)別。Zemike矩是一種對(duì)形狀描述很有效的正交矩,己經(jīng)在圖像處理領(lǐng)域得到廣泛應(yīng)用,具有包含信息更加完整,冗余信息量少,對(duì)噪聲不敏感等優(yōu)點(diǎn)。對(duì)于一個(gè)圖像序列,計(jì)算Zemike矩的公式如下: [Anmμy=n+1πi=2imagesxyU(i, μ,γ)Vnm(r,θ)Pi(x,y)] (2)
式中:images表示整個(gè)序列中圖像的數(shù)目;[Ui, μ,γ]為引入的第三維度:
[Ui, μ,γ=xi-xi-1μyi-yi-1γ] (3)
式中:[xi]表示當(dāng)前圖像的重心;[xi-1]表示前一幅圖像的重心;[y]同理,[μ]和[γ]是由用戶自己定義的參數(shù),根據(jù)不同序列中圖像的數(shù)目可能不同。所以在計(jì)算出3D Zernike后可以用下式對(duì)其進(jìn)行歸一化:
[Anmμy=AnmμyA*images] (4)
式中:[A]代表目標(biāo)的平均面積(像素個(gè)數(shù));images與上文相同,表示序列中圖像的數(shù)目。這樣對(duì)于一個(gè)已經(jīng)提取出人體剪影的圖像序列,就可以使用式(4)得到其對(duì)應(yīng)的3D Zemike矩作為整體特征。
1.5 建立碼書(shū)
碼書(shū)是由樣本空間中最具有代表性的樣本組合而成,這些樣本能很好地區(qū)分本類別和其他類別。本文采用聚類分析的方法創(chuàng)建碼書(shū),首先定義各類別相似性測(cè)度,以此來(lái)描述類別之間的相似程度,本文采用基于3D Zemike矩的相似測(cè)度建立碼書(shū)。
相似測(cè)度是以兩矢量的方向是否相近作為度量的基礎(chǔ),設(shè)已經(jīng)求得兩個(gè)圖片的3D Zemike矩的向量為[x,y,]他們的相似性系數(shù)可表示為:
[cosx,y=xTyxTxyTy12] (5)
本文借鑒文獻(xiàn)[5]構(gòu)建碼書(shū)的思想,將相似系數(shù)[cosx,y>0.8]的一系列采樣圖片初步判斷為一個(gè)動(dòng)作,將[cosx,y>0.9]所代表動(dòng)作的圖片提取出來(lái)作為一個(gè)標(biāo)準(zhǔn)描述符矩陣,這樣數(shù)據(jù)庫(kù)中包含幾個(gè)不同動(dòng)作就會(huì)提取幾個(gè)描述符矩陣。
1.6 支持向量機(jī)分類
一旦碼書(shū)創(chuàng)建成功,那么每個(gè)動(dòng)作就可以被其中的一系列關(guān)鍵姿勢(shì)來(lái)表示。每一幀圖像都對(duì)應(yīng)一個(gè)描述符,這些描述符可以被碼書(shū)中與其距離最近的關(guān)鍵姿勢(shì)表示,因此一個(gè)動(dòng)作可以看成是由碼書(shū)中一系列關(guān)鍵姿勢(shì)組合而成的,本文采用支持向量機(jī)實(shí)現(xiàn)。支持向量機(jī)(SVM)是一個(gè)基于類間距離最大化的判別算法,屬于二分類模型,并能通過(guò)一對(duì)一法擴(kuò)展成多類分類器。其具體表現(xiàn)形式如下:
(1) 設(shè)已知訓(xùn)練集:
[T=x1,y1,x2,y2,…,xl,yl∈X×Yl] (6)
式中:[xi∈X=Rn,yi∈Y=1,-1,i=1,2,…,l,xi]為特征向量。
(2) 選取適當(dāng)?shù)暮撕瘮?shù)[K(x,x)]和適當(dāng)?shù)膮?shù)[C,]構(gòu)造并求解最優(yōu)化問(wèn)題。
[minα12i=1jj=1lyiyjαiαjKxi,xj-j=1lαj s.t. j=1lyjαj=0,0≤αi≤C] (7)
得到最優(yōu)解:
[α=α*1,α*2,…,α*lT] (8)
(3) 選取[α]的一個(gè)正分量[0≤α*j≤C,]并計(jì)算此閾值:
[β=yj-i=1lyiα*iKxi-xj] (9)
(4) 構(gòu)造決策函數(shù):
[f(x)=sgni=1lα*iyiKx,xi+b*] (10)
在利用支持向量機(jī)進(jìn)行分類時(shí),要先從分析對(duì)象樣本集中抽取一部分樣本集作為學(xué)習(xí)樣本進(jìn)行訓(xùn)練,獲得合適精度的模型后,再對(duì)同一樣本空間中的其他樣本進(jìn)行分類識(shí)別計(jì)算。
2 試驗(yàn)仿真
為了驗(yàn)證所提方法的有效性,本文采用KTH數(shù)據(jù)庫(kù)和A?go?go舞蹈視頻兩類視頻數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證[6]。
KTH數(shù)據(jù)庫(kù)共包含6類最常見(jiàn)的動(dòng)作,如圖4所示,分別是走路、慢跑、快跑、揮手、拍手和出拳,其包含的是一些較為基本和簡(jiǎn)單的動(dòng)作。KTH中每種行為有100個(gè)視頻,由25個(gè)人分別在4類不同的背景中完成。
采用第1節(jié)中的相關(guān)算法對(duì)這些視頻逐幀進(jìn)行預(yù)處理、特征提取和建立碼書(shū),利用獲得的大量描述符矩陣作為訓(xùn)練樣本對(duì)SVM進(jìn)行訓(xùn)練,經(jīng)過(guò)仿真比較,本文的決策函數(shù)直接調(diào)用Matlab軟件自帶的卡方核函數(shù),采用SVM對(duì)這6種常見(jiàn)動(dòng)作分類的結(jié)果如圖5所示。
由圖5可知,采用SVM對(duì)KTH動(dòng)作視頻數(shù)據(jù)庫(kù)進(jìn)行識(shí)別可以獲得較高的識(shí)別率,其中對(duì)走路的識(shí)別率最高為92%,對(duì)出拳的識(shí)別率最低為85%,對(duì)整個(gè)KTH樣本的平均識(shí)別率為88.7%。因此,該方法具有較高的識(shí)別正確率。
為了驗(yàn)證該方法在舞蹈視頻中的識(shí)別效果,現(xiàn)利用該SVM分類器對(duì)A?go?go舞蹈視頻數(shù)據(jù)庫(kù)進(jìn)行識(shí)別。A?go?go舞蹈一共包含19類基本的舞蹈動(dòng)作,每類動(dòng)作由5個(gè)具備不同舞蹈技能的被捕捉者采集,且每個(gè)被捕捉者對(duì)每類動(dòng)作均執(zhí)行3次,從而每類動(dòng)作具有15個(gè)樣本,總共捕捉285個(gè)動(dòng)作模式樣本。為了提高SVM的分類精度,先在285個(gè)動(dòng)作樣本中選出200組樣本對(duì)之前獲得的來(lái)自KTH的SVM分類器進(jìn)行訓(xùn)練,再利用獲得的SVM分類器對(duì)整個(gè)A?go?go舞蹈視頻集進(jìn)行分類。
采用SVM對(duì)A?go?go舞蹈的19個(gè)動(dòng)作分類識(shí)別的結(jié)果如圖6所示。
由圖6可知,采用加強(qiáng)訓(xùn)練后的SVM分類器對(duì)A?go?go舞蹈動(dòng)作視頻數(shù)據(jù)庫(kù)進(jìn)行識(shí)別可以獲得較高的識(shí)別率,其中對(duì)動(dòng)作3的識(shí)別率最高為95%,對(duì)動(dòng)作2和動(dòng)作15的識(shí)別率最低為86%,對(duì)整個(gè)樣本的平均識(shí)別率為90.4%。因此,該方法對(duì)舞蹈動(dòng)作視頻有較高的識(shí)別正確率。
3 結(jié) 論
本文主要對(duì)動(dòng)作識(shí)別技術(shù)在視頻圖像,特別是舞蹈視頻圖像中的實(shí)現(xiàn)方法和效果進(jìn)行研究。本文首先對(duì)視頻動(dòng)作圖像進(jìn)行灰度化、二值化和圖像分割等預(yù)處理,接著計(jì)算了處理后的二值化圖像的3D Zemike矩以作為動(dòng)作分類的特征;然后采用基于3D Zemike矩相似性系數(shù)的碼書(shū)作為分類標(biāo)準(zhǔn)模板;最后利用SVM支持向量機(jī)對(duì)KTH數(shù)據(jù)庫(kù)和A?go?go舞蹈視頻數(shù)據(jù)庫(kù)進(jìn)行分類識(shí)別,并獲得了較好的識(shí)別準(zhǔn)確率。
參考文獻(xiàn)
[1] 傅莉,方帥,徐心和.基于計(jì)算機(jī)視覺(jué)的人體運(yùn)動(dòng)目標(biāo)檢測(cè)[J].兵工學(xué)報(bào),2005(6):766?770.
[2] PERZANOWSKI D, SCHULTZ A C, ADAMS W, et al. Buil?ding a multimodal human?robot interface [J]. IEEE intelligent systems, 2001, 16(1): 16?21.
[3] 李昕迪.基于Kinect的人體姿勢(shì)識(shí)別方法在舞蹈訓(xùn)練中的應(yīng)用[D].南京:南京郵電大學(xué),2015.
[4] 康欽謀.視頻人體動(dòng)作識(shí)別算法研究[D].成都:電子科技大學(xué),2015.
[5] 劉剛.視頻監(jiān)控中的動(dòng)作識(shí)別[D].南京:南京郵電大學(xué),2013.
[6] 郝巖.視頻數(shù)據(jù)中人體動(dòng)作識(shí)別方法研究[D].南京:南京理工大學(xué),2014.