本發(fā)明涉及計(jì)算機(jī)信號(hào)處理技術(shù)領(lǐng)域,具體涉及一種手勢(shì)識(shí)別方法及系統(tǒng)。
背景技術(shù):
隨著科技的發(fā)展和人們生活方式的轉(zhuǎn)變,人們對(duì)智能化的生活方式有著越來越高的要求,相對(duì)于傳統(tǒng)的人機(jī)按鍵交互,人們更加傾向于自然的智能化的人機(jī)交互方式。手勢(shì)識(shí)別可以把手勢(shì)這種自然、直觀的交流方式引入人機(jī)接口中,實(shí)現(xiàn)更符合人類行為習(xí)慣的人機(jī)交互,在人機(jī)交互的發(fā)展過程中起到了不可或缺的作用;基于視覺的手勢(shì)識(shí)別成為了人機(jī)交互領(lǐng)域中一個(gè)非?;钴S的研究領(lǐng)域,現(xiàn)有技術(shù)中基于視覺的手勢(shì)識(shí)別在數(shù)據(jù)采集時(shí)對(duì)外部環(huán)境的依賴比較大,如復(fù)雜光照、復(fù)雜背景等,容易對(duì)結(jié)果造成較為嚴(yán)重的干擾,當(dāng)背景接近膚色時(shí)無法準(zhǔn)確提取出手部區(qū)域,因此一些基于膚色的手勢(shì)識(shí)別技術(shù)要求手部顏色與背景顏色有較好的區(qū)分,另外,多數(shù)的手勢(shì)識(shí)別系統(tǒng)不僅識(shí)別算法復(fù)雜,而且僅能支持較少的手勢(shì),擴(kuò)展性及實(shí)用性并不理想。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)以上技術(shù)問題,提供一種手勢(shì)識(shí)別方法及系統(tǒng),以解決現(xiàn)有技術(shù)的 缺陷;
具體技術(shù)方案如下:
一種手勢(shì)識(shí)別方法,其中,包括以下步驟:
步驟s1,采集圖像以獲取圖像序列;
步驟s2,獲取所述圖像序列中的預(yù)定圖像幀之間的幀差,依據(jù)所述幀差進(jìn)行運(yùn)動(dòng)分割以獲取當(dāng)前的運(yùn)動(dòng)區(qū)域;
步驟s3,在所述運(yùn)動(dòng)區(qū)域中進(jìn)行靜態(tài)手勢(shì)識(shí)別;
步驟s4,在識(shí)別到靜態(tài)手勢(shì)后進(jìn)行動(dòng)態(tài)手勢(shì)識(shí)別。
上述的手勢(shì)識(shí)別方法,所述步驟s2具體如下:
步驟s21,計(jì)算二值幀差:獲取第n-1幀的像素灰度與第n-2幀的像素灰度之間的幀差作為第一幀差,取得所述第一幀差大于0的第一像素點(diǎn)集合;獲取第n幀的像素灰度與第n-2幀的像素灰度之間的幀差作為第二幀差,取得所述第二幀差中的第一像素點(diǎn)集合部分作為第二像素點(diǎn)集合;獲取所述第二像素點(diǎn)集合中像素大于第一設(shè)定閾值的第三像素點(diǎn)集合;
步驟s22,對(duì)于得到的所述第三像素點(diǎn)集合的幀差圖像進(jìn)行圖像處理以得到當(dāng)前運(yùn)動(dòng)圖;
步驟s23,將所述當(dāng)前運(yùn)動(dòng)圖更新至歷史運(yùn)動(dòng)信息中,并且引入時(shí)間信息;
步驟s24,利用所述歷史運(yùn)動(dòng)信息進(jìn)行運(yùn)動(dòng)分割以獲取當(dāng)前的運(yùn)動(dòng)區(qū)域。
上述的手勢(shì)識(shí)別方法,所述步驟s3的具體步驟如下:
步驟s31a,將當(dāng)前圖像中的搜索窗口劃分成復(fù)數(shù)個(gè)子區(qū)域;
步驟s32a,對(duì)每個(gè)所述子區(qū)域中的每個(gè)像素計(jì)算出局部二值特征值,依 據(jù)所述局部二值特征值獲得每個(gè)子區(qū)域的直方圖后進(jìn)行歸一化;
步驟s33a,將歸一化后的復(fù)數(shù)個(gè)所述子區(qū)域的直方圖連接成為特征向量;
步驟s34a,根據(jù)已訓(xùn)練好的分類器特征庫,運(yùn)用級(jí)聯(lián)的方法在當(dāng)前圖像中搜索手勢(shì)區(qū)域。
上述的手勢(shì)識(shí)別方法,所述步驟s34a之后,還包括:
步驟s35a,在運(yùn)動(dòng)區(qū)域中進(jìn)行手勢(shì)檢測(cè),計(jì)算檢測(cè)到的手勢(shì)矩形框與各個(gè)手勢(shì)隊(duì)列的檢測(cè)框的重疊率;
步驟s36a,判斷所述重疊率是否大于一第二設(shè)定閾值;如果是,執(zhí)行步驟s37a,如果否,執(zhí)行步驟s38a;
步驟s37a,將所述手勢(shì)矩形框分配到重疊率大于所述第二設(shè)定閾值的手勢(shì)隊(duì)列;
步驟s38a,將所述手勢(shì)矩形框分配入一新的手勢(shì)隊(duì)列。
上述的手勢(shì)識(shí)別方法,所述步驟s37b或所述步驟s38a之后,包括步驟s39a,判斷當(dāng)前的手勢(shì)隊(duì)列中存在的手勢(shì)數(shù)量是否到達(dá)第三閾值數(shù)量,若達(dá)到,則判斷識(shí)別到靜態(tài)手勢(shì),否則,繼續(xù)檢測(cè)。
上述的手勢(shì)識(shí)別方法,所述步驟s34a中所述分類器特征庫的訓(xùn)練步驟包括:
步驟s341a,對(duì)訓(xùn)練圖像的標(biāo)記區(qū)域計(jì)算出局部二值特征;
步驟s342a,自所述局部二值特征中篩選有效的特征,構(gòu)成第一分類器;
步驟s343a,通過組合多個(gè)所述第一分類器,構(gòu)成第二分類器;
步驟s343a,級(jí)聯(lián)多個(gè)所述第二分類器,形成用于設(shè)定靜態(tài)手勢(shì)檢測(cè)的 分類器特征庫。
上述的手勢(shì)識(shí)別方法,所述步驟s4包括進(jìn)行手勢(shì)跟蹤的步驟,具體如下:
步驟s41,獲得前一圖像幀的跟蹤區(qū)域?qū)?yīng)的聯(lián)通域,以所述聯(lián)通域在前一圖像幀的跟蹤區(qū)域部分作為第一區(qū)域部及所述聯(lián)通域在搜索域中的部分作為第二區(qū)域部;
步驟s42,獲得當(dāng)前跟蹤物體的聯(lián)通域;
步驟s43,依據(jù)所述當(dāng)前跟蹤物體的聯(lián)通域與所述第一區(qū)域部和所述第二區(qū)域部的相交區(qū)域求出所述相交區(qū)域的質(zhì)心;
步驟s44,以所述質(zhì)心作為新的跟蹤結(jié)果;
上述的手勢(shì)識(shí)別方法,所述步驟s4中還包括在所述運(yùn)動(dòng)區(qū)域中進(jìn)行滑動(dòng)手勢(shì)判斷,更新每一圖像幀的跟蹤結(jié)果的中心到所述手勢(shì)隊(duì)列時(shí),按以下公式更新滑動(dòng)方向值:
其中,x0、x1、…、xn-1、xn為每一圖像幀的跟蹤結(jié)果的中心的橫向坐標(biāo),y0、y1、…、yn-1、yn為每一圖像幀的跟蹤結(jié)果的中心的縱向坐標(biāo);
sxn為新的跟蹤結(jié)果中心相對(duì)于起始點(diǎn)的橫向滑動(dòng)值,sxn大于0則滑動(dòng)方向?yàn)橄蛴?,sxn小于0則滑動(dòng)方向?yàn)橄蜃螅?/p>
syn為新的跟蹤結(jié)果中心相對(duì)于起始點(diǎn)的縱向滑動(dòng)值,syn大于0則滑動(dòng)方向?yàn)橄蛳拢瑂yn小于0則滑動(dòng)方向?yàn)橄蛏稀?/p>
上述的手勢(shì)識(shí)別方法,所述步驟s4中還包括手勢(shì)變化判斷步驟,具體 包括:
在跟蹤結(jié)果的區(qū)域附近建立搜索域,在搜索域中進(jìn)行手勢(shì)的檢測(cè)及分配手勢(shì)隊(duì)列;
判斷所述手勢(shì)隊(duì)列中存在大于第四閾值數(shù)量的目標(biāo)手勢(shì)數(shù)量時(shí),認(rèn)為產(chǎn)生了一次起始手勢(shì)到目標(biāo)手勢(shì)的變化。
還包括,一種手勢(shì)識(shí)別系統(tǒng),包括,
圖像采集單元,用于采集圖像并獲取圖像序列;
運(yùn)動(dòng)分割單元,與所述圖像采集單元連接,用于計(jì)算所述圖像序列中的預(yù)定圖像幀之間的幀差,依據(jù)所述幀差進(jìn)行運(yùn)動(dòng)分割以獲取當(dāng)前的運(yùn)動(dòng)區(qū)域;
靜態(tài)手勢(shì)識(shí)別單元,與所述運(yùn)動(dòng)分割單元連接,用于在所述運(yùn)動(dòng)區(qū)域中識(shí)別靜態(tài)手勢(shì);
滑動(dòng)手勢(shì)識(shí)別單元,與所述靜態(tài)手勢(shì)識(shí)別單元連接,用于識(shí)別手勢(shì)的滑動(dòng)方向;
手勢(shì)變化識(shí)別單元,與所述滑動(dòng)手勢(shì)識(shí)別單元連接,用于識(shí)別是否由一起始手勢(shì)轉(zhuǎn)變?yōu)橐荒繕?biāo)手勢(shì)。
有益效果:以上方案可以同時(shí)支持多種靜態(tài)手勢(shì)及動(dòng)態(tài)手勢(shì)識(shí)別,改善了運(yùn)算量的復(fù)雜度,提升手勢(shì)識(shí)別精度,提高運(yùn)行效率;用于智能機(jī)器人時(shí),用戶不需攜帶任何輔助設(shè)備裝置,只需要通過自然的手勢(shì)變化即可實(shí)現(xiàn)控制。
附圖說明
圖1為本發(fā)明一種手勢(shì)識(shí)別方法的流程示意圖;
圖2為本發(fā)明一種手勢(shì)識(shí)別方法步驟s2的一種具體實(shí)施例的流程示意圖;
圖3為本發(fā)明一種手勢(shì)識(shí)別方法步驟s3的一種具體實(shí)施例的流程示意圖;
圖4為本發(fā)明一種手勢(shì)識(shí)別方法步驟s3中進(jìn)行靜態(tài)手勢(shì)識(shí)別的流程示意圖;
圖5為本發(fā)明一種手勢(shì)識(shí)別方法步驟s4中進(jìn)行手勢(shì)跟蹤的流程示意圖;
圖6為本發(fā)明一種手勢(shì)識(shí)別方法的手勢(shì)狀態(tài)切換示意圖;
圖7為本發(fā)明一種手勢(shì)識(shí)別方法的一種具體實(shí)施例的流程示意圖;
圖8為本發(fā)明的圖7中步驟3的具體實(shí)施例的流程示意圖;
圖9為本發(fā)明的一種手勢(shì)識(shí)別系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,但不作為本發(fā)明的限定。
參照?qǐng)D1,一種手勢(shì)識(shí)別方法,其中,包括以下步驟:
步驟s1,采集圖像以獲取圖像序列;
步驟s2,獲取圖像序列中的預(yù)定圖像幀之間的幀差,依據(jù)幀差進(jìn)行運(yùn)動(dòng)分割以獲取當(dāng)前的運(yùn)動(dòng)區(qū)域;
步驟s3,在運(yùn)動(dòng)區(qū)域中進(jìn)行靜態(tài)手勢(shì)識(shí)別;
步驟s4,在識(shí)別到靜態(tài)手勢(shì)后進(jìn)行動(dòng)態(tài)手勢(shì)識(shí)別。
根據(jù)采集圖像數(shù)據(jù)的設(shè)備和種類不同,步驟s1可以分為基于視覺的二維(two-dimensional,2d)圖像采集和基于深度的圖像采集,本發(fā)明優(yōu)選基于視覺的二維圖像輸入,并以檢測(cè)到靜態(tài)手勢(shì)作為入口,進(jìn)行動(dòng)態(tài)手勢(shì)的識(shí)別,可以同時(shí)支持多種靜態(tài)手勢(shì)及動(dòng)態(tài)手勢(shì)識(shí)別。
上述的手勢(shì)識(shí)別方法,參照?qǐng)D2,步驟s2具體如下:
步驟s21,計(jì)算二值幀差:獲取第n-1幀的像素灰度與第n-2幀的像素灰度之間的幀差作為第一幀差,取得第一幀差大于0的第一像素點(diǎn)集合;獲取第n幀的像素灰度與第n-2幀的像素灰度之間的幀差作為第二幀差,取得第二幀差中的第一像素點(diǎn)集合部分作為第二像素點(diǎn)集合;獲取第二像素點(diǎn)集合中像素大于第一設(shè)定閾值的第三像素點(diǎn)集合;
步驟s22,對(duì)于得到的第三像素點(diǎn)集合的幀差圖像進(jìn)行圖像處理以得到當(dāng)前運(yùn)動(dòng)圖;
步驟s23,將當(dāng)前運(yùn)動(dòng)圖更新至歷史運(yùn)動(dòng)信息中,并且引入時(shí)間信息;
步驟s24,利用歷史運(yùn)動(dòng)信息進(jìn)行運(yùn)動(dòng)分割以獲取當(dāng)前的運(yùn)動(dòng)區(qū)域。
運(yùn)動(dòng)分割的目的是將當(dāng)前運(yùn)動(dòng)的區(qū)域與非運(yùn)動(dòng)區(qū)域區(qū)分并且標(biāo)記出來,精確的分割是減少手勢(shì)檢測(cè)運(yùn)算量的重要前提,而快速的分割是提高系統(tǒng)運(yùn)行速度的重要前提。為了減少運(yùn)算量,本發(fā)明使用了基于幀差的運(yùn)動(dòng)分割方式,所需信息僅為三個(gè)圖像幀之間像素差的信息,對(duì)于輸入的每一幀圖像,進(jìn)行基于幀差的運(yùn)動(dòng)分割,得到運(yùn)動(dòng)區(qū)域。
上述的步驟s21具體實(shí)現(xiàn)如下:首先計(jì)算第n-1幀與第n-2幀之間的幀差作為第一幀差d1,d1=fn-1-fn-2,其中,fn-1為第n-1幀的像素灰度,fn-2 為第n-2幀的像素灰度;然后取得第一幀差大于0的第一像素點(diǎn)集合m1;獲取第n幀與第n-2幀之間的幀差作為第二幀差d2,d2=fn-fn-2,其中,fn為第n幀的像素灰度,fn-2為第n-2幀的像素灰度;n=2、3、4、…;取得第二幀差d2中的第一像素點(diǎn)集合m1部分作為第二像素點(diǎn)集合m2;即:m2=d2&m1;獲取第二像素點(diǎn)集合m2中像素大于第一設(shè)定閾值t的第三像素點(diǎn)集合m3;一種優(yōu)選的實(shí)施例,第一設(shè)定閾值t的取值為10。移動(dòng)平臺(tái)計(jì)算能力的限制以及實(shí)時(shí)性的要求,因此需要快速且運(yùn)算復(fù)雜度不高的方法。基于幀差的運(yùn)動(dòng)分割運(yùn)算復(fù)雜度低,經(jīng)過篩選后得到的運(yùn)動(dòng)區(qū)域相比原圖減少了手勢(shì)檢測(cè)中大量的運(yùn)算量,因此能夠滿足移動(dòng)平臺(tái)的要求。
對(duì)于得到的幀差圖像,即第三像素點(diǎn)集合m3,存在許多散落的點(diǎn),這些點(diǎn)可能是噪聲產(chǎn)生的,也可能是運(yùn)動(dòng)區(qū)域閾值化引起的。在這里需要進(jìn)行膨脹腐蝕等圖像處理,即執(zhí)行步驟s22,去除由于噪聲產(chǎn)生的較為分散的點(diǎn),連接由于閾值化引起的較為密集的小塊。具體地,首先對(duì)圖像進(jìn)行腐蝕處理,去除孤立點(diǎn),腐蝕的模版大小可以為g1×g1;對(duì)圖像進(jìn)行膨脹處理,連接運(yùn)動(dòng)區(qū)域中較為分散的小區(qū)塊;膨脹的模版大小可以為g2×g2。在這里,可以使用較小的腐蝕模版和較大的膨脹模版進(jìn)行圖像操作,如g1=2,g2=16,即分別為,腐蝕的模版大小為2×2,膨脹的模版大小為16×16,得到當(dāng)前運(yùn)動(dòng)圖m4。接著,將當(dāng)前運(yùn)動(dòng)圖m4更新至歷史運(yùn)動(dòng)信息中,并且引入時(shí)間信息。這是一種表達(dá)運(yùn)動(dòng)的簡(jiǎn)單方法,將運(yùn)動(dòng)理解成為連續(xù)的與時(shí)間關(guān)聯(lián)的輪廓層次,即帶時(shí)間加權(quán)的運(yùn)動(dòng)歷史圖像(motionhistoryimage,mhi),它表達(dá)了當(dāng)前的物體的位置,并且利用物體的運(yùn)動(dòng)信息來分割運(yùn)動(dòng)。這些被分割的區(qū)域 不是“運(yùn)動(dòng)塊”,而是自然的連接到物體的運(yùn)動(dòng)部分。更新時(shí),去除歷史運(yùn)動(dòng)圖中時(shí)間超過閾值的部分,將運(yùn)動(dòng)區(qū)域部分置為當(dāng)前時(shí)間,加入歷史運(yùn)動(dòng)圖。進(jìn)一步地,執(zhí)行步驟s24以對(duì)歷史運(yùn)動(dòng)圖計(jì)算梯度方向,得到運(yùn)動(dòng)輪廓。分割時(shí),掃描圖像找到當(dāng)前運(yùn)動(dòng)輪廓,沿著輪廓的邊緣尋找未被標(biāo)記的運(yùn)動(dòng)的區(qū)域,并且標(biāo)記,直到所有的輪廓循環(huán)完成,獲取當(dāng)前的運(yùn)動(dòng)區(qū)域。進(jìn)行運(yùn)動(dòng)分割得到運(yùn)動(dòng)矩形框時(shí),去除面積過小的矩形框,得到最終運(yùn)動(dòng)分割結(jié)果。
上述的手勢(shì)識(shí)別方法,在獲得當(dāng)前的運(yùn)動(dòng)區(qū)域后,進(jìn)行手勢(shì)檢測(cè)步驟,以檢測(cè)局部區(qū)域中的手勢(shì),并且為檢測(cè)到的手勢(shì)區(qū)域建立搜索域,標(biāo)記為感興趣區(qū)域;參照?qǐng)D3、圖4,步驟s3的具體步驟可以如下:
步驟s31a,將當(dāng)前圖像中的搜索窗口劃分成復(fù)數(shù)個(gè)子區(qū)域;
步驟s32a,對(duì)每個(gè)所述子區(qū)域中的每個(gè)像素計(jì)算出局部二值特征值,依據(jù)所述局部二值特征值獲得每個(gè)子區(qū)域的直方圖后進(jìn)行歸一化;
步驟s33a,將歸一化后的復(fù)數(shù)個(gè)所述子區(qū)域的直方圖連接成為特征向量;
步驟s34a,根據(jù)已訓(xùn)練好的分類器特征庫,運(yùn)用級(jí)聯(lián)的方法在當(dāng)前圖像中搜索手勢(shì)區(qū)域。
上述方法中,可以通過基于局部二值特征(localbinarypatterns,lbp)的檢測(cè)算法,如adaboost檢測(cè)算法判斷圖像中是否有特定手勢(shì)存在。
上述的步驟s34a之后,在運(yùn)動(dòng)區(qū)域中進(jìn)行手勢(shì)檢測(cè),對(duì)檢測(cè)到的手勢(shì)矩形框進(jìn)行隊(duì)列的分配;具體為:
步驟s35a,在運(yùn)動(dòng)區(qū)域中進(jìn)行手勢(shì)檢測(cè),計(jì)算檢測(cè)到的手勢(shì)矩形框與各個(gè)手勢(shì)隊(duì)列的檢測(cè)框的重疊率;
步驟s36a,判斷重疊率是否大于一第二設(shè)定閾值;如果是,執(zhí)行步驟s37a,如果否,執(zhí)行步驟s38a;
步驟s37a,將手勢(shì)矩形框分配到重疊率大于第二設(shè)定閾值的手勢(shì)隊(duì)列;
步驟s38a,將手勢(shì)矩形框分配入一新的手勢(shì)隊(duì)列。
步驟s37b或步驟s38a之后,包括步驟s39a,判斷當(dāng)前的手勢(shì)隊(duì)列中存在的手勢(shì)數(shù)量是否到達(dá)第三閾值數(shù)量,若達(dá)到,則執(zhí)行步驟s40a判斷識(shí)別到靜態(tài)手勢(shì),否則,繼續(xù)檢測(cè)。
上述的步驟s34a中分類器特征庫的訓(xùn)練步驟可以包括:
步驟s341a,對(duì)訓(xùn)練圖像的標(biāo)記區(qū)域計(jì)算出局部二值特征;
步驟s342a,自局部二值特征中篩選有效的特征,構(gòu)成第一分類器;
步驟s343a,通過組合多個(gè)第一分類器,構(gòu)成第二分類器;
步驟s343a,級(jí)聯(lián)多個(gè)第二分類器,形成特定手勢(shì)檢測(cè)的分類器特征庫。
分類器特征庫的訓(xùn)練步驟中,根據(jù)adaboost算法,第一分類器構(gòu)成弱分類器;通過組合多個(gè)弱分類器,構(gòu)成第二分類器,即強(qiáng)分類器;級(jí)聯(lián)多個(gè)強(qiáng)分類器,形成特定手勢(shì)檢測(cè)的分類器特征庫。
作為本發(fā)明的一種具體實(shí)施例,步驟s4包括進(jìn)行手勢(shì)跟蹤的步驟,在跟蹤得到的區(qū)域搜索域范圍內(nèi),進(jìn)行手勢(shì)檢測(cè),對(duì)跟蹤結(jié)果進(jìn)行校正及更新跟蹤點(diǎn)記錄;具體如下:
步驟s41,獲得前一圖像幀的跟蹤區(qū)域?qū)?yīng)的聯(lián)通域,以聯(lián)通域在前一圖像幀的跟蹤區(qū)域部分作為第一區(qū)域部及聯(lián)通域在搜索域中的部分作為第二區(qū)域部;
步驟s42,獲得當(dāng)前跟蹤物體的聯(lián)通域;
步驟s43,依據(jù)當(dāng)前跟蹤物體的聯(lián)通域與第一區(qū)域部和第二區(qū)域部的相交區(qū)域求出相交區(qū)域的質(zhì)心;
步驟s44,以質(zhì)心作為新的跟蹤結(jié)果。
上述的手勢(shì)識(shí)別方法,步驟s4中還包括在運(yùn)動(dòng)區(qū)域中進(jìn)行滑動(dòng)手勢(shì)判斷,更新每一圖像幀的跟蹤結(jié)果的中心到手勢(shì)隊(duì)列時(shí),按以下公式更新滑動(dòng)方向值:
其中,x0、x1、…、xn-1、xn為每一圖像幀的跟蹤結(jié)果的中心的橫向坐標(biāo),y0、y1、…、yn-1、yn為每一圖像幀的跟蹤結(jié)果的中心的縱向坐標(biāo);
sxn為新的跟蹤結(jié)果中心相對(duì)于起始點(diǎn)的橫向滑動(dòng)值,sxn大于0則滑動(dòng)方向?yàn)橄蛴?,sxn小于0則滑動(dòng)方向?yàn)橄蜃螅?/p>
syn為新的跟蹤結(jié)果中心相對(duì)于起始點(diǎn)的縱向滑動(dòng)值,syn大于0則滑動(dòng)方向?yàn)橄蛳?,syn小于0則滑動(dòng)方向?yàn)橄蛏稀?/p>
本發(fā)明還可進(jìn)行手勢(shì)變化判斷步驟,具體包括:
在跟蹤結(jié)果的區(qū)域附近建立搜索域,在搜索域中進(jìn)行手勢(shì)的檢測(cè)及分配手勢(shì)隊(duì)列;
判斷所述手勢(shì)隊(duì)列中存在大于第四閾值數(shù)量的目標(biāo)手勢(shì)數(shù)量時(shí),則產(chǎn)生了一次起始手勢(shì)到目標(biāo)手勢(shì)的變化。
與靜態(tài)手勢(shì)識(shí)別相似,若隊(duì)列中存在大于閾值數(shù)量的目標(biāo)手勢(shì)數(shù)量,則認(rèn)為產(chǎn)生了一次起始手勢(shì)到目標(biāo)手勢(shì)的變化。
參照?qǐng)D6的手勢(shì)狀態(tài)切換示意圖,基本手勢(shì)類型分為拳頭、手掌、贊和 不贊四種,對(duì)應(yīng)有上滑、下滑、左滑、右滑以及互相之間的變化。本發(fā)明可用于智能機(jī)器人,以通過相應(yīng)的手勢(shì)來開啟機(jī)器人的不同功能,實(shí)現(xiàn)與機(jī)器人的更為自然直接的交互。
圖7提供了本發(fā)明的一種具體實(shí)施例的流程示意圖:具體步驟為:
步驟1,圖像采集,通過圖像采集設(shè)備采集圖像數(shù)據(jù),送入下一步進(jìn)行處理;
步驟2,運(yùn)動(dòng)分割以獲得運(yùn)動(dòng)區(qū)域;
步驟3,是否檢測(cè)到靜態(tài)手勢(shì),如果檢測(cè)到靜態(tài)手勢(shì),執(zhí)行步驟4,否則,重復(fù)步驟3;靜態(tài)手勢(shì)識(shí)別包括手勢(shì)的檢測(cè)及靜態(tài)手勢(shì)判斷,以檢測(cè)到靜態(tài)手勢(shì)作為后續(xù)動(dòng)態(tài)手勢(shì)的入口;
步驟4,手勢(shì)跟蹤以獲得跟蹤結(jié)果;
步驟5,滑動(dòng)手勢(shì)判斷,如果檢測(cè)到手勢(shì)滑動(dòng),執(zhí)行步驟7,否則,執(zhí)行步驟6;
步驟6,手勢(shì)變化檢測(cè);如果檢測(cè)到手勢(shì)變化,執(zhí)行步驟8,否則,執(zhí)行步驟9;
步驟7,識(shí)別到滑動(dòng),進(jìn)行針對(duì)滑動(dòng)的后續(xù)操作;
步驟8,識(shí)別到變化,進(jìn)行針對(duì)手勢(shì)變化的后續(xù)操作;
步驟9,未識(shí)別到變化,重新執(zhí)行步驟1。
其中,步驟3的一種具體實(shí)施例為:
步驟31,是否檢測(cè)到靜態(tài)手勢(shì)一;如果是,執(zhí)行步驟4,如果否,執(zhí)行步驟32;
步驟32,是否檢測(cè)到靜態(tài)手勢(shì)二;如果是,執(zhí)行步驟4,如果否,執(zhí)行 步驟33;
步驟33,是否檢測(cè)到靜態(tài)手勢(shì)三;如果是,執(zhí)行步驟4,如果否,執(zhí)行步驟34;
步驟34,是否檢測(cè)到靜態(tài)手勢(shì)四;如果是,執(zhí)行步驟4,如果否,執(zhí)行步驟31。
以上示例性地輸出了四種靜態(tài)手勢(shì)的檢測(cè)流程,本發(fā)明的靜態(tài)手勢(shì)檢測(cè)流程可以根據(jù)檢測(cè)需要設(shè)置為多種,在此不作贅述。
還提供,一種手勢(shì)識(shí)別系統(tǒng),參照?qǐng)D8,包括,
圖像采集單元3,用于采集圖像并獲取圖像序列;
運(yùn)動(dòng)分割單元4,與圖像采集單元3連接,用于計(jì)算圖像序列中的預(yù)定圖像幀之間的幀差,依據(jù)幀差進(jìn)行運(yùn)動(dòng)分割以獲取當(dāng)前的運(yùn)動(dòng)區(qū)域;
靜態(tài)手勢(shì)識(shí)別單元5,與運(yùn)動(dòng)分割單元4連接,用于在運(yùn)動(dòng)區(qū)域中識(shí)別靜態(tài)手勢(shì);
滑動(dòng)手勢(shì)識(shí)別單元7,與靜態(tài)手勢(shì)識(shí)別單元5連接,用于識(shí)別靜態(tài)手勢(shì)的滑動(dòng)方向;
手勢(shì)變化識(shí)別單元6,與滑動(dòng)手勢(shì)識(shí)別單元7連接,用于識(shí)別是否由一起始手勢(shì)轉(zhuǎn)變?yōu)橐荒繕?biāo)手勢(shì)。
本發(fā)明綜合了運(yùn)動(dòng)檢測(cè)、物體檢測(cè)和運(yùn)動(dòng)跟蹤技術(shù),可以同時(shí)支持多種靜態(tài)、動(dòng)態(tài)手勢(shì),包括滑動(dòng)、手勢(shì)變化的識(shí)別等,提高精度,改善了運(yùn)算量的復(fù)雜度,提高運(yùn)行效率,使得其可以快速運(yùn)行在移動(dòng)端中,實(shí)時(shí)判斷當(dāng)前手勢(shì)。提供了一種自然的交互方式,用戶不需攜帶任何輔助設(shè)備裝置,只需要通過自然的手勢(shì)變化即可實(shí)現(xiàn)控制。
以上僅為本發(fā)明較佳的實(shí)施例,并非因此限制本發(fā)明的實(shí)施方式及保護(hù)范圍,對(duì)于本領(lǐng)域技術(shù)人員而言,應(yīng)當(dāng)能夠意識(shí)到凡運(yùn)用本發(fā)明說明書及圖示內(nèi)容所作出的等同替換和顯而易見的變化所得到的方案,均應(yīng)當(dāng)包含在本發(fā)明的保護(hù)范圍內(nèi)。