張美玉,項小雨,侯向輝,簡琤峰
(浙江工業大學 計算機學院 數字媒體技術研究所,杭州 310023)
手勢分割作為移動端手勢識別的第一步,是至關重要的一個環節.精準的手勢分割可以為后續的手勢識別工作打下堅實的基礎,避免不必要的計算,極大地提高識別效率[1,2].但面向移動端的手勢分割研究存在以下難點:1)移動設備的資源有限;2)復雜背景和光照對手勢分割的效果極易產生干擾;3)慢速移動的手部易被誤判為背景.
背景差分法是目前常用于檢測運動物體的分割方法.現有的背景差分法主要有多幀背景差分法和混合高斯背景模型法.何志輝等通過三幀差分去除目標區域,構建背景模型,并計算鄰域像素方差以進行目標分割[3].Singha等在原圖和灰度圖上同時進行三幀差分計算,再使用特征跟蹤器來跟蹤手部[4].但是這些方法更適用于靜態背景,對動態背景的適應能力較弱,易產生檢測目標誤判等情況.而混合高斯背景建模方法采用多個高斯分布來表示每個像素,可以有效地對多峰分布的背景進行建模,對背景的自適應性高[5].Katsarakis等通過在空間上控制學習率的變化來加速虛影消除[6],但這導致每一幀的平均學習率都提高了,影響分割算法的效率.Azzam等結合RGB和像素不確定性提出全局混合高斯模型,該方法可以適應光照的快速變化[7],Huang等在傳統的運動目標檢測算法中加入像素的時間信息,優化背景模型,減少前景誤判[8].但是這些方法由于需要對每個像素進行時間空間的多方位處理[9,10],對系統的計算資源有很高的要求.
同時,膚色作為手部最大的特性,不會因手部的大小、形態、方向改變而變化,因此膚色檢測在手部檢測中具有通用性.簡琤峰等結合梯度和色彩信息結構化輸出形式,構建結構化隨機森林進行手部檢測,但是該方法在選擇特征算子上需要較多時間和計算資源[11].Lopez等結合灰度、RGB和YCbCr色彩空間,基于顏色分量加權的方式進行手勢分割,排除光照干擾[12,13].陳佳洲等提取膚色信息,計算超像素顯著值,生成像素顯著圖,完成圖像分割[14].但是只采用膚色提取手勢的方法,極易受到背景中類膚色物體的影響.因此,結合背景消減法和膚色檢測,在不影響算法性能的前提下,減小計算量,提高檢測效率,對移動端手勢分割研究至關重要.
基于上述思路,本文提出一種面向移動端的快速優化手勢分割方法.首先根據場景變化率實現對背景模型的自適應更新,以加強背景模型對環境變化的適應性;其次通過HSV和YCbCr色彩空間構建膚色模型,精確提取膚色區域,排除非膚色運動物體的干擾;再利用局部區域定位,預測手部運動,減少冗余計算量,同時防止將慢速移動的手部誤判為背景.
圖像中每一個像素點的顏色值可作為一個隨機過程,并假設該點的像素概率服從高斯分布.令xt表示為像素點x在t時刻的像素樣本,則單個采樣點服從混合高斯概率密度分布函數:
(1)
其中k為分布的總數,一般取值為3~5,k值越大,則表示系統越能適應復雜場景,但是計算量也將大幅增加.基于移動端有限的計算和存儲資源,本文將k值定為3,在不影響算法效果的前提下,簡化高斯分布個數.
(2)
其中β(xt,μi,t,τi,t)為t時刻第i個高斯分布,μi,t為其均值,τi,t為其協方差矩陣,wi,t為t時刻第i個高斯分布的權重.
以第一幀圖像數據初始化背景模型,然后將得到的每個新像素xt按照公式(3)同前k個高斯分布模型進行比較,若同該高斯分布的均值偏差在2.5σ內,則表示新像素與該高斯分布匹配度達到了90%以上,可按照公式(4)來更新權重等值,以此更新背景模型.其中α表示為學習速率,即反映了依據當前圖像建立背景模型的速率.若無法匹配,則為該像素建立新的高斯分布.
|xt-μi,t-1|≤2.5σi,t-1
(3)
wi,t=(1-α)wi,t-1+α
(4)
傳統的混合高斯背景建模,在背景環境受到大幅改變時,會將應為背景的部分誤認為前景,并作為運動物體提取出來,從而產生虛影,影響背景模型建立的準確性和前景提取的效果.此時提高學習速率α,可以加速虛影的消除.而單純提高學習速率,會使短時間內沒有發生位移的運動物體,被歸為背景來處理,從而失去物體運動的連續性.因此學習速率的變化需要考慮兩個因素:當前幀的灰度變化率和膚色變化率.
在計算膚色變化率時,選取了HSV色彩空間上的H(色相)分量.在HSV色彩空間中,H分量代表圖像的色彩信息,受光照變化的影響相對緩慢,通常可用H分量來表示膚色信息.這樣就可以通過控制單值較快的獲取膚色變化率,減少計算量.
本文提出了一種通過場景變化率自適應改變α的方法.圖像灰度均值變化率Rt越大,則表示在t時刻的幀圖像場景變化越大,而圖像膚色變化率St越小,則表示前景運動物體,即手部并未有大幅變動.由此可推斷,幀圖像的灰度均值變化率和膚色變化率的比率越大,場景變化率越大.因此,場景變化率γt可由公式(5)得出,其中Ht表示為t時刻圖像在HSV色彩空間中H分量的均值,ht為t時刻圖像的灰度均值:
(5)
場景變化率增加,表示背景環境有大幅改變,因此需要提高學習速率.由公式(5)可得出學習速率α的公式,其中αinit為初始學習速率:
α=αinit(1+γt)/2
(6)
最后將當前幀和當前建立的背景模型進行差異對比,可得到一個二進制圖像,該二進制圖像即為消除背景后獲取的前景對象.同時,前景區域中會提取到輕微晃動的物體.如圖1(b)所示,該實驗結果將晃動的人臉提取到前景中.為了排除干擾,只在前景中保留最大連通圖,即只保留手部信息.圖1(c)展示了改進后的前景提取效果.

圖1 前景提取效果Fig.1 Result of foreground extraction
基于色彩空間的膚色模型可以有效的從簡單背景中分割出手部.較常見的膚色模型色彩空間有HSV和YCbCr.
在HSV色彩空間中,膚色通常只集中在H分量上的某一個區域.YCbCr則是將亮度分離在Y分量,Cb(藍色色度)和Cr(紅色色度)分量對于亮度的變化相對不敏感.為了保證膚色分割的準確性,我們使用YCbCr和HSV組合色彩空間來分離膚色區域和非膚色區域.
通過實驗,發現膚色在CbCr空間的分布呈良好的聚類特性,如圖2所示.

圖2 膚色在CbCr空間上的聚類分布Fig.2 Clustering distribution of skin color in CbCr space
因此,可以將(Cb,Cr)中膚色聚類的分布,看作二維高斯概率分布,其概率分布函數為:
F(Cb,Cr)=C([Cb,Cr]-M)([Cb,Cr]-M)T
(7)
其中M為CbCr膚色均值,C為CbCr膚色方差.
而膚色在H分量上,集中在一個區域內,因此其概率函數如公式(8)所示,其中M′為H分量上的膚色均值.
K(H)=M′-1(H-M′)
(8)
可由公式(7)和公式(8)計算膚色概率,圖3展示了測試圖像的膚色概率圖.其中 X軸和Y軸分別表示像素在X坐標和Y坐標上的位置,Z軸表示該像素屬于手部的概率.

圖3 手部概率分布圖Fig.3 Hand probability distribution map
根據背景模型提取的前景,無法排除非手部的運動物體和手部運動造成的陰影.因此,再建立膚色模型提取膚色區域,便可以準確提取運動的手部.
通過建立背景模型提取前景和建立膚色模型提取膚色物體,我們得到了兩個二進制圖像,Bt和Ct.對得到這兩個圖像執行AND操作,可以獲得一個新的二進制圖像Rt,即具有膚色信息的前景手部區域.
Rt=Bt∩Ct
(9)
對此二進制圖像進行形態學處理,完成手勢的初始分割,初始分割結果如圖4所示.

圖4 手勢初始分割結果Fig.4 Initial segmentation result of gesture
若要對每一幀進行建模計算,則會增加移動端的計算負擔,影響算法效率.同時,當手部移動緩慢時,易被誤判定為背景.
在完成初步的手勢分割之后,就可以定位手勢的初始輪廓.為了避免冗余的計算和誤判慢速移動的手部,本文通過手勢初始輪廓預測其運動,確定局部區域,然后將檢測范圍縮小到局部區域.
根據得到的手勢初始輪廓,選取一個最小的矩形窗口把該輪廓完全覆蓋.該矩形窗口的中心點便可作為它的位置標記.若當前幀的位置標記和上一幀的位置標記差值d在很小的范圍內,則可以判定手部位置基本沒有改變,預測下一幀的手勢位置也不會有較大變化,由此可由上述兩個矩形窗口確定局部區域,如圖5所示.以當前獲取的位置標記作為局部區域的中心,選取最小的矩形窗口來包裹前一幀的窗口和當前幀的窗口.該矩形窗口就是局部區域.
確定局部區域后,將對局部區域外的圖像繼續進行背景更新,同時停止區域內的背景模型更新.若兩幀的位置標記差值較大,無法確定局部區域,則仍對整個圖像進行背景模型更新.由于停止了局部區域的背景更新,當手部位移不明顯時,也不會被融入背景.

圖5 局部區域確定Fig.5 Local region
為了驗證本文手勢分割方法的性能,選取了四組不同類型的測試數據集,分別為Dexter、FG-Net、SKIG三組公開數據集和自采集現實場景視頻數據.Dexter數據集的背景為較復雜的靜態背景,FG-Net的視頻數據中手部顏色與背景近似,SKIG數據集的背景為動態背景,而現實場景數據,可以更好體現本文方法的實際應用價值.
在對目標檢測算法進行評估時,往往使用以下指標對算法性能進行定量評價:精確率(Precision)和召回率(Recall)[15].其中精確率計算的是正確檢測的樣本占實際檢測到的比率;召回率計算的是正確檢測到的樣本占應被檢測到的比率.
對四組實驗數據進行對比實驗,其提取效果如圖6所示.

圖6 檢測結果對比Fig.6 Comparison of experimental results
圖6(a)為視頻原始圖像,圖6(b)為混合高斯模型的檢測結果,圖6(c)為本文改進方法的檢測結果.
由圖6可以看出,當物體在短時間靜止后,手部輪廓中的一部分將會慢慢轉化為背景,進而形成空洞,使手勢目標輪廓不明確,這在第三組數據實驗中表現得尤其明顯.而改進方法結合了局部區域檢測,當手勢移動范圍較小時,停止對局部區域背景模型的更新,防止手勢轉化為背景,分割得到的手勢輪廓完整清晰.
本方法還可以有效排除非膚色運動物體的干擾,例如第二組實驗中的影子,第三組和第四組實驗中的衣袖.同時通過只保留最大連通圖的方式,去除因臉部晃動對手勢分割的影響,如圖6中的第四組實驗所示.
表1 基于評價指標的對比
Table 1 Algorithm comparison based on evaluation indicators

視頻名稱Recall(%)Precision(%)PrimaryImprovedPrimaryImprovedSKIG70.8095.9332.1298.69Dexter90.2894.7484.4293.51FG-Net28.7697.7878.0897.68Self64.1797.4390.8497.32
基于評價指標的對比實驗結果如表1所示.由該表可以看出,改進方法在四組實驗中均取得了較高的精確率和召回率,表明其手勢分割結果精確,對后續手勢識別的干擾度較低.表2列出了針對四組實驗數據,兩種方法的平均處理速度.
表2 平均處理速度對比
Table 2 Comparison on average processing speed

視頻名稱分辨率平均處理速度(fps)PrimaryImprovedSKIG800?6001.9423.76Dexter320?24015.74117.06FG-Net768?5762.3625.79Self640?4804.0336.21
實驗數據分析說明本文方法能有效排除了非膚色運動物體的影響,對于復雜環境中的手勢分割有很強的適應性,并且提高了效率,減少了移動端的計算負擔.
針對移動端有限的計算量,以自適應學習速率優化背景模型的更新方式,以組合色彩空間構建膚色模型和以局部區域的方式加速分割,實現了對手勢分割方法的改進.實驗證明,改進后的方法對于復雜背景的適應性更強,可以更有效的進行手勢分割.