陳利峰
摘 要: 主要研究采用圖像預處理、3D Zernike矩、建立碼書和支持向量機(SVM)等技術對動作視頻中的人體動作進行識別。仿真試驗結果表明,采用該方法可以有效地對KTH和A?go?go舞蹈視頻數據庫進行識別,且可以有效地識別舞蹈動作,進而對舞者進行動作糾正。
關鍵詞: 舞蹈視頻; 人體動作識別; SVM; 圖像分割
中圖分類號: TN911.73?34 文獻標識碼: A 文章編號: 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 引 言
視頻中的人體動作識別是目前計算機研究中的一個熱點,其目的是通過各種圖像處理和識別分類技術對視頻中的動作進行提取和分析 ,以判斷視頻中的人物所進行的動作,從而得出有用的信息,具有十分廣泛的用途。視頻人體動作識別的關鍵是對原視頻圖像進行合理的預處理,然后提取視頻圖像的特征并進行描述和分類[1?2]。
視頻動作識別技術與舞蹈藝術相結合的相關研究目前在國內剛起步。通過對舞蹈視頻應用人體動作識別技術可以有效地識別舞蹈動作姿勢。通過比對視頻動作與標準動作,可以對舞者的舞蹈姿勢進行評價,從而給出修改建議,是一種先進的輔助訓練方式[3]。
本文采用視頻人體動作識別的相關技術,先以較為簡單的KTH數據庫訓練出有效的SVM分類器,再利用更為復雜的A?go?go舞蹈視頻數據庫對SVM分類器進行強化訓練,最后利用訓練所得的成熟分類器對A?go?go舞蹈視頻進行識別,并獲得了較好的分類效果,本文的研究思路如圖1所示。
1 視頻圖像的數字化處理
1.1 灰度變換
對視頻圖像進行數字計算識別前,必須先進行灰度變換,圖像閾值化和圖像分割等預處理,以降低計算機的運算量,并提取出有效信息。
通常視頻圖像最初都是真彩圖像,即RGB圖像,它的每個像素都由R,G,B三原色構成。由于直接對真彩圖像進行處理的運算量十分巨大,分析效率較低。因此,本文采用灰度變換的方法將視頻圖像處理為灰度圖像,降低圖像包含的色彩信息,灰度化后的圖像如圖2所示。
1.2 運動圖像閾值化
圖像閾值化的目的是為了獲取運動圖像的二值化圖像,主要實現手段是選擇合適的閾值,以閾值為區分標準,然后將像素灰度值分為兩類,從而實現對運動圖像的分割,閾值一般可寫成如下形式:
[T=Tx,y,f(x,y),p(x,y)] (1)
式中:[fx,y]是在像素點[x,y]處的灰度值;[px,y]是該點的灰度梯度函數。采用式(1)即可求出二值化后的圖像。
1.3 運動圖像分割
得到了動作視頻當前時刻的二值圖像后,需要將運動區域從場景中分離出來,這涉及到運動區域分割。本文采用Matlab軟件自帶的二值圖像處理函數通過設置合適的閾值找到運動中的人體輪廓的邊緣。
具體做法為:設當前時刻為[t,]檢測視頻在時刻[t]的幀為[P(x,y,t),]尺寸為[M×N,]得到二值圖像為[Ax,y,t]。
對于[t]時刻,二值化圖像[Ax,y,t]的前景灰度值為255,背景灰度值為0。設定沿著[A]的列向量進行掃描,統計每一列中前景像素的數目[C(1 1.4 3D Zernike矩提取整體特征 獲得運動視頻圖像的二值化圖像后,本文采用Zemike矩對運動圖像的二值圖像進行特征描述,從而實現對其分類識別。Zemike矩是一種對形狀描述很有效的正交矩,己經在圖像處理領域得到廣泛應用,具有包含信息更加完整,冗余信息量少,對噪聲不敏感等優點。對于一個圖像序列,計算Zemike矩的公式如下: [Anmμy=n+1πi=2imagesxyU(i, μ,γ)Vnm(r,θ)Pi(x,y)] (2)
式中:images表示整個序列中圖像的數目;[Ui, μ,γ]為引入的第三維度:
[Ui, μ,γ=xi-xi-1μyi-yi-1γ] (3)
式中:[xi]表示當前圖像的重心;[xi-1]表示前一幅圖像的重心;[y]同理,[μ]和[γ]是由用戶自己定義的參數,根據不同序列中圖像的數目可能不同。所以在計算出3D Zernike后可以用下式對其進行歸一化:
[Anmμy=AnmμyA*images] (4)
式中:[A]代表目標的平均面積(像素個數);images與上文相同,表示序列中圖像的數目。這樣對于一個已經提取出人體剪影的圖像序列,就可以使用式(4)得到其對應的3D Zemike矩作為整體特征。
1.5 建立碼書
碼書是由樣本空間中最具有代表性的樣本組合而成,這些樣本能很好地區分本類別和其他類別。本文采用聚類分析的方法創建碼書,首先定義各類別相似性測度,以此來描述類別之間的相似程度,本文采用基于3D Zemike矩的相似測度建立碼書。
相似測度是以兩矢量的方向是否相近作為度量的基礎,設已經求得兩個圖片的3D Zemike矩的向量為[x,y,]他們的相似性系數可表示為:
[cosx,y=xTyxTxyTy12] (5)
本文借鑒文獻[5]構建碼書的思想,將相似系數[cosx,y>0.8]的一系列采樣圖片初步判斷為一個動作,將[cosx,y>0.9]所代表動作的圖片提取出來作為一個標準描述符矩陣,這樣數據庫中包含幾個不同動作就會提取幾個描述符矩陣。
1.6 支持向量機分類
一旦碼書創建成功,那么每個動作就可以被其中的一系列關鍵姿勢來表示。每一幀圖像都對應一個描述符,這些描述符可以被碼書中與其距離最近的關鍵姿勢表示,因此一個動作可以看成是由碼書中一系列關鍵姿勢組合而成的,本文采用支持向量機實現。支持向量機(SVM)是一個基于類間距離最大化的判別算法,屬于二分類模型,并能通過一對一法擴展成多類分類器。其具體表現形式如下:
(1) 設已知訓練集:
[T=x1,y1,x2,y2,…,xl,yl∈X×Yl] (6)
式中:[xi∈X=Rn,yi∈Y=1,-1,i=1,2,…,l,xi]為特征向量。
(2) 選取適當的核函數[K(x,x)]和適當的參數[C,]構造并求解最優化問題。
[minα12i=1jj=1lyiyjαiαjKxi,xj-j=1lαj s.t. j=1lyjαj=0,0≤αi≤C] (7)
得到最優解:
[α=α*1,α*2,…,α*lT] (8)
(3) 選取[α]的一個正分量[0≤α*j≤C,]并計算此閾值:
[β=yj-i=1lyiα*iKxi-xj] (9)
(4) 構造決策函數:
[f(x)=sgni=1lα*iyiKx,xi+b*] (10)
在利用支持向量機進行分類時,要先從分析對象樣本集中抽取一部分樣本集作為學習樣本進行訓練,獲得合適精度的模型后,再對同一樣本空間中的其他樣本進行分類識別計算。
2 試驗仿真
為了驗證所提方法的有效性,本文采用KTH數據庫和A?go?go舞蹈視頻兩類視頻數據庫進行驗證[6]。
KTH數據庫共包含6類最常見的動作,如圖4所示,分別是走路、慢跑、快跑、揮手、拍手和出拳,其包含的是一些較為基本和簡單的動作。KTH中每種行為有100個視頻,由25個人分別在4類不同的背景中完成。
采用第1節中的相關算法對這些視頻逐幀進行預處理、特征提取和建立碼書,利用獲得的大量描述符矩陣作為訓練樣本對SVM進行訓練,經過仿真比較,本文的決策函數直接調用Matlab軟件自帶的卡方核函數,采用SVM對這6種常見動作分類的結果如圖5所示。
由圖5可知,采用SVM對KTH動作視頻數據庫進行識別可以獲得較高的識別率,其中對走路的識別率最高為92%,對出拳的識別率最低為85%,對整個KTH樣本的平均識別率為88.7%。因此,該方法具有較高的識別正確率。
為了驗證該方法在舞蹈視頻中的識別效果,現利用該SVM分類器對A?go?go舞蹈視頻數據庫進行識別。A?go?go舞蹈一共包含19類基本的舞蹈動作,每類動作由5個具備不同舞蹈技能的被捕捉者采集,且每個被捕捉者對每類動作均執行3次,從而每類動作具有15個樣本,總共捕捉285個動作模式樣本。為了提高SVM的分類精度,先在285個動作樣本中選出200組樣本對之前獲得的來自KTH的SVM分類器進行訓練,再利用獲得的SVM分類器對整個A?go?go舞蹈視頻集進行分類。
采用SVM對A?go?go舞蹈的19個動作分類識別的結果如圖6所示。
由圖6可知,采用加強訓練后的SVM分類器對A?go?go舞蹈動作視頻數據庫進行識別可以獲得較高的識別率,其中對動作3的識別率最高為95%,對動作2和動作15的識別率最低為86%,對整個樣本的平均識別率為90.4%。因此,該方法對舞蹈動作視頻有較高的識別正確率。
3 結 論
本文主要對動作識別技術在視頻圖像,特別是舞蹈視頻圖像中的實現方法和效果進行研究。本文首先對視頻動作圖像進行灰度化、二值化和圖像分割等預處理,接著計算了處理后的二值化圖像的3D Zemike矩以作為動作分類的特征;然后采用基于3D Zemike矩相似性系數的碼書作為分類標準模板;最后利用SVM支持向量機對KTH數據庫和A?go?go舞蹈視頻數據庫進行分類識別,并獲得了較好的識別準確率。
參考文獻
[1] 傅莉,方帥,徐心和.基于計算機視覺的人體運動目標檢測[J].兵工學報,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的人體姿勢識別方法在舞蹈訓練中的應用[D].南京:南京郵電大學,2015.
[4] 康欽謀.視頻人體動作識別算法研究[D].成都:電子科技大學,2015.
[5] 劉剛.視頻監控中的動作識別[D].南京:南京郵電大學,2013.
[6] 郝巖.視頻數據中人體動作識別方法研究[D].南京:南京理工大學,2014.