李逸琳 陶 靜 霍藝文 徐 武
(云南民族大學(xué)電氣信息工程學(xué)院 云南 昆明 650500)
與動(dòng)作和眼神相比,手勢(shì)更可能形成統(tǒng)一的、易于區(qū)分的標(biāo)準(zhǔn),并且能夠讓人們以最舒適的方式與計(jì)算機(jī)進(jìn)行交流通信,在很大程度上降低了人機(jī)交互的障礙。手勢(shì)檢測(cè)是指計(jì)算機(jī)根據(jù)某些規(guī)則檢測(cè)出各種手勢(shì),并轉(zhuǎn)化為相應(yīng)的控制命令語(yǔ)句,實(shí)現(xiàn)人與計(jì)算機(jī)之間的信息交換[1]。而且,基于視覺(jué)的手勢(shì)識(shí)別對(duì)用戶而言,無(wú)需佩戴設(shè)備也沒(méi)有距離的限制,具備良好的用戶體驗(yàn)度和舒適度。近年來(lái),憑借其廣泛的應(yīng)用范圍,成為虛擬現(xiàn)實(shí)領(lǐng)域的熱點(diǎn)研究方向,而手勢(shì)分割恰是手勢(shì)識(shí)別的關(guān)鍵。
傳統(tǒng)的圖像分割方法主要是基于灰度、邊緣、紋理等圖像底層信息,這類方法在實(shí)際應(yīng)用中普遍抗噪性差,不能適應(yīng)光照、背景的變化[2]。在實(shí)際的人機(jī)交互過(guò)程中,需要實(shí)時(shí)更新膚色分割的閾值以應(yīng)對(duì)光照條件改變、背景復(fù)雜程度帶來(lái)的諸多干擾。本文使用YCBCR膚色識(shí)別模型及粒子濾波跟蹤算法來(lái)實(shí)現(xiàn)膚色分割閾值的實(shí)時(shí)更新。該方法是基于手勢(shì)的實(shí)時(shí)形狀變化,不依賴于流式媒介,更新后的膚色分割閾值顯著提升了手勢(shì)識(shí)別的精確程度。
本文在手勢(shì)分割之前增加輪廓識(shí)別的步驟,先行獲取所要分割的手勢(shì)類型,之后僅需要將一個(gè)先驗(yàn)手勢(shì)形狀添加到手勢(shì)分割的模型中,從而避免多個(gè)手勢(shì)形狀引起的復(fù)雜干擾[3]。主要技術(shù)手段包括:基于先驗(yàn)手勢(shì)形狀的手勢(shì)圖像分割和基于分割后圖像的參數(shù)更新?;谙闰?yàn)手勢(shì)形狀的手勢(shì)圖像分割主要是通過(guò)手勢(shì)的形狀和膚色信息來(lái)確定手勢(shì)輪廓。有了手勢(shì)輪廓之后就確定了手勢(shì)區(qū)域和非手勢(shì)區(qū)域,此時(shí)再使用粒子濾波算法來(lái)更新橢圓膚色模型的參數(shù)就可以更加準(zhǔn)確地完成手勢(shì)分割。
不同的手勢(shì)在空間中具有不同的像素點(diǎn)分布。因此可以將空間中手勢(shì)像素點(diǎn)的分布區(qū)域作為提取手勢(shì)特征的關(guān)鍵依據(jù)[4]。本文根據(jù)形態(tài)學(xué)中的腐蝕原理,先除去圖像中某些部位再求質(zhì)心的方法,獲取手勢(shì)區(qū)域的質(zhì)心e。之后以e為圓心,對(duì)每個(gè)環(huán)形區(qū)域內(nèi)像素點(diǎn)的相對(duì)密度Dk進(jìn)行統(tǒng)計(jì),得到手勢(shì)的第一條空間分布特征。其次,在這些圖像分割區(qū)域的同心圓作用下,不同的弧段和弧長(zhǎng)將呈現(xiàn)在不同手勢(shì)的膚色區(qū)域和非膚色區(qū)域,對(duì)應(yīng)的弧段作為手勢(shì)的第二條空間分布特征,對(duì)應(yīng)的弧長(zhǎng)則作為第三條空間分布特征。手勢(shì)的空間特征向量組HDF={D1,…,Dn;H1,…,Hn;HC1,…,HCnm}中的三類元素即為這三條空間分布特征。其中:Dk(0≤k≤n-1)表示第k環(huán)同心圓內(nèi)目標(biāo)像素點(diǎn)的相對(duì)密度;Hk(0≤k≤n-1)表示第k環(huán)同心圓非目標(biāo)區(qū)域所占的圓弧段數(shù);HCkj表示第k環(huán)同心圓上非目標(biāo)區(qū)域圓弧j的弧長(zhǎng);n表示劃分手勢(shì)區(qū)域的同心圓的環(huán)數(shù)。圖1為手勢(shì)示例。
圖1 手勢(shì)示例
由力學(xué)可知,手掌的質(zhì)心坐標(biāo)e(xe,ye)為:
(1)
(2)
(3)
根據(jù)上述公式可以計(jì)算出從手掌質(zhì)心到目標(biāo)圖像的最大距離Dmax。以手掌質(zhì)心坐標(biāo)為外接圓的圓心、以Dmax為外接圓的半徑,繪出手勢(shì)區(qū)域的外接圓。由人類手部的生理構(gòu)造得知,不同手勢(shì)的手掌區(qū)域的特征差異非常小,手指部分的差異則較為明顯。故以最大半徑0.4Dmax為半徑作圓,其圓內(nèi)包含的即為手掌區(qū)域。然后再?gòu)?.4Dmax到Dmax劃分為n個(gè)同心圓。統(tǒng)計(jì)每個(gè)同心圓區(qū)域內(nèi)的目標(biāo)像素點(diǎn)數(shù)量Si(i=1,2,…,n)(n為采樣區(qū)域的個(gè)數(shù),當(dāng)n=1時(shí),采樣區(qū)域?yàn)樽钸h(yuǎn)離圓心的同心圓區(qū)域;當(dāng)n=n時(shí),采樣區(qū)域?yàn)樽罱咏鼒A心的同心圓區(qū)域)以及整個(gè)手勢(shì)圖像區(qū)域中目標(biāo)像素點(diǎn)的數(shù)量Smax。n個(gè)同心圓區(qū)域目標(biāo)像素點(diǎn)的相對(duì)密度可由下式計(jì)算得出:
(4)
統(tǒng)計(jì)第k個(gè)圓上的手勢(shì)特征HCkj:
(5)
式中:hckj表示第k環(huán)同心圓非目標(biāo)區(qū)域圓弧j的弧長(zhǎng);hcj表示第k環(huán)同心圓上非目標(biāo)區(qū)域圓弧的總長(zhǎng)度。不同手勢(shì)的空間分布特征如圖2所示。
圖2 不同手勢(shì)分布特征
膚色作為人體體表信息較為顯著的特征,在排除亮度和視覺(jué)環(huán)境的前提下,皮膚的色調(diào)不受人種差異的影響,因此可將膚色作為手勢(shì)分割的理論依據(jù)。目前常用的膚色識(shí)別模型有HSV膚色識(shí)別模型、HIS膚色識(shí)別模型、YCBCR膚色識(shí)別模型和歸一化RGB膚色識(shí)別模型[5]。在HSV與HIS膚色識(shí)別模型中,亮度、色調(diào)及鮮艷程度等能夠得到非常直觀的體現(xiàn)、比對(duì),但無(wú)法與顯示器進(jìn)行直接的色彩數(shù)值傳輸,并且對(duì)系統(tǒng)資源等軟硬件的消耗較大。再比較RGB色度空間和YCBCR色度空間,當(dāng)視覺(jué)環(huán)境中的光線亮度發(fā)生改變時(shí),RGB顏色空間中(R,G,B)將同時(shí)改變,而YCBCR顏色空間中的三個(gè)變量則相對(duì)獨(dú)立,受光線亮度的影響較小,因此YCBCR顏色空間更適用于膚色識(shí)別。故本文采用YCBCR膚色模型來(lái)提取手部區(qū)域。然后以膚色模型為基礎(chǔ),同時(shí)為了強(qiáng)化分割效果,融合了粒子濾波算法。
在YCBCR顏色空間中,Y是明亮度即灰階值,CB和CR是藍(lán)色和紅色的色調(diào)與飽和度部分。YCBCR顏色空間具有將色度與明亮度分離的特點(diǎn),當(dāng)光強(qiáng)不同時(shí),同一膚色聚類范圍在YCBCR空間內(nèi)的變化最小,只有灰階值Y隨外環(huán)境的改變而改變,并且CB和CR之間是二維獨(dú)立的,才能夠?qū)⒛w色分布圈定在可知區(qū)域內(nèi)。本文算法直接考慮YCBCR空間中的藍(lán)色和紅色色度分量,忽略灰階值,使用閾值分割法區(qū)分開膚色區(qū)域與非膚色區(qū)域。YCBCR空間采用ITU-RBT601YCBCR標(biāo)準(zhǔn),定義灰階值為(16,235)范圍里的8位二進(jìn)制數(shù)據(jù),定義藍(lán)色和紅色色度分量為(16,240)范圍內(nèi)的8位二級(jí)制數(shù)據(jù)[6]。任一像素點(diǎn)的值在RGB與YCBCR色度空間之間的轉(zhuǎn)換可以通過(guò)下式得到:
(6)
據(jù)此可得YCBCR色度模型中CB和CR的空間膚色分布,如圖3所示。
(a) CB空間膚色分布
(b) CR空間膚色分布圖3 CB和CR的空間膚色分布
這一聚類模型的典型公式為:
(7)
式中:θ表示相對(duì)標(biāo)準(zhǔn)橢圓方程旋轉(zhuǎn)的角度;da表示投影到CR坐標(biāo)軸上的偏移量;db為投影到CB坐標(biāo)軸上的偏移量。擬合膚色聚類區(qū)域的橢圓長(zhǎng)半軸為a、短半軸為b,如圖4所示。
圖4 擬合膚色聚類區(qū)域
設(shè)膚色聚類區(qū)域的集合為C,任一像素點(diǎn)的值為p(x,y),根據(jù)式(8)確定手勢(shì)圖像的擬合區(qū)域,提取手勢(shì)圖像擬合區(qū)域中的Y分量、CB分量及CR分量如圖5所示。
(8)
圖5 提取膚色分量
得到基于YCBCR色度空間的擬合膚色聚類區(qū)域的分割效果如圖6所示。
圖6 基于YCBCRYCBCR的膚色分割效果
在實(shí)際的應(yīng)用場(chǎng)景中,由于背景的復(fù)雜性,單純使用色度空間進(jìn)行手勢(shì)的膚色分割往往會(huì)存在一些小塊的噪聲,因此需要實(shí)時(shí)更新橢圓膚色模型的參數(shù)閾值才能夠?qū)⑵溥^(guò)濾掉。常用方法包括連續(xù)自適應(yīng)的MeanShift算法、卡爾曼濾波算法和粒子濾波算法。連續(xù)自適應(yīng)的MeanShift算法在線性系統(tǒng)中跟蹤黑白背景下的純色物體取得了良好的效果,若手勢(shì)分割中出現(xiàn)類膚色物體,則會(huì)擴(kuò)大該算法的跟蹤窗口乃至整個(gè)視頻框架,無(wú)法有效分割目標(biāo)手勢(shì);卡爾曼濾波算法僅僅在處理高斯模型時(shí)效果較好;而粒子濾波算法在進(jìn)行非線性函數(shù)和非高斯分布的系統(tǒng)處理時(shí)均游刃有余,尤其適用于復(fù)雜背景下的目標(biāo)跟蹤。由此,本文選取粒子濾波算法進(jìn)行手勢(shì)圖像的去噪處理。算法流程如圖7所示。
圖7 算法流程圖
粒子濾波算法是根據(jù)蒙特卡洛仿真原理遞推實(shí)現(xiàn)貝葉斯估計(jì),在目標(biāo)跟蹤過(guò)程中,用足夠數(shù)量的、帶有相關(guān)權(quán)值的粒子對(duì)應(yīng)目標(biāo)各種可能的狀態(tài),并通過(guò)粒子間的線性加權(quán)逐步靠近目標(biāo)的真實(shí)狀態(tài)[7]。圖8為粒子濾波示意圖。
圖8 粒子濾波示意圖
然而,粒子濾波過(guò)程中的權(quán)重退化是不可避免的。雖然重采樣能夠部分改善這一現(xiàn)象,但也會(huì)伴隨一些諸如限制并行計(jì)算之類的弊端。而且在重采樣過(guò)程中,算法將愈加偏向復(fù)制權(quán)重較大的粒子,經(jīng)過(guò)數(shù)次迭代后,粒子重復(fù)性增加多樣性減少,造成狀態(tài)估計(jì)偏差顯著[8]。
為避免這一問(wèn)題,本文在選定粒子濾波去噪范圍時(shí),以手勢(shì)的質(zhì)心坐標(biāo)為中心,將第1節(jié)中獲得的前景圖像擴(kuò)大至1.5倍作為粒子傳播的矩形區(qū)域。該區(qū)域在保證粒子在隨機(jī)傳播后保持較豐富的多樣性及較大的權(quán)重值的前提下,既減少了計(jì)算量又包含了手勢(shì)的全部動(dòng)作區(qū)域,降低了狀態(tài)估計(jì)的偏差。最終計(jì)算最優(yōu)粒子的位置坐標(biāo):
(9)
式中:Xi(k)、Yi(k)為第k幀第i個(gè)粒子的橫縱坐標(biāo);ωi(k)為第k幀的第i個(gè)粒子的權(quán)重;N為粒子總數(shù),xc(k)和yc(k)為最優(yōu)粒子的位置坐標(biāo)。
實(shí)驗(yàn)所抽取的樣本與真實(shí)后驗(yàn)分布產(chǎn)生的樣本之間的偏差也是影響粒子濾波去噪的關(guān)鍵因素。模型精度越高或預(yù)測(cè)先驗(yàn)與似然函數(shù)之間重疊越少時(shí),二者之間的偏差越大。如圖9所示,通過(guò)引導(dǎo)粒子到高似然區(qū)域,由此產(chǎn)生的預(yù)測(cè)先驗(yàn)可較好地服從模型的后驗(yàn)概率分布,從而有效地減少了描述后驗(yàn)概率密度函數(shù)所需的粒子數(shù)目。
圖9 移動(dòng)粒子至高似然區(qū)域
據(jù)此將手勢(shì)圖像中顏色特征分布的相似度作為算法模型的后驗(yàn)概率,并統(tǒng)計(jì)灰度范圍內(nèi)像素值出現(xiàn)的頻率次數(shù),生成相應(yīng)的圖像直方圖。通過(guò)計(jì)算圖像直方圖中的巴氏距離得到粒子權(quán)重的真實(shí)后驗(yàn)概率分布:
(10)
(11)
式中:D是巴氏距離;M是顏色區(qū)間數(shù)目bin;p(u)是參考顏色概率分布;q(u)是候選粒子所在區(qū)域的顏色分布。計(jì)算圖像處理后的顏色概率分布及巴氏距離,獲取所需的粒子權(quán)重。初始化階段,每個(gè)粒子權(quán)重相同,隨機(jī)傳播后,粒子權(quán)重及坐標(biāo)將會(huì)發(fā)生變化。本文采用隨機(jī)的傳播模型如下:
(12)
式中:X0為粒子的初始坐標(biāo);Xk-1為粒子上一位置坐標(biāo);Xk為粒子當(dāng)前位置坐標(biāo);Xk+1為粒子下一位置坐標(biāo);A1、A2和B為傳播系數(shù);random為隨機(jī)數(shù)。
本文基于Windows 10系統(tǒng)下的VC++平臺(tái),采取OpenCV 4.0圖像處理庫(kù)的隨機(jī)數(shù)生成器產(chǎn)生隨機(jī)數(shù)進(jìn)行計(jì)算[9],關(guān)鍵代碼如下:
W(i)=(1/sqrt(R)/sqrt(2*pi))*exp(-(dist)^2/2/R);
%求粒子權(quán)重
for i=1:N
%重采樣
wmax=2*max(w)*random;
index=randomi(N,1);
while(wamx>w(index))
index=index+1;
if index>N
index=1;
end
由此可得更新后的橢圓模型參數(shù)閾值為:
(13)
我們?cè)赮CBCR膚色識(shí)別模型中從提取的顏色聚類區(qū)域來(lái)確定手勢(shì)范圍,通過(guò)粒子濾波跟蹤算法來(lái)清晰化手掌和手指輪廓。圖10為經(jīng)過(guò)粒子濾波去噪后的分割效果。
圖10 粒子濾波去噪效果
從圖10可以看出,粒子濾波在復(fù)雜的非線性非高斯情況下,進(jìn)一步消除了手勢(shì)圖像中的無(wú)關(guān)噪聲,實(shí)現(xiàn)了精準(zhǔn)的手勢(shì)分割,實(shí)用性很高。
PC機(jī)配置為:Intel(R) Core(TM) i7-6700HQ CPU@ 2.6 GHz,內(nèi)存32 GB,Windows 10,64位操作系統(tǒng)。通過(guò)MATLAB 2017a實(shí)現(xiàn)上述算法。
為驗(yàn)證本文的手勢(shì)分割方法的準(zhǔn)確性,選擇HGR(Hand Gesture Recognition)數(shù)據(jù)庫(kù)和NUS-II數(shù)據(jù)庫(kù)進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)圖像的來(lái)源和特征如圖11所示,這些圖像來(lái)自不同人種、不同手部動(dòng)作,分割過(guò)程中的噪聲主要由不同采集地點(diǎn)(室內(nèi)采集/室外采集),不同背景(有無(wú)類膚色背景)等產(chǎn)生[10-11]。
(a) (b)圖11 手勢(shì)分割效果
圖11中,(a)為在HGR數(shù)據(jù)庫(kù)中的手勢(shì)分割效果,(b)為在NUS-II數(shù)據(jù)庫(kù)中的手勢(shì)分割效果。實(shí)驗(yàn)結(jié)果如表1所示,簡(jiǎn)單背景下,正確檢測(cè)出來(lái)的手勢(shì)有875.7個(gè),檢測(cè)正確率為97.3%。復(fù)雜背景下正確檢測(cè)出來(lái)的手勢(shì)有 870.3個(gè),檢測(cè)正確率為96.4%。
表1 圖像分割準(zhǔn)確率
在保證分割準(zhǔn)確率的前提下,為檢測(cè)本文算法在不同背景中進(jìn)行分割所需的時(shí)間,在不同光照和背景下進(jìn)行實(shí)驗(yàn),其結(jié)果如表2所示。
表2 圖像分割所需時(shí)間
由實(shí)驗(yàn)結(jié)果可知本文方法在不同環(huán)境下平均分割時(shí)間均在1.88 ms 以下。在保證分割準(zhǔn)確率的基礎(chǔ)之上將所需分割時(shí)間降低至2 ms以內(nèi)。并且本文方法能夠準(zhǔn)確地分割出手勢(shì)圖像,平均分割率由傳統(tǒng)方法的86.1%提高到96.9%,因此對(duì)光照強(qiáng)度和不同背景均具有較強(qiáng)的魯棒性。
本文針對(duì)手勢(shì)分割存在的準(zhǔn)確性較低、所需時(shí)間較長(zhǎng)的問(wèn)題,優(yōu)化了傳統(tǒng)的手勢(shì)分割方法,改變了傳統(tǒng)的手勢(shì)分割順序即先進(jìn)行手勢(shì)特征的提取,再進(jìn)行手勢(shì)圖像的分割。先由YCBCR膚色識(shí)別模型得到目標(biāo)手勢(shì)的前景圖像,再結(jié)合粒子濾波算法進(jìn)行圖像去噪,實(shí)現(xiàn)精準(zhǔn)的手勢(shì)分割。實(shí)驗(yàn)結(jié)果表明,在不同環(huán)境下本文方法的平均識(shí)別率達(dá)到了95%以上,平均識(shí)別時(shí)間達(dá)到了1.88 ms 以下,可以滿足人們?cè)诂F(xiàn)實(shí)生活中的應(yīng)用。本文闡述的手勢(shì)分割算法可以應(yīng)用于人性化
的手勢(shì)交互中諸如基于Internet遠(yuǎn)程機(jī)器人操控、手語(yǔ)識(shí)別等,代替?zhèn)鹘y(tǒng)的鍵盤、鼠標(biāo)等HCI設(shè)備,顯著提升人機(jī)交互的用戶體驗(yàn)。