一種手勢識別方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種手勢識別方法和系統(tǒng),在對用戶的手勢進行拍攝和識別之前,先通過拍攝到的用戶圖像確定用戶的位置,然后根據(jù)用戶的位置對攝像設(shè)備的角度進行調(diào)整,使其對準用戶;同時根據(jù)用戶的手勢范圍,對攝像設(shè)備的焦距進行調(diào)整,使攝像設(shè)備拍攝到的用戶圖像盡量最大化,這樣,由于用戶的手部在拍攝到的畫面中比較大,因而容易識別且識別準確率較高,由于攝像設(shè)備會根據(jù)用戶的位置自動調(diào)整,因此用戶不必專門站到攝像設(shè)備的正前方進行操作,因此本發(fā)明的手勢識別方法更為靈活。
【專利說明】一種手勢識別方法和系統(tǒng)
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及圖像識別【技術(shù)領(lǐng)域】,具體而言,涉及一種手勢識別方法和系統(tǒng)。
【背景技術(shù)】
[0003]電視機等視頻設(shè)備由于用戶都是遠距離觀看,因此大都使用遙控器操作,隨著產(chǎn)品的智能化越來越高,使用遙控器的操作方式已經(jīng)不能滿足用戶的需求。手勢控制作為一種新型的控制方式,逐漸被應(yīng)用于控制電視機等產(chǎn)品上。
[0004]目前較為典型的手勢識別技術(shù)是利用攝像頭對拍攝圖像,通過對圖像的分析識別出用戶的手部的形態(tài)和位移,從而確定用戶的手勢。手勢識別技術(shù)實現(xiàn)了手部信息的捕捉以及手部信息到命令的轉(zhuǎn)換。目前的手勢識別主要有兩種識別方式,一種是對手部的局部動作進行識別,主要是手指的不同形態(tài),例如握緊拳頭、^子手勢、01(手勢等;還有一種是對手部的移動進行識別,通過識別手部的移動軌跡來判斷手勢的意義,例如向左右移動手掌,向上下移動手掌等。由于手部的局部動作需要對手部的細節(jié)進行識別,相對而言對識別精度要求較高,因此其實現(xiàn)起來較為困難,在實際應(yīng)用中識別率也不理想。因為這一原因,目前在電視機等產(chǎn)品的手勢識別中,通過對手部的移動軌跡進行手勢識別應(yīng)用比較廣泛。
[0005]但是現(xiàn)有技術(shù)中通過對手部的移動軌跡進行手勢識別也存在一些問題,例如向左右移動手掌的識別過程中,當(dāng)用戶向左移動手掌之后,如果還需重復(fù)同一動作,勢必需要將手掌向右移動之后才行進行第二次動作,在此過程中,用戶向右移動手掌的動作也有可能被識別出來,也就是說,存在誤識別。而在實際應(yīng)用中,向左移動手掌和向右移動手掌往往對應(yīng)不同的操作指令,如果用戶在上述過程中向左移動手掌和向右移動手掌同時被識別出來,這種誤識別使得用戶無法通過這種方式來傳達所需要的操作指令,從而無法控制對應(yīng)的設(shè)備。
[0006]現(xiàn)有技術(shù)中為了避免類似的誤操作,往往需要對用戶有各方面的限制,但是這種限制使得手勢識別的用戶體驗不佳。因此,需要一種手勢識別技術(shù),能夠在不限制用戶的同時避免在手勢識別中的誤識別。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供一種手勢識別方法,能夠在不限制用戶的同時有效地避免手勢識別中的誤識別。
[0008]具體的,本發(fā)明提供了一種手勢識別方法,包括:
獲取用戶圖像,根據(jù)用戶圖像確定用戶的面部和手部;
判斷用戶的面部和手部的深度距離,當(dāng)手部和面部的深度距離大于預(yù)先設(shè)定的閥值時,對手部的位置進行記錄;當(dāng)手部和面部的深度距離小于預(yù)先設(shè)定的閥值時,停止對手部的位置進行記錄; 根據(jù)記錄的手部的位置確定手部的移動軌跡,對手勢進行識別。
[0009]優(yōu)選的,本發(fā)明的手勢識別方法通過對用戶圖像進行膚色識別和眼部識別來確定用戶的面部。
[0010]優(yōu)選的,本發(fā)明的手勢識別方法通過向用戶的面部和手部發(fā)射光信號并接收從用戶的面部和手部返回的光,通過光信號的飛行時間來得到用戶的面部和手部的深度距離。
[0011]優(yōu)選的,本發(fā)明的手勢識別方法根據(jù)光信號的相移來計算光信號的飛行時間。
[0012]優(yōu)選的,本發(fā)明的手勢識別方法將光信號經(jīng)過高頻調(diào)制之后進行發(fā)射。
[0013]優(yōu)選的,所述預(yù)先設(shè)定的閥值根據(jù)用戶的面部寬度確定。
[0014]優(yōu)選的,本發(fā)明的手勢識別方法通過計算手部的質(zhì)心坐標,對手部的質(zhì)心坐標進行記錄。
[0015]優(yōu)選的,所述計算手部的質(zhì)心坐標包括:從手部的邊緣選取至少3個坐標點,計算由這些坐標點形成的多邊形的重心,將該重心坐標確定為手部的質(zhì)心坐標。
[0016]本發(fā)明還提供了一種手勢識別系統(tǒng),包括攝像設(shè)備和手勢識別設(shè)備,攝像設(shè)備包括深度測量單元,手勢識別設(shè)備包括圖像處理單元、記錄單元和識別單元;所述圖像處理單元根據(jù)攝像設(shè)備獲得的用戶圖像,確定用戶的面部和手部;所述深度測量單元分別對用戶的面部和手部的深度距離進行測量,并判斷手部和面部的深度距離是否大于預(yù)先設(shè)定的閥值,當(dāng)手部和面部的深度距離大于預(yù)先設(shè)定的閥值時,記錄單元對手部的位置進行記錄;當(dāng)手部和面部的深度距離小于預(yù)先設(shè)定的閥值時,記錄單元停止對手部的位置進行記錄;所述識別單元根據(jù)記錄單元記錄的手部位置確定手部的移動軌跡,根據(jù)手部的移動軌跡對手勢進行識別。
[0017]優(yōu)選的,圖像處理單元通過對用戶圖像進行膚色識別和眼部識別來確定用戶的面部。
[0018]優(yōu)選的,深度測量單元包括照射單元、反射光接收單元,所述照射單元向用戶的面部和手部發(fā)射光信號,反射光接收單元接收從用戶的面部和手部的反射光,深度測量單元通過光信號的飛行時間來得到用戶的面部和手部的深度距離。
[0019]優(yōu)選的,照射單元對光信號進行高頻調(diào)制之后進行發(fā)射。
[0020]優(yōu)選的,記錄單元計算手部的質(zhì)心坐標,對手部的質(zhì)心坐標進行記錄。
[0021]優(yōu)選的,所述記錄單元通過從手部的邊緣選取至少3個坐標點,計算由這些坐標點形成的多邊形的重心,將該重心坐標確定為手部的質(zhì)心坐標。
[0022]優(yōu)選的,識別單元將各幀圖像中的手部的質(zhì)心坐標順序相連獲得手部的移動軌跡,根據(jù)該移動軌跡對手勢進行識別。
[0023]本發(fā)明的手勢識別方法,通過對用戶面部和手部的深度距離,當(dāng)用戶面部和手部的深度距離大于閥值時,則對用戶的手勢進行識別,而當(dāng)用戶面部和手部的深度距離小于閥值時,則不進行識別。采用本發(fā)明的手勢識別方法這種方法之后,當(dāng)用戶需要通過手勢對相關(guān)設(shè)備進行控制時,只需將手向前伸出,做出需要的手勢動作,由于此時用戶的手部距離面部較遠,則該手勢動作會被識別出,而當(dāng)用戶將手縮回之后,由于此時用戶的手部距離面部較近,因此其動作不會被識別。這樣就可以有效的避免現(xiàn)有的手勢識別方法中的誤識別,同時,由于本方法測量的是用戶面部和手部的相對距離,用戶在任何方位都可以操作,因此不會對用戶的位置有約束和限制。由此可見,本發(fā)明的手勢識別方法能夠在不限制用戶的同時有效地避免手勢識別中的誤識別。
[0024]
【專利附圖】
【附圖說明】
[0025]圖1是根據(jù)本發(fā)明的實施例的手勢識別方法的示意圖;
圖2是根據(jù)本發(fā)明的實施例的手勢識別系統(tǒng)的示意圖。
[0026]
【具體實施方式】
[0027]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。
[0028]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實施例的限制。
[0029]圖1是根據(jù)本發(fā)明實施例的手勢識別方法的流程圖。
[0030]如圖1所示,根據(jù)本發(fā)明的實施例的手勢識別方法可以包括以下步驟:
步驟102,獲取用戶圖像,根據(jù)用戶圖像確定用戶的面部和手部;
具體的,用戶圖像可以是單張圖片,也可以是連續(xù)的圖像。由于后續(xù)要對用戶的手勢進行識別,而用戶的手勢是一個持續(xù)的過程,因此為了方便起見,用戶圖像一般都是連續(xù)的圖像,連續(xù)的圖像可以通過攝像頭等設(shè)備采用一般的連續(xù)拍攝獲得,也可以間隔拍攝獲得。
[0031]用戶的面部可以通過對圖像進行膚色識別,在膚色識別的基礎(chǔ)上確定出用戶眼睛的位置,這樣,就可以據(jù)此確定用戶的面部。用戶的面部識別出來之后,剩下的膚色部分即可確定為手部。在有些情況下,膚色中會包括腿部等干擾的膚色,這種情況下可以通過膚色區(qū)域和面部的位置關(guān)系,以及其他的細節(jié)來判斷,例如手指的特征等。
[0032]下面將詳細說明本實施例如何通過連續(xù)的圖像確定用戶的面部和手部。
[0033]雖然用戶圖像是連續(xù)的圖像,但是本實施例在識別用戶面部和手部時,需要對每幀或每幾幀圖像中的用戶面部和手部進行識別。
[0034]當(dāng)對每幀圖像中用戶的面部和手部進行識別可以通過以下方法實現(xiàn):
一般情況下,攝像頭獲得的圖像是如8格式的。1--格式中的I?值、值、8值分別表示紅色、綠色和藍色的值。一般情況下,人體的膚色都是紅色占主導(dǎo),無論光照如何變化都是這樣,在圖像表現(xiàn)上,就是人體膚色的8值大于6值和8值,根據(jù)這一特點,對的值進行一次篩選,剔除8值小于6值或8值的區(qū)域,只留下符合條件的色彩區(qū)域,如果沒有其他與膚色相近的顏色的干擾,這樣就可以大體上檢測出人體膚色的區(qū)域。
[0035]為了更準確的識別出膚色區(qū)域,本實施例在1--檢測的基礎(chǔ)上將圖片在10(?和/或1137色彩空間中繼續(xù)進行檢測。是一個表示色相、飽和度和亮度的色彩空間,這個色彩空間的模型對應(yīng)于圓柱坐標系中的一個圓錐形子集。在1137顏色模型中,每一種顏色和它的補色相差180°。飽和度3取值從0到1,所以圓錐頂面的半徑為1。顏色模型所代表的顏色域是012色度圖的一個子集,這個模型中飽和度為百分之百的顏色,其純度一般小于百分之百。10(?是表示色差的色彩空間,0與(?是紅色與綠色的差和綠色與藍色的差,人體這兩個差值是有一定范圍的。1137色彩空間中利用的!I值,這個值相當(dāng)于圖像的亮度,利用色相值值可以剔除一些曝光過度引起的誤差。例如,可以將0值的范圍選擇為0.1)11)0.01;而 0/(? 的比值范圍選擇為 1.別計算,閾值范圍選擇為165)0)11(^195^:1^140,不過也可以根據(jù)實際需要進行調(diào)整。通過這樣的檢測和篩選,同樣可以檢測出圖像中人體膚色的區(qū)域。
[0036]上面的人體膚色的檢測也可以是其他方法,例如通過圖像的118的值都進行閥值判斷,僅通過如8圖像即可檢測出膚色,或者也可以先對圖像的直方圖進行濾波,濾波之后保留符合膚色特征的部分,然后在色彩空間進行第二次檢測,這樣檢測出來的人體膚色更為準確。
[0037]在人體膚色檢測出來之后,繼續(xù)根據(jù)膚色區(qū)域的形狀和位置信息提取人體的眼睛區(qū)域。眼睛區(qū)域的檢測有多重方法,例如常用的霍夫變換法、變形模板法、邊緣特征分析法和對稱變換法等人眼定位方法。在本發(fā)明實施例中,為了計算及分析方便,采用如下方式給眼睛定位:一般人眼的位置大概在圖像中心偏上的區(qū)域,另外兩個眼睛的形狀應(yīng)該相似,也就是以圓作為這個區(qū)域的近似形狀,圓的半徑要相差較小,這個即膚色區(qū)域的眼睛形狀。兩個眼睛中心在水平方向高低一致,豎直方向上又不能太近,以此留下的區(qū)域為候選區(qū)域,即確定眼睛的位置。在用戶的眼睛被識別出來之后,即可確認用戶的面部,即眼睛所在的膚色區(qū)域就是用戶的面部區(qū)域。
[0038]在上面的膚色檢測過程中,除了面部的膚色被檢測出來,用戶的其他裸露的部位也同樣會被檢測出來,包括手部,有時候會有腿部等。由于眼睛的位置已經(jīng)確定,因此用戶臉部的位置也會被確定,接著可以利用各膚色塊的位置關(guān)系,確定出用戶的手部。例如,一般情況下,人的手部位置都會在腿部之上,而距離眼睛的水平距離較遠,而且手部的面積也比腿部的面積要小,依照這些條件,可以確定出各膚色塊對應(yīng)的人體部位。另外,也可以根據(jù)膚色區(qū)域的其他特征來識別手部,例如手指的特征等。
[0039]除了上面這些膚色識別方法之外,本實施例還可以使用其他膚色識別方法,例如簡單定義膚色模型的膚色識別方法、非參數(shù)膚色模型的膚色識別方法、參數(shù)膚色模型的膚色識別方法或者基于自適應(yīng)閾值的膚色檢測算法的膚色識別方法等。簡單定義膚色模型是通過實驗觀察,通過定義一系列規(guī)則來定義顏色空間中的膚色區(qū)域,采用的規(guī)則包括有人工定義的簡單的線性函數(shù)、復(fù)雜的非線性函數(shù),或者通過機器學(xué)習(xí)自動找到規(guī)則。非參數(shù)膚色模型通過訓(xùn)練集中的膚色出現(xiàn)頻率直接估計每種顏色的膚色概率,常用方法有查表法、88768法、301法等,這類模型中的各顏色點的膚色概率值獨立,準確性高,但缺乏泛化能力。參數(shù)膚色模型假定膚色分布符合某類具體的數(shù)學(xué)函數(shù),并通過訓(xùn)練數(shù)據(jù)來確定出相應(yīng)的參數(shù),模型通常被假定為服從單高斯分布、多高斯分布、橢圓分布等,這種模型在訓(xùn)練數(shù)據(jù)不充分的情況下具有泛化能力。基于自適應(yīng)閾值的膚色檢測算法不同于固定閾值的直方圖檢測方法,可以針對不同的圖像內(nèi)容產(chǎn)生相應(yīng)的最優(yōu)分割閾值。通過對膚色概率分布直方圖(--?)的觀察分析,可以提取出4點線索來幫助尋找最優(yōu)閾值,在此基礎(chǔ)上訓(xùn)練出一個人工神經(jīng)網(wǎng)絡(luò)分類器來確定最優(yōu)閾值。
[0040]以上說明都是基于單幀圖像進行說明的,但在實際應(yīng)用中,由于每幀圖片間隔時間太短,對每幀圖像中用戶的面部和手部進行識別雖然可以達到最精確的效果,但是運算量較大。為了減少運算量,本實施例也可以在對某幀圖像中用戶的面部和手部進行識別之后,每隔幾幀再次進行識別,例如每隔1幀、2幀、5幀、10幀等。每次識別的間隔可以是相同的,也可以是不同的。
[0041]除了上述對單幀圖像進行用戶的面部和手部識別之外,本實施例也可通過對連續(xù)的兩幀、多幀或間隔的兩幀、多幀進行運算之后再進行膚色識別。由于在獲取連續(xù)圖片的過程中,攝像頭的位置是不變的,因而圖片的背景部分是不變的,這樣,通過對兩張圖片進行運算,例如對每個像素進行減法運算可以有效的去除背景。這樣運算之后的圖片基本上只剩下用戶的那部分圖像。接下來,繼續(xù)使用上面的膚色識別方法對該圖片進行面部識別可以達到更精確的識別效果。當(dāng)然,用戶的連續(xù)圖像也可是使用其他方法進行膚色識別,例如基于動態(tài)膚色模型的膚色識別方法,該方法利用前后幀信息的相關(guān)性對膚色進行識別。
[0042]步驟104,判斷用戶的面部和手部的深度距離,當(dāng)面部和手部的深度距離大于預(yù)先設(shè)定的閥值時,對手部的移動軌跡進行記錄,當(dāng)面部和手部的深度距離小于預(yù)先設(shè)定的閥值時,停止對手部的移動軌跡進行記錄;
步驟102對用戶的面部和手部進行了識別,下面將詳細說明本實施如何對用戶面部和手部的深度距離進行檢測。
[0043]本實施例中用戶的面部和手部距離檢測可以通過多種方法實現(xiàn)。
[0044]一種方法是利用紅外測距傳感器,紅外測距傳感器向用戶面部和手部各發(fā)射出一束紅外光,在照射到用戶面部和手部后各形成一個反射的過程,紅外測距傳感器對反射的信號進行接收,然后通過計算接收發(fā)射與接收的時間差的數(shù)據(jù),即可計算出用戶面部和手部與紅外測距傳感器的距離。
[0045]另一種方法是通過兩個攝像頭對用戶圖像進行拍攝,兩個攝像頭之間有一定的距離,分別從不同角度對用戶進行拍攝。由于在同一時間,用戶的面部和手部位置都是相同的,而由于兩個攝像頭的位置不同,因此拍攝到的照片有一定的差異,根據(jù)這一差異,可以通過三角函數(shù)等方法分別計算出用戶的面部與攝像頭的距離及用戶的手部與攝像頭的距離。
[0046]優(yōu)選的,本實施例通過給用戶的面部和手部連續(xù)發(fā)送光脈沖,然后用接收從用戶的面部和手部返回的光,通過探測光脈沖的飛行(往返)時間來得到用戶的面部和手部的深度距離。具體的,本實施例中的采用主動光探測方式,利用入射光信號與反射光信號的變化來進行距離測量。通過將光信號進行高頻調(diào)制之后再進行發(fā)射,例如100冊!2、200冊!2。在接收用戶的面部和手部返回的光時,先對反射光進行濾波,用來保證只有與照明光源波長相同的光才能被接收。由于光速是確定的,這樣,通過反射光和返回光的時間差,即可分別計算出用戶面部和手部距離發(fā)光點的距離。
[0047]在用戶的面部和手部的深度距離確定之后,通過簡單的減法運算就可以獲得用戶的面部和手部之間的深度距離。
[0048]閥值的確定也有多種方法,可以是一個具體的數(shù)值,例如10厘米、20厘米、30厘米等,也可以是相對的數(shù)值,例如手部寬度的倍數(shù),面部寬度的倍數(shù)等。考慮到不同用戶的個體差異以及年齡的差異,使用相對的數(shù)值可以獲得更好的效果。由于在步驟102中已經(jīng)對面部進行了識別,而人體面部的寬度比較容易確定,因此本實施例優(yōu)選的通過面部的寬度來確定閥值,例如面部寬度的1倍、1.5倍、2倍等。當(dāng)然,這一閥值也可以是用戶自定義的,用戶可以根據(jù)自己在使用過程中的習(xí)慣來確定該閥值。
[0049]前面對用戶的面部和手部之間的深度距離進行了確定,又對閥值進行了確定,這樣即可方便的判斷出面部和手部之間的深度距離是否大于該閥值。
[0050]當(dāng)用戶面部和手部的深度距離大于該閥值時,對用戶手部的位置進行記錄。步驟102中已通過多種方法對用戶的手部進行了識別。用戶的手部在圖像中是一個區(qū)域,這些區(qū)域組成一個像素的集合。由于這一像素組合中的每個像素都有確定的位置坐標,因此對用戶手部位置的記錄即是對這些像素的坐標進行記錄。
[0051]由于手部位置覆蓋的是一個連續(xù)的區(qū)域,如果對每個像素的位置坐標進行記錄則需要比較大的存儲空間和運算時間。為了解決這一問題,本實施例優(yōu)選的使用下面的方法對手部的位置進行記錄。一種方法是僅記錄手部區(qū)域的邊緣坐標,這樣的像素點和整個手部區(qū)域的像素點數(shù)量要少得多;還有一種方法是僅記錄手部區(qū)域的邊緣坐標中的部分坐標,例如拐點處的坐標或者間隔幾個坐標記錄其中一個。
[0052]當(dāng)用戶面部和手部的深度距離小于該閥值時,停止對用戶手部的位置進行記錄。
[0053]步驟106,根據(jù)記錄的手部的位置確定手部的移動軌跡,與預(yù)先設(shè)定的手勢進行匹配。
[0054]由于用戶手部的動作是連續(xù)的,因此,當(dāng)用戶面部和手部的深度距離大于閥值之后會持續(xù)一定的時間,在這段時間里,用戶面部和手部的深度距離始終大于閥值,這樣,就會有若干幀的用戶手部位置被記錄下來,直到用戶面部和手部的深度距離小于該閥值后。
[0055]對于記錄下來的手部位置,通過將手部位置按照時間順序排列即可得到一個手部的移動軌跡。
[0056]優(yōu)選的,本實施例通過計算手部為質(zhì)心位置來確定手部的移動軌跡。這一質(zhì)心位置可以是手部區(qū)域形成的不規(guī)則圖像的重心,也可以是其他的點。在步驟104中,手部的位置記錄有多種方式,其中包括對手部的邊緣坐標進行記錄。本實施例可以通過一種簡單的方法計算手部的質(zhì)心位置。在手部的邊緣坐標中,選取最上面的一個點、最下面的一個點,最左邊的一個點和最右邊的一個點。當(dāng)最上面的點為多個時,優(yōu)選的選取最中間的點,其他的三個點也可采用類似的方式。將最上面的坐標點和最下面的點連線形成一個直線,最左邊的點和最右邊的點連線形成另一條直線,這兩成直線會有一個交叉點,這個點即可作為手部的質(zhì)心位置。這樣,將記錄下來的每幀圖像的手部的質(zhì)心位置按時間順序相連,即可得到手部的移動軌跡。
[0057]上面記載的質(zhì)心位置計算方法相對簡單,本實施例也可使用其他方法確定手部的質(zhì)心位置,例如通過間隔選取手部邊緣的至少3個點,將這些點依次連線形成一個多邊形,通過計算該多邊形的重心,將該重心位置確定為手部的質(zhì)心位置。
[0058]在獲得手部的移動軌跡之后,即可通過和預(yù)先存儲的手勢進行比較,從而識別出用戶的手勢。類似的技術(shù)已經(jīng)有相應(yīng)的現(xiàn)有技術(shù),例如模型匹配等,在此不再詳細說明。
[0059]本實施例的手勢識別方法,只有當(dāng)用戶面部和手部的深度距離大于閥值時,才對用戶的手勢進行識別,而當(dāng)用戶面部和手部的深度距離小于閥值時,則不進行識別。采用這種方法之后,當(dāng)用戶需要通過手勢對相關(guān)設(shè)備進行控制時,只需將手向前伸出,做出需要的手勢動作,由于此時用戶的手部距離面部較遠,則該手勢動作會被識別出,而當(dāng)用戶將手縮回之后,由于此時用戶的手部距離面部較近,因此其動作不會被識別。這樣就可以有效的避免誤識別。同時,由于本方法測量的是用戶面部和手部的相對距離,用戶在任何方位都可以操作,因此不會對用戶的位置有約束和限制。
[0060]圖2所示為本發(fā)明實施例的一個手勢識別系統(tǒng)的示意圖。
[0061]本實施例的手勢識別系統(tǒng)200包括攝像設(shè)備210和手勢識別設(shè)備220,其中,攝像設(shè)備包括深度測量單元212,所述手勢識別設(shè)備220包括圖像處理單元222、記錄單元224和識別單元226。
[0062]攝像設(shè)備210通過攝像獲取用戶圖像,然后將獲取的用戶圖像發(fā)送給手勢識別設(shè)備220,圖像處理單元222對用戶圖像進行面部識別和手部識別。用戶的面部可以通過對圖像進行膚色識別,在膚色識別的基礎(chǔ)上確定出用戶眼睛的位置,這樣,就可以據(jù)此確定用戶的面部。用戶的面部識別出來之后,剩下的膚色部分即可確定為手部。在有些情況下,膚色中會包括腿部等干擾的膚色,這種情況下可以通過膚色區(qū)域和面部的位置關(guān)系,以及其他的細節(jié)來判斷,例如手指的特征等。
[0063]優(yōu)選的,本實施例的圖像處理單元222通過以下方式實現(xiàn)對用戶的面部和手部的識別:
一般情況下,攝像設(shè)備210獲得的圖像是1--格式的。1--格式中的I?值、值、8值分別表示紅色、綠色和藍色的值。一般情況下,人體的膚色都是紅色占主導(dǎo),無論光照如何變化都是這樣,在圖像表現(xiàn)上,就是人體膚色的卩值大于6值和8值,根據(jù)這一特點,對118的值進行一次篩選,剔除8值小于6值或8值的區(qū)域,只留下符合條件的色彩區(qū)域,如果沒有其他與膚色相近的顏色的干擾,這樣就可以大體上檢測出人體膚色的區(qū)域。
[0064]為了更準確的識別出膚色區(qū)域,本實施例在1--檢測的基礎(chǔ)上將圖片在10(?和/或1137色彩空間中繼續(xù)進行檢測。是一個表示色相、飽和度和亮度的色彩空間,這個色彩空間的模型對應(yīng)于圓柱坐標系中的一個圓錐形子集。在1137顏色模型中,每一種顏色和它的補色相差180°。飽和度3取值從0到1,所以圓錐頂面的半徑為1。顏色模型所代表的顏色域是012色度圖的一個子集,這個模型中飽和度為百分之百的顏色,其純度一般小于百分之百。10(?是表示色差的色彩空間,0與(?是紅色與綠色的差和綠色與藍色的差,人體這兩個差值是有一定范圍的。1137色彩空間中利用的!I值,這個值相當(dāng)于圖像的亮度,利用色相值值可以剔除一些曝光過度引起的誤差。例如,可以將0值的范圍選擇為
0.1)11)0.01;而 0/(? 的比值范圍選擇為 1.別計算,閾值范圍選擇為165)0)11(^195^:1^140,不過也可以根據(jù)實際需要進行調(diào)整。通過這樣的檢測和篩選,同樣可以檢測出圖像中人體膚色的區(qū)域。
[0065]圖像處理單元222也可以使用其他方法對膚色進行,例如通過圖像的8、18的值都進行閥值判斷,僅通過如8圖像即可檢測出膚色,或者也可以先對圖像的直方圖進行濾波,濾波之后保留符合膚色特征的部分,然后在10(?色彩空間進行第二次檢測,這樣檢測出來的人體膚色更為準確。
[0066]圖像處理單元222在對人體膚色檢測出來之后,繼續(xù)根據(jù)膚色區(qū)域的形狀和位置信息提取人體的眼睛區(qū)域。眼睛區(qū)域的檢測有多重方法,例如常用的霍夫變換法、變形模板法、邊緣特征分析法和對稱變換法等人眼定位方法。在本發(fā)明實施例中,為了計算及分析方便,采用如下方式給眼睛定位:一般人眼的位置大概在圖像中心偏上的區(qū)域,另外兩個眼睛的形狀應(yīng)該相似,也就是以圓作為這個區(qū)域的近似形狀,圓的半徑要相差較小,這個即膚色區(qū)域的眼睛形狀。兩個眼睛中心在水平方向高低一致,豎直方向上又不能太近,以此留下的區(qū)域為候選區(qū)域,即確定眼睛的位置。在用戶的眼睛被識別出來之后,即可確認用戶的面部,即眼睛所在的膚色區(qū)域就是用戶的面部區(qū)域。
[0067]在上面的膚色檢測過程中,除了面部的膚色被檢測出來,用戶的其他裸露的部位也同樣會被檢測出來,包括手部,有時候會有腿部等。由于眼睛的位置已經(jīng)確定,因此用戶臉部的位置也會被確定,接著可以利用各膚色塊的位置關(guān)系,確定出用戶的手部。例如,一般情況下,人的手部位置都會在腿部之上,而距離眼睛的水平距離較遠,而且手部的面積也比腿部的面積要小,依照這些條件,可以確定出各膚色塊對應(yīng)的人體部位。另外,也可以根據(jù)膚色區(qū)域的其他特征來識別手部,例如手指的特征等。
[0068]以上說明都是基于單幀圖像進行說明的,但在實際應(yīng)用中,由于每幀圖片間隔時間太短,對每幀圖像中用戶的面部和手部進行識別雖然可以達到最精確的效果,但是運算量較大。為了減少運算量,本實施例的圖像處理單元222也可以在對某幀圖像中用戶的面部和手部進行識別之后,每隔幾幀再次進行識別,例如每隔1幀、2幀、5幀、10幀等。每次識別的間隔可以是相同的,也可以是不同的。
[0069]圖像處理單元222對用戶的面部和手部進行識別之后,深度測量單元212開始對用戶面部和手部的深度距離進行檢測。
[0070]深度測量單元212可以是多種結(jié)構(gòu)組成,其實現(xiàn)實現(xiàn)對用戶的面部和手部距離檢測的方法也不同。
[0071]深度測量單元212可以包括一個紅外測距傳感器,紅外測距傳感器向用戶面部和手部各發(fā)射出一束紅外光,在照射到用戶面部和手部后各形成一個反射的過程,紅外測距傳感器對反射的信號進行接收,這樣,深度測量單元212通過計算接收發(fā)射與接收的時間差的數(shù)據(jù),即可計算出用戶面部和手部與紅外測距傳感器的距離。
[0072]深度測量單元212也可以包括設(shè)置在不同方位的兩個攝像頭,通過兩個攝像頭從不同方位對用戶圖像進行拍攝。由于在同一時間,用戶的面部和手部位置都是相同的,而由于兩個攝像頭的位置不同,因此拍攝到的照片有一定的差異,根據(jù)這一差異,深度測量單元212可以通過三角函數(shù)等方法分別計算出用戶的面部與攝像頭的距離及用戶的手部與攝像頭的距離。
[0073]優(yōu)選的,本實施例的深度測量單元212包括照射單元、反射光接收單元和計算單元,照射單元將光信號進行高頻調(diào)制之后進行發(fā)射,比如采用[£0或激光二極管發(fā)射的脈沖光,這種脈沖可達到100冊!2。反射光接收單元可以是一個搜集光線的鏡頭,該鏡頭具有一個帶通濾光片,用來保證只有與照明光源波長相同的光才能進入。由于光學(xué)成像系統(tǒng)具有透視效果,不同距離的場景為各個不同直徑的同心球面,而非平行平面,一般需要后續(xù)處理單元對這個誤差進行校正,在不需要特別精確的情況下,也可以不校正。計算單元對入射光往返照射單元與用戶的面部或手部之間的相位分別進行紀錄,然后通過計算發(fā)射光與反射光相對相移關(guān)系,以及當(dāng)前發(fā)射光的頻率,分別計算出用戶的面部或手部距離照相單元的距離。在用戶的面部和手部的深度距離確定之后,深度測量單元212就可以計算出用戶的面部和手部之間的深度距離。
[0074]記錄單元224用于對手部和面部的深度距離與一個預(yù)先存儲的閥值進行比較,當(dāng)面部和手部的深度距離大于該閥值時,對手部的位置進行記錄,當(dāng)面部和手部的深度距離小于該閥值時,停止對手部的位置進行記錄。
[0075]用戶的手部在圖像中是一個區(qū)域,這些區(qū)域組成一個像素的集合。由于這一像素組合中的每個像素都有確定的位置坐標,因此對用戶手部位置的記錄即是對這些像素的坐標進行記錄。優(yōu)選的,本實施例的記錄單元224僅對手部區(qū)域的邊緣坐標進行記錄,或者僅記錄手部區(qū)域的邊緣坐標中的部分坐標,例如拐點處的坐標或者間隔幾個坐標記錄其中一個。
[0076]記錄單元224也可以進一步對手部的質(zhì)心位置進行計算,這一質(zhì)心位置可以是手部區(qū)域形成的不規(guī)則圖像的重心,也可以是其他的點。在手部的邊緣坐標中,選取最上面的一個點、最下面的一個點,最左邊的一個點和最右邊的一個點。當(dāng)最上面的點為多個時,優(yōu)選的選取最中間的點,其他的三個點也可采用類似的方式。將最上面的坐標點和最下面的點連線形成一個直線,最左邊的點和最右邊的點連線形成另一條直線,這兩成直線會有一個交叉點,這個點即可作為手部的質(zhì)心位置。記錄單元224也可使用其他方法確定手部的質(zhì)心位置,例如通過間隔選取手部邊緣的至少3個點,將這些點依次連線形成一個多邊形,通過計算該多邊形的重心,將該重心位置確定為手部的質(zhì)心位置。
[0077]由于用戶手部的動作是連續(xù)的,因此,當(dāng)用戶面部和手部的深度距離大于閥值之后會持續(xù)一定的時間,在這段時間里,用戶面部和手部的深度距離始終大于閥值,這樣,記錄單元224就會持續(xù)記錄若干幀的用戶手部位置,直到用戶面部和手部的深度距離小于該閥值。
[0078]對于記錄下來的手部位置,識別單元226通過將手部位置按照時間順序排列即可得到一個手部的移動軌跡,然后通過將手部的移動軌跡和預(yù)先存儲的手勢進行比較,從而識別出用戶的手勢。。
[0079]優(yōu)選的,本實施例的手勢識別設(shè)備220通過計算手部的質(zhì)心位置來確定手部的移動軌跡。這一質(zhì)心位置可以是手部區(qū)域形成的不規(guī)則圖像的重心,也可以是其他的點。在手部的邊緣坐標中,選取最上面的一個點、最下面的一個點,最左邊的一個點和最右邊的一個點。當(dāng)最上面的點為多個時,優(yōu)選的選取最中間的點,其他的三個點也可采用類似的方式。將最上面的坐標點和最下面的點連線形成一個直線,最左邊的點和最右邊的點連線形成另一條直線,這兩成直線會有一個交叉點,這個點即可作為手部的質(zhì)心位置。這樣,將記錄單元224記錄下來的每幀圖像的手部的質(zhì)心位置按時間順序相連,即可得到手部的移動軌跡。本實施例的手勢識別設(shè)備220也可使用其他方法確定手部的質(zhì)心位置,例如通過間隔選取手部邊緣的至少3個點,將這些點依次連線形成一個多邊形,通過計算該多邊形的重心,將該重心位置確定為手部的質(zhì)心位置。在獲得手部的移動軌跡之后,手勢識別設(shè)備220即可通過和預(yù)先存儲的手勢進行比較,從而識別出用戶的手勢。類似的技術(shù)已經(jīng)有相應(yīng)的現(xiàn)有技術(shù),例如模型匹配等,在此不再詳細說明。
[0080]本實施例的手勢識別系統(tǒng),只有當(dāng)用戶面部和手部的深度距離大于閥值時,即只有當(dāng)用戶將手向前伸出到一定程度,其手部的動作才會被本實施例的手勢識別系統(tǒng)識別,而當(dāng)用戶面部和手部的深度距離小于閥值時,則不進行識別。采用本實施例的手勢識別系統(tǒng),當(dāng)用戶需要通過手勢對相關(guān)設(shè)備進行控制時,只需將手向前伸出,做出需要的手勢動作,由于此時用戶的手部距離面部較遠,則該手勢動作會被識別出從而控制相關(guān)設(shè)備,而當(dāng)用戶將手縮回之后,由于此時用戶的手部距離面部較近,因此其動作不會被識別。這樣就可以有效的避免誤識別。
[0081]以上結(jié)合附圖詳細說明了根據(jù)本發(fā)明的技術(shù)方案,本發(fā)明的手勢識別方法根據(jù)用戶的手部和面部的深度距離,判斷用戶當(dāng)前的手部動作是否屬于需要識別的動作:當(dāng)用戶將手向前伸出到一定距離,手勢識別方法開始對用戶的手勢進行識別,而當(dāng)用戶將手收回之后,手勢識別結(jié)束;用戶此后的動作將不會被誤識別,直至用戶再一次將手向前伸出。由此可見,本發(fā)明的手勢識別方法可以有效的避免手勢識別過程中的誤識別,同時,由于本發(fā)明的手勢識別方法測量的是用戶手部和面部的相對距離,用戶無論在哪個方位或是距離攝像設(shè)備的遠近,都可以是用本方法進行識別,因而對用戶沒有位置方面的限制。
[0082]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種手勢識別方法,其特征在于,包括: 獲取用戶圖像,根據(jù)用戶圖像確定用戶的面部和手部; 判斷用戶的面部和手部的深度距離,當(dāng)手部和面部的深度距離大于預(yù)先設(shè)定的閥值時,對手部的位置進行記錄;當(dāng)手部和面部的深度距離小于預(yù)先設(shè)定的閥值時,停止對手部的位置進行記錄; 根據(jù)記錄的手部的位置確定手部的移動軌跡,對手勢進行識別。
2.根據(jù)權(quán)利要求1所述的手勢識別方法,其特征在于:通過對用戶圖像進行膚色識別和眼部識別來確定用戶的面部。
3.根據(jù)權(quán)利要求1所述的手勢識別方法,其特征在于:所述判斷用戶的面部和手部的深度距離包括: 向用戶的面部和手部發(fā)射光信號并接收從用戶的面部和手部返回的光,通過光信號的飛行時間來得到用戶的面部和手部的深度距離。
4.根據(jù)權(quán)利要求3所述的手勢識別方法,其特征在于:所述光信號的飛行時間根據(jù)光信號的相移來計算。
5.根據(jù)權(quán)利要求3所述的手勢識別方法,其特征在于:所述光信號經(jīng)過高頻調(diào)制之后進行發(fā)射。
6.根據(jù)權(quán)利要求1所述的手勢識別方法,其特征在于:所述預(yù)先設(shè)定的閥值根據(jù)用戶的面部覽度確定。
7.根據(jù)權(quán)利要求1所述的手勢識別方法,其特征在于,所述對手部的位置進行記錄包括: 計算手部的質(zhì)心坐標,對手部的質(zhì)心坐標進行記錄。
8.根據(jù)權(quán)利要求7所述的手勢識別方法,其特征在于,所述計算手部的質(zhì)心坐標包括: 從手部的邊緣選取至少3個坐標點,計算由這些坐標點形成的多邊形的重心,將該重心坐標確定為手部的質(zhì)心坐標。
9.根據(jù)權(quán)利要求7或8所述的手勢識別方法,其特征在于,根據(jù)記錄的手部的位置確定手部的移動軌跡包括: 將各幀圖像中的手部的質(zhì)心坐標順序相連,根據(jù)該連線確定手部的移動軌跡。
10.一種手勢識別系統(tǒng),其特征在于,所述手勢識別系統(tǒng)包括攝像設(shè)備和手勢識別設(shè)備,其特征在于: 所述攝像設(shè)備包括深度測量單元,所述手勢識別設(shè)備包括圖像處理單元、記錄單元和識別單元; 所述圖像處理單元根據(jù)攝像設(shè)備獲得的用戶圖像,確定用戶的面部和手部; 所述深度測量單元分別對用戶的面部和手部的深度距離進行測量,并判斷手部和面部的深度距離是否大于預(yù)先設(shè)定的閥值,當(dāng)手部和面部的深度距離大于預(yù)先設(shè)定的閥值時,記錄單元對手部的位置進行記錄;當(dāng)手部和面部的深度距離小于預(yù)先設(shè)定的閥值時,記錄單元停止對手部的位置進行記錄; 所述識別單元根據(jù)記錄單元記錄的手部位置確定手部的移動軌跡,根據(jù)手部的移動軌跡對手勢進行識別。
11.根據(jù)權(quán)利要求10所述的手勢識別系統(tǒng),其特征在于:所述圖像處理單元通過對用戶圖像進行膚色識別和眼部識別來確定用戶的面部。
12.根據(jù)權(quán)利要求10所述的手勢識別系統(tǒng),其特征在于: 深度測量單元包括照射單元和反射光接收單元,所述照射單元向用戶的面部和手部發(fā)射光信號,反射光接收單元接收從用戶的面部和手部的反射光,通過光信號的飛行時間來得到用戶的面部和手部的深度距離。
13.根據(jù)權(quán)利要求12所述的手勢識別系統(tǒng),其特征在于:所述反射光接收單元根據(jù)反射光和發(fā)射光的相移來確定距離。
14.根據(jù)權(quán)利要求12所述的手勢識別系統(tǒng),其特征在于:所述照射單元對光信號進行高頻調(diào)制之后進行發(fā)射。
15.根據(jù)權(quán)利要求10所述的手勢識別系統(tǒng),其特征在于:所述記錄單元計算手部的質(zhì)心坐標,對手部的質(zhì)心坐標進行記錄。
16.根據(jù)權(quán)利要求15所述的手勢識別方法,其特征在于,所述記錄單元通過從手部的邊緣選取至少3個坐標點,計算由這些坐標點形成的多邊形的重心,將該重心坐標確定為手部的質(zhì)心坐標。
17.根據(jù)權(quán)利要求15或16所述的手勢識別方法,其特征在于,所述識別單元將各幀圖像中的手部的質(zhì)心坐標順序相連獲得手部的移動軌跡,根據(jù)該移動軌跡對手勢進行識別。
【文檔編號】G06K9/20GK104408395SQ201410290001
【公開日】2015年3月11日 申請日期:2014年6月26日 優(yōu)先權(quán)日:2014年6月26日
【發(fā)明者】張文軍 申請人:青島海信電器股份有限公司