呂金剛 ,吳 斌 ,劉 恒 ,周翔宇 ,邵延華
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010;2.重慶大學(xué) 光電工程學(xué)院 光電技術(shù)及系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室,重慶 400030)
隨著計(jì)算機(jī)性能的不斷提高和機(jī)器視覺領(lǐng)域研究的不斷深入,人機(jī)交互技術(shù)日益成為機(jī)器視覺領(lǐng)域的研究熱點(diǎn)?;跈C(jī)器視覺的手勢(shì)識(shí)別作為其重要的研究?jī)?nèi)容之一,在許多領(lǐng)域有著重要的應(yīng)用。最近幾年,尤其在智能家居以及3D體感游戲領(lǐng)域,手勢(shì)識(shí)別得到了廣泛的應(yīng)用,因此受到越來越廣泛的關(guān)注。
根據(jù)識(shí)別特征的不同,手勢(shì)識(shí)別分為基于標(biāo)記的手勢(shì)識(shí)別和基于裸手的手勢(shì)識(shí)別系統(tǒng),而裸手手勢(shì)識(shí)別又分為靜態(tài)手勢(shì)識(shí)別和動(dòng)態(tài)手勢(shì)識(shí)別[1]。目前,基于裸手的動(dòng)態(tài)手勢(shì)識(shí)別是手勢(shì)識(shí)別中最重要的領(lǐng)域[2],相對(duì)于靜態(tài)手勢(shì)識(shí)別而言,動(dòng)態(tài)手勢(shì)識(shí)別有著更靈活、更廣泛的應(yīng)用。但是人手是一個(gè)多關(guān)節(jié)非剛性物體,在運(yùn)動(dòng)過程中會(huì)呈現(xiàn)出多種多樣的手勢(shì)形態(tài),在跟蹤過程中還會(huì)伴有手勢(shì)遮擋和膚色干擾等情況。所以,如何對(duì)人手進(jìn)行有效的視覺檢測(cè)與跟蹤是實(shí)現(xiàn)動(dòng)態(tài)手勢(shì)識(shí)別和理解的關(guān)鍵,也是機(jī)器視覺機(jī)和人機(jī)交互領(lǐng)域中一個(gè)富有挑戰(zhàn)的重要課題。
按照運(yùn)動(dòng)目標(biāo)跟蹤策略的不同,對(duì)于動(dòng)態(tài)人手跟蹤可以分為基于模型和基于表象兩種方法。
基于表象的方法又叫非模型跟蹤方法,它可細(xì)分為基于區(qū)域的跟蹤、基于活動(dòng)輪廓[3]以及基于其他圖像特征的跟蹤方法[4]。該方法的優(yōu)點(diǎn)是實(shí)時(shí)性較好,但由于所跟蹤特征很容易受遮擋或光線條件變化等外界因素的干擾,難以保證魯棒性?;谀P偷姆椒ㄒ獙?duì)跟蹤目標(biāo)建立特征模型,通過比較觀測(cè)和預(yù)測(cè)數(shù)據(jù)來修正模型中的參數(shù)。該類方法性能的實(shí)現(xiàn)依賴于初始化過程,如果初始化合理,即可達(dá)到精確的估計(jì)。同時(shí)該類方法還面臨著高維空間中搜索的難題,如采用粒子濾波器跟蹤人手運(yùn)動(dòng),當(dāng)狀態(tài)空間維數(shù)過高時(shí),需要大量的粒子來估計(jì)高維空間中的概率分布。因此這種方法計(jì)算復(fù)雜度高、計(jì)算量較大,很難保證實(shí)時(shí)性。
針對(duì)以上問題,提出了一種快速魯棒的人手檢測(cè)與跟蹤算法,在背景相對(duì)復(fù)雜、存在類膚色干擾的情況下,該方法也能夠有效地對(duì)動(dòng)態(tài)人手進(jìn)行實(shí)時(shí)跟蹤。具體框圖如圖1所示。
圖1 快速魯棒的人手檢測(cè)與跟蹤方法框圖
色彩信息是物體重要的特征信息。利用膚色信息可以快速確定人手所在的候選區(qū)域,以縮小檢測(cè)范圍。HSV色彩空間是從RGB空間轉(zhuǎn)化而來的,比較接近人類的色彩感知習(xí)慣,適合建立膚色模型[5],采用HSV空間二維彩色直方圖,可以去除部分光照的影響,適合對(duì)顏色特征穩(wěn)定的跟蹤。
基于直方圖的貝葉斯判決方法SPM (Skin Probability Map)是目前廣泛采用的一種膚色檢測(cè)方法,它利用貝葉斯準(zhǔn)則將膚色直方圖和非膚色直方圖歸一化,以概率來判斷像素是否屬于膚色像素,如式(1)所示。
其中,P(x|skin)和 P(x|nonskin)分別表示顏色值為 x 的像素屬于膚色和非膚色像素的先驗(yàn)概率,Pskin和Pnonskin分別表示膚色區(qū)域與非膚色區(qū)域的概率。當(dāng)后驗(yàn)概率大于某固定閾值時(shí),則該像素為膚色像素。該方法的缺點(diǎn)在于,采用閾值固定分割不能很好地適應(yīng)所有圖像內(nèi)容。
張明吉等人[6]在SPM的基礎(chǔ)上對(duì)膚色概率分布直方圖 SPDH(Skin Probability Distribution Histogram)進(jìn)行了改進(jìn),用膚色概率的分布概率作為SPDH的橫坐標(biāo),橫坐標(biāo)右面的值就是要找的閾值點(diǎn),如式(2)所示。
SPDH的縱坐標(biāo)表示具有相同歸一化膚色概率的像素?cái)?shù),如式(3)所示。
其中,σ是為了避免膚色和非膚色區(qū)域的重疊,它是所有這些像素的顏色均方差。
洪紅等人[7]提出了一種色度SPDH的算法,并提出了式(2)的改進(jìn)公式,如式(4)所示。
由式(4)可知,后驗(yàn)概率較大的點(diǎn)有可能是最佳閾值點(diǎn)。因此,可以設(shè)計(jì)一個(gè)貝葉斯分類器,輸入每個(gè)候選閾值點(diǎn),輸出值表示候選點(diǎn)是否為最優(yōu)閾值點(diǎn)。本文根據(jù)SPDH的4條線索[6],提出最優(yōu)閾值貝葉斯分類器:
其中,P(x|thr)和 P(x|nonthr)分別表示候補(bǔ)閾值 x 是閾值和不是閾值的先驗(yàn)概率,Pthr和P(nonthr)分別表示閾值概率和非閾值概率,P(optimal|x)表示候補(bǔ)閾值x為最優(yōu)閾值的后驗(yàn)概率。
最后,可以得到經(jīng)過膚色分割的二值化圖像,部分結(jié)果如圖 2 所示,其中圖 2(a)、圖 2(b)、圖 2(c)為原圖像,圖 2(d)、圖 2(e)、圖 2(f)為對(duì)應(yīng)的二值化圖像。
圖2 基于貝葉斯膚色閾值分割的部分圖片
根據(jù)膚色分割結(jié)果,將視頻圖片進(jìn)行二值化處理,膚色區(qū)域?yàn)榘c(diǎn)(255),非膚色區(qū)域?yàn)楹邳c(diǎn)(0),縮小了檢測(cè)范圍。由于人體其他膚色部分以及復(fù)雜背景下類膚色的影響,以上方法所分割到的膚色區(qū)域可能包含人手以外的膚色部分,因此,需要去除這些“混淆”區(qū)域,以便精確地提取出人手區(qū)域。
輪廓是點(diǎn)的序列,可以用來表示圖像中間的曲線[8]。二值圖像輪廓可用于提取圖像中的目標(biāo)區(qū)域,以便對(duì)目標(biāo)區(qū)域作進(jìn)一步處理,如區(qū)域填充、計(jì)算輪廓長(zhǎng)度及面積、特征提取和輪廓匹配等。輪廓可以采用鏈碼和線段表兩種不同方法來描述。在鏈碼中,多邊形被表示為一些列的位移,每一個(gè)位移都有8個(gè)方向,這8個(gè)方向使用整數(shù) 0~7來描述,如圖 3(a)所示。則圖 3(b)中人手輪廓對(duì)應(yīng)的鏈碼可以表示為:7-7-1-3-0-7-1-3-0-1-3-4-1-2-3-5-4-1-3-5-4-5-6。
圖3 鏈碼表的8個(gè)方向及用鏈碼表示的人手輪廓
PGH實(shí)際上是鏈碼直方圖的一個(gè)擴(kuò)展和延伸[9]。人手的外形是不規(guī)則形狀,可以將其描述為許多線段組成的多邊形。由于多邊形PGH基于多邊形線段間距離與角度信息,因此這種編碼方式具有很好的平移、旋轉(zhuǎn)和尺度不變性,而且計(jì)算簡(jiǎn)單,只需要少量的手勢(shì)模板即可達(dá)到很好的匹配效果[9]。
本文將提取到的人手輪廓近似為多邊形,這樣就可以用一系列連續(xù)的邊緣點(diǎn)來表示人手輪廓,定義其邊緣點(diǎn)的集合為(x(t),x(t))∈R2。 將每一個(gè)輪廓邊緣視為其方向上的基準(zhǔn)線,那么它與其他輪廓邊緣間的相對(duì)角θ∈[0,π]以及最大、最小垂直距離(dmin和 dmax)可以計(jì)算出來,如圖4(a)所示。定義邊緣之間的相對(duì)角度為直方圖的行,對(duì)應(yīng)的相對(duì)最大距離與最小距離為直方圖的列,這樣就得到了當(dāng)前人手多邊形的PGH,如圖4(b)所示。
圖4 兩條線段間的相對(duì)角與垂直距離以及成對(duì)幾何直方圖
同樣,利用相同的方式可以獲得手勢(shì)模板的PGH。將兩個(gè)直方圖歸一化,假設(shè)其分布分別為 pc(θ)和 q(θ),其中c表示候選區(qū)域中心。應(yīng)用Bhattacharyya系數(shù)計(jì)算兩個(gè)分布間的相似度 ρ(q,pc),然后計(jì)算Bhattacharyya 距離,得出一個(gè)描述其相似性的數(shù)據(jù) pmatch(0≤pmatch≤1):
pmatch的值越小,手形的匹配度越高,即當(dāng)前手形與模板手形的相似度越大。通過多次實(shí)驗(yàn)確定,PGH匹配能夠準(zhǔn)確去除人手混淆區(qū)域,精確定位人手所在區(qū)域。
復(fù)雜背景下的人手跟蹤往往需要一些具有預(yù)測(cè)功能的跟蹤算法。當(dāng)人手膚色區(qū)域與“混淆”區(qū)域重疊面積較大時(shí),普通的跟蹤方法很難準(zhǔn)確地定位人手位置。Kalman濾波器是一個(gè)對(duì)動(dòng)態(tài)系統(tǒng)的狀態(tài)序列進(jìn)行線性最小方差估計(jì)的算法,具有計(jì)算量小、可實(shí)時(shí)計(jì)算的特點(diǎn),而且能夠較為準(zhǔn)確地預(yù)測(cè)目標(biāo)的位置和速度。
如果短時(shí)間內(nèi)將人手運(yùn)動(dòng)看作是一種近似恒定運(yùn)動(dòng),即可以將人手的運(yùn)動(dòng)狀態(tài)在該時(shí)間序列內(nèi)看作為時(shí)不變系統(tǒng),則可以設(shè)計(jì)一個(gè)Kalman跟蹤器對(duì)人手進(jìn)行預(yù)測(cè)跟蹤。Kalman系統(tǒng)狀態(tài)模型如式(7)和式(8)所示。
狀態(tài)方程:
觀測(cè)方程:
其中,F(xiàn)和H分別為狀態(tài)轉(zhuǎn)移矩陣和觀測(cè)矩陣。ωk和υk分別為系統(tǒng)噪聲和觀測(cè)噪聲,分別服從方差為R和Q的正態(tài)分布。u(k)是 k時(shí)刻對(duì)系統(tǒng)的控制量,本文中u(k)可以忽略不計(jì)。 用 X 表示人手狀態(tài)向量,(x,y)和(x˙,y˙)分別表示人手特征點(diǎn)在圖像中的坐標(biāo)位置和運(yùn)動(dòng)速度,則 X=(x,y,x˙,y˙)T。 Z=(x,y)T表示觀測(cè)向量,即人手的位置信息。
設(shè)計(jì)Kalman濾波方程對(duì)系統(tǒng)參數(shù)進(jìn)行估計(jì),如式(9)和式(10)所示。
預(yù)測(cè):
更新:
其中,T為相鄰幀之間的采樣周期,ωk和 υk的協(xié)方差矩陣 Q=I1,R=I2,I1為四維單位矩陣,I2為二維單位矩陣。
在訓(xùn)練SPM時(shí),采用6000幅樣本圖片,其中4500幅通過網(wǎng)絡(luò)攝像機(jī)采集,1500幅來自于因特網(wǎng)。訓(xùn)練樣本5000幅,包含膚色圖片2000幅,非膚色圖片3000幅。測(cè)試樣本集1000幅,包含膚色圖片400幅,非膚色圖片600幅。
對(duì)該方法的檢測(cè)與跟蹤性能做了測(cè)試,利用普通USB攝像頭制作了兩段視頻序列。運(yùn)行環(huán)境為2.86 GHz奔騰E6300雙核處理器,2 GB內(nèi)存,Windows7操作系統(tǒng),VS2008+Opencv2.1開發(fā)平臺(tái),視頻窗口顯示大小為320 pix×240 pix,灰色矩形框?yàn)楦櫟降氖謩?shì)區(qū)域,圖 5給出了部分實(shí)驗(yàn)結(jié)果截圖。
圖5 實(shí)驗(yàn)結(jié)果
為了驗(yàn)證本文方法的快速性與魯棒性,在背景環(huán)境相對(duì)復(fù)雜的場(chǎng)景下,分別與Camshift+Kalman方法和Camshift+Particle filter方法、基于Haar特征的Adaboost方法和Chamfer Matching方法進(jìn)行了對(duì)比性實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)運(yùn)行環(huán)境同上。測(cè)試結(jié)果如表1所示。
表1 對(duì)比實(shí)驗(yàn)測(cè)試結(jié)果
其中,frame為幀數(shù),frameerror為視頻序列中檢測(cè)錯(cuò)誤幀數(shù),framemiss為視頻序列中檢測(cè)遺漏幀數(shù),framesum為視頻序列總幀數(shù)。
經(jīng)過對(duì)比可以看出,Camshift+Kalman實(shí)時(shí)性最好,但誤檢率最高;Haar+Adaboost方法漏檢率較低,但是跟蹤速度相對(duì)較慢,誤檢率較高;Chamfer Matching方法誤檢率與漏檢率都較低,但是跟蹤速度最慢,很難達(dá)到實(shí)時(shí)跟蹤的要求;本文所提出的SPDH+PGH+Kalman方法,誤檢率和漏檢率與Haar+Adaboost方法相當(dāng),跟蹤速度接近Camshift+Kalman方法,滿足實(shí)時(shí)性跟蹤,具有較強(qiáng)的魯棒性,且能夠適用于大多數(shù)復(fù)雜場(chǎng)景。
本文提出了一種基于膚色與形狀的手勢(shì)檢測(cè)與跟蹤方法,該方法簡(jiǎn)單可靠,具有較強(qiáng)的快速性與魯棒性。在跟蹤過程中,手部運(yùn)動(dòng)盡量保持恒速運(yùn)動(dòng),跟蹤效果比較好。本文提出的方法尚有需要改進(jìn)之處,當(dāng)背景光照較強(qiáng)烈時(shí),容易出現(xiàn)漏檢情況。因?yàn)閺?qiáng)光照的干擾,視頻中部分膚色區(qū)域的色調(diào)“污染”嚴(yán)重,所以影響了自適應(yīng)閾值膚色分割的效果。
[1]楊波,宋曉娜,馮志全,等.復(fù)雜背景下基于空間分布特征的手勢(shì)識(shí)別算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(10):1841-1848.
[2]滕達(dá),楊壽保,劉巖,等.基于“大小手”的徒手手勢(shì)實(shí)時(shí)識(shí)別[J].計(jì)算機(jī)應(yīng)用,2006,26(9):2041-2043.
[3]王亮,胡衛(wèi)明,譚鐵牛.人運(yùn)動(dòng)的視覺分析綜述[J].計(jì)算機(jī)學(xué)報(bào),2002,25(3):225-237.
[4]HOCH M, LITWINOWICZ P.A practicalsolutionfor tracking edges in image sequences with snakes[J].The Visual Computer, 1996, 12(2):75-83.
[5]趙懷勛,鄭敏,李志強(qiáng).一種自適應(yīng)光照的膚色識(shí)別算法[J].微電子學(xué)與計(jì)算機(jī),2006,24[3]:158-160.
[6]Zhang Mingji, Wang Weiqiang, Zheng Qingfang, et al.Skin-color detection based on adaptive thresholds[C].Proceedings of the Third International Conference on Image and Graphics, 2004: 250-253.
[7]洪紅,朱秀昌.一種新的人手圖像跟蹤算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(3):88-91.
[8]于仕琪,劉瑞禎.學(xué)習(xí) OpenCV[M].北京:清華大學(xué)出版社,2009.
[9]劉玉進(jìn),蔡勇,武匯岳.一種膚色干擾下的變形手勢(shì)跟蹤方法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(35):164-167.