包先宏 邢鄧鴻 吳庚明 張森文
(佛山科學(xué)技術(shù)學(xué)院 廣東省佛山市 528200)
隨著社會(huì)的不斷進(jìn)步和發(fā)展,越來越多新型電子產(chǎn)品出現(xiàn)在人們的日常生活中,為便于人們與電子設(shè)備間的高效交流,人機(jī)交互已經(jīng)成為了計(jì)算機(jī)領(lǐng)域一個(gè)非常重要的研究熱點(diǎn)。其中,手勢(shì)交互無疑是人機(jī)交互中最主要的交互方式之一,被廣泛應(yīng)用于手語翻譯、游戲交互、機(jī)器人交互和智能家居等諸多領(lǐng)域。準(zhǔn)確的手勢(shì)識(shí)別是人機(jī)交互穩(wěn)定性的基礎(chǔ),因此手勢(shì)識(shí)別是人機(jī)交互領(lǐng)域的一個(gè)重要研究方向。
在手勢(shì)識(shí)別研究中,基于視覺的手勢(shì)識(shí)別是當(dāng)前應(yīng)用最為廣泛的手勢(shì)識(shí)別技術(shù)。手勢(shì)分割是手勢(shì)識(shí)別的前提和基礎(chǔ),其分割效果的好壞會(huì)直接影響后續(xù)手勢(shì)識(shí)別的效果。因此,手勢(shì)分割是手勢(shì)識(shí)別系統(tǒng)中極為關(guān)鍵的步驟。手勢(shì)分割的方法有膚色提取和運(yùn)動(dòng)分析等,因?yàn)槟w色是人類最顯著的特征之一,所以大多數(shù)情況下則選取膚色提取進(jìn)行手勢(shì)分割。
對(duì)于膚色提取,常用的方法有基于RGB 顏色空間和HSV 顏色空間下的膚色提取和基于YCbCr 顏色空間的膚色提取。然而在手指有裝飾物的時(shí)候,這些方法在處理過程中會(huì)出現(xiàn)手指被截?cái)嗟默F(xiàn)象,從而影響手勢(shì)識(shí)別的準(zhǔn)確性。本文針對(duì)YCbCr 顏色空間下的膚色提取方法因手指裝飾物造成的截?cái)鄦栴}展開研究,并通過形態(tài)學(xué)操作對(duì)截?cái)鄥^(qū)域進(jìn)行最大限度的還原。
基于膚色模型的手勢(shì)分割優(yōu)化方法總體設(shè)計(jì)如圖1 所示。
圖1: 基于膚色模型的手勢(shì)分割優(yōu)化方法總體設(shè)計(jì)流程圖
顏色空間又稱彩色模型,是某些標(biāo)準(zhǔn)下用通??山邮艿姆绞綄?duì)顏色的闡述。而顏色可以通過不同的角度,用幾種不同的屬性加以描述,就產(chǎn)生了不同的顏色空間。常用的顏色空間有RGB 顏色空間、HSV 顏色空間和YCbCr 顏色空間,而本文采用的是YCbCr 顏色空間。
RGB 顏色空間是生活中最常見的顏色空間,以RGB(R代表紅色值,G 代表綠色值,B 代表藍(lán)色值)三原色為基礎(chǔ),進(jìn)行不同程度上的混合疊加,表現(xiàn)出不同的顏色。常用于視頻、多媒體、網(wǎng)頁設(shè)計(jì)和各種硬件設(shè)備等。但RGB 顏色空間存在易受光照因素干擾的缺點(diǎn)。
YCbCr 顏色空間是膚色提取常用的顏色空間,它從三個(gè)方向描繪顏色,其中Y 代表亮度分量(灰度值),Cb 代表藍(lán)色色度分量,Cr 代表紅色色度分量,相比于常見的RGB顏色空間,YCbCr 顏色空間的優(yōu)勢(shì)在于亮度和色度進(jìn)行累分離,消除了光照因素的干擾,所以YCbCr 是計(jì)算機(jī)系統(tǒng)中應(yīng)用最廣泛的顏色空間,JPEG 和MPEG 都采用了此格式。在視覺傳感器獲取到RGB 顏色空間的圖像后,再對(duì)其顏色空間進(jìn)行轉(zhuǎn)換,其中RGB 顏色空間與YCbCr 顏色空間轉(zhuǎn)換關(guān)系如公式(1)。
Otsu(最大類間方差法,又稱大津法)是一種適合于雙峰情況的自動(dòng)確定閾值的方法,其實(shí)現(xiàn)簡單,處理速度快,是圖像分割閾值法中最為常用的方法之一。Otsu 法將圖像按照灰度特征分離成前景和背景兩部分,因?yàn)榉讲钍腔叶确植季鶆虺潭鹊囊环N度量,前景和背景之間的類間方差越大,則說明構(gòu)成圖像的兩部分差別越大。Otsu算法的基本原理如下:
設(shè)圖像中像素點(diǎn)總數(shù)為N,n表示圖像中灰度為i 的像素點(diǎn)個(gè)數(shù),則有N=n+n+…+n= 。根據(jù)Otsu 算法的思想,此時(shí)選取一個(gè)閾值τ,τ∈(0,255),將所有像素點(diǎn)分為A,B 兩類使得兩類的方差最大,其中A={0,1,…,τ},B={τ+1,τ+2,…,255}。設(shè)像素被分到A 類的概率為P(A),被分到B 類的概率為P(B),計(jì)算如下:
將式(4))代入式(5)中,設(shè)m(τ)= ,整理得:
對(duì)于已經(jīng)在較小范圍內(nèi)框選出了的手部區(qū)域來說,前景和背景的分離較為明顯,Cr 分量直方圖如圖2 所示。通過式(1)獲取的Cr 分量值進(jìn)行Otsu 法閾值分割,記為bin,實(shí)例如圖3 所示。
圖2: Cr 分量灰度直方圖
圖3: 原圖與初步處理效果圖
圖4: 優(yōu)化前后手勢(shì)分割圖
首先提取手掌位置,為進(jìn)行截?cái)嗍种覆糠峙c手掌區(qū)域重新建立連線,對(duì)后續(xù)的填充提供方便。因此,基于整幅圖片進(jìn)行區(qū)域劃分,將圖像劃分為n×n 的一共n個(gè)區(qū)塊,在第一次進(jìn)入程序時(shí),圖像被劃分為4×4 的區(qū)塊,對(duì)每個(gè)區(qū)塊進(jìn)行遍歷,由于每一個(gè)區(qū)塊的像素點(diǎn)數(shù)是相同的,設(shè)一個(gè)像素點(diǎn)為Point(x,y),簡寫為P(x,y),一個(gè)區(qū)塊的像素點(diǎn)集為Vector〈P(x,y)〉,簡寫成V,若區(qū)塊內(nèi)的像素點(diǎn)?P(x,y)∈V,并且滿足P(x,y)=255,即區(qū)塊內(nèi)每個(gè)像素點(diǎn)都為白色,則認(rèn)為該區(qū)塊為手掌待選區(qū)塊,存至待選區(qū)塊集,記為S{V〈P(x,y))},簡寫為S。若S.size<2,則令n=n+1,并重新劃分區(qū)塊;若S.size ≥2,并且?V,V∈S(j ≠k,0<j<k<n)滿足(j±1=k)||(j±n=k),則將該V和V存至手掌區(qū)塊集,記為S{V〈P(x,y)〉},簡寫為S(i=2,…,m),然后繼續(xù)令n=n+1,并重新劃分區(qū)塊,若第i+1 次劃分出現(xiàn)了兩個(gè)或兩個(gè)以上的連通區(qū)域,則將第i 次篩選出的S作為手掌區(qū)域,并求得S連通區(qū)域的外層輪廓,記外層輪廓點(diǎn)集為V〈P(x,y)〉。
進(jìn)一步對(duì)截?cái)嗍种高M(jìn)行處理,由于有著部分類膚色小區(qū)域干擾,所以需要對(duì)處理過后的bin 圖像進(jìn)行輪廓遍歷,使用面積比較法,篩選出面積為第二大的連通區(qū)域,默認(rèn)該區(qū)域?yàn)榻財(cái)嗍种竻^(qū)域,將該區(qū)域輪廓記為Vector〈Point(x,y)〉,簡寫為Vc。遍歷Vc 中的點(diǎn),通過公式(8)計(jì)算截?cái)嗍种竻^(qū)域中心Point(x,y)。
之后遍歷點(diǎn)Point(x,y)和Point(x,y)之間的直線上的點(diǎn)Point(x,y),若Point(x,y)=0,即其像素值為0,則將其置為255,并且將該點(diǎn)存入V〈P(x,y)〉中。
膨脹操作是一種經(jīng)典的圖像形態(tài)學(xué)濾波,通常用于消除圖像中的噪聲干擾,隔離單個(gè)元素并連接圖像中的不同元素。其操作過程是將輸入圖像與一個(gè)任意形狀結(jié)構(gòu)的元素(內(nèi)核)進(jìn)行卷積,該內(nèi)核通常為正多邊形及圓形,一般規(guī)定該內(nèi)核的中心為該內(nèi)核的錨點(diǎn)。而后將錨點(diǎn)對(duì)圖像像素點(diǎn)進(jìn)行注意掃描,在內(nèi)核對(duì)圖像進(jìn)行掃描的過程中,會(huì)用內(nèi)核與圖像重疊處灰度最大值替換掉錨點(diǎn)處的像素值。在二值圖中,膨脹操作會(huì)使白色區(qū)域得到擴(kuò)張。膨脹操作示意圖如圖5 所示,膨脹操作表達(dá)式如下:
圖5: 膨脹操作示意圖
圖6: 其他手勢(shì)優(yōu)化前后對(duì)比圖
實(shí)驗(yàn)數(shù)據(jù)集收集了500 張圖片,分別來自于10 人,手勢(shì)類型為5 種(類型1 為食指,類型2 為食指和中指,類型3 為食指、中指和無名指,類型4 為處大拇指外的其他手指,類型5 為所有手指),每種手勢(shì)類型每人10 張,干擾類型有手指戒指佩戴干擾和黏貼止血貼干擾,以及手勢(shì)朝向分為垂直朝向、斜45 度朝向和橫向。統(tǒng)計(jì)手掌區(qū)域判定準(zhǔn)確率和截?cái)鄥^(qū)域填充準(zhǔn)確率,由于手掌區(qū)域輪廓觸及到手指區(qū)域的時(shí)候,會(huì)一定程度上影響截?cái)鄥^(qū)域的判定效果,所以對(duì)于手掌區(qū)域判定標(biāo)準(zhǔn)為最大手掌區(qū)域且不觸及手指區(qū)域,對(duì)于截?cái)鄥^(qū)域填充準(zhǔn)確率判定標(biāo)準(zhǔn)為填充效果是否超過截?cái)鄥^(qū)域的3/4 以上且填充不過度超出截?cái)鄥^(qū)域。
通過實(shí)驗(yàn)數(shù)據(jù)表1 和表2 可以看出,在干擾類型中,對(duì)手掌區(qū)域判定影響不大,但是因?yàn)橹寡N比戒指的截?cái)鄥^(qū)域更長,所以對(duì)填充準(zhǔn)確率有一定影響;在手勢(shì)類型中,可以發(fā)現(xiàn)類型1 的手勢(shì)判定準(zhǔn)確率和截?cái)鄥^(qū)域填充準(zhǔn)確率都是98%,而其他手勢(shì)的準(zhǔn)確率隨著手指的增加,準(zhǔn)確率呈現(xiàn)下降的趨勢(shì),這是因?yàn)榻財(cái)嗍种敢酝獾氖种干斐鰰?huì)導(dǎo)致在框選手掌區(qū)域輪廓時(shí)部分區(qū)域被框選,影響截?cái)嗍种笇?duì)最近手掌點(diǎn)的判斷,從而導(dǎo)致截?cái)鄥^(qū)域的判定錯(cuò)誤。
表1: 戒指佩戴干擾填充結(jié)果
表2: 止血貼粘貼干擾填充結(jié)果
通過表3 可以看出,在手勢(shì)垂直的情況下對(duì)手掌區(qū)域的判定截?cái)嘤绊戄^大,而斜45 度手勢(shì)和橫向手勢(shì)的非常高,根據(jù)分析得知原因和手指增加導(dǎo)致準(zhǔn)確率下降的原因相同,由于手掌區(qū)域判定通過方形區(qū)域進(jìn)行輔助,容易造成垂直手勢(shì)中垂直手指方形區(qū)域納入手掌區(qū)域,從而導(dǎo)致截?cái)鄥^(qū)域的判定錯(cuò)誤;而斜45 度手勢(shì)中,少有垂直手指的出現(xiàn),所以手掌判定高達(dá)98.8%,截?cái)鄥^(qū)域填充準(zhǔn)確率高達(dá)97.6%。
表3: 手部區(qū)域朝向?qū)μ畛溆绊懡Y(jié)果
表4: 平均準(zhǔn)確率
本文的手勢(shì)分割優(yōu)化方法,在原有膚色提取基礎(chǔ)上,對(duì)手勢(shì)分割進(jìn)行了優(yōu)化。針對(duì)手指飾品等物品對(duì)原有手勢(shì)分割方法帶來的局部干擾,提出了一種新的解決方法,通過形態(tài)學(xué)操作對(duì)飾品等物品截?cái)鄥^(qū)域進(jìn)行填充,將截?cái)嗍种竻^(qū)域與手掌區(qū)域進(jìn)行重新連通,并盡可能的保證了手勢(shì)的完整性,能夠?yàn)槭謩?shì)識(shí)別系統(tǒng)中發(fā)揮更積極的作用。