欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于改進(jìn)D?P算法與多模板匹配的手勢識別方法與流程

文檔序號:11200150閱讀:724來源:國知局
基于改進(jìn)D?P算法與多模板匹配的手勢識別方法與流程

本發(fā)明屬于手勢識別技術(shù)領(lǐng)域,具體涉及一種基于改進(jìn)d-p算法與多模板匹配的手勢識別方法。



背景技術(shù):

隨著計(jì)算機(jī)科學(xué)技術(shù)與人工智能的迅速發(fā)展,人機(jī)交互系統(tǒng)已成為研究的熱點(diǎn)。傳統(tǒng)的以鍵盤、鼠標(biāo)、攝像頭等機(jī)器為中心的交互方式,已經(jīng)不能滿足人類對人機(jī)交互方式的需求,也存在著很多問題日常交流中,人的手勢是一種比較常用且自然的交流、交互方式,是其和外界進(jìn)行交流的重要方式,也是現(xiàn)代和以后的人機(jī)交互技術(shù)領(lǐng)域一個(gè)非常值得深入研究的課題。所以,基于視覺的手勢識別技術(shù)的研究有著相當(dāng)重大的意義。

手勢識別技術(shù)是一項(xiàng)值得深入研究的課題,并且基于計(jì)算機(jī)視覺的手勢識別技術(shù)的探究有著十分廣闊的應(yīng)用前景:

(1)手勢識別是一種三維交互技術(shù)方法,應(yīng)用在虛擬空間交互技術(shù)中,通過手勢和語音來實(shí)現(xiàn)虛擬裝配。

(2)應(yīng)用于多媒體等用戶界面,將基于數(shù)據(jù)手套的手勢與用戶界面結(jié)合,實(shí)現(xiàn)手勢控制家電、視頻游戲等系統(tǒng)。

(3)應(yīng)用于機(jī)器人和機(jī)械手的抓取等方面,在一些水下、火中等危險(xiǎn)環(huán)境下使用手勢進(jìn)行人機(jī)交互。

(4)應(yīng)用于聾啞人或肢體癱瘓等殘障人士日常生活中,使其通過簡單的手勢實(shí)現(xiàn)與計(jì)算機(jī)的交流?;蛘咄ㄟ^手勢實(shí)現(xiàn)對日常家電(臺燈、風(fēng)扇、空調(diào)等)的控制,使其生活更加便利。

由于手是彈性物體,同一種手勢之間會有較大差別,不同手勢之間可能會可相似,不同的人做出的手勢也會不同,且手勢具有較大的冗余信息,在無意識的狀況下會產(chǎn)生非常多的手勢,因此對識別技術(shù)的運(yùn)算能力和識別正確度要求很高?,F(xiàn)有技術(shù)中有很多手勢識別的方法,例如,申請?zhí)枮?01610919465.6的中國發(fā)明專利公開了一種手勢圖像的識別方法及系統(tǒng),申請?zhí)枮?01510381721.6的中國專利公開了一種手勢識別方法及系統(tǒng),申請?zhí)枮?01610559968.7的中國專利公開了一種手勢識別方法和裝置。但是,現(xiàn)有技術(shù)中的手勢識別方法還存在以下問題:無法快速識別多手勢變化,識別的準(zhǔn)確率低,實(shí)時(shí)性差,限制了手勢識別的推廣應(yīng)用。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題在于針對上述現(xiàn)有技術(shù)中的不足,提供一種基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其設(shè)計(jì)新穎合理,手勢識別速率高,實(shí)時(shí)性好,手勢識別準(zhǔn)確率高,實(shí)用性強(qiáng),使用效果好,便于推廣使用。

為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于,該方法包括以下步驟:

步驟一、手勢圖像的實(shí)時(shí)采集及預(yù)處理:采用攝像頭拍攝手勢圖像視頻流并將圖像視頻流傳送給計(jì)算機(jī),計(jì)算機(jī)對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到實(shí)時(shí)的手勢輪廓圖像;

步驟二、計(jì)算機(jī)采用改進(jìn)d-p算法對步驟一中得到的實(shí)時(shí)的手勢輪廓圖像進(jìn)行多邊形逼近擬合,具體過程為:

步驟201、設(shè)定特征點(diǎn)選取閾值δ;

步驟202、從手勢輪廓曲線上選取一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn);

步驟203、從起點(diǎn)開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個(gè)搜尋步長,計(jì)算曲線上的點(diǎn)到所述曲線的起點(diǎn)與終點(diǎn)連成的直線之間的距離,并找出曲線上的點(diǎn)到所述直線的最大距離;

步驟204、將步驟203中找出的最大距離與步驟201中設(shè)定的特征點(diǎn)選取閾值δ進(jìn)行比較,當(dāng)最大距離大于或等于特征點(diǎn)選取閾值δ時(shí),將最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點(diǎn)選取閾值時(shí),將上次搜尋的終點(diǎn)作為下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點(diǎn)選取閾值δ的點(diǎn),將再找到的最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟202中選取的起點(diǎn)時(shí)結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點(diǎn);

步驟205、對手勢輪廓曲線上的所有特征點(diǎn)進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖;

步驟三、計(jì)算機(jī)采用自適應(yīng)閾值算法對步驟二中得到的手勢輪廓多邊形逼近圖進(jìn)行指尖點(diǎn)檢測,具體過程為:

步驟301、自適應(yīng)的指尖點(diǎn)選取閾值的確定:計(jì)算機(jī)根據(jù)公式計(jì)算得到指尖點(diǎn)選取閾值其中,w為步驟204中確定出的手勢輪廓曲線上的特征點(diǎn)的集合,n為步驟204中確定出的手勢輪廓曲線上的特征點(diǎn)的個(gè)數(shù),xi為第i個(gè)特征點(diǎn)的橫坐標(biāo),yi為第i個(gè)特征點(diǎn)的縱坐標(biāo),x0為手勢輪廓圖像的質(zhì)心的橫坐標(biāo),y0為手勢輪廓圖像的質(zhì)心的縱坐標(biāo),i的取值為1~n的自然數(shù);

步驟302、指尖點(diǎn)的確定:計(jì)算機(jī)以手勢輪廓圖像的質(zhì)心為圓心,指尖點(diǎn)選取閾值為半徑,畫圓,將落在圓外的特征點(diǎn)確定為指尖點(diǎn),并統(tǒng)計(jì)出指尖點(diǎn)個(gè)數(shù);

步驟四、計(jì)算機(jī)采用多模板匹配算法對手勢進(jìn)行匹配識別,確定出手勢;具體過程為:

步驟401、根據(jù)指尖點(diǎn)個(gè)數(shù)進(jìn)行手勢初步確定:計(jì)算機(jī)調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出手勢按指尖點(diǎn)個(gè)數(shù)分類的分類表,并在所述分類表中找出與步驟302中統(tǒng)計(jì)出的指尖點(diǎn)個(gè)數(shù)相對應(yīng)的手勢多模板庫中的手勢,初步確定出可能匹配的手勢;

步驟402、根據(jù)可能匹配的手勢的數(shù)量進(jìn)行手勢確定:當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量為1個(gè)時(shí),將步驟401中確定出的可能匹配的手勢確定為匹配的手勢;當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量大于1個(gè)時(shí),執(zhí)行步驟403確定匹配的手勢;

步驟403、根據(jù)hu矩特征值進(jìn)行匹配的手勢確定,具體過程為:

步驟4031、計(jì)算機(jī)調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出各個(gè)手勢對應(yīng)的修正后的hu矩特征值;

步驟4032、計(jì)算機(jī)調(diào)用hu矩特征值計(jì)算模塊計(jì)算出步驟一中得到的實(shí)時(shí)的手勢輪廓圖像的hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根據(jù)公式hk=|log(|φk|)|計(jì)算得到修正后的手勢輪廓圖像的hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;

步驟4033、計(jì)算機(jī)調(diào)用匹配度比較值計(jì)算模塊計(jì)算實(shí)時(shí)的手勢輪廓圖像與步驟401中確定出的可能匹配的手勢中各個(gè)手勢的匹配度比較值,并將匹配度比較值最小時(shí)對應(yīng)的可能匹配的手勢確定為匹配的手勢;其中,計(jì)算機(jī)根據(jù)計(jì)算公式計(jì)算實(shí)時(shí)的手勢輪廓圖像與步驟401中確定出的可能匹配的手勢中第m個(gè)手勢的匹配度im,為步驟401中確定出的可能匹配的手勢中第m個(gè)手勢對應(yīng)的修正后的hu矩特征值,m的取值為1~m的自然數(shù),m為步驟401中確定出的可能匹配的手勢的總個(gè)數(shù)。

上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:計(jì)算機(jī)構(gòu)建手勢多模板庫的具體過程為:

步驟a、獲取多個(gè)手勢的輪廓圖像:采用攝像頭拍攝手勢1~10的圖像視頻流并將圖像視頻流傳送給計(jì)算機(jī),計(jì)算機(jī)對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到手勢1~10中每種手勢的5個(gè)手勢輪廓圖像;其中,每種手勢的5個(gè)手勢輪廓圖像包括手勢的正視輪廓圖像,手勢的向左旋轉(zhuǎn)角度α的輪廓圖像,手勢的向右旋轉(zhuǎn)角度α的輪廓圖像,手勢的側(cè)視圖和手勢的縮放圖;

步驟b、計(jì)算機(jī)采用改進(jìn)d-p算法分別對多個(gè)手勢的輪廓圖像進(jìn)行多邊形逼近擬合,其中,對每個(gè)手勢的輪廓圖像進(jìn)行多邊形逼近擬合的具體過程為:

步驟b01、設(shè)定特征點(diǎn)選取閾值δ′;

步驟b02、從手勢輪廓曲線上選取一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn);

步驟b03、從起點(diǎn)開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個(gè)搜尋步長,計(jì)算曲線上的點(diǎn)到所述曲線的起點(diǎn)與終點(diǎn)連成的直線之間的距離,并找出曲線上的點(diǎn)到所述直線的最大距離;

步驟b04、將步驟b03中找出的最大距離與步驟b01中設(shè)定的特征點(diǎn)選取閾值δ′進(jìn)行比較,當(dāng)最大距離大于或等于特征點(diǎn)選取閾值δ′時(shí),將最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點(diǎn)選取閾值時(shí),將上次搜尋的終點(diǎn)作為下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點(diǎn)選取閾值δ′的點(diǎn),將再找到的最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟b02中選取的起點(diǎn)時(shí)結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點(diǎn);

步驟b05、對手勢輪廓曲線上的所有特征點(diǎn)進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖并進(jìn)行存儲;

步驟c、計(jì)算機(jī)采用自適應(yīng)閾值算法對步驟b中得到的多個(gè)手勢輪廓多邊形逼近圖進(jìn)行指尖點(diǎn)檢測,其中,對每個(gè)手勢輪廓多邊形逼近圖進(jìn)行指尖點(diǎn)檢測的具體過程為:

步驟c01、指尖點(diǎn)選取閾值的確定:計(jì)算機(jī)根據(jù)公式計(jì)算得到指尖點(diǎn)選取閾值其中,w′為步驟b04中確定出的手勢輪廓曲線上的特征點(diǎn)的集合,n′為步驟b04中確定出的手勢輪廓曲線上的特征點(diǎn)的個(gè)數(shù),x′i′為第i′個(gè)特征點(diǎn)的橫坐標(biāo),yi′為第i′個(gè)特征點(diǎn)的縱坐標(biāo),x′0為手勢輪廓圖像的質(zhì)心的橫坐標(biāo),y′0為手勢輪廓圖像的質(zhì)心的縱坐標(biāo),i′的取值為1~n′的自然數(shù);

步驟c02、指尖點(diǎn)的確定:計(jì)算機(jī)以手勢輪廓圖像的質(zhì)心為圓心,指尖點(diǎn)選取閾值為半徑,畫圓,將落在圓外的特征點(diǎn)確定為指尖點(diǎn),并統(tǒng)計(jì)出指尖點(diǎn)個(gè)數(shù);

步驟d、計(jì)算機(jī)根據(jù)指尖點(diǎn)個(gè)數(shù)對多個(gè)手勢進(jìn)行分類,將指尖點(diǎn)個(gè)數(shù)相同的手勢分為一類,并列出手勢按指尖點(diǎn)個(gè)數(shù)分類的分類表;

步驟e、計(jì)算機(jī)調(diào)用hu矩特征值計(jì)算模塊計(jì)算出各個(gè)手勢的輪廓圖像的hu矩特征值,并計(jì)算出各個(gè)手勢修正后的hu矩特征值,其中,計(jì)算機(jī)計(jì)算第r個(gè)手勢修正后的hu矩特征值采用的計(jì)算公式為k=1,2,…,7,r的取值為1~50的自然數(shù)。

上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟a中所述角度α的取值為15°。

上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟b02中選取手勢輪廓曲線上最低的一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn)。

上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟d中指尖點(diǎn)個(gè)數(shù)共有6種,指尖點(diǎn)個(gè)數(shù)為0的手勢為手勢10,分為第一類;指尖點(diǎn)個(gè)數(shù)為1的手勢為手勢1和手勢9,分為第二類;指尖點(diǎn)個(gè)數(shù)為2的手勢為手勢2、手勢6和手勢8,分為第三類;指尖點(diǎn)個(gè)數(shù)為3的手勢為手勢3和手勢7,分為第四類;指尖點(diǎn)個(gè)數(shù)為4的手勢為手勢4,分為第五類;指尖點(diǎn)個(gè)數(shù)為5的手勢為手勢5,分為第六類。

上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟202中選取手勢輪廓曲線上最低的一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn)。

本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):

1、本發(fā)明將d-p算法進(jìn)行改進(jìn)后應(yīng)用在手勢識別中,并與多模板匹配方法相結(jié)合,能夠快速準(zhǔn)確地識別出手勢,設(shè)計(jì)新穎合理。

2、本發(fā)明采用改進(jìn)d-p算法對手勢輪廓圖像進(jìn)行多邊形逼近擬合后,再進(jìn)行指尖點(diǎn)檢測,能夠準(zhǔn)確地獲得指尖點(diǎn)個(gè)數(shù),為對手勢按照指尖點(diǎn)個(gè)數(shù)分類奠定了基礎(chǔ),能夠有效提高手勢識別的準(zhǔn)確率。

3、本發(fā)明采用了先分類再進(jìn)行匹配的方法,能夠良好的減少匹配的次數(shù),提高手勢匹配的速率。

4、本發(fā)明通過多模板匹配,即對一種手勢的不同種類進(jìn)行匹配,能夠提高識別準(zhǔn)確率,有效地減少了匹配過程中的誤判率。

5、本發(fā)明在構(gòu)建手勢多模板庫時(shí),也采用了改進(jìn)d-p算法對手勢輪廓圖像進(jìn)行多邊形逼近擬合后,再進(jìn)行指尖點(diǎn)檢測,再根據(jù)指尖點(diǎn)個(gè)數(shù)進(jìn)行分類的方法,與現(xiàn)有技術(shù)中僅僅簡單構(gòu)建出手勢模板庫,進(jìn)行模板匹配的方法相比,能夠有效提高手勢識別的速率和準(zhǔn)確率。

6、本發(fā)明能夠用于手勢控制中,用于控制日常生活用品,如臺燈、風(fēng)扇、空調(diào)、電動窗簾等,還能應(yīng)用于多媒體人機(jī)交互中,實(shí)用性強(qiáng),使用效果好,便于推廣使用。

綜上所述,本發(fā)明設(shè)計(jì)新穎合理,手勢識別速率高,實(shí)時(shí)性好,手勢識別準(zhǔn)確率高,實(shí)用性強(qiáng),使用效果好,便于推廣使用。

下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。

附圖說明

圖1為本發(fā)明采用的硬件系統(tǒng)的電路連接框圖。

圖2為本發(fā)明手勢識別方法的方法流程框圖。

圖3為本發(fā)明構(gòu)建手勢多模板庫的方法流程框圖。

圖4a為本發(fā)明步驟202中選取進(jìn)行輪廓遍歷搜尋的起點(diǎn)的示意圖。

圖4b為本發(fā)明步驟204中選取進(jìn)行輪廓遍歷的新的起點(diǎn)的示意圖。

圖4c為本發(fā)明步驟204中確定出手勢輪廓曲線上的所有特征點(diǎn)的示意圖。

圖5a為本發(fā)明手勢1~10的手勢輪廓曲線圖。

圖5b為本發(fā)明經(jīng)過步驟二得到的手勢輪廓多邊形逼近圖。

圖5c為本發(fā)明經(jīng)過步驟三得到的手勢輪廓多邊形逼近圖指尖點(diǎn)檢測結(jié)果圖。

圖6為本發(fā)明手勢多模板庫的手勢輪廓圖像。

圖7為本發(fā)明第三類指尖點(diǎn)個(gè)數(shù)為2的手勢示意圖。

附圖標(biāo)記說明:

1—攝像頭;2—計(jì)算機(jī)。

具體實(shí)施方式

如圖1和圖2所示,本發(fā)明的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,包括以下步驟:

步驟一、手勢圖像的實(shí)時(shí)采集及預(yù)處理:采用攝像頭1拍攝手勢圖像視頻流并將圖像視頻流傳送給計(jì)算機(jī)2,計(jì)算機(jī)2對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到實(shí)時(shí)的手勢輪廓圖像;

步驟二、計(jì)算機(jī)2采用改進(jìn)d-p算法對步驟一中得到的實(shí)時(shí)的手勢輪廓圖像進(jìn)行多邊形逼近擬合,具體過程為:

步驟201、設(shè)定特征點(diǎn)選取閾值δ;

步驟202、從手勢輪廓曲線上選取一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn);

本實(shí)施例中,步驟202中選取手勢輪廓曲線上最低的一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn)。這樣的起點(diǎn)選取方法,能夠更加有序高效地進(jìn)行特征點(diǎn)遍歷搜尋,找出所有特征點(diǎn),提高了手勢識別的速率。例如,如圖4a中的s點(diǎn)。

步驟203、從起點(diǎn)開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個(gè)搜尋步長,計(jì)算曲線上的點(diǎn)到所述曲線的起點(diǎn)與終點(diǎn)連成的直線之間的距離,并找出曲線上的點(diǎn)到所述直線的最大距離;例如,如圖4a所示,步長為曲線sa1,曲線的起點(diǎn)與終點(diǎn)連成的直線為直線sa1,點(diǎn)b為曲線上的一點(diǎn),計(jì)算點(diǎn)b到直線sa1之間的距離;

步驟204、將步驟203中找出的最大距離與步驟201中設(shè)定的特征點(diǎn)選取閾值δ進(jìn)行比較,當(dāng)最大距離大于或等于特征點(diǎn)選取閾值δ時(shí),將最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點(diǎn)選取閾值時(shí),將上次搜尋的終點(diǎn)作為下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點(diǎn)選取閾值δ的點(diǎn),將再找到的最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟202中選取的起點(diǎn)時(shí)結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點(diǎn);例如,如圖4b所示,曲線bb1上的點(diǎn)到直線bb1上的最大距離小于特征點(diǎn)選取閾值δ,則將b1更新為下一次搜尋的新起點(diǎn),直到找到最大距離大于特征點(diǎn)選取閾值的點(diǎn),如在曲線b3b4上出現(xiàn)的點(diǎn)c到直線b3b4上的距離大于特征點(diǎn)選取閾值δ,則將點(diǎn)c作為特征點(diǎn)和下一次搜尋的新起點(diǎn);如圖4c所示,確定出的手勢輪廓曲線上的所有特征點(diǎn)為點(diǎn)b、點(diǎn)c、點(diǎn)e和點(diǎn)f;

步驟205、對手勢輪廓曲線上的所有特征點(diǎn)進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖;例如,如圖5a所示為手勢1~10的手勢輪廓曲線,如圖5b所示為經(jīng)過步驟二得到的手勢輪廓多邊形逼近圖。

douglas-peucker算法(簡稱d-p算法)是由daviddouglas和thomaspeucker于1973年提出的一種曲線抽稀算法,可對曲線大量冗余點(diǎn)進(jìn)行精簡并保留曲線最基本特征。簡單的說,根據(jù)曲線離散度給定一個(gè)初始偏差值,將曲線首尾點(diǎn)相連形成直線,并查詢曲線所有拐點(diǎn)中距離該直線最遠(yuǎn)的點(diǎn)。如果該點(diǎn)與直線的距離小于初始偏差值,則刪除該點(diǎn)并返回;如果該點(diǎn)與直線的距離大于初始偏差值,則保留該點(diǎn)作為特征點(diǎn),并以曲線首點(diǎn)和該點(diǎn)形成新的直線并重新查詢距離最遠(yuǎn)的點(diǎn);依此類推,直至搜索完曲線所有點(diǎn)并保留下特征點(diǎn)。d-p算法已是計(jì)算機(jī)圖形學(xué)曲線簡化常規(guī)方法,突出優(yōu)點(diǎn)是可保留曲線最大彎曲形態(tài)的點(diǎn),但是,如果將其應(yīng)用在手勢識別中,存在的缺點(diǎn)是:通過d-p算法遍歷搜尋曲線特征點(diǎn)時(shí),不是按照輪廓曲線的順序而進(jìn)行的,即特征點(diǎn)并不是順序出現(xiàn)的。為此,本發(fā)明提出了改進(jìn)d-p算法,改進(jìn)d-p算法與傳統(tǒng)d-p算法相比,搜尋特征點(diǎn)的方法不同,如以上步驟202、步驟203和步驟204所述,改進(jìn)d-p算法先設(shè)定手勢輪廓曲線上的一點(diǎn)為起點(diǎn),如果在一個(gè)步長中能夠?qū)ふ揖嚯x大于或等于特征點(diǎn)選取閾值的點(diǎn),就將該點(diǎn)作為特征點(diǎn)以該點(diǎn)作為新的起始點(diǎn)進(jìn)行下一個(gè)步長的尋找;如果該步長中沒有特征點(diǎn),就繼續(xù)進(jìn)行下一個(gè)步長。改進(jìn)d-p算法搜尋特征點(diǎn)的方法能夠使得特征點(diǎn)是按照輪廓曲線的順序而出現(xiàn)的,應(yīng)用在本發(fā)明中,能夠更加高效地尋找出手勢輪廓曲線上的所有特征點(diǎn)。

步驟三、計(jì)算機(jī)2采用自適應(yīng)閾值算法對步驟二中得到的手勢輪廓多邊形逼近圖進(jìn)行指尖點(diǎn)檢測,具體過程為:

步驟301、自適應(yīng)的指尖點(diǎn)選取閾值的確定:計(jì)算機(jī)2根據(jù)公式計(jì)算得到指尖點(diǎn)選取閾值其中,w為步驟204中確定出的手勢輪廓曲線上的特征點(diǎn)的集合,n為步驟204中確定出的手勢輪廓曲線上的特征點(diǎn)的個(gè)數(shù),xi為第i個(gè)特征點(diǎn)的橫坐標(biāo),yi為第i個(gè)特征點(diǎn)的縱坐標(biāo),x0為手勢輪廓圖像的質(zhì)心的橫坐標(biāo),y0為手勢輪廓圖像的質(zhì)心的縱坐標(biāo),i的取值為1~n的自然數(shù);

步驟302、指尖點(diǎn)的確定:計(jì)算機(jī)2以手勢輪廓圖像的質(zhì)心為圓心,指尖點(diǎn)選取閾值為半徑,畫圓,將落在圓外的特征點(diǎn)確定為指尖點(diǎn),并統(tǒng)計(jì)出指尖點(diǎn)個(gè)數(shù);

通過觀察圖5b可知,為了獲得手勢指尖,不能用凸點(diǎn)的個(gè)數(shù)來直接替代指尖點(diǎn)個(gè)數(shù),因?yàn)樵趯?shí)際情況中,在手勢輪廓多邊形逼近圖中的凸點(diǎn)往往比真正的指尖點(diǎn)個(gè)數(shù)要多。因此,步驟三中提出了采用自適應(yīng)閾值算法進(jìn)行手勢輪廓多邊形逼近圖指尖點(diǎn)檢測的方法,通過對各個(gè)手勢上的凸點(diǎn)和凹點(diǎn)到質(zhì)心的距離的分析,推導(dǎo)出了采用所有特征點(diǎn)到質(zhì)心的歐式距離的平均值作為指尖點(diǎn)選取閾值的方法,先計(jì)算出指尖點(diǎn)選取閾值,再以質(zhì)心為圓心,指尖點(diǎn)選取閾值為半徑,畫圓,將落在圓外的特征點(diǎn)確定為指尖點(diǎn),對于不滿足閾值的特征點(diǎn)進(jìn)行濾除,能夠獲得準(zhǔn)確的指尖點(diǎn)個(gè)數(shù),從而能夠有效提高手勢識別的準(zhǔn)確率,為對手勢按照指尖點(diǎn)個(gè)數(shù)分類奠定了基礎(chǔ)。通過指尖篩選后,獲取的手勢輪廓多邊形逼近圖指尖點(diǎn)檢測結(jié)果如圖5c所示。

步驟四、計(jì)算機(jī)2采用多模板匹配算法對手勢進(jìn)行匹配識別,確定出手勢;具體過程為:

步驟401、根據(jù)指尖點(diǎn)個(gè)數(shù)進(jìn)行手勢初步確定:計(jì)算機(jī)2調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出手勢按指尖點(diǎn)個(gè)數(shù)分類的分類表,并在所述分類表中找出與步驟302中統(tǒng)計(jì)出的指尖點(diǎn)個(gè)數(shù)相對應(yīng)的手勢多模板庫中的手勢,初步確定出可能匹配的手勢;

步驟402、根據(jù)可能匹配的手勢的數(shù)量進(jìn)行手勢確定:當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量為1個(gè)時(shí),將步驟401中確定出的可能匹配的手勢確定為匹配的手勢;當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量大于1個(gè)時(shí),執(zhí)行步驟403確定匹配的手勢;

步驟403、根據(jù)hu矩特征值進(jìn)行匹配的手勢確定,具體過程為:

步驟4031、計(jì)算機(jī)2調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出各個(gè)手勢對應(yīng)的修正后的hu矩特征值;

步驟4032、計(jì)算機(jī)2調(diào)用hu矩特征值計(jì)算模塊計(jì)算出步驟一中得到的實(shí)時(shí)的手勢輪廓圖像的hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根據(jù)公式hk=|log(|φk|)|計(jì)算得到修正后的手勢輪廓圖像的hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;

步驟4032中計(jì)算機(jī)2調(diào)用hu矩特征值計(jì)算模塊計(jì)算手勢輪廓圖像的hu矩特征值時(shí),采用現(xiàn)有技術(shù)中的hu矩特征值計(jì)算方法,但由于灰度圖像的hu矩特征值數(shù)值非常小,因此再通過采用公式hk=|log(|φk|)|來對計(jì)算結(jié)果進(jìn)行修正調(diào)整,應(yīng)用在本發(fā)明中,能夠很好地達(dá)到根據(jù)hu矩特征值進(jìn)行匹配的手勢確定的目的。

步驟4033、計(jì)算機(jī)2調(diào)用匹配度比較值計(jì)算模塊計(jì)算實(shí)時(shí)的手勢輪廓圖像與步驟401中確定出的可能匹配的手勢中各個(gè)手勢的匹配度比較值,并將匹配度比較值最小時(shí)對應(yīng)的可能匹配的手勢確定為匹配的手勢;其中,計(jì)算機(jī)2根據(jù)計(jì)算公式計(jì)算實(shí)時(shí)的手勢輪廓圖像與步驟401中確定出的可能匹配的手勢中第m個(gè)手勢的匹配度im,為步驟401中確定出的可能匹配的手勢中第m個(gè)手勢對應(yīng)的修正后的hu矩特征值,m的取值為1~m的自然數(shù),m為步驟401中確定出的可能匹配的手勢的總個(gè)數(shù)。

步驟4033實(shí)現(xiàn)了采用hu矩特征值比較待識別的手勢與可能識別的手勢的相似度,能夠識別出待識別的手勢。

在手勢識別時(shí)采用單模板匹配算法對手勢進(jìn)行匹配識別,方法簡單易行,但是在實(shí)際情況中,由于每個(gè)人的手勢形狀、大小等的不同,使得手勢識別的誤判率比較高。所以本發(fā)明設(shè)計(jì)實(shí)現(xiàn)了一種多模板匹配算法,通過將待識別手勢與手勢多模板庫中的多個(gè)手勢進(jìn)行對比、匹配,能夠達(dá)到快速且高效的匹配結(jié)果,有效提高了手勢識別的速率和準(zhǔn)確率,減少了手勢誤判率。

以上的步驟四采用了先根據(jù)指尖點(diǎn)個(gè)數(shù)進(jìn)行分類再進(jìn)行多模板匹配的方法,與現(xiàn)有技術(shù)中僅進(jìn)行指尖檢測或僅進(jìn)行模板匹配的手勢識別方法相比,能夠提高手勢識別的速率,且能夠有效減少匹配的次數(shù),提高手勢匹配的準(zhǔn)確率。

本實(shí)施例中,計(jì)算機(jī)2構(gòu)建手勢多模板庫的具體過程為:

步驟a、獲取多個(gè)手勢的輪廓圖像:采用攝像頭1拍攝手勢1~10的圖像視頻流并將圖像視頻流傳送給計(jì)算機(jī)2,計(jì)算機(jī)2對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到手勢1~10中每種手勢的5個(gè)手勢輪廓圖像;其中,每種手勢的5個(gè)手勢輪廓圖像包括手勢的正視輪廓圖像,手勢的向左旋轉(zhuǎn)角度α的輪廓圖像,手勢的向右旋轉(zhuǎn)角度α的輪廓圖像,手勢的側(cè)視圖和手勢的縮放圖;

本實(shí)施例中,步驟a中所述角度α的取值為15°。角度α的具體取值,考慮了人在做出手勢時(shí)經(jīng)常出現(xiàn)的角度,與實(shí)際更為相符,且這樣的取值能夠提高手勢識別的速率和準(zhǔn)確率。手勢多模板庫的手勢輪廓圖像如圖6所示。總共有50個(gè)不同手勢的模板。

步驟b、計(jì)算機(jī)2采用改進(jìn)d-p算法分別對多個(gè)手勢的輪廓圖像進(jìn)行多邊形逼近擬合,其中,對每個(gè)手勢的輪廓圖像進(jìn)行多邊形逼近擬合的具體過程為:

步驟b01、設(shè)定特征點(diǎn)選取閾值δ′;

步驟b02、從手勢輪廓曲線上選取一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn);

本實(shí)施例中,步驟b02中選取手勢輪廓曲線上最低的一點(diǎn)作為進(jìn)行輪廓遍歷搜尋的起點(diǎn)。這樣的起點(diǎn)選取方法,能夠更加有序高效地進(jìn)行特征點(diǎn)遍歷搜尋,找出所有特征點(diǎn),提高了手勢識別的速率。

步驟b03、從起點(diǎn)開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個(gè)搜尋步長,計(jì)算曲線上的點(diǎn)到所述曲線的起點(diǎn)與終點(diǎn)連成的直線之間的距離,并找出曲線上的點(diǎn)到所述直線的最大距離;

步驟b04、將步驟b03中找出的最大距離與步驟b01中設(shè)定的特征點(diǎn)選取閾值δ′進(jìn)行比較,當(dāng)最大距離大于或等于特征點(diǎn)選取閾值δ′時(shí),將最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點(diǎn)選取閾值時(shí),將上次搜尋的終點(diǎn)作為下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點(diǎn)選取閾值δ′的點(diǎn),將再找到的最大距離對應(yīng)的曲線上的點(diǎn)作為特征點(diǎn)和下一次搜尋的新起點(diǎn),按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟b02中選取的起點(diǎn)時(shí)結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點(diǎn);

步驟b05、對手勢輪廓曲線上的所有特征點(diǎn)進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖并進(jìn)行存儲;

步驟c、計(jì)算機(jī)2采用自適應(yīng)閾值算法對步驟b中得到的多個(gè)手勢輪廓多邊形逼近圖進(jìn)行指尖點(diǎn)檢測,其中,對每個(gè)手勢輪廓多邊形逼近圖進(jìn)行指尖點(diǎn)檢測的具體過程為:

步驟c01、指尖點(diǎn)選取閾值的確定:計(jì)算機(jī)2根據(jù)公式計(jì)算得到指尖點(diǎn)選取閾值其中,w′為步驟b04中確定出的手勢輪廓曲線上的特征點(diǎn)的集合,n′為步驟b04中確定出的手勢輪廓曲線上的特征點(diǎn)的個(gè)數(shù),x′i′為第i′個(gè)特征點(diǎn)的橫坐標(biāo),yi′為第i′個(gè)特征點(diǎn)的縱坐標(biāo),x′0為手勢輪廓圖像的質(zhì)心的橫坐標(biāo),y′0為手勢輪廓圖像的質(zhì)心的縱坐標(biāo),i′的取值為1~n′的自然數(shù);

步驟c02、指尖點(diǎn)的確定:計(jì)算機(jī)2以手勢輪廓圖像的質(zhì)心為圓心,指尖點(diǎn)選取閾值為半徑,畫圓,將落在圓外的特征點(diǎn)確定為指尖點(diǎn),并統(tǒng)計(jì)出指尖點(diǎn)個(gè)數(shù);

步驟d、計(jì)算機(jī)2根據(jù)指尖點(diǎn)個(gè)數(shù)對多個(gè)手勢進(jìn)行分類,將指尖點(diǎn)個(gè)數(shù)相同的手勢分為一類,并列出手勢按指尖點(diǎn)個(gè)數(shù)分類的分類表;

本實(shí)施例中,步驟d中指尖點(diǎn)個(gè)數(shù)共有6種,指尖點(diǎn)個(gè)數(shù)為0的手勢為手勢10,分為第一類;指尖點(diǎn)個(gè)數(shù)為1的手勢為手勢1和手勢9,分為第二類;指尖點(diǎn)個(gè)數(shù)為2的手勢為手勢2、手勢6和手勢8,分為第三類;指尖點(diǎn)個(gè)數(shù)為3的手勢為手勢3和手勢7,分為第四類;指尖點(diǎn)個(gè)數(shù)為4的手勢為手勢4,分為第五類;指尖點(diǎn)個(gè)數(shù)為5的手勢為手勢5,分為第六類。例如,如圖7所示為三類,指尖點(diǎn)個(gè)數(shù)為2的手勢,從左到右依次為手勢2、手勢6和手勢8。列出的手勢按指尖點(diǎn)個(gè)數(shù)分類的分類表如表1所示。

表1手勢按指尖點(diǎn)個(gè)數(shù)分類的分類表

步驟e、計(jì)算機(jī)2調(diào)用hu矩特征值計(jì)算模塊計(jì)算出各個(gè)手勢的輪廓圖像的hu矩特征值,并計(jì)算出各個(gè)手勢修正后的hu矩特征值,其中,計(jì)算機(jī)2計(jì)算第r個(gè)手勢修正后的hu矩特征值采用的計(jì)算公式為k=1,2,…,7,r的取值為1~50的自然數(shù)。

具體實(shí)施時(shí),步驟b03與步驟203中的搜尋步長可以相等也可以不相等。

步驟a至e中構(gòu)建手勢多模板庫的方法,也采用了改進(jìn)d-p算法對手勢輪廓圖像進(jìn)行多邊形逼近擬合后,再進(jìn)行指尖點(diǎn)檢測,再根據(jù)指尖點(diǎn)個(gè)數(shù)進(jìn)行分類的方法,與現(xiàn)有技術(shù)中僅僅簡單構(gòu)建出手勢模板庫,進(jìn)行模板匹配的方法相比,大大減小了手勢匹配的信息量,能夠有效提高手勢識別的速率和準(zhǔn)確率。將此種構(gòu)建手勢多模板庫的方法與步驟一至四中的手勢識別方法相配合,更進(jìn)一步提高了手勢識別的速率和準(zhǔn)確率,手勢識別時(shí)間能夠減小原來手勢識別所需時(shí)間的三分之一左右。

綜上所述,本發(fā)明采用改進(jìn)d-p算法對攝像頭1拍攝到的手勢圖像進(jìn)行多邊形逼近擬合,再進(jìn)行指尖點(diǎn)個(gè)數(shù)檢測,對應(yīng)找到手勢多模板庫中對應(yīng)的手勢類別,然后再根據(jù)hu矩特征值進(jìn)行匹配的手勢確定,采用這種先分類再進(jìn)行匹配的方法,能夠良好的減少匹配的次數(shù),提高手勢匹配的速率。并且,通過多模板匹配,即對一種手勢的不同種類進(jìn)行匹配,能夠提高識別準(zhǔn)確率,有效地減少了匹配過程中的誤判率。

以上所述,僅是本發(fā)明的較佳實(shí)施例,并非對本發(fā)明作任何限制,凡是根據(jù)本發(fā)明技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的任何簡單修改、變更以及等效結(jié)構(gòu)變化,均仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
尉氏县| 刚察县| 鄂尔多斯市| 库车县| 盐亭县| 平顺县| 吉林市| 桂阳县| 体育| 二连浩特市| 新竹市| 宝应县| 龙井市| 中宁县| 隆林| 南江县| 东乡族自治县| 郯城县| 东至县| 旬阳县| 三都| 太保市| 定兴县| 凤山县| 高尔夫| 肇州县| 南华县| 平邑县| 乌拉特中旗| 五大连池市| 濉溪县| 佳木斯市| 凤山市| 岱山县| 怀柔区| 安溪县| 蒙城县| 镇坪县| 满洲里市| 巴彦淖尔市| 平果县|