本發(fā)明涉及一種基于顯著特征點提取的手勢識別方法及裝置,屬于識別技術(shù)領(lǐng)域。
背景技術(shù):
手勢識別是計算機視覺領(lǐng)域的一個重要研究課題,在人機交互領(lǐng)域具有廣泛的應(yīng)用,包括虛擬現(xiàn)實,手語識別,人機博弈等。
過去,手勢識別的發(fā)展受制于采集設(shè)備的落后,獲取的手勢圖像背景雜亂,受光照影響嚴(yán)重,手勢提取困難。數(shù)據(jù)手套的出現(xiàn)解決了光照和背景的問題,但由于其限制了手勢的自然表達且設(shè)備價格昂貴,仍無法被廣泛應(yīng)用。隨著深度相機的發(fā)展,以kinect傳感器為主要采集設(shè)備的手勢識別技術(shù)得以迅速發(fā)展,對識別精度和效率的提升提供了良好的硬件基礎(chǔ)。
現(xiàn)有的手勢識別方法主要分為兩類。一類是基于統(tǒng)計分析的方法,通過統(tǒng)計樣本特征向量來確定分類器。典型算法有pca,hmms,粒子濾波等,但計算復(fù)雜,難以達到實時要求。第二類是基于模板匹配的方法,提取待識別手勢的特征,與預(yù)設(shè)模版的特征相匹配,與匹配度最高的模版類別作為待識別手勢類別。典型算法有sc,femd等,但識別精度不夠。
因此,提出一種能同時保證識別精度和效率的手勢識別方法,是目前相關(guān)技術(shù)領(lǐng)域的關(guān)鍵問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的發(fā)明目的是提供一種基于顯著特征點提取的手勢識別方法及裝置。
為達到上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是:一種基于顯著特征點提取的手勢識別方法,包括如下步驟:
s1、獲取待識別手勢的輪廓,獲取所述輪廓上所有輪廓點的點序列自然編號及其坐標(biāo);
s2、計算所述所有輪廓點的面積參數(shù);
s3、對輪廓點的面積參數(shù)的分布曲線進行平滑,判斷各輪廓點是否為極值點:若當(dāng)前輪廓點的面積參數(shù)值大于相鄰前后兩輪廓點的面積參數(shù)值,則認(rèn)為該輪廓點為極大值點,若有多個相鄰的輪廓點的面積參數(shù)值相等且為此處極大值,則取第一個為極大值點;若當(dāng)前輪廓點的面積參數(shù)值小于相鄰前后兩輪廓點的面積參數(shù)值,則認(rèn)為該輪廓點為極小值點,若有多個相鄰的輪廓點的面積參數(shù)值相等且為此處極小值,則取第一個為極小值點;對所述所有輪廓點進行上述判斷之后,得到待識別手勢的極值點序列,保留輪廓點的點序列的起始點和最后一個點作為極值點,預(yù)設(shè)i=2;
s4、對極值點序列從第i個點開始逐點進行判斷,若第i和第i+1個極值點對應(yīng)的參數(shù)值的差異大于或等于預(yù)先設(shè)定的閾值,則執(zhí)行s5;否則,執(zhí)行s6;
s5、判斷第i+2個點是否為極值點序列的最后一個點,若是,則執(zhí)行步驟s9,否則,令i=i+1,執(zhí)行步驟s4;
s6、判斷第i+1和第i+2個極值點對應(yīng)參數(shù)值的差異,若第i+1和第i+2個極值點的參數(shù)的差異大于第i和第i+1個極值點參數(shù)的差異,則將第i和第i+1個極值點從極值點序列中刪去,得到一個新的極值點序列,并執(zhí)行步驟s7;否則,執(zhí)行步驟s8;
s7、判斷第i+2個點是否為極值點序列的最后一個點,若是,則執(zhí)行步驟s9,否則令i=2,執(zhí)行步驟s4;
s8、判斷第i+2個極值點是否為極值點序列的最后一個點,若是,則將第i和第i+1個極值點從極值點序列中刪去,得到一個新的極值點序列,執(zhí)行步驟s9;否則,將第i+1和第i+2個極值點從極值點序列中刪去,得到一個新的極值點序列,執(zhí)行步驟s4;
s9、剩余極值點序列為顯著特征點序列,將顯著特征點的面積參數(shù)以及歸一化后的點序參數(shù)作為特征參數(shù),將所述待識別手勢與預(yù)設(shè)模版庫中的模板進行匹配,得到所述待識別手勢的最佳匹配模板,并確定最佳匹配模板的類別為最終所需的待識別手勢的類別。
優(yōu)選地,手勢的輪廓獲取的具體步驟為:
利用kinect傳感器獲取手勢的rgb圖像和深度圖像,利用kinect窗口sdk手勢跟蹤函數(shù)定位手的位置,再根據(jù)深度數(shù)據(jù)從一定的深度中分割出一個粗糙的手勢區(qū)域;同時,使用者在做手勢的手的手腕上戴上黑色的腕帶,在手勢分割時使用ransac匹配一條線來定位黑色腕帶,保證手勢的形狀能更精確地被分割,分割完成后得到一個完整的手勢形狀圖,再將彩色的手勢形狀圖二值化,利用邊緣檢測算法得到手勢的輪廓,其中黑色腕帶部分的輪廓為無用輪廓,予以去除,最終得到一個不閉合的手勢輪廓。
優(yōu)選地,所述輪廓點的面積參數(shù)獲取的具體步驟為:
(1)、將任一輪廓點作為目標(biāo)輪廓點,以所述目標(biāo)輪廓點的坐標(biāo)為中心,以預(yù)設(shè)半徑作圓,得到預(yù)設(shè)圓;
(2)、將所述待識別手勢形狀中被預(yù)設(shè)圓截取的與目標(biāo)輪廓點具有直接連接關(guān)系的區(qū)域的面積與預(yù)設(shè)圓面積的比值,作為歸一化后的區(qū)域面積,用0.5減去歸一化后的區(qū)域面積再乘以2,得到所述目標(biāo)輪廓點的面積參數(shù)。
進一步技術(shù)方案中,采用canny算子提取所述待識別手勢的輪廓,獲得一個不閉合的手勢輪廓。
進一步技術(shù)方案中,所述預(yù)設(shè)半徑的確定步驟包括:
計算所述待識別手勢形狀的面積,并對所述待識別手勢形狀的面積進行開平方得到所述待識別手勢形狀的預(yù)設(shè)半徑。
優(yōu)選地,所述將所述待識別手勢與預(yù)設(shè)模版庫中的模版進行匹配,得到所述待識別手勢的最佳匹配模版,包括:
將所述待識別手勢的特征參數(shù)與模版的特征參數(shù)進行距離的計算,并確定距離不大于其他模版的距離的模版為所述最佳匹配模版。
進一步技術(shù)方案中,所述將所述待識別手勢的特征參數(shù)與模版的特征參數(shù)進行距離的計算,包括:
將所述待識別手勢的顯著特征點序列的面積參數(shù)和歸一化的點序參數(shù)作為目標(biāo)序列,將需要與所述待識別手勢進行匹配的一個模版的顯著特征點序列的面積參數(shù)和歸一化的點序參數(shù)作為匹配序列;
利用動態(tài)時間規(guī)整算法計算所述目標(biāo)序列與所述匹配序列之間的距離,作為所述待識別手勢與對應(yīng)模板之間的距離。
進一步技術(shù)方案中,所述利用動態(tài)時間規(guī)整算法計算所述目標(biāo)特征點序列與所述匹配序列之間的距離,包括:
求取所述目標(biāo)序列上一點p與所述匹配序列上一點q之間的歐氏距離,并比較所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點p與所述匹配序列上從起點到所述匹配序列上一點的前一點q-1的對應(yīng)點間的歐氏距離之和,所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點的前一點p-1與所述匹配序列上從起點到所述匹配序列上一點q對應(yīng)點間的歐氏距離之和與所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點前一點p-1與所述匹配序列上從起點到所述匹配序列上一點的前一點q-1對應(yīng)點間的歐氏距離之和,取三者之間的最小值與所述目標(biāo)序列上一點與所述匹配序列上一點之間的歐氏距離相加,得到所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點與所述匹配序列上從起點到所述匹配序列上一點對應(yīng)點間的歐氏距離之和;
將得到的所述目標(biāo)序列上從起點到終點與所述匹配序列上從起點到終點對應(yīng)點間的歐氏距離之和作為所述目標(biāo)序列與所述匹配序列之間的距離。
本發(fā)明還提供了一種手勢識別裝置,包括:
提取模塊,用于獲取待識別手勢的形狀,由所述待識別手勢形狀邊緣提取出一個不閉合的輪廓,獲取該輪廓上所有輪廓點的坐標(biāo);
計算模塊,用于計算每個輪廓點的面積參數(shù),并根據(jù)面積參數(shù)對輪廓點進行篩選,提取出顯著特征點,以顯著特征點序列的面積參數(shù)以及歸一化后的點序參數(shù)作為該輪廓的特征參數(shù);
匹配模塊,用于利用顯著特征點的特征參數(shù),將所述待識別手勢與預(yù)設(shè)模板庫中的模板進行匹配,得到所述待識別手勢的最佳匹配模板,并確定所述最佳匹配模板的類別為所述待識別手勢的類別;
所述提取模塊與計算模塊連接,所述計算模塊與匹配模塊連接。
由于上述技術(shù)方案運用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點:
1.本發(fā)明基于待識別手勢的輪廓形狀,計算每個輪廓點的面積參數(shù),并從中提取出顯著特征點的面積參數(shù)作為特征參數(shù),實現(xiàn)了對待識別手勢形狀的有效提取和表示,而且本發(fā)明所用的特征參數(shù)維度低,在將待識別手勢與模板進行匹配計算時計算復(fù)雜度低,從而本發(fā)明能同時保證較高的識別準(zhǔn)確率和效率;
2.本發(fā)明在對手勢形狀特征的有效提取和表示的同時,還具有平移不變性、旋轉(zhuǎn)不變性、尺度不變性和鉸接不變性等優(yōu)良性能,能有效抑制噪聲干擾。
附圖說明
圖1為本發(fā)明的流程示意圖。
圖2為本發(fā)明實施例一中提供的手勢識別方法中涉及的手勢形狀的具體例子的示意圖。
圖3為本發(fā)明實施例一中提供的手勢識別方法中手勢形狀的具體示意圖。
圖4為本發(fā)明實施例一中提供的手勢識別方法中手勢形狀被預(yù)設(shè)圓截取后的示意圖。
圖5為本發(fā)明實施例一中極值點參數(shù)的點序分布示意圖。
圖6為本發(fā)明實施例一中顯著特征點參數(shù)的點序分布示意圖。
圖7為本發(fā)明實施例一中提供的手勢識別裝置的結(jié)構(gòu)示意圖。
圖8為本發(fā)明中未判斷前極值點的原始曲線圖。
圖9為本發(fā)明中判斷后極值點的曲線圖。
其中:1、提取模塊;2、計算模塊;3、匹配模塊。
具體實施方式
下面結(jié)合附圖及實施例對本發(fā)明作進一步描述:
實施例一:參見圖1所示,一種手勢識別方法,所述方法包括如下步驟:
s1、獲取待識別手勢的輪廓,獲取所述輪廓上所有輪廓點的點序列自然編號及其坐標(biāo);
需要說明的是,輪廓點的數(shù)量為輪廓上所有點的個數(shù),其具體取值根據(jù)實際情況確定,以完整表示手勢形狀的輪廓特征為準(zhǔn)。
在數(shù)字圖像中,形狀的邊緣可以由一系列具有坐標(biāo)信息的輪廓點表示,被發(fā)明實施例中目標(biāo)形狀的輪庫點的集合s可以表示為:
其中,n表示輪廓的長度,即輪廓點的個數(shù);
其中
s2、計算所有輪廓點的面積參數(shù);
s3、對輪廓點的面積參數(shù)的分布曲線進行平滑,判斷各輪廓點是否為極值點:若當(dāng)前輪廓點的面積參數(shù)值大于相鄰前后兩輪廓點的面積參數(shù)值,則認(rèn)為該輪廓點為極大值點,若有多個相鄰的輪廓點的面積參數(shù)值相等且為此處極大值,則取第一個為極大值點;若當(dāng)前輪廓點的面積參數(shù)值小于相鄰前后兩輪廓點的面積參數(shù)值,則認(rèn)為該輪廓點為極小值點,若有多個相鄰的輪廓點的面積參數(shù)值相等且為此處極小值,則取第一個為極小值點;對所述所有輪廓點進行上述判斷之后,得到待識別手勢的極值點序列,保留輪廓點的點序列的起始點和最后一個點作為極值點,預(yù)設(shè)i=2;
s4、對極值點序列從第i個點開始逐點進行判斷,若第i和第i+1個極值點對應(yīng)的參數(shù)值的差異大于或等于預(yù)先設(shè)定的閾值,則執(zhí)行s5;否則,執(zhí)行s6;
需要說明的是,預(yù)先設(shè)定的閾值可以根據(jù)實際需要進行確定。
s5、判斷第i+2個點是否為極值點序列的最后一個點,若是,則執(zhí)行步驟s9,否則,令i=i+1,執(zhí)行步驟s4;
s6、判斷第i+1和第i+2個極值點對應(yīng)參數(shù)值的差異,若第i+1和第i+2個極值點的參數(shù)的差異大于第i和第i+1個極值點參數(shù)的差異,則將第i和第i+1個極值點從極值點序列中刪去,得到一個新的極值點序列,并執(zhí)行步驟s7;否則,執(zhí)行步驟s8;
s7、判斷第i+2個點是否為極值點序列的最后一個點,若是,則執(zhí)行步驟s9,否則令i=2,執(zhí)行步驟s4;
s8、判斷第i+2個極值點是否為極值點序列的最后一個點,若是,則將第i和第i+1個極值點從極值點序列中刪去,得到一個新的極值點序列,執(zhí)行步驟s9;否則,將第i+1和第i+2個極值點從極值點序列中刪去,得到一個新的極值點序列,執(zhí)行步驟s4;
s9、剩余極值點序列為顯著特征點序列,將顯著特征點的面積參數(shù)以及歸一化后的點序參數(shù)作為特征參數(shù),將所述待識別手勢與預(yù)設(shè)模版庫中的模板進行匹配,得到所述待識別手勢的最佳匹配模板,并確定最佳匹配模板的類別為最終所需的待識別手勢的類別。
上述s6步驟中,極值點i和i+1的刪除原理如下:如圖8所示,對圖8中從第二個點開始,逐點判斷相鄰兩點之間的差值是否小于預(yù)設(shè)的閾值0.1,前i-1個點的相鄰點間的差值都大于0.1。當(dāng)判斷到如圖8所示的第i個點時,第i個點與第i+1個點間的差值小于0.1,此時,我們繼續(xù)判斷第i+1與第i+2個極值點之間的差值,可以看出第i+1與第i+2個極值點之間的差值大于0.1,因此認(rèn)為第i和第i+1個極值點是一對無用極值點,予以刪除,得到如圖9所示的刪除無用極值點后的曲線圖,刪去無用極值點之后,原來的第i+2個極值點更新為第i個極值點。
需要說明的是,預(yù)設(shè)模版庫為工作人員預(yù)先設(shè)置的模版庫,其中的每一個模版都有相應(yīng)的特征參數(shù),而每個模版的特征參數(shù)的計算方法都與待識別手勢的特征參數(shù)的計算方法相同。通過將待識別手勢的特征參數(shù)與預(yù)設(shè)模版庫中的每個模版的特征承諾書進行匹配,得到與待識別手勢匹配度最佳的模版,并確定該模版的類別為待識別手勢的類別。
其中,手勢輪廓獲取的具體步驟為:
利用kinect傳感器獲取手勢的rgb圖像和深度圖像,利用kinect窗口sdk手勢跟蹤函數(shù)定位手的位置,再根據(jù)深度數(shù)據(jù)從一定的深度中分割出一個粗糙的手勢區(qū)域;同時,使用者在做手勢的手的手腕上戴上黑色的腕帶,在手勢分割時使用ransac匹配一條線來定位黑色腕帶,保證手勢的形狀能更精確地被分割。分割完成后得到一個完整的手勢形狀圖,再將彩色的手勢形狀圖二值化,利用邊緣檢測算法得到手勢的輪廓,其中黑色腕帶部分的輪廓為無用輪廓,予以去除,最終得到一個不閉合的手勢輪廓。
其中,面積參數(shù)的獲取步驟具體包括:
(1)、將任一輪廓點作為目標(biāo)輪廓點,以所述目標(biāo)輪廓點的坐標(biāo)為中心,以預(yù)設(shè)半徑作圓,得到預(yù)設(shè)圓;
(2)、將所述待識別手勢形狀中被預(yù)設(shè)圓截取的與目標(biāo)輪廓點具有直接連接關(guān)系的區(qū)域的面積與預(yù)設(shè)圓面積的比值,作為歸一化后的區(qū)域面積,用0.5減去歸一化后的區(qū)域面積再乘以2,得到所述目標(biāo)輪廓點的面積參數(shù)。
依據(jù)上述步驟得到預(yù)設(shè)圓
其中
歸一化后的面積
其中
本實施例中,選取所述待識別手勢輪廓點中的極值點,如圖5所示,圖中紅色小圓表示的點為極值點。
本實施例中,從極值點中篩選出顯著特征點,如圖6所示,圖中紅色小圓表示的點為顯著特征點。
從而,經(jīng)過極值點獲取和顯著特征點的刪選之后,得到顯著特征點序列作為特征參數(shù),表示為
其中
本實施例中,利用kinect傳感器獲取待識別手勢的形狀。
需要說明的是,獲取待識別手勢形狀是可以采用工作人員預(yù)先確定的任何能夠有效實現(xiàn)手勢形狀獲取的方法。本發(fā)明的實施例中,采用kinect傳感器,以有效地獲取待識別手勢的形狀。
本實施例中,采用canny算子提取所述待識別手勢性轉(zhuǎn)的邊緣獲得一個不閉合的輪廓。
需要說明的是,參見圖2,為提供的手勢識別方法中涉及的手勢形狀的具體例子的示意圖,提取手勢形狀邊緣時可以采用工作人員預(yù)先設(shè)定的任何能夠有效實現(xiàn)手勢形狀邊緣提取的方法,具體可以為canny算子、laplacian算子等,本發(fā)明的實施例中,優(yōu)選為canny算子,以快速有效地獲取手勢形狀。
本實施例中,確定預(yù)設(shè)半徑,包括:
計算所述待識別手勢形狀的面積,并對所述待識別手勢形狀的面積進行開平方得到所述待識別手勢形狀的預(yù)設(shè)半徑,
具體可以表示為:
其中
當(dāng)然,上述預(yù)設(shè)半徑的具體計算方法也可以由工作人員根據(jù)實際需要進行其他設(shè)定,均在本發(fā)明的保護范圍之內(nèi)。
本實施例中,利用顯著特征點的面積參數(shù)和點序參數(shù)作為特征參數(shù)與預(yù)設(shè)模版庫中的模版進行匹配,得到所述待識別手勢的最佳匹配模版,包括:
將所述待識別手勢的特征參數(shù)與模版的特征參數(shù)進行距離的計算,并確定距離不大于其他模版的距離的模版為所述最佳匹配模版。
其中,距離越小,說明待識別手勢形狀與對應(yīng)模版越相似,因此,距離不大于其他模版的距離的模版為最佳匹配模版。而距離不大于其他模版的距離的模版具體可以為:如果模版中存在距離最小的一個模版,則認(rèn)為該模版為最佳匹配模版,如果模版中存在距離最小且相等的多個模版,則確定其中一個模版為最佳匹配模版。
上述方案中,將所述待識別手勢的特征參數(shù)與所述模版的特征參數(shù)進行距離的計算,包括:
將所述待識別手勢的顯著特征點序列的面積參數(shù)和歸一化的點序參數(shù)作為目標(biāo)序列,將需要與所述待識別手勢進行匹配的一個模版的顯著特征點序列的面積參數(shù)和歸一化的點序參數(shù)作為匹配序列;
利用動態(tài)時間規(guī)整算法計算所述目標(biāo)序列與所述匹配序列之間的距離,作為所述待識別手勢與對應(yīng)模版之間的距離。
當(dāng)然,也可以根據(jù)實際需要由工作人員預(yù)先設(shè)置其他的算法計算上述距離,均在本發(fā)明的保護范圍之內(nèi)。
上述方案中,利用動態(tài)時間規(guī)整算法計算目標(biāo)序列與所述匹配序列之間的距離,包括:
求取所述目標(biāo)序列上一點p與所述匹配序列上一點q之間的歐氏距離,并比較所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點p與所述匹配序列上從起點到所述匹配序列上一點的前一點q-1的對應(yīng)點間的歐氏距離之和,所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點的前一點p-1與所述匹配序列上從起點到所述匹配序列上一點q對應(yīng)點間的歐氏距離之和與所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點前一點p-1與所述匹配序列上從起點到所述匹配序列上一點的前一點q-1對應(yīng)點間的歐氏距離之和,取三者之間的最小值與所述目標(biāo)序列上一點與所述匹配序列上一點之間的歐氏距離相加,得到所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點與所述匹配序列上從起點到所述匹配序列上一點對應(yīng)點間的歐氏距離之和;
將得到的所述目標(biāo)序列上從起點到終點與所述匹配序列上從起點到終點對應(yīng)點間的歐氏距離之和作為所述目標(biāo)序列與所述匹配序列之間的距離。
具體來說,目標(biāo)序列可以表示為
其中
利用動態(tài)時間規(guī)整算法計算待識別手勢上從起點到
利用動態(tài)時間規(guī)整算法計算出的待識別目標(biāo)序列與匹配序列之間的距離
需要說明的是,本發(fā)明實施例中所提供的一種手勢識別方法的功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算設(shè)備可讀取存儲介質(zhì)中。
如圖7所示,本實施例還提供了一種手勢識別裝置,包括:
提取模塊1,用于獲取待識別手勢的形狀,由所述待識別手勢形狀邊緣提取出一個不閉合的輪廓,獲取該輪廓上所有輪廓點的坐標(biāo);
計算模塊2,用于計算每個輪廓點的面積參數(shù),并根據(jù)面積參數(shù)對輪廓點進行篩選,提取出顯著特征點,以顯著特征點序列的面積參數(shù)以及歸一化后的點序參數(shù)作為該輪廓點的特征參數(shù);
匹配模塊3,用于利用顯著特征點的特征參數(shù),將所述待識別手勢與預(yù)設(shè)模板庫中的模板進行匹配,得到所述待識別手勢的最佳匹配模板,并確定所述最佳匹配模板的類別為所述待識別手勢的類別。
所述提取模塊1與計算模塊2連接,所述計算模塊2與匹配模塊3連接。
本發(fā)明實施例提供的一種手勢識別裝置中,提取模塊包括:
獲取單元,用于利用kinect傳感器獲取待識別手勢的形狀;
提取單元,用于采用canny算子針對手勢形狀的邊緣提取一個不閉合的輪廓。
本發(fā)明實施例提供的一種手勢識別裝置中,計算模塊包括:
(1)、計算每個輪廓點的面積參數(shù);
(2)、根據(jù)面積參數(shù)提取出輪廓點的極值點;
(3)、根據(jù)輪廓點的極值點篩選出顯著特征點序列。
本發(fā)明實施例提供的一種手勢識別裝置中,計算模塊可以包括:
計算子單元,用于:將任一輪廓點作為目標(biāo)輪廓點,以所述目標(biāo)輪廓點的坐標(biāo)為中心,以預(yù)設(shè)半徑作圓,得到預(yù)設(shè)圓;用0.5減去所述待識別手勢形狀中被預(yù)設(shè)圓截取的與目標(biāo)輪廓點具有直接連接關(guān)系的區(qū)域的面積與預(yù)設(shè)圓面積的比值,再乘以2,得到所述目標(biāo)輪廓點的面積參數(shù)。
本發(fā)明實施例提供的一種手勢識別裝置中,計算子單元可以包括:
計算所述待識別手勢形狀的面積,并對所述待識別手勢形狀的面積進行開平方得到所述待識別手勢形狀的預(yù)設(shè)半徑。
本發(fā)明實施例中提供的一種手勢識別裝置中,計算模塊可以包括:
計算子單元,用于:對輪廓點面積參數(shù)的分布曲線進行平滑,判斷各輪廓點是否為極值點,若當(dāng)前輪廓點的面積參數(shù)值不小于或者不大于相鄰前后兩輪廓點的參數(shù)值,則認(rèn)為該輪廓點為極值點。對所有輪廓點進行上述判斷之后,得到待識別手勢的極值點序列。保留輪廓點序列的起始點和最后一個點作為極值點。
本發(fā)明實施例中提供的一種手勢識別裝置中,計算模塊可以包括:
計算子單元,用于:對極值點序列逐點進行判斷,若第i和第i+1個極值點對應(yīng)的參數(shù)值的差異小于預(yù)先設(shè)定的閾值,則判斷第i+1和第i+2個極值點對應(yīng)參數(shù)值的差異,若第i+1和第i+2個極值點的參數(shù)的差異大于第i和第i+1個極值點參數(shù)的差異,則將第i和第i+1個極值點從極值點序列中刪去,得到一個新的極值點序列;否則,判斷第i+1和第i+2個極值點是否為極值點序列的最后兩個點,若是,則將第i+1和第i+2個極值點從極值點序列中刪去,得到一個新的極值點序列,并從序列的起始點重新開始判斷,直到所有的相鄰極值點面積參數(shù)的差的絕對值均大于閾值,得到顯著特征點序列。
本發(fā)明實施例提供的一種手勢識別裝置中,匹配模塊包括:
將待識別手勢的顯著特征點序列作為目標(biāo)序列,將待匹配模版的顯著特征點序列作為匹配序列,利用動態(tài)時間規(guī)整算法計算目標(biāo)序列與匹配序列之間的距離,作為待識別手勢與對應(yīng)模版之間的距離。
本發(fā)明實施例提供的一種手勢識別裝置中,匹配模塊可以包括:
匹配單元,用于:將待識別手勢的顯著特征點序列的面積參數(shù)和歸一化的點序參數(shù)作為目標(biāo)序列,將需要與待識別手勢進行匹配的一個模版的顯著特征點序列的面積參數(shù)和歸一化的點序參數(shù)作為匹配序列,利用動態(tài)時間規(guī)整算法計算目標(biāo)序列與匹配序列之間的距離,作為待識別手勢與對應(yīng)模版之間的距離。
本發(fā)明實施例提供的一種手勢識別裝置中,匹配子單元可以包括:
求取單元,用于:求取所述目標(biāo)序列上一點與所述匹配序列上一點之間的歐氏距離,并比較所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點與所述匹配序列上從起點到所述匹配序列上一點的前一點的對應(yīng)點間的歐氏距離之和,所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點的前一點與所述匹配序列上從起點到所述匹配序列上一點對應(yīng)點間的歐氏距離之和與所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點前一點與所述匹配序列上從起點到所述匹配序列上一點的前一點對應(yīng)點間的歐氏距離之和,取三者之間的最小值與所述目標(biāo)序列上一點與所述匹配序列上一點之間的歐氏距離相加,得到所述目標(biāo)序列上從起點到所述目標(biāo)序列上一點與所述匹配序列上從起點到所述匹配序列上一點對應(yīng)點間的歐氏距離之和。