陳 威
(華僑大學(xué))
近幾年來隨著計(jì)算機(jī)技術(shù)深入和廣泛的應(yīng)用于人的各項(xiàng)活動(dòng)領(lǐng)域,人與計(jì)算機(jī)的交互活動(dòng)變得日趨頻繁.為了提高人機(jī)交互的效率,使其更加符合人類的思維和交流習(xí)慣,眾多科研機(jī)構(gòu)展開了深入的探討和研究,多種人機(jī)交互手段孕育而生.這些手段主要通過語音,人臉,手勢(shì),肢體動(dòng)作等進(jìn)行識(shí)別.其中手勢(shì)在人們?nèi)粘I钪惺亲畛J褂茫揖哂袕V泛的認(rèn)可的一種交流形式.基于計(jì)算機(jī)圖形圖像的手勢(shì)識(shí)別研究近些年來受到了科研人員的較多的關(guān)注.其可分為基于數(shù)據(jù)手套的手勢(shì)識(shí)別和基于計(jì)算機(jī)視覺的手勢(shì)識(shí)別[1].其中基于數(shù)據(jù)手套的識(shí)別需要用戶穿戴上相關(guān)的設(shè)備,給用戶體驗(yàn)帶來了較大的不便性.相反,基于計(jì)算機(jī)視覺的手勢(shì)識(shí)別的便捷性得到了較廣泛的認(rèn)可,受到了眾多的研究者和用戶的青睞.
基于計(jì)算機(jī)視覺的手勢(shì)識(shí)別是一個(gè)綜合性議題.其目標(biāo)是讓計(jì)算機(jī)系統(tǒng)能建立以人類通識(shí)手勢(shì)語義為基礎(chǔ)的一系列的人機(jī)交互.手勢(shì)可以是靜態(tài)或者動(dòng)態(tài),手勢(shì)的識(shí)別研究涵蓋了諸如語言學(xué),運(yùn)動(dòng)分析,運(yùn)動(dòng)建模,機(jī)器學(xué)習(xí)和模式識(shí)別[2].通?;谟?jì)算機(jī)視覺的手勢(shì)識(shí)別過程分為三個(gè)步驟.首先通過一系列圖像處理或計(jì)算機(jī)視覺方法,初步分割目標(biāo)區(qū)域[3];采用跟蹤算法,提高復(fù)雜背景下系統(tǒng)的魯棒性.其次,將圖像中檢測(cè)到的疑似目標(biāo)進(jìn)行抽象,獲得一系列關(guān)鍵特征信息,并建立對(duì)應(yīng)的特征模型庫.最后,利用模式識(shí)別或機(jī)器學(xué)習(xí)的分類方法來完成對(duì)手勢(shì)語義的檢測(cè).
動(dòng)態(tài)手勢(shì)識(shí)別目標(biāo)是由一組相鄰的連續(xù)視頻幀組成.該文主要采用膚色檢測(cè)和差分運(yùn)動(dòng)信息檢測(cè)相結(jié)合的方法對(duì)同一系列相鄰幀圖像中的人手目標(biāo)進(jìn)行區(qū)域分割,提取運(yùn)動(dòng)手勢(shì)的光流變化特征建模,計(jì)算待判目標(biāo)與動(dòng)態(tài)手勢(shì)模版的相似度,最終實(shí)現(xiàn)手勢(shì)識(shí)別.
基于圖像信息的手部的檢測(cè)多采用模式匹配[3],或利用手的幾何特征[4]、膚色模型等;并且注重細(xì)部的人手檢測(cè)根據(jù)建模的不同,采用不同的檢測(cè)方法.該文選擇的貝葉斯分類算法具有實(shí)時(shí)性較高的特點(diǎn),與目標(biāo)差分運(yùn)動(dòng)檢測(cè)方法相結(jié)合在手勢(shì)區(qū)域分割方面具有較好的效果.
由于人的膚色的特殊性,膚色模型常被用于人手、人臉等檢測(cè)中.圖像顏色可以用不同的顏色空間來表示,而每種顏色空間都有其特點(diǎn)[5].該文在膚色檢測(cè)中采用YUV顏色空間,YUV中的Y分量對(duì)應(yīng)圖像中的亮度信息,而在計(jì)算機(jī)膚色檢測(cè)中常常將亮度信息忽略不計(jì),這樣可以達(dá)到降低計(jì)算復(fù)雜度的效果.僅用U、V分量作為貝葉斯分類器的輸入,圖像可表示為自由變量二維元組I(x,y)=<u,v>.于是由貝葉斯公式可以得到一組膚色顏色的后驗(yàn)概率[6],即式(1):
P(s)表示樣本集圖像中目標(biāo)為膚色的先驗(yàn)概率,P(I(x,y))表示各種顏色在樣本集中的先驗(yàn)概率,P(I(x,y)|s)表示膚色顏色出現(xiàn)的概率.利用訓(xùn)練數(shù)據(jù)計(jì)算P(s|I(x,y)),可以尋找合適閾值T,大于T的判為膚色區(qū)域.
在實(shí)驗(yàn)中攝像機(jī)采用固定位置,并且假設(shè)相鄰時(shí)間片內(nèi)目標(biāo)光線和背景恒定不變.那么在相鄰時(shí)刻內(nèi)獲取的圖像幀之間作相減運(yùn)算可以得到運(yùn)動(dòng)的目標(biāo)圖元[7],見式(2).從差分運(yùn)算中獲得的是一個(gè)二值圖像,且非零值表示的是運(yùn)動(dòng)目標(biāo)所在區(qū)域[8].
這里ε=ωμ,ω為權(quán)重指數(shù),μ是整幅圖像的平均亮度,在該系統(tǒng)中可以根據(jù)環(huán)境的亮度對(duì)ω進(jìn)行適當(dāng)?shù)氖謩?dòng)調(diào)整.
圖1 分割目標(biāo)
為了降低可能存在的環(huán)境和光影變化等因素對(duì)實(shí)驗(yàn)的影響,該文嘗試將上述目標(biāo)分割算法的輸出結(jié)果相結(jié)合也就是基于膚色的差分方法.由于圖像中仍殘留噪音,所以在用該二值圖像做蒙板提取目標(biāo)之前,采用先對(duì)一幅圖像進(jìn)行腐蝕運(yùn)算,然后再進(jìn)行膨脹運(yùn)算的基于數(shù)學(xué)形態(tài)學(xué)的預(yù)處理方法.去除大量的噪聲干擾的同時(shí)保留了目標(biāo)的特征信息.圖1中的目標(biāo)(d)為原圖(a)經(jīng)過蒙版分割和濾除噪音得到的目標(biāo)圖像.
計(jì)算機(jī)在圖像中檢測(cè)運(yùn)動(dòng)目標(biāo)都基本上都需要進(jìn)行圖像預(yù)處理、特征提取,然后計(jì)算特征所在位置在相鄰時(shí)間片段里的運(yùn)動(dòng)變化[9].該文采用基于光流場(chǎng)的方法是主要針對(duì)連續(xù)灰度圖像中角點(diǎn)的表觀運(yùn)動(dòng)[10-11].光流場(chǎng)是由圖像中像點(diǎn)在相鄰時(shí)間的運(yùn)動(dòng)速度矢量組成的一個(gè)二維矢量場(chǎng)[11].研究光流場(chǎng)的可以從序列圖像中分析計(jì)算出目標(biāo)圖元運(yùn)動(dòng)信息.另外要進(jìn)行特定手勢(shì)識(shí)別就必須在這些特定的運(yùn)動(dòng)信息的基礎(chǔ)上對(duì)特定的手勢(shì)動(dòng)作進(jìn)行建模[10].該文設(shè)定光照恒定為前提,采用光流法來檢測(cè)人的動(dòng)態(tài)手勢(shì)特征,采用DTW(Dynamic Time Warping,動(dòng)態(tài)時(shí)間歸整)算法進(jìn)行動(dòng)態(tài)手勢(shì)匹配.
對(duì)整個(gè)手勢(shì)動(dòng)作視頻進(jìn)行等時(shí)間間隔的采樣.光流計(jì)算的基本算法是采用時(shí)空梯度函數(shù)計(jì)算出相鄰幀圖像每個(gè)像素點(diǎn)的運(yùn)動(dòng)速度矢量[11-12].如果用 p(x,y)來表示圖像中的像點(diǎn),I(p(x,y),t)是像點(diǎn)p在時(shí)刻 t的灰度值,像點(diǎn)p(x,y)在t+ Δt時(shí)刻移動(dòng)新位置 p(x+ Δx,y+Δy)時(shí),新灰度值為I(p(x+Δx,y+Δy),t+Δt).假定圖像灰度值前后相等,令 u=Δx/Δt,v=Δy/Δt為該點(diǎn)光流矢量沿x和y方向的兩個(gè)分量,Ix、Iy、It分別為像素點(diǎn)的灰度值沿 x、y、t三個(gè)方向的偏導(dǎo)數(shù),于是得到了基本光流約束方程[11]Ixu+Iyv+It=0.根據(jù)約束方程可以知道對(duì)輸入的圖像序列要滿足兩個(gè)限制:(1)相鄰兩幀圖像灰度值是相等的;(2)相鄰兩幀圖像之間的像點(diǎn)運(yùn)動(dòng)小于一個(gè)像素距離[11].而以往的實(shí)驗(yàn)表明用傳統(tǒng)的光流算法很難得到精確的運(yùn)動(dòng)物體的光流場(chǎng).構(gòu)造金字塔式多分辨率結(jié)構(gòu)是目前光流計(jì)算發(fā)展的主要趨勢(shì).該文采用的高斯金字塔由一組圖像序列構(gòu)成,序列中下級(jí)圖像通過低通濾波輸出新一級(jí)圖像[13].用 Si表示第 i層圖像,S0為連續(xù)兩幀原始圖像,Si的每一像素都是由Si-1層圖像透過式(3)得到.其中,窗口函數(shù)t(m,n)的階數(shù)設(shè)為5×5,根據(jù)以下約束條件:
(1)可分離性:t(m,n)=t(m)×t(n),m∈[-2,2],n ∈[-2,2];
(2)歸一化:∑(-2,2)t(m,n);
(3)對(duì)稱性:t(m)=t(-m);
(4)奇偶項(xiàng)等貢獻(xiàn)性:t(-2)+t(2)+t(0)=t(-1)+t(1).
于是得出:t(0)=2/5,t(1)=t(-1)=1/4,t(2)=t(-2)=1/20,從而得到窗口函數(shù):
分析層間的運(yùn)算公式(3)看出,呈現(xiàn)金字塔構(gòu)造,第i層圖像大小為第(i-1)層的1/4.以此逐層計(jì)算金字塔頂層兩幀圖像的像點(diǎn)運(yùn)動(dòng)距離,如果滿足約束條件(2),便可根據(jù)基本光流公式計(jì)算出其標(biāo)準(zhǔn)的光流場(chǎng).具體的算法1如下[12-13]:
算法1.高斯金字塔光流計(jì)算
光流矢量常用一個(gè)四維的向量P(x,y,u,v)表示,P的空間位置由x和y決定,P在兩個(gè)垂直方向上的分量由u和v決定[6,10].如果一幀光流場(chǎng)中有M×N個(gè)光流矢量,那么一段手勢(shì)的視頻片段中多幀圖像間的光流場(chǎng)數(shù)量往往是海量的數(shù)據(jù),應(yīng)對(duì)這種高維的原始特征必須進(jìn)行降維.光流矢量分量(u,v)可以由極坐標(biāo)的形式(r,θ)來表示,目標(biāo)運(yùn)動(dòng)中發(fā)現(xiàn)方向θ具有較好的辨析能力,而r的影響甚微,可以忽略.這樣就將光流場(chǎng)原本四維向量P(x,y,u,v)轉(zhuǎn)化為便于處理的三維向量 P'(x,y,θ).
該文嘗試引入直方圖的方法對(duì)上述三維向量P'再進(jìn)行分析.該直方圖描述了圖像中具有θ運(yùn)動(dòng)方向的矢量個(gè)數(shù),其中橫坐標(biāo)軸代表像點(diǎn)運(yùn)動(dòng)方向矢量的級(jí)數(shù),縱坐標(biāo)軸代表像點(diǎn)在該運(yùn)動(dòng)方向上出現(xiàn)的概率[14],圖2中(c)和(d)示意了相鄰幀的像點(diǎn)運(yùn)動(dòng)的光流場(chǎng)及像點(diǎn)運(yùn)動(dòng)方向直方圖.從圖中發(fā)現(xiàn)用一個(gè)一維數(shù)組m[k](k為θ的量化級(jí)數(shù))可以表示三維向量P'的統(tǒng)計(jì)信息.
圖2 生成方向直方圖
對(duì)人的特定的手勢(shì)行為按時(shí)間順序進(jìn)行分解可以得到了一組按順序排列的動(dòng)作幀模板.嘗試將式(5)直方圖相交法公式[14]用于待判手勢(shì)樣本與先驗(yàn)?zāi)0彘g的比較,相似度可以作為手勢(shì)的檢測(cè)的判據(jù).首先建立一個(gè)由運(yùn)動(dòng)方向直方圖組成的公共手勢(shì)模版庫T和一個(gè)已標(biāo)識(shí)手勢(shì)語義的由時(shí)序索引號(hào)序列S組成的的索引序列庫.光流方向直方圖特征矢量序列生成為算法2:
算法2.光流方向直方圖特征矢量序列的生成
在視頻光流特征序列數(shù)組Q與模版序列庫中的序列數(shù)組S比較中發(fā)現(xiàn),由于動(dòng)作頻率、幅度、采樣間隔等問題,兩者的索引序列長度很難同步.為此,該文文嘗試引入基于動(dòng)態(tài)規(guī)劃技術(shù)的DTW算法.
引入DTW算法的目的是為比對(duì)序列尋找一個(gè)最佳的時(shí)間同步規(guī)整函數(shù),也就是它可以使輸入的待匹配手勢(shì)索引序列Q的在時(shí)間順序上與手勢(shì)索引序列庫[15]中的S序列同步;同時(shí)DTW算法通過在局部自動(dòng)尋找一條最優(yōu)路徑,保證在這條路徑上的所有匹配點(diǎn)對(duì)之間的加權(quán)距離也最優(yōu)[16].
假設(shè)序列Q(1:Lq)=(q1,…,qLq)以及序列S(1:Ls)=(s1,…,sLs).設(shè)時(shí)間規(guī)整函數(shù)為:C={c(1),c(2),…,c(N)},N 表示匹配序列路徑長度,假設(shè)第n個(gè)匹配點(diǎn)對(duì)是由S的第i(n)個(gè)特征矢量和Q的第j(n)個(gè)特征矢量構(gòu)成,那么可以表示成c(n)=(i(n),j(n)).另外規(guī)整函數(shù)應(yīng)滿足以下條件:
(1)邊界條件,c(1)=(1,1),c(N)=(Lq,Ls);
(2)單調(diào)性,規(guī)整函數(shù)必須保證匹配的路徑不違背索引序列的時(shí)間順序[15],即i(n)和j(n)都單調(diào)遞增;
(3)步長限制,規(guī)整函數(shù)不允許跳過任何一個(gè)匹配點(diǎn),即步長限定在{(1,0),(0,1),(1,1)}.
令局部匹配點(diǎn)間距離為d(si(n),qj(n)).從(l,l)點(diǎn)出發(fā)搜索,反復(fù)利用式(6)遞推[14],直到(Ls,Lq)點(diǎn)得到最優(yōu)路徑.
將待識(shí)別索引序列Q與由公共模版手勢(shì)生成的索引序列庫中的所有模版序列逐一進(jìn)行DTW匹配,計(jì)算其失真度D=min∑d(si(n),qj(n)),如果最小失真度大于給定閾值,則輸出識(shí)別不成功;反之輸出此時(shí)模版對(duì)應(yīng)的手勢(shì)語義,即算法識(shí)別的結(jié)果.
該文按逆時(shí)針方向?qū)⒊上衿矫嫔?60°進(jìn)行20等分,于是對(duì)光流場(chǎng)三維向量的方向特征θ進(jìn)行量化,得到θ∈[0,20].這樣三維的光流向量(x,y,θ)轉(zhuǎn)化為一個(gè)一維數(shù)組 mi[21]表示.實(shí)驗(yàn)中選擇了4個(gè)具有代表性的手勢(shì)(向左、向右、向上、向下運(yùn)動(dòng)),按照如下算法3[15]建立了公共模版庫和索引序列庫:
算法3.公共模版庫及索引序列庫的生成
將新模版和索引序列數(shù)組添加到庫中
實(shí)驗(yàn)所用測(cè)試視頻圖像均為320×240像素,采樣頻率為30幀每秒,樣本都是經(jīng)過事先規(guī)范的動(dòng)作,由5個(gè)人分別單獨(dú)完成上述4種特定手勢(shì)動(dòng)作,每種手勢(shì)10次,截取固定1 s的視頻片段,這樣每種手勢(shì)都有50個(gè)訓(xùn)練樣本,總共200個(gè)手勢(shì)訓(xùn)練視頻.
圖3 相鄰手勢(shì)視頻幀的光流場(chǎng)及其基于公共模版庫的相似度
圖3示意了4種手勢(shì)相鄰幀生成光流場(chǎng)以及其與公共模版庫進(jìn)行比對(duì).匹配輸出的手勢(shì)索引序列在DTW算法下尋找最優(yōu)的索引序列模版,并輸出其語義.該文為每種手勢(shì)創(chuàng)建20個(gè)測(cè)試樣本,共計(jì)80個(gè)樣本.測(cè)試集的平均檢測(cè)率達(dá)到了 88.7%,見表 1.
表1 手勢(shì)識(shí)別率
該文采用光流法對(duì)圖像進(jìn)行處理,依靠人手在連續(xù)幀中的相對(duì)運(yùn)動(dòng)求得了圖像中每個(gè)像素所對(duì)應(yīng)物體的運(yùn)動(dòng)信息,不需要在圖像序列中建立特征之間的對(duì)應(yīng)關(guān)系,不僅降低了系統(tǒng)對(duì)圖像預(yù)處理的依賴性[16],而且降低了動(dòng)態(tài)手勢(shì)識(shí)別的算法復(fù)雜度.實(shí)驗(yàn)樣本中規(guī)范了手勢(shì)動(dòng)作,避免了不規(guī)則動(dòng)作的干擾,但系統(tǒng)的魯棒性受到影響.該文采用多種信息對(duì)手勢(shì)區(qū)域進(jìn)行分割和預(yù)處理,對(duì)手勢(shì)光流提取起到了輔助作用.引入基于光流場(chǎng)的DTW算法,建立目標(biāo)手勢(shì)與模版庫的匹配關(guān)系,實(shí)驗(yàn)取得了較好的效果.
[1] 李瑞峰,曹雛清,王麗.基于深度圖像和表觀特征的手勢(shì)識(shí)別[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2011,39(11):88-91.
[2] 孫麗娟,張立材,郭彩龍.基于視覺的手勢(shì)識(shí)別技術(shù)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,10(2):214-216.
[3] Antonis A A,Manolis I A L.Binocular Hand Tracking and Reconstruction Based on 2D Shape Matching,In:International Conference on Pattern Recognition,2006.207-210.
[4] 林水強(qiáng),吳亞東,陳永輝.基于幾何特征的手勢(shì)識(shí)別方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(2):636-640.
[5] 范保玲,王民,董穎娣.基于膚色檢測(cè)技術(shù)的手勢(shì)分割[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(3):105-108.
[6] 郭訓(xùn)力,俞揚(yáng).一種基于膚色和深度的第一人稱人手識(shí)別方法[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(12):133-137.
[7] 曹丹華,鄒偉,吳裕斌.基于背景圖像差分的運(yùn)動(dòng)人體檢測(cè)[J].光電工程,2007,34(6):107-111.
[8] 李春華,李寧,吳立潮.序列圖像運(yùn)動(dòng)目標(biāo)的新型快速檢測(cè)方法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(8):1916-1921.
[9] 卜凡亮,王蓉,金華,李麗華.基于光流的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤[J].中國人民公安大學(xué)學(xué)報(bào):自然科學(xué)版,2009,15(2):58-60.
[10] Horn B,Schunch B.Determining optical flow[J].Artificial Intelligence,1981,17(4):185-203.
[11]鄒洪.實(shí)時(shí)動(dòng)態(tài)手勢(shì)識(shí)別關(guān)鍵技術(shù)研究[D].華南理工大學(xué),2011.
[12]危水根,陳震,黎明.基于梯度光流場(chǎng)計(jì)算方法的一種改進(jìn)[J].計(jì)算機(jī)工程,2006,32(1):198-200.
[13] Battiti R,Amaldi E,Koch C.Computing Optical flow across multiple scales:Anadaptive coarse-to-fine strategy [J].International Journal of Computer Vision,2004,6(2):133-145.
[14]楊杰,楊靜宜.基于顏色直方圖的石材圖像檢索[J].武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2009,31(2):173-176.
[15]劉賢梅,趙丹,郝愛民.基于優(yōu)化的DTW算法的人體運(yùn)動(dòng)數(shù)據(jù)檢索[J].模式識(shí)別與人工智能,2012,25(2):352-359.
[16]劉曉平,夏新宇,陸勁挺.基于DTW方法及Hermite插值的運(yùn)動(dòng)序列長度歸一化[J].系統(tǒng)仿真學(xué)報(bào),2013,26(7):1598-1602.