本發(fā)明屬于手勢識別技術(shù)領(lǐng)域,具體涉及一種基于改進(jìn)d-p算法與多模板匹配的手勢識別方法。
背景技術(shù):
隨著計算機(jī)科學(xué)技術(shù)與人工智能的迅速發(fā)展,人機(jī)交互系統(tǒng)已成為研究的熱點。傳統(tǒng)的以鍵盤、鼠標(biāo)、攝像頭等機(jī)器為中心的交互方式,已經(jīng)不能滿足人類對人機(jī)交互方式的需求,也存在著很多問題日常交流中,人的手勢是一種比較常用且自然的交流、交互方式,是其和外界進(jìn)行交流的重要方式,也是現(xiàn)代和以后的人機(jī)交互技術(shù)領(lǐng)域一個非常值得深入研究的課題。所以,基于視覺的手勢識別技術(shù)的研究有著相當(dāng)重大的意義。
手勢識別技術(shù)是一項值得深入研究的課題,并且基于計算機(jī)視覺的手勢識別技術(shù)的探究有著十分廣闊的應(yīng)用前景:
(1)手勢識別是一種三維交互技術(shù)方法,應(yīng)用在虛擬空間交互技術(shù)中,通過手勢和語音來實現(xiàn)虛擬裝配。
(2)應(yīng)用于多媒體等用戶界面,將基于數(shù)據(jù)手套的手勢與用戶界面結(jié)合,實現(xiàn)手勢控制家電、視頻游戲等系統(tǒng)。
(3)應(yīng)用于機(jī)器人和機(jī)械手的抓取等方面,在一些水下、火中等危險環(huán)境下使用手勢進(jìn)行人機(jī)交互。
(4)應(yīng)用于聾啞人或肢體癱瘓等殘障人士日常生活中,使其通過簡單的手勢實現(xiàn)與計算機(jī)的交流?;蛘咄ㄟ^手勢實現(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)確率低,實時性差,限制了手勢識別的推廣應(yīng)用。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于針對上述現(xiàn)有技術(shù)中的不足,提供一種基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其設(shè)計新穎合理,手勢識別速率高,實時性好,手勢識別準(zhǔn)確率高,實用性強(qiáng),使用效果好,便于推廣使用。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于,該方法包括以下步驟:
步驟一、手勢圖像的實時采集及預(yù)處理:采用攝像頭拍攝手勢圖像視頻流并將圖像視頻流傳送給計算機(jī),計算機(jī)對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到實時的手勢輪廓圖像;
步驟二、計算機(jī)采用改進(jìn)d-p算法對步驟一中得到的實時的手勢輪廓圖像進(jìn)行多邊形逼近擬合,具體過程為:
步驟201、設(shè)定特征點選取閾值δ;
步驟202、從手勢輪廓曲線上選取一點作為進(jìn)行輪廓遍歷搜尋的起點;
步驟203、從起點開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個搜尋步長,計算曲線上的點到所述曲線的起點與終點連成的直線之間的距離,并找出曲線上的點到所述直線的最大距離;
步驟204、將步驟203中找出的最大距離與步驟201中設(shè)定的特征點選取閾值δ進(jìn)行比較,當(dāng)最大距離大于或等于特征點選取閾值δ時,將最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點選取閾值時,將上次搜尋的終點作為下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點選取閾值δ的點,將再找到的最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟202中選取的起點時結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點;
步驟205、對手勢輪廓曲線上的所有特征點進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖;
步驟三、計算機(jī)采用自適應(yīng)閾值算法對步驟二中得到的手勢輪廓多邊形逼近圖進(jìn)行指尖點檢測,具體過程為:
步驟301、自適應(yīng)的指尖點選取閾值的確定:計算機(jī)根據(jù)公式
步驟302、指尖點的確定:計算機(jī)以手勢輪廓圖像的質(zhì)心為圓心,指尖點選取閾值
步驟四、計算機(jī)采用多模板匹配算法對手勢進(jìn)行匹配識別,確定出手勢;具體過程為:
步驟401、根據(jù)指尖點個數(shù)進(jìn)行手勢初步確定:計算機(jī)調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出手勢按指尖點個數(shù)分類的分類表,并在所述分類表中找出與步驟302中統(tǒng)計出的指尖點個數(shù)相對應(yīng)的手勢多模板庫中的手勢,初步確定出可能匹配的手勢;
步驟402、根據(jù)可能匹配的手勢的數(shù)量進(jìn)行手勢確定:當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量為1個時,將步驟401中確定出的可能匹配的手勢確定為匹配的手勢;當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量大于1個時,執(zhí)行步驟403確定匹配的手勢;
步驟403、根據(jù)hu矩特征值進(jìn)行匹配的手勢確定,具體過程為:
步驟4031、計算機(jī)調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出各個手勢對應(yīng)的修正后的hu矩特征值;
步驟4032、計算機(jī)調(diào)用hu矩特征值計算模塊計算出步驟一中得到的實時的手勢輪廓圖像的hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根據(jù)公式hk=|log(|φk|)|計算得到修正后的手勢輪廓圖像的hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;
步驟4033、計算機(jī)調(diào)用匹配度比較值計算模塊計算實時的手勢輪廓圖像與步驟401中確定出的可能匹配的手勢中各個手勢的匹配度比較值,并將匹配度比較值最小時對應(yīng)的可能匹配的手勢確定為匹配的手勢;其中,計算機(jī)根據(jù)計算公式
上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:計算機(jī)構(gòu)建手勢多模板庫的具體過程為:
步驟a、獲取多個手勢的輪廓圖像:采用攝像頭拍攝手勢1~10的圖像視頻流并將圖像視頻流傳送給計算機(jī),計算機(jī)對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到手勢1~10中每種手勢的5個手勢輪廓圖像;其中,每種手勢的5個手勢輪廓圖像包括手勢的正視輪廓圖像,手勢的向左旋轉(zhuǎn)角度α的輪廓圖像,手勢的向右旋轉(zhuǎn)角度α的輪廓圖像,手勢的側(cè)視圖和手勢的縮放圖;
步驟b、計算機(jī)采用改進(jìn)d-p算法分別對多個手勢的輪廓圖像進(jìn)行多邊形逼近擬合,其中,對每個手勢的輪廓圖像進(jìn)行多邊形逼近擬合的具體過程為:
步驟b01、設(shè)定特征點選取閾值δ′;
步驟b02、從手勢輪廓曲線上選取一點作為進(jìn)行輪廓遍歷搜尋的起點;
步驟b03、從起點開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個搜尋步長,計算曲線上的點到所述曲線的起點與終點連成的直線之間的距離,并找出曲線上的點到所述直線的最大距離;
步驟b04、將步驟b03中找出的最大距離與步驟b01中設(shè)定的特征點選取閾值δ′進(jìn)行比較,當(dāng)最大距離大于或等于特征點選取閾值δ′時,將最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點選取閾值時,將上次搜尋的終點作為下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點選取閾值δ′的點,將再找到的最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟b02中選取的起點時結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點;
步驟b05、對手勢輪廓曲線上的所有特征點進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖并進(jìn)行存儲;
步驟c、計算機(jī)采用自適應(yīng)閾值算法對步驟b中得到的多個手勢輪廓多邊形逼近圖進(jìn)行指尖點檢測,其中,對每個手勢輪廓多邊形逼近圖進(jìn)行指尖點檢測的具體過程為:
步驟c01、指尖點選取閾值的確定:計算機(jī)根據(jù)公式
步驟c02、指尖點的確定:計算機(jī)以手勢輪廓圖像的質(zhì)心為圓心,指尖點選取閾值
步驟d、計算機(jī)根據(jù)指尖點個數(shù)對多個手勢進(jìn)行分類,將指尖點個數(shù)相同的手勢分為一類,并列出手勢按指尖點個數(shù)分類的分類表;
步驟e、計算機(jī)調(diào)用hu矩特征值計算模塊計算出各個手勢的輪廓圖像的hu矩特征值,并計算出各個手勢修正后的hu矩特征值,其中,計算機(jī)計算第r個手勢修正后的hu矩特征值
上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟a中所述角度α的取值為15°。
上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟b02中選取手勢輪廓曲線上最低的一點作為進(jìn)行輪廓遍歷搜尋的起點。
上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟d中指尖點個數(shù)共有6種,指尖點個數(shù)為0的手勢為手勢10,分為第一類;指尖點個數(shù)為1的手勢為手勢1和手勢9,分為第二類;指尖點個數(shù)為2的手勢為手勢2、手勢6和手勢8,分為第三類;指尖點個數(shù)為3的手勢為手勢3和手勢7,分為第四類;指尖點個數(shù)為4的手勢為手勢4,分為第五類;指尖點個數(shù)為5的手勢為手勢5,分為第六類。
上述的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,其特征在于:步驟202中選取手勢輪廓曲線上最低的一點作為進(jìn)行輪廓遍歷搜尋的起點。
本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點:
1、本發(fā)明將d-p算法進(jìn)行改進(jìn)后應(yīng)用在手勢識別中,并與多模板匹配方法相結(jié)合,能夠快速準(zhǔn)確地識別出手勢,設(shè)計新穎合理。
2、本發(fā)明采用改進(jìn)d-p算法對手勢輪廓圖像進(jìn)行多邊形逼近擬合后,再進(jìn)行指尖點檢測,能夠準(zhǔn)確地獲得指尖點個數(shù),為對手勢按照指尖點個數(shù)分類奠定了基礎(chǔ),能夠有效提高手勢識別的準(zhǔn)確率。
3、本發(fā)明采用了先分類再進(jìn)行匹配的方法,能夠良好的減少匹配的次數(shù),提高手勢匹配的速率。
4、本發(fā)明通過多模板匹配,即對一種手勢的不同種類進(jìn)行匹配,能夠提高識別準(zhǔn)確率,有效地減少了匹配過程中的誤判率。
5、本發(fā)明在構(gòu)建手勢多模板庫時,也采用了改進(jìn)d-p算法對手勢輪廓圖像進(jìn)行多邊形逼近擬合后,再進(jìn)行指尖點檢測,再根據(jù)指尖點個數(shù)進(jìn)行分類的方法,與現(xiàn)有技術(shù)中僅僅簡單構(gòu)建出手勢模板庫,進(jìn)行模板匹配的方法相比,能夠有效提高手勢識別的速率和準(zhǔn)確率。
6、本發(fā)明能夠用于手勢控制中,用于控制日常生活用品,如臺燈、風(fēng)扇、空調(diào)、電動窗簾等,還能應(yīng)用于多媒體人機(jī)交互中,實用性強(qiáng),使用效果好,便于推廣使用。
綜上所述,本發(fā)明設(shè)計新穎合理,手勢識別速率高,實時性好,手勢識別準(zhǔn)確率高,實用性強(qiáng),使用效果好,便于推廣使用。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
圖1為本發(fā)明采用的硬件系統(tǒng)的電路連接框圖。
圖2為本發(fā)明手勢識別方法的方法流程框圖。
圖3為本發(fā)明構(gòu)建手勢多模板庫的方法流程框圖。
圖4a為本發(fā)明步驟202中選取進(jìn)行輪廓遍歷搜尋的起點的示意圖。
圖4b為本發(fā)明步驟204中選取進(jìn)行輪廓遍歷的新的起點的示意圖。
圖4c為本發(fā)明步驟204中確定出手勢輪廓曲線上的所有特征點的示意圖。
圖5a為本發(fā)明手勢1~10的手勢輪廓曲線圖。
圖5b為本發(fā)明經(jīng)過步驟二得到的手勢輪廓多邊形逼近圖。
圖5c為本發(fā)明經(jīng)過步驟三得到的手勢輪廓多邊形逼近圖指尖點檢測結(jié)果圖。
圖6為本發(fā)明手勢多模板庫的手勢輪廓圖像。
圖7為本發(fā)明第三類指尖點個數(shù)為2的手勢示意圖。
附圖標(biāo)記說明:
1—攝像頭;2—計算機(jī)。
具體實施方式
如圖1和圖2所示,本發(fā)明的基于改進(jìn)d-p算法與多模板匹配的手勢識別方法,包括以下步驟:
步驟一、手勢圖像的實時采集及預(yù)處理:采用攝像頭1拍攝手勢圖像視頻流并將圖像視頻流傳送給計算機(jī)2,計算機(jī)2對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到實時的手勢輪廓圖像;
步驟二、計算機(jī)2采用改進(jìn)d-p算法對步驟一中得到的實時的手勢輪廓圖像進(jìn)行多邊形逼近擬合,具體過程為:
步驟201、設(shè)定特征點選取閾值δ;
步驟202、從手勢輪廓曲線上選取一點作為進(jìn)行輪廓遍歷搜尋的起點;
本實施例中,步驟202中選取手勢輪廓曲線上最低的一點作為進(jìn)行輪廓遍歷搜尋的起點。這樣的起點選取方法,能夠更加有序高效地進(jìn)行特征點遍歷搜尋,找出所有特征點,提高了手勢識別的速率。例如,如圖4a中的s點。
步驟203、從起點開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個搜尋步長,計算曲線上的點到所述曲線的起點與終點連成的直線之間的距離,并找出曲線上的點到所述直線的最大距離;例如,如圖4a所示,步長為曲線sa1,曲線的起點與終點連成的直線為直線sa1,點b為曲線上的一點,計算點b到直線sa1之間的距離;
步驟204、將步驟203中找出的最大距離與步驟201中設(shè)定的特征點選取閾值δ進(jìn)行比較,當(dāng)最大距離大于或等于特征點選取閾值δ時,將最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點選取閾值時,將上次搜尋的終點作為下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點選取閾值δ的點,將再找到的最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟202中選取的起點時結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點;例如,如圖4b所示,曲線bb1上的點到直線bb1上的最大距離小于特征點選取閾值δ,則將b1更新為下一次搜尋的新起點,直到找到最大距離大于特征點選取閾值的點,如在曲線b3b4上出現(xiàn)的點c到直線b3b4上的距離大于特征點選取閾值δ,則將點c作為特征點和下一次搜尋的新起點;如圖4c所示,確定出的手勢輪廓曲線上的所有特征點為點b、點c、點e和點f;
步驟205、對手勢輪廓曲線上的所有特征點進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖;例如,如圖5a所示為手勢1~10的手勢輪廓曲線,如圖5b所示為經(jīng)過步驟二得到的手勢輪廓多邊形逼近圖。
douglas-peucker算法(簡稱d-p算法)是由daviddouglas和thomaspeucker于1973年提出的一種曲線抽稀算法,可對曲線大量冗余點進(jìn)行精簡并保留曲線最基本特征。簡單的說,根據(jù)曲線離散度給定一個初始偏差值,將曲線首尾點相連形成直線,并查詢曲線所有拐點中距離該直線最遠(yuǎn)的點。如果該點與直線的距離小于初始偏差值,則刪除該點并返回;如果該點與直線的距離大于初始偏差值,則保留該點作為特征點,并以曲線首點和該點形成新的直線并重新查詢距離最遠(yuǎn)的點;依此類推,直至搜索完曲線所有點并保留下特征點。d-p算法已是計算機(jī)圖形學(xué)曲線簡化常規(guī)方法,突出優(yōu)點是可保留曲線最大彎曲形態(tài)的點,但是,如果將其應(yīng)用在手勢識別中,存在的缺點是:通過d-p算法遍歷搜尋曲線特征點時,不是按照輪廓曲線的順序而進(jìn)行的,即特征點并不是順序出現(xiàn)的。為此,本發(fā)明提出了改進(jìn)d-p算法,改進(jìn)d-p算法與傳統(tǒng)d-p算法相比,搜尋特征點的方法不同,如以上步驟202、步驟203和步驟204所述,改進(jìn)d-p算法先設(shè)定手勢輪廓曲線上的一點為起點,如果在一個步長中能夠?qū)ふ揖嚯x大于或等于特征點選取閾值的點,就將該點作為特征點以該點作為新的起始點進(jìn)行下一個步長的尋找;如果該步長中沒有特征點,就繼續(xù)進(jìn)行下一個步長。改進(jìn)d-p算法搜尋特征點的方法能夠使得特征點是按照輪廓曲線的順序而出現(xiàn)的,應(yīng)用在本發(fā)明中,能夠更加高效地尋找出手勢輪廓曲線上的所有特征點。
步驟三、計算機(jī)2采用自適應(yīng)閾值算法對步驟二中得到的手勢輪廓多邊形逼近圖進(jìn)行指尖點檢測,具體過程為:
步驟301、自適應(yīng)的指尖點選取閾值的確定:計算機(jī)2根據(jù)公式
步驟302、指尖點的確定:計算機(jī)2以手勢輪廓圖像的質(zhì)心為圓心,指尖點選取閾值
通過觀察圖5b可知,為了獲得手勢指尖,不能用凸點的個數(shù)來直接替代指尖點個數(shù),因為在實際情況中,在手勢輪廓多邊形逼近圖中的凸點往往比真正的指尖點個數(shù)要多。因此,步驟三中提出了采用自適應(yīng)閾值算法進(jìn)行手勢輪廓多邊形逼近圖指尖點檢測的方法,通過對各個手勢上的凸點和凹點到質(zhì)心的距離的分析,推導(dǎo)出了采用所有特征點到質(zhì)心的歐式距離的平均值作為指尖點選取閾值的方法,先計算出指尖點選取閾值,再以質(zhì)心為圓心,指尖點選取閾值為半徑,畫圓,將落在圓外的特征點確定為指尖點,對于不滿足閾值的特征點進(jìn)行濾除,能夠獲得準(zhǔn)確的指尖點個數(shù),從而能夠有效提高手勢識別的準(zhǔn)確率,為對手勢按照指尖點個數(shù)分類奠定了基礎(chǔ)。通過指尖篩選后,獲取的手勢輪廓多邊形逼近圖指尖點檢測結(jié)果如圖5c所示。
步驟四、計算機(jī)2采用多模板匹配算法對手勢進(jìn)行匹配識別,確定出手勢;具體過程為:
步驟401、根據(jù)指尖點個數(shù)進(jìn)行手勢初步確定:計算機(jī)2調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出手勢按指尖點個數(shù)分類的分類表,并在所述分類表中找出與步驟302中統(tǒng)計出的指尖點個數(shù)相對應(yīng)的手勢多模板庫中的手勢,初步確定出可能匹配的手勢;
步驟402、根據(jù)可能匹配的手勢的數(shù)量進(jìn)行手勢確定:當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量為1個時,將步驟401中確定出的可能匹配的手勢確定為匹配的手勢;當(dāng)步驟401中確定出的可能匹配的手勢的數(shù)量大于1個時,執(zhí)行步驟403確定匹配的手勢;
步驟403、根據(jù)hu矩特征值進(jìn)行匹配的手勢確定,具體過程為:
步驟4031、計算機(jī)2調(diào)取存儲在其中的預(yù)先構(gòu)建的手勢多模板庫,找出各個手勢對應(yīng)的修正后的hu矩特征值;
步驟4032、計算機(jī)2調(diào)用hu矩特征值計算模塊計算出步驟一中得到的實時的手勢輪廓圖像的hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根據(jù)公式hk=|log(|φk|)|計算得到修正后的手勢輪廓圖像的hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;
步驟4032中計算機(jī)2調(diào)用hu矩特征值計算模塊計算手勢輪廓圖像的hu矩特征值時,采用現(xiàn)有技術(shù)中的hu矩特征值計算方法,但由于灰度圖像的hu矩特征值數(shù)值非常小,因此再通過采用公式hk=|log(|φk|)|來對計算結(jié)果進(jìn)行修正調(diào)整,應(yīng)用在本發(fā)明中,能夠很好地達(dá)到根據(jù)hu矩特征值進(jìn)行匹配的手勢確定的目的。
步驟4033、計算機(jī)2調(diào)用匹配度比較值計算模塊計算實時的手勢輪廓圖像與步驟401中確定出的可能匹配的手勢中各個手勢的匹配度比較值,并將匹配度比較值最小時對應(yīng)的可能匹配的手勢確定為匹配的手勢;其中,計算機(jī)2根據(jù)計算公式
步驟4033實現(xiàn)了采用hu矩特征值比較待識別的手勢與可能識別的手勢的相似度,能夠識別出待識別的手勢。
在手勢識別時采用單模板匹配算法對手勢進(jìn)行匹配識別,方法簡單易行,但是在實際情況中,由于每個人的手勢形狀、大小等的不同,使得手勢識別的誤判率比較高。所以本發(fā)明設(shè)計實現(xiàn)了一種多模板匹配算法,通過將待識別手勢與手勢多模板庫中的多個手勢進(jìn)行對比、匹配,能夠達(dá)到快速且高效的匹配結(jié)果,有效提高了手勢識別的速率和準(zhǔn)確率,減少了手勢誤判率。
以上的步驟四采用了先根據(jù)指尖點個數(shù)進(jìn)行分類再進(jìn)行多模板匹配的方法,與現(xiàn)有技術(shù)中僅進(jìn)行指尖檢測或僅進(jìn)行模板匹配的手勢識別方法相比,能夠提高手勢識別的速率,且能夠有效減少匹配的次數(shù),提高手勢匹配的準(zhǔn)確率。
本實施例中,計算機(jī)2構(gòu)建手勢多模板庫的具體過程為:
步驟a、獲取多個手勢的輪廓圖像:采用攝像頭1拍攝手勢1~10的圖像視頻流并將圖像視頻流傳送給計算機(jī)2,計算機(jī)2對圖像視頻流的視頻幀進(jìn)行圖像分割預(yù)處理,得到手勢1~10中每種手勢的5個手勢輪廓圖像;其中,每種手勢的5個手勢輪廓圖像包括手勢的正視輪廓圖像,手勢的向左旋轉(zhuǎn)角度α的輪廓圖像,手勢的向右旋轉(zhuǎn)角度α的輪廓圖像,手勢的側(cè)視圖和手勢的縮放圖;
本實施例中,步驟a中所述角度α的取值為15°。角度α的具體取值,考慮了人在做出手勢時經(jīng)常出現(xiàn)的角度,與實際更為相符,且這樣的取值能夠提高手勢識別的速率和準(zhǔn)確率。手勢多模板庫的手勢輪廓圖像如圖6所示。總共有50個不同手勢的模板。
步驟b、計算機(jī)2采用改進(jìn)d-p算法分別對多個手勢的輪廓圖像進(jìn)行多邊形逼近擬合,其中,對每個手勢的輪廓圖像進(jìn)行多邊形逼近擬合的具體過程為:
步驟b01、設(shè)定特征點選取閾值δ′;
步驟b02、從手勢輪廓曲線上選取一點作為進(jìn)行輪廓遍歷搜尋的起點;
本實施例中,步驟b02中選取手勢輪廓曲線上最低的一點作為進(jìn)行輪廓遍歷搜尋的起點。這樣的起點選取方法,能夠更加有序高效地進(jìn)行特征點遍歷搜尋,找出所有特征點,提高了手勢識別的速率。
步驟b03、從起點開始,對手勢輪廓按照搜尋步長進(jìn)行遍歷搜尋,每經(jīng)過一個搜尋步長,計算曲線上的點到所述曲線的起點與終點連成的直線之間的距離,并找出曲線上的點到所述直線的最大距離;
步驟b04、將步驟b03中找出的最大距離與步驟b01中設(shè)定的特征點選取閾值δ′進(jìn)行比較,當(dāng)最大距離大于或等于特征點選取閾值δ′時,將最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,當(dāng)最大距離小于特征點選取閾值時,將上次搜尋的終點作為下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直到再找到最大距離大于或等于特征點選取閾值δ′的點,將再找到的最大距離對應(yīng)的曲線上的點作為特征點和下一次搜尋的新起點,按照搜尋步長繼續(xù)沿手勢輪廓進(jìn)行遍歷搜尋,直至回到步驟b02中選取的起點時結(jié)束遍歷搜尋,并確定出了手勢輪廓曲線上的所有特征點;
步驟b05、對手勢輪廓曲線上的所有特征點進(jìn)行曲線擬合,得到手勢輪廓多邊形逼近圖并進(jìn)行存儲;
步驟c、計算機(jī)2采用自適應(yīng)閾值算法對步驟b中得到的多個手勢輪廓多邊形逼近圖進(jìn)行指尖點檢測,其中,對每個手勢輪廓多邊形逼近圖進(jìn)行指尖點檢測的具體過程為:
步驟c01、指尖點選取閾值的確定:計算機(jī)2根據(jù)公式
步驟c02、指尖點的確定:計算機(jī)2以手勢輪廓圖像的質(zhì)心為圓心,指尖點選取閾值
步驟d、計算機(jī)2根據(jù)指尖點個數(shù)對多個手勢進(jìn)行分類,將指尖點個數(shù)相同的手勢分為一類,并列出手勢按指尖點個數(shù)分類的分類表;
本實施例中,步驟d中指尖點個數(shù)共有6種,指尖點個數(shù)為0的手勢為手勢10,分為第一類;指尖點個數(shù)為1的手勢為手勢1和手勢9,分為第二類;指尖點個數(shù)為2的手勢為手勢2、手勢6和手勢8,分為第三類;指尖點個數(shù)為3的手勢為手勢3和手勢7,分為第四類;指尖點個數(shù)為4的手勢為手勢4,分為第五類;指尖點個數(shù)為5的手勢為手勢5,分為第六類。例如,如圖7所示為三類,指尖點個數(shù)為2的手勢,從左到右依次為手勢2、手勢6和手勢8。列出的手勢按指尖點個數(shù)分類的分類表如表1所示。
表1手勢按指尖點個數(shù)分類的分類表
步驟e、計算機(jī)2調(diào)用hu矩特征值計算模塊計算出各個手勢的輪廓圖像的hu矩特征值,并計算出各個手勢修正后的hu矩特征值,其中,計算機(jī)2計算第r個手勢修正后的hu矩特征值
具體實施時,步驟b03與步驟203中的搜尋步長可以相等也可以不相等。
步驟a至e中構(gòu)建手勢多模板庫的方法,也采用了改進(jìn)d-p算法對手勢輪廓圖像進(jìn)行多邊形逼近擬合后,再進(jìn)行指尖點檢測,再根據(jù)指尖點個數(shù)進(jìn)行分類的方法,與現(xiàn)有技術(shù)中僅僅簡單構(gòu)建出手勢模板庫,進(jìn)行模板匹配的方法相比,大大減小了手勢匹配的信息量,能夠有效提高手勢識別的速率和準(zhǔn)確率。將此種構(gòu)建手勢多模板庫的方法與步驟一至四中的手勢識別方法相配合,更進(jìn)一步提高了手勢識別的速率和準(zhǔn)確率,手勢識別時間能夠減小原來手勢識別所需時間的三分之一左右。
綜上所述,本發(fā)明采用改進(jìn)d-p算法對攝像頭1拍攝到的手勢圖像進(jìn)行多邊形逼近擬合,再進(jìn)行指尖點個數(shù)檢測,對應(yīng)找到手勢多模板庫中對應(yīng)的手勢類別,然后再根據(jù)hu矩特征值進(jìn)行匹配的手勢確定,采用這種先分類再進(jìn)行匹配的方法,能夠良好的減少匹配的次數(shù),提高手勢匹配的速率。并且,通過多模板匹配,即對一種手勢的不同種類進(jìn)行匹配,能夠提高識別準(zhǔn)確率,有效地減少了匹配過程中的誤判率。
以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何限制,凡是根據(jù)本發(fā)明技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、變更以及等效結(jié)構(gòu)變化,均仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍內(nèi)。