專利名稱:一種手勢識別的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)視覺技術(shù)領(lǐng)域,尤其涉及一種手勢識別的方法。
背景技術(shù):
計算機(jī)視覺是使用計算機(jī)及相關(guān)設(shè)備對生物視覺的一種模擬。它的主要任務(wù)就是 通過對采集的圖片或視頻進(jìn)行處理以獲得相應(yīng)場景的三維信息,就像人類和許多其他類生 物每天所做的那樣。計算機(jī)視覺識別從狹義來說是對一個或多個經(jīng)過預(yù)先定義或?qū)W習(xí)的物 體或物類進(jìn)行辨識,通常在辨識過程中還要提供他們的二維位置或三維姿態(tài)。計算機(jī)視覺在日常生活中應(yīng)用越來越廣,而手勢識別是其中很重要的一個環(huán)節(jié), 很多應(yīng)用都是基于手勢識別而開發(fā)的。在計算機(jī)視覺中,物體追蹤大多基于直方圖,通過對 被追蹤物體計算直方圖,然后實現(xiàn)追蹤。但是這種追蹤方法的一個最大弊端就是智能化不 足,必須通過手動先選擇被追蹤物體,因而在應(yīng)用上也大打折扣,不能很好進(jìn)行應(yīng)用推廣。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種手勢識別的方法,改善了運算量和復(fù)雜度,提高了運 行的效率。為達(dá)此目的,本發(fā)明采用以下技術(shù)方案一種手勢識別的方法,包括以下步驟A、獲取手部圖像,轉(zhuǎn)成YCrCb空間;B、根據(jù)手部圖像每個像素點Y值、Cr值和Cb值,確認(rèn)膚色點;C、去除圖像噪聲,獲得手部目標(biāo)區(qū)域;D、根據(jù)手部目標(biāo)區(qū)域,識別手指個數(shù),獲取手勢;E、根據(jù)手勢的變化,確認(rèn)手勢信息。步驟B中,像素點Y值、Cr值和Cb值滿足以下公式,則確認(rèn)是膚色點0 彡 Y 彡 255,133 ^ Cr ^ 173,77 ^ Cb ^ 127。如果像素點是膚色點,則將所述像素點的值設(shè)為OxfT,否則設(shè)為0x00。步驟C進(jìn)一步包括以下步驟對圖像進(jìn)行圖像金字塔處理和形態(tài)學(xué)操作;對圖像進(jìn)行平滑處理和閾值化處理,獲得手部目標(biāo)區(qū)域。步驟D進(jìn)一步包括以下步驟D1、通過手部輪廓,計算凸包與凸缺陷,得到指尖與手指根部的像素坐標(biāo);D2、設(shè)定指尖坐標(biāo)為(Xl,yi),手指根部坐標(biāo)為(X2,y2),求得兩點距離為L, L= ^(X2-X1)2 +(y2 -Y1)2 ;D3、整個手部的高度為H,手指與手部水平方向的軸線夾角為θ ;D4、根據(jù)指尖與手指根部連點距離L、整個手部的高度H和夾角θ,判斷所述輪廓 是否為手指部分;
D5、重復(fù)上述步驟,計算整個手部輪廓中的手指個數(shù)。步驟D4進(jìn)一步包括以下步驟D41、從手部輪廓的指尖與手指根部之間取一組坐標(biāo)點;D42、判斷指尖與手指根部連點距離L是否小于整個手部的高度H和0. 33的乘積, 如果是,則轉(zhuǎn)至步驟D43,如果否,則返回步驟D41 ;D43、判斷手指與手部水平方向的軸線夾角θ是否大于30度,如果是,則確認(rèn)是手 指部分,如果否,則轉(zhuǎn)至步驟D41。步驟E中,手指數(shù)量的不同代表不同的手勢,不同手勢代表不同的手勢信息。采用了本發(fā)明的技術(shù)方案,可以通過膚色的識別從而直接找到追蹤目標(biāo),擴(kuò)展了 易用性和應(yīng)用范圍,改善了運算量和復(fù)雜度,提高了運行的效率。
圖1是本發(fā)明具體實施方式
中手勢識別的流程圖。圖2是本發(fā)明具體實施方式
中判斷手指的示意圖。
具體實施例方式下面結(jié)合附圖并通過具體實施方式
來進(jìn)一步說明本發(fā)明的技術(shù)方案。圖1是本發(fā)明具體實施方式
中手勢識別的流程圖。如圖1所示,該手勢識別的流 程包括以下步驟步驟101、獲取手部圖像,轉(zhuǎn)成YCrCb空間。在計算機(jī)視覺中膚色的查找有很多種方法,其中基于HSV與YCrCb顏色空間的查 找效果比較好。因為這兩種顏色空間受環(huán)境亮度的影響是最小的,所以可以比較穩(wěn)定地在 室內(nèi)室外環(huán)境中查找到膚色區(qū)域。經(jīng)過試驗,YCrCb顏色空間比HSV顏色空間更能清晰地 分辨膚色區(qū)域。故本具體實施方式
采取YCrCb顏色空間來進(jìn)行皮膚的檢測。YCrCb即YUV,主要用于優(yōu)化彩色視頻信號的傳輸,使其向后相容老式黑白電視。 與RGB視頻信號傳輸相比,它最大的優(yōu)點在于只需占用極少的頻寬(RGB要求三個獨立的視 頻信號同時傳輸)。其中“Y”表示亮度(Luminance或Luma),也就是灰階值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素 的顏色。“亮度”是透過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起。 “色度”則定義了顏色的兩個方面-色調(diào)與飽和度,分別用Cr和Cb來表示。其中,Cr反映 了 RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而Cb反映的是RGB輸入信號藍(lán) 色部分與RGB信號亮度值之同的差異。采用YUV色彩空間的重要性是它的亮度信號Y和色 度信號U、V是分離的。如果只有Y信號分量而沒有U、V分量,那么這樣表示的圖像就是黑 白灰度圖像。彩色電視采用YUV空間正是為了用亮度信號Y解決彩色電視機(jī)與黑白電視機(jī) 的兼容問題,使黑白電視機(jī)也能接收彩色電視信號。YUV與RGB相互轉(zhuǎn)換的公式如下(RGB取值范圍均為0_255)Y = O. 299R+0. 587G+0. 114BU = -0. 147R-0. 289G+0. 436BV = O. 615R-0. 515G-0. 100B
或者R = Y+1. 14VG = Y-0. 39U-0. 58VB = Y+2. 03U在膚色檢測中常常用到Y(jié)CrCb顏色空間,是因為一般的圖像都是基于RGB空間的, 在RGB空間里膚色受亮度影響相當(dāng)大,所以膚色點很難從非膚色點中分離出來,也就是說 在RGB空間經(jīng)過處理后,膚色點是離散的點,中間嵌有很多非膚色,這為膚色區(qū)域標(biāo)定(人 臉、人手等)帶來了難題。如果把RGB轉(zhuǎn)為YCrCb空間的話,可以忽略Y值(亮度)的影響,因為該空間受亮 度影響很小,膚色會產(chǎn)生很好的類聚。這樣就把三維的空間將為二維的CrCb,膚色點會形成 一定的形狀,如人臉的話會看到一個人臉的區(qū)域,手臂的話會看到一條手臂的形態(tài),對處 理模式識別很有好處。步驟102、根據(jù)手部圖像每個像素點Y值、Cr值和Cb值,確認(rèn)膚色點。YCrCb顏色分量中各分量根據(jù)不同膚色取值也有所差別,經(jīng)過試驗?zāi)骋粋€像素點 的Cr值Cb值滿足范圍133 ^Cr ^ 173,77 ^ Cb ^ 127,那么該像素點被認(rèn)為是膚色點, 其他的就為非膚色點。設(shè)定CrCb的取值范圍后,通過檢查圖像中像素的灰度是否屬于設(shè)定 的范圍,如果像素點的值在設(shè)置值范圍內(nèi)(0<Y< 255,133<Cr<173,77<Cb<127), 則將此像素點的值設(shè)為Oxff,否則設(shè)為0x00。步驟103、去除圖像噪聲,獲得手部目標(biāo)區(qū)域。對圖像進(jìn)行圖像金字塔處理和形態(tài) 學(xué)操作;對圖像進(jìn)行平滑處理和閾值化處理,獲得手部目標(biāo)區(qū)域。通過YCrCb顏色空間找到目標(biāo)區(qū)域后。下一步進(jìn)行的操作就是將目標(biāo)更明顯的顯 示出來。經(jīng)過膚色分辨處理后的圖片是一幅8位單通道的圖像,此時的圖像除了需要的目 標(biāo)區(qū)域外,還有很多經(jīng)過顏色分量處理后留下來的點,稱之為圖像噪聲。處理圖像噪聲一般的方法是先進(jìn)行平滑處理,閾值化,再進(jìn)行一些形態(tài)學(xué)的操作。 本具體實施方式
中,對圖像進(jìn)行圖像金字塔處理和形態(tài)學(xué)操作后,再進(jìn)行平滑處理和閾值 化處理。步驟104、根據(jù)手部目標(biāo)區(qū)域,識別手指個數(shù),獲取手勢。經(jīng)過以上步驟操作后,可以得到一個輪廓比較分明的手部圖像,接下來需要進(jìn)行 的操作是對手的各種手勢進(jìn)行判斷。手部的識別有很多種方法,比較常用的是通過機(jī)器學(xué) 習(xí),分析記錄大量的手部特征,然后再進(jìn)行識別。這種方法的優(yōu)點是對手勢的判斷比較準(zhǔn) 確。但這種方法也有一個弊端,就是必須采集足夠多的手部姿態(tài)樣品,而且由于不同人的手 部由于大小或者其他一些原因也不盡相同,所以在通用性和運行效率上都有一定的限制。 本具體實施方式
通過另外一個方法,即通過對手指個數(shù)進(jìn)行識別,最終達(dá)到手勢識別的效 果。這種創(chuàng)新的識別手勢的方法,相比一般的通過機(jī)器學(xué)習(xí)方法進(jìn)行的手勢識別在運算量 和復(fù)雜度都有了很大改善。手指的特點是各個手指高低不一,而且一個手指到另外一個手指必須經(jīng)過從手指 頂部即指尖到手指根部這樣類似從山峰到山谷的過程。所以查找手指的關(guān)鍵點就是找出 “山峰”和“山谷”,即手指尖與手指根部。
通過前面說到的一些預(yù)處理已經(jīng)確定了手部區(qū)域,接著對該區(qū)域進(jìn)行輪廓檢測, 由于手部在圖像區(qū)域中占據(jù)比較大的面積,所以即使在查找輪廓過程中發(fā)現(xiàn)其他一些干擾 的輪廓,也可以比較容易的排除掉。下面介紹如何計算手指的方法。通過手部輪廓,計算其凸包與凸缺陷??梢缘玫?指尖與手指根部的像素坐標(biāo)。設(shè)定指尖坐標(biāo)為(XI,yl),手指根部坐標(biāo)為(x2,y2),求得兩
點距離為Ul=^X2-X1J2+(Y2-Y1)2。整個手部的高度為H。手指與手部水平方向的軸線夾 角為θ。對L與H,以及夾角θ的判斷,可以判斷該輪廓為手指部分。圖2是本發(fā)明具體實 施方式中判斷手指的示意圖。如圖2所示,首先從手部輪廓的指尖與手指根部之間取一組 坐標(biāo)點,通過遍歷這條輪廓線上所有的點,判斷相鄰幾個點組成的直線的斜率變化的幅度 可以確定出輪廓中的凸點和凹點,取點的原理是,輪廓線上相鄰點各自組成直線,每條直線 都有自己的斜率,當(dāng)斜率發(fā)生突變時,即表示一個凸點或凹點出現(xiàn)。判斷指尖與手指根部連點距離L是否小于整個手部的高度H和0. 33的乘積,如果 不小于,則再取一組坐標(biāo)點判斷。如果小于,再判斷手指與手部水平方向的軸線夾角θ是否大于30度,如果大于30 度,則確認(rèn)是手指部分,如果不大于30度,則再取一組坐標(biāo)點判斷。 以此類推則可以計算整個輪廓中的手指個數(shù)。步驟105、根據(jù)手勢的變化,確認(rèn)手勢信息。手指數(shù)量的不同代表不同的手勢,不同 手勢代表不同的手勢信息。通過手指個數(shù)的識別可以做出多種不同的判斷。握緊拳頭的時候,手指個數(shù)為零; 當(dāng)張開手掌同時五指張開的時候,手指個數(shù)為五。手指個數(shù)可以從零到五,可以發(fā)出至少五 種不同指令。對于一些比較簡單的交換應(yīng)用是已經(jīng)足夠了的。例如根據(jù)本具體實施方式
提 到的手勢識別與跟蹤方法開發(fā)的一個手勢瀏覽圖片的人機(jī)交互程序,手部的運動控制圖片 移動的方向(從左到右或從右到左)。當(dāng)判斷手指個數(shù)從零變?yōu)槲鍟r,即從握緊拳頭到張開 五指的過程,發(fā)出“確定”指令,從圖片列表瀏覽模式進(jìn)入到單圖瀏覽模式;當(dāng)判斷手指個數(shù) 從五變?yōu)榱銜r,即從張開五指到握緊拳頭的過程,發(fā)出“退出”指令,此時從單圖瀏覽模式退 出到圖片列表瀏覽模式。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋 在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種手勢識別的方法,其特征在于,包括以下步驟A、獲取手部圖像,轉(zhuǎn)成YCrCb空間;B、根據(jù)手部圖像每個像素點Y值、Cr值和Cb值,確認(rèn)膚色點;C、去除圖像噪聲,獲得手部目標(biāo)區(qū)域;D、根據(jù)手部目標(biāo)區(qū)域,識別手指個數(shù),獲取手勢;E、根據(jù)手勢的變化,確認(rèn)手勢信息。
2.根據(jù)權(quán)利要求1所述的一種手勢識別的方法,其特征在于,步驟B中,像素點Y值、 Cr值和Cb值滿足以下公式,則確認(rèn)是膚色點0 彡 Y 彡 255,133 ^ Cr ^ 173,77 ^ Cb ^ 127。
3.根據(jù)權(quán)利要求2所述的一種手勢識別的方法,其特征在于,如果像素點是膚色點,則 將所述像素點的值設(shè)為Oxff,否則設(shè)為0x00。
4.根據(jù)權(quán)利要求1所述的一種手勢識別的方法,其特征在于,步驟C進(jìn)一步包括以下步驟對圖像進(jìn)行圖像金字塔處理和形態(tài)學(xué)操作; 對圖像進(jìn)行平滑處理和閾值化處理,獲得手部目標(biāo)區(qū)域。
5.根據(jù)權(quán)利要求1所述的一種手勢識別的方法,其特征在于,步驟D進(jìn)一步包括以下步驟D1、通過手部輪廓,計算凸包與凸缺陷,得到指尖與手指根部的像素坐標(biāo); D2、設(shè)定指尖坐標(biāo)為(Xl,yi),手指根部坐標(biāo)為U2,y2),求得兩點距離為L, L= ^(X2-X1)2 +(y2 -Y1)2 ;D3、獲取整個手部的高度為H,手指與手部水平方向的軸線夾角為θ ; D4、根據(jù)指尖與手指根部連點距離L、整個手部的高度H和夾角θ,判斷所述輪廓是否 為手指部分;D5、重復(fù)上述步驟,計算整個手部輪廓中的手指個數(shù)。
6.根據(jù)權(quán)利要求5所述的一種手勢識別的方法,其特征在于,步驟D4進(jìn)一步包括以下 步驟D41、從手部輪廓的指尖與手指根部之間取一組坐標(biāo)點;D42、判斷指尖與手指根部連點距離L是否小于整個手部的高度H和0. 33的乘積,如果 是,則轉(zhuǎn)至步驟D43,如果否,則返回步驟D41 ;D43、判斷手指與手部水平方向的軸線夾角θ是否大于30度,如果是,則確認(rèn)是手指部 分,如果否,則轉(zhuǎn)至步驟D41。
7.根據(jù)權(quán)利要求6所述的一種手勢識別的方法,其特征在于,步驟E中,手指數(shù)量的不 同代表不同的手勢,不同手勢代表不同的手勢信息。
全文摘要
本發(fā)明公開了一種手勢識別的方法,獲取手部圖像,轉(zhuǎn)成YCrCb空間,根據(jù)手部圖像每個像素點Y值、Cr值和Cb值,確認(rèn)膚色點,去除圖像噪聲,獲得手部目標(biāo)區(qū)域,根據(jù)手部目標(biāo)區(qū)域,識別手指個數(shù),獲取手勢,根據(jù)手勢的變化,確認(rèn)手勢信息。采用了本發(fā)明的技術(shù)方案,可以通過膚色的識別從而直接找到追蹤目標(biāo),擴(kuò)展了易用性和應(yīng)用范圍,改善了運算量和復(fù)雜度,提高了運行的效率。
文檔編號G06K9/00GK102142084SQ20111011719
公開日2011年8月3日 申請日期2011年5月6日 優(yōu)先權(quán)日2011年5月6日
發(fā)明者黎鋒 申請人:北京網(wǎng)尚數(shù)字電影院線有限公司