一種手勢(shì)識(shí)別方法及裝置的制造方法
【專利摘要】本發(fā)明公開(kāi)了一種手勢(shì)識(shí)別方法,包括:獲取待識(shí)別手勢(shì)的形狀,并由手勢(shì)形狀的邊緣提取一個(gè)封閉的輪廓,獲取該輪廓上的所有輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo);確定輪廓的層數(shù),并基于每個(gè)輪廓點(diǎn)的坐標(biāo)計(jì)算每個(gè)輪廓點(diǎn)對(duì)應(yīng)于每層的面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù),作為該輪廓點(diǎn)的特征參數(shù);利用每個(gè)輪廓點(diǎn)的特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模版庫(kù)中的模板進(jìn)行匹配,得到最佳匹配模板,并確定最佳匹配模板為待識(shí)別手勢(shì)。本發(fā)明同時(shí)對(duì)全局特征、局部特征及全局特征與局部特征之間的關(guān)系進(jìn)行描述,多尺度、全方位地進(jìn)行分析表述,實(shí)現(xiàn)了對(duì)待識(shí)別手勢(shì)形狀的全局特征和局部特征的有效提取和表示,避免了基于單一特征導(dǎo)致的識(shí)別準(zhǔn)確率低的情況。
【專利說(shuō)明】
-種手勢(shì)識(shí)別方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種手勢(shì)識(shí)別方法及裝置,屬于目標(biāo)識(shí)別技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 手勢(shì)識(shí)別在人機(jī)交互領(lǐng)域具有重要意義,在虛擬現(xiàn)實(shí)、手語(yǔ)識(shí)別和人機(jī)博弈等方 面有著廣泛的應(yīng)用。
[0003] 先前手勢(shì)識(shí)別技術(shù)的難點(diǎn)在于手勢(shì)的獲取,隨著深度相機(jī)的發(fā)展,Kinect傳感器 很好的解決了運(yùn)一問(wèn)題,進(jìn)而手勢(shì)識(shí)別的難點(diǎn)集中到識(shí)別效率和準(zhǔn)確率上。
[0004] 通常手勢(shì)識(shí)別方法可W分為兩類。第一類是基于統(tǒng)計(jì)學(xué)的方法:對(duì)于一個(gè)動(dòng)態(tài)手 勢(shì),將它看成一個(gè)隨機(jī)過(guò)程的輸出,手勢(shì)識(shí)別則可W根據(jù)統(tǒng)計(jì)學(xué)模型來(lái)確定,如PCA、HMMS、 粒子濾波、濃縮算法等,但計(jì)算復(fù)雜,識(shí)別效率低,無(wú)法達(dá)到實(shí)時(shí)的要求。第二類是基于規(guī)則 的方法:先根據(jù)輸入特征預(yù)設(shè)一系列模板,對(duì)一個(gè)手勢(shì)進(jìn)行識(shí)別時(shí),獲取該手勢(shì)的一系列特 征并與預(yù)設(shè)的模板特征進(jìn)行匹配,與輸入手勢(shì)匹配度最佳的模板則作為待識(shí)別手勢(shì)的類別 輸出,如化ape contexts ,Thresholding+陽(yáng)MD、Nea;r-convex+陽(yáng)MD等,但無(wú)法同時(shí)保證識(shí)別 準(zhǔn)確率和識(shí)別效率。
[0005] 針對(duì)上述問(wèn)題,如何獲取一種能夠同時(shí)保證較高的識(shí)別準(zhǔn)確率及識(shí)別效率的手勢(shì) 識(shí)別方法,是目前相關(guān)技術(shù)領(lǐng)域的關(guān)鍵問(wèn)題。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的發(fā)明目的是提供一種手勢(shì)識(shí)別方法及裝置,W同時(shí)保證較高的識(shí)別正確 率和效率。
[0007] 為達(dá)到上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是:一種手勢(shì)識(shí)別方法,所述方法包 括如下步驟: 51、 獲取待識(shí)別手勢(shì)形狀,并由所述待識(shí)別手勢(shì)形狀的邊緣提取一個(gè)封閉的輪廓,獲取 該輪廓上的所有輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo); 52、 確定當(dāng)前所有輪廓點(diǎn)所在的輪廓的層數(shù)為1,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的 面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù); 53、 將當(dāng)前層加1作為當(dāng)前層,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參 數(shù)及重屯、參數(shù),然后計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù) 與當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的層數(shù)減1的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)之間的差異, 并判斷當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)的所述差異的和與所述所有輪廓點(diǎn)的數(shù)量的比值是否小于差 異闊值,如果是,則確定當(dāng)前層減1得到的層數(shù)為所述輪廓的層數(shù),并執(zhí)行步驟S5,如果否, 則執(zhí)行步驟S4; 54、 返回步驟S3; 55、 將每個(gè)輪廓點(diǎn)的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)作為特征參數(shù),利用每個(gè)輪廓點(diǎn)的 特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最 佳匹配模板,并確定所述最佳匹配模板的類別為最終所需的所述手勢(shì)識(shí)別的類別; 其中面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)獲取的步驟具體包括: (1) 、將任一輪廓點(diǎn)作為目標(biāo)輪廓點(diǎn),W所述目標(biāo)輪廓點(diǎn)的坐標(biāo)為中屯、,W與當(dāng)前層對(duì) 應(yīng)的半徑為預(yù)設(shè)半徑作圓,得到與當(dāng)前輪廓層對(duì)應(yīng)的預(yù)設(shè)圓; (2) 、將所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓截取的與所述目標(biāo)輪廓點(diǎn)具有直接連接 關(guān)系的區(qū)域的面積與所述預(yù)設(shè)圓的面積的比值和歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別 手勢(shì)形狀重屯、的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的面積參數(shù); (3) 、將所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓切割出的與所述目標(biāo)輪廓點(diǎn)具有直接連 接關(guān)系的弧段的長(zhǎng)度與所述預(yù)設(shè)圓的周長(zhǎng)的比值和歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí) 別手勢(shì)形狀重屯、的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的弧長(zhǎng)參數(shù); (4) 、確定所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓截取的與所述目標(biāo)輪廓點(diǎn)具有直接連 接關(guān)系的區(qū)域的重屯、與所述目標(biāo)輪廓點(diǎn)的距離,并將該距離與所述預(yù)設(shè)半徑的比值與歸一 化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的重 屯、參數(shù)。
[000引優(yōu)選地,利用Kinect傳感器獲取待識(shí)別手勢(shì)的形狀。
[0009] 優(yōu)選地,采用化nny算子提取所述待識(shí)別手勢(shì)形狀的邊緣獲得一個(gè)封閉的輪廓。
[0010] 優(yōu)選地,歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離,包括: 計(jì)算所述手勢(shì)形狀的重屯、,將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀的重屯、相減,得到所述 目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離; 將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離與所述手勢(shì)形狀等效半徑的2倍相除, 得到歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離。
[0011] 優(yōu)選地,確定與所述當(dāng)前層對(duì)應(yīng)的半徑為預(yù)設(shè)半徑,包括: 將所述待識(shí)別手勢(shì)形狀的等效半徑與2的N次方的比值作為所述當(dāng)前層對(duì)應(yīng)的預(yù)設(shè)半 徑,其中,N為所述當(dāng)前層對(duì)應(yīng)的層數(shù)。
[0012] 進(jìn)一步的技術(shù)方案中,確定所述待識(shí)別手勢(shì)形狀的等效半徑,包括: 計(jì)算所述待識(shí)別手勢(shì)形狀的面積,并對(duì)所述待識(shí)別手勢(shì)形狀的面積進(jìn)行開(kāi)平方得到所 述待識(shí)別手勢(shì)形狀的等效半徑。
[0013] 優(yōu)選地,利用每個(gè)輪廓點(diǎn)參數(shù)的特征參數(shù)與預(yù)設(shè)模板庫(kù)中的模板進(jìn)行匹配,得到 所述待識(shí)別手勢(shì)的最佳匹配模板,包括: 將所述待識(shí)別手勢(shì)的特征參數(shù)與所述模板的特征參數(shù)進(jìn)行匹配度的計(jì)算,并確定匹配 度不大于其他模板的匹配度的模板為所述最佳匹配模板。
[0014] 進(jìn)一步技術(shù)方案中,將所述待識(shí)別手勢(shì)的特征參數(shù)與所述模板的特征參數(shù)進(jìn)行匹 配度的計(jì)算,包括:將所述待識(shí)別手勢(shì)的輪廓點(diǎn)按序排列組成目標(biāo)序列,將需要與所述待識(shí) 別手勢(shì)進(jìn)行匹配的一個(gè)模板的輪廓點(diǎn)按序排列組成匹配序列; 利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算所述目標(biāo)序列與所述匹配序列之間的匹配度,作為所述待 識(shí)別手勢(shì)與對(duì)應(yīng)模板之間的匹配度。
[0015] 進(jìn)一步技術(shù)方案中,利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算所述目標(biāo)序列與所述匹配序列之 間的匹配度,包括: 求取所述目標(biāo)序列上一點(diǎn)與所述匹配序列上一點(diǎn)之間的歐氏距離,并比較所述目標(biāo)序 列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)的前 一點(diǎn)的對(duì)應(yīng)點(diǎn)間的歐氏距離之和,所述目標(biāo)序列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)的前一點(diǎn) 與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和與所述目標(biāo)序 列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)前一點(diǎn)與所述匹配序列上從起點(diǎn)到所述匹配序列上一 點(diǎn)的前一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和,取=者之間的最小值與所述目標(biāo)序列上一點(diǎn)與所述 匹配序列上一點(diǎn)之間的歐氏距離相加,得到所述目標(biāo)序列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn) 與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和; 將得到的所述目標(biāo)序列上從起點(diǎn)到終點(diǎn)與所述匹配序列上從起點(diǎn)到終點(diǎn)對(duì)應(yīng)點(diǎn)間的 歐氏距離之和作為所述目標(biāo)序列與所述匹配序列之間的匹配度。
[0016] 本發(fā)明還提供了一種手勢(shì)識(shí)別裝置,包括: 提取模塊,用于獲取待識(shí)別手勢(shì)的形狀,由所述手勢(shì)形狀邊緣提取一個(gè)封閉的輪廓,獲 取該輪廓上所有的輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo); 計(jì)算模塊,用于確定輪廓的層數(shù),并基于每個(gè)所述輪廓點(diǎn)的坐標(biāo)計(jì)算每個(gè)所述輪廓點(diǎn) 對(duì)應(yīng)于每層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù),作為該輪廓點(diǎn)的特征參數(shù); 匹配模塊,用于利用每個(gè)輪廓點(diǎn)的特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模 板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最佳匹配模板,并確定所述最佳匹配模板的類別為所 述待識(shí)別手勢(shì)的類別。
[0017] 由于上述技術(shù)方案運(yùn)用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點(diǎn): 1. 與現(xiàn)有技術(shù)相比,本發(fā)明根據(jù)待識(shí)別手勢(shì)形狀的邊緣提取封閉的輪廓,進(jìn)而獲得輪 廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo),然后計(jì)算每個(gè)輪廓點(diǎn)在每個(gè)輪廓層的參數(shù),即面積參數(shù)、弧長(zhǎng)參 數(shù)和重屯、參數(shù),作為每個(gè)輪廓點(diǎn)完整的特征參數(shù),W實(shí)現(xiàn)全局特征和局部特征的提取及有 效表示,最后依據(jù)手勢(shì)形狀中每個(gè)輪廓點(diǎn)的特征參數(shù),將待識(shí)別手勢(shì)與模板進(jìn)行匹配,得到 對(duì)應(yīng)的最佳匹配模板,從而確定待識(shí)別手勢(shì)的類別,在上述過(guò)程中,不是單一的關(guān)注全局特 征或局部特征,而是同時(shí)對(duì)全局特征、局部特征及全局特征與局部特征之間的關(guān)系進(jìn)行描 述,多尺度、全方位地進(jìn)行分析表述,實(shí)現(xiàn)了對(duì)待識(shí)別手勢(shì)形狀的全局特征和局部特征的有 效提取和表示,尤其對(duì)手指信息進(jìn)行增強(qiáng)表示,避免了基于單一特征導(dǎo)致的識(shí)別準(zhǔn)確率低 的情況;而且本發(fā)明的特征參數(shù)的維度較低,在將待識(shí)別手勢(shì)與模板進(jìn)行匹配時(shí)計(jì)算復(fù)雜 度降低,實(shí)現(xiàn)了較高的識(shí)別效率,從而本發(fā)明能同時(shí)保證較高的識(shí)別正確率和效率; 2. 本發(fā)明在對(duì)手勢(shì)形狀的全局特征和局部特征進(jìn)行提取和有效表示的同時(shí),還具有平 移不變性、旋轉(zhuǎn)不變性、尺度不變性、較接不變性和遮擋不變性等優(yōu)良性能,并能有效抑制 噪聲干擾,進(jìn)一步提高識(shí)別準(zhǔn)確率和識(shí)別效率。
[001 引
【附圖說(shuō)明】
[0019] 圖1是本發(fā)明的流程示意圖。
[0020] 圖2為本發(fā)明實(shí)施例一中提供的手勢(shì)識(shí)別方法中設(shè)及的目標(biāo)形狀的具體例子的示 意圖。
[0021] 圖3為本發(fā)明實(shí)施例一中提供的手勢(shì)識(shí)別方法中目標(biāo)形狀的具體示意圖。
[0022] 圖4為本發(fā)明實(shí)施例一中提供的手勢(shì)識(shí)別方法中目標(biāo)形狀被預(yù)設(shè)圓截取后的示意 圖。
[0023] 圖5為本發(fā)明實(shí)施例一中提供的手勢(shì)識(shí)別方法中目標(biāo)形狀被預(yù)設(shè)圓分割后的示意 圖。
[0024] 圖6為本發(fā)明實(shí)施例一中提供的手勢(shì)識(shí)別裝置的結(jié)構(gòu)示意圖。
[0025] 其中:1、提取模塊;2、計(jì)算模塊;3、匹配模塊。
【具體實(shí)施方式】
[0026] 下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步描述: 實(shí)施例一:參見(jiàn)圖1所示,一種手勢(shì)識(shí)別方法,所述方法包括如下步驟: S1、獲取待識(shí)別手勢(shì)形狀,并由所述待識(shí)別手勢(shì)形狀的邊緣提取一個(gè)封閉的輪廓,獲取 該輪廓上的所有輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo); 需要說(shuō)明的是,本發(fā)明設(shè)計(jì)的目標(biāo)形狀均可W為具有閉合輪廓的形狀,如圖2所示為本 發(fā)明設(shè)及的目標(biāo)形狀的具體例子。另外,輪廓點(diǎn)的數(shù)量為輪廓點(diǎn)上所有點(diǎn)的個(gè)數(shù),其具體取 值根據(jù)實(shí)際情況確定,W完整表示手勢(shì)形狀的輪廓特征為準(zhǔn)。
[0027] 在數(shù)字圖像中,形狀的邊緣可W由一系列具有坐標(biāo)信息的輪廓點(diǎn)表示,本發(fā)明實(shí) 施例中目標(biāo)形狀的輪廓點(diǎn)的集合S可W表示為: S={p(i) I iG [l,n]} 其中,n表示輪廓的長(zhǎng)度,即輪廓點(diǎn)的個(gè)數(shù);p(i)表示輪廓點(diǎn)的序列中的第i個(gè)輪廓點(diǎn), 且有: p(i) = {u(i) ,v(i)} 其中,u(i)、v(i)分別是p(i)的橫縱坐標(biāo)。
[0028] S2、確定當(dāng)前所有輪廓點(diǎn)所在的輪廓的層數(shù)為1,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前 層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù); 需要說(shuō)明的是,輪廓的層數(shù)即每個(gè)輪廓點(diǎn)對(duì)應(yīng)的特征參數(shù)的層數(shù),通過(guò)確定輪廓的層 數(shù),可W得到每個(gè)輪廓點(diǎn)在每層輪廓下的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù),W構(gòu)成每個(gè)輪廓 點(diǎn)完整的特征參數(shù)。其中,輪廓點(diǎn)的層數(shù)可W由工作人員根據(jù)實(shí)際需要進(jìn)行確定,可W直接 設(shè)定其層數(shù),也可W通過(guò)一定算法得到,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0029] S3、將當(dāng)前層加1作為當(dāng)前層,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧 長(zhǎng)參數(shù)及重屯、參數(shù),然后計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、 參數(shù)與當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的層數(shù)減1的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)之間的 差異,并判斷當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)的所述差異的和與所述所有輪廓點(diǎn)的數(shù)量的比值是否小 于差異闊值,如果是,則確定當(dāng)前層減1得到的層數(shù)為所述輪廓的層數(shù),并執(zhí)行步驟S5,如果 否,則執(zhí)行步驟S4; 需要說(shuō)明的是,差異闊值可W根據(jù)實(shí)際需要進(jìn)行確定,例如差異闊值為1(T3,如當(dāng)前層 為3時(shí)每個(gè)輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)與當(dāng)前層為2時(shí)該輪廓點(diǎn) 對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)之間的差異的平均值,即全部輪廓點(diǎn)對(duì)應(yīng) 的上述差異的和與輪廓點(diǎn)的個(gè)數(shù)的比值小于差異闊值,則確定每個(gè)輪廓點(diǎn)的層數(shù)為2層。另 夕h平均值指的是每個(gè)輪廓點(diǎn)對(duì)應(yīng)的差異的平均值,而任一輪廓點(diǎn)的差異為該輪廓點(diǎn)在不 同層對(duì)應(yīng)的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)之間的差異。而在確定任一輪廓點(diǎn)在兩個(gè)層分 別對(duì)應(yīng)的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)之間的差異時(shí),可W是分別計(jì)算該輪廓點(diǎn)在兩個(gè) 層分別對(duì)應(yīng)的面積參數(shù)的差值,兩個(gè)層分別對(duì)應(yīng)的弧長(zhǎng)參數(shù)的差值及兩個(gè)層分別對(duì)應(yīng)的重 屯、參數(shù)的差值,進(jìn)而根據(jù)上述=個(gè)差值及=個(gè)差值的權(quán)重計(jì)算得到最后的差異,也可W是 將每個(gè)層對(duì)應(yīng)的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)構(gòu)成一參數(shù)向量,進(jìn)而計(jì)算兩個(gè)層分別對(duì) 應(yīng)的參數(shù)向量之間的向量差,得到最后的差異,還可W根據(jù)實(shí)際需要按照其他方法計(jì)算上 述差異,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0030] 另外,需要說(shuō)明的是,預(yù)先計(jì)算出每個(gè)輪廓點(diǎn)初始的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參 數(shù),即每個(gè)輪廓點(diǎn)當(dāng)前層為1時(shí)的初始面積參數(shù)、初始弧長(zhǎng)參數(shù)及初始重屯、參數(shù),運(yùn)是因?yàn)椋?輪廓的層數(shù)至少為一層,因此,可W先計(jì)算出每個(gè)輪廓點(diǎn)的初始面積參數(shù)、初始弧長(zhǎng)參數(shù)及 初始重屯、參數(shù),進(jìn)而選取任一輪廓點(diǎn)按照上述方法計(jì)算其在當(dāng)前層及當(dāng)前層減一得到的層 對(duì)應(yīng)的上述參數(shù)之間的差異,并在該差異小于差異闊值時(shí),確定當(dāng)前層減一對(duì)應(yīng)的層的層 數(shù)為輪廓的層數(shù),并在確定層數(shù)后,計(jì)算出每個(gè)輪廓點(diǎn)對(duì)應(yīng)其它層的上述參數(shù)即可,當(dāng)然, 也可W根據(jù)實(shí)際需要進(jìn)行其他設(shè)置,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0031] S4、返回步驟S3; S5、將每個(gè)輪廓點(diǎn)的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)作為特征參數(shù),利用每個(gè)輪廓點(diǎn)的 特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最 佳匹配模板,并確定所述最佳匹配模板的類別為最終所需的所述手勢(shì)識(shí)別的類別; 需要說(shuō)明的是,預(yù)設(shè)模版庫(kù)為工作人員預(yù)先設(shè)置的模板庫(kù),其中的每個(gè)模板都具有相 應(yīng)的特征參數(shù),而每個(gè)模板的特征參數(shù)的計(jì)算方法與待識(shí)別手勢(shì)的特征參數(shù)的計(jì)算方法相 同,在此不再寶述。通過(guò)將待識(shí)別手勢(shì)的每個(gè)輪廓點(diǎn)的特征參數(shù)與預(yù)設(shè)模板庫(kù)中的每個(gè)模 板上的輪廓點(diǎn)的特征參數(shù)進(jìn)行匹配,得到與待識(shí)別手勢(shì)匹配度最佳的模板,并確定該模板 的類別為待識(shí)別手勢(shì)的類別。
[0032] 其中面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)獲取的步驟具體包括: (1 )、將任一當(dāng)前輪廓點(diǎn)作為目標(biāo)輪廓點(diǎn),W所述目標(biāo)輪廓點(diǎn)的坐標(biāo)為中屯、,W與當(dāng)前 層對(duì)應(yīng)的半徑為預(yù)設(shè)半徑作圓,得到與當(dāng)前輪廓層對(duì)應(yīng)的預(yù)設(shè)圓; (2) 、將所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓截取的與所述目標(biāo)輪廓點(diǎn)具有直接連接 關(guān)系的區(qū)域的面積與所述預(yù)設(shè)圓的面積的比值和歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別 手勢(shì)形狀重屯、的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的面積參數(shù),面積參數(shù)的取值范圍應(yīng)當(dāng)在 0到1之間; (3) 、將所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓切割出的與所述目標(biāo)輪廓點(diǎn)具有直接連 接關(guān)系的弧段的長(zhǎng)度與所述預(yù)設(shè)圓的周長(zhǎng)的比值和歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí) 別手勢(shì)形狀重屯、的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的弧長(zhǎng)參數(shù),弧長(zhǎng)參數(shù)的取值范圍應(yīng)當(dāng) 在0到1之間; (4) 、確定所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓截取的與所述目標(biāo)輪廓點(diǎn)具有直接連 接關(guān)系的區(qū)域的重屯、與所述目標(biāo)輪廓點(diǎn)的距離,并將該距離與所述預(yù)設(shè)半徑的比值與歸一 化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的重 屯、參數(shù),重屯、參數(shù)的取值范圍應(yīng)當(dāng)在0到1之間。
[0033] 其中,需要說(shuō)明的是,預(yù)設(shè)半徑為與當(dāng)前層對(duì)應(yīng)的半徑,即不同的輪廓層對(duì)應(yīng)不同 的預(yù)設(shè)半徑。且,對(duì)于每個(gè)輪廓點(diǎn),均需要按照上述步驟得到其對(duì)應(yīng)于每層的面積參數(shù)、弧 長(zhǎng)參數(shù)及重屯、參數(shù),在此不再寶述。
[0034] 依據(jù)上述步驟得到預(yù)設(shè)圓Ci(i)后,手勢(shì)形狀必然有一部分落在該預(yù)設(shè)圓內(nèi),假設(shè) 圖3所示為目標(biāo)形狀,則預(yù)設(shè)圓與目標(biāo)形狀的示意圖則如圖4所示。如果目標(biāo)形狀落在預(yù)設(shè) 圓內(nèi)的部分為一單獨(dú)區(qū)域,則該單獨(dú)區(qū)域即為與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的區(qū)域,記 為Zi( i);如果目標(biāo)形狀落在預(yù)設(shè)圓內(nèi)的部分分為若干個(gè)互不連通的區(qū)域的話,如圖4所示 的區(qū)域A和區(qū)域B,那么確定目標(biāo)輪廓點(diǎn)在其輪廓上的區(qū)域?yàn)榕c目標(biāo)輪廓點(diǎn)具有直接連接關(guān) 系的區(qū)域,記為Zi(i)。具體來(lái)說(shuō),將預(yù)設(shè)圓Ci(i)中的與目標(biāo)輪廓點(diǎn)p(i)具有直接連接關(guān)系 的區(qū)域Zi(i)的面積記為&*(〇,則有:
將Zi(i)的面積與預(yù)設(shè)圓Ci(i)面積的比值與歸一化的所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形 狀重屯、的距離d( i)的乘積作為目標(biāo)輪廓點(diǎn)的特征參數(shù)的面積參數(shù)si(i),即:
si(i)的取值范圍應(yīng)當(dāng)在0到1之間。
[0035] 計(jì)算與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的區(qū)域的重屯、時(shí),具體可W為將該區(qū)域中所 有像素點(diǎn)的坐標(biāo)值求取平均數(shù),所得結(jié)果即為該區(qū)域的重屯、的坐標(biāo)值,可W表示為:
其中,wi(i)即為上述區(qū)域的重屯、。
[0036] 而計(jì)算目標(biāo)輪廓點(diǎn)與重屯、wi(i)的距離,可W表示為:
并將與目標(biāo)輪廓點(diǎn)的預(yù)設(shè)圓的半徑的比值與歸一化的所述目標(biāo)輪廓點(diǎn)與所述手 勢(shì)形狀重屯、的距離d(i)的乘積作為該目標(biāo)輪廓點(diǎn)特征參數(shù)的重屯、參數(shù)q(〇.即
ci(i)的取值范圍應(yīng)當(dāng)在0到1之間。
[0037] 依據(jù)上述步驟得到預(yù)設(shè)圓后,目標(biāo)形狀的輪廓被預(yù)設(shè)圓切割后必然會(huì)有一段或者 多段弧段落在預(yù)設(shè)圓內(nèi),如圖5所示。如果目標(biāo)形狀只有一段弧段落在預(yù)設(shè)圓內(nèi),則確定該 弧段為與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的弧段,如果目標(biāo)形狀有多段弧段落在預(yù)設(shè)圓內(nèi), 如圖5中的弧段A(Segment A)、弧段B(Segment B)、弧段C(Segment C),則確定目標(biāo)輪廓點(diǎn) 所在的弧段為與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的弧段,在圖5中即為弧段A(Segment A)。
[003引將預(yù)設(shè)圓ci(i)內(nèi)與目標(biāo)輪廓點(diǎn)p(i)具有直接連接關(guān)系的弧段的長(zhǎng)度記為/|'(/), 并將(的與預(yù)設(shè)圓ci(i)周長(zhǎng)的比值與歸一化的所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距 離d( i)的乘積作為目標(biāo)輪廓點(diǎn)的特征參數(shù)的弧長(zhǎng)參數(shù)h(i),即
其中,h(i)的取值范圍應(yīng)當(dāng)在0到1之間。
[0039] 從而可W通過(guò)上述方式得到目標(biāo)輪廓點(diǎn)及其他全部輪廓點(diǎn)的特征參數(shù),表示為M (i) :M(i) = {sk(i),lk(i),ck(i) I kG [1 ,m], i G [1 ,n]} 本實(shí)施例中,利用Kinect傳感器獲取待識(shí)別手勢(shì)的形狀。
[0040] 需要說(shuō)明的是,獲取待識(shí)別手勢(shì)形狀時(shí)可W采用工作人員預(yù)先確定的任何能夠有 效實(shí)現(xiàn)手勢(shì)形狀獲取的方法。本發(fā)明的實(shí)施例中,采用Kinect傳感器,W有效地獲取待識(shí)別 手勢(shì)的形狀。
[0041] 本實(shí)施例中,采用化nny算子提取所述待識(shí)別手勢(shì)形狀的邊緣獲得一個(gè)封閉的輪 廓。
[0042] 需要說(shuō)明的是,提取手勢(shì)形狀的邊緣時(shí)可W采用作人員預(yù)先確定的任何能夠有效 實(shí)現(xiàn)手勢(shì)形狀邊緣提取的方法,具體可W為化nny算子、Laplacian算子等,本發(fā)明的實(shí)施例 中,優(yōu)選為化nny算子,W快速有效地獲取手勢(shì)形狀的輪廓。
[0043] 本實(shí)施例中,歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離,包括: 計(jì)算所述手勢(shì)形狀的重屯、,將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀的重屯、相減,得到所述 目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離; 將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離與所述手勢(shì)形狀等效半徑的2倍相除, 得到歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重屯、的距離。
[0044] 需要說(shuō)明的是,計(jì)算所述手勢(shì)形狀的重屯、時(shí),具體可W將該手勢(shì)形狀中所有像素 點(diǎn)的坐標(biāo)值求取平均值,所得結(jié)果即為該手勢(shì)形狀的重屯、的坐標(biāo)值,可W表示為:
其中,Pcenter即為所述手勢(shì)形狀的重屯、。
[0045] 計(jì)算目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、Peenter的距離d*(i),可W表示為: d*(i)= I I P(i)-Pcenter 并將d*(i)與所述手勢(shì)形狀等效半徑的2倍的比值作為歸一化的所述目標(biāo)輪廓點(diǎn)與所 述手勢(shì)形狀重屯、的距離d(i)
其中R為所述手勢(shì)形狀的等效半徑。
[0046] 本實(shí)施例中,確定與所述當(dāng)前層對(duì)應(yīng)的半徑為預(yù)設(shè)半徑,包括: 將所述待識(shí)別手勢(shì)形狀的等效半徑與2的N次方的比值作為所述當(dāng)前層對(duì)應(yīng)的預(yù)設(shè)半 徑,其中,N為所述當(dāng)前層對(duì)應(yīng)的層數(shù)。
[0047] 具體可W表示為:Wp(i)為圓屯、,Wri為預(yù)設(shè)半徑做圓得到預(yù)設(shè)圓Ci(i),該預(yù)設(shè)圓 是為計(jì)算對(duì)應(yīng)輪廓點(diǎn)的特征參數(shù)所做的準(zhǔn)備工作。
[0048] 而預(yù)設(shè)半徑n的具體表示方式可W為:
其中,R為手勢(shì)形狀的等效半徑,N為當(dāng)前層對(duì)應(yīng)的層數(shù)。計(jì)算第一層對(duì)應(yīng)的預(yù)設(shè)半徑ri 時(shí),此公式中N取1;而計(jì)算其他層對(duì)應(yīng)的預(yù)設(shè)半徑時(shí),N為對(duì)應(yīng)的層數(shù)。
[0049] 本實(shí)施例中,確定所述待識(shí)別手勢(shì)形狀的等效半徑,包括: 計(jì)算所述待識(shí)別手勢(shì)形狀的面積,并對(duì)所述待識(shí)別手勢(shì)形狀的面積進(jìn)行開(kāi)平方得到所 述待識(shí)別手勢(shì)形狀的等效半徑。
[0化日]具體可W表示為:
其中,areas為手勢(shì)形狀的面積,R為手勢(shì)形狀的等效半徑。
[0051] 當(dāng)然,上述預(yù)設(shè)半徑及等效半徑的具體計(jì)算方法也可W由工作人員根據(jù)實(shí)際需要 進(jìn)行其他設(shè)定,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0052] 本實(shí)施例中,利用每個(gè)輪廓點(diǎn)參數(shù)的特征參數(shù)與預(yù)設(shè)模板庫(kù)中的模板進(jìn)行匹配, 得到所述待識(shí)別手勢(shì)的最佳匹配模板,包括: 將所述待識(shí)別手勢(shì)的特征參數(shù)與所述模板的特征參數(shù)進(jìn)行匹配度的計(jì)算,并確定匹配 度不大于其他模板的匹配度的模板為所述最佳匹配模板。
[0053] 其中,匹配度越小,說(shuō)明待識(shí)別目標(biāo)形狀與對(duì)應(yīng)模板的形狀越相似,因此,確定匹 配度不大于其他模板的匹配度的模板為最佳匹配模板。而匹配度不大于其他模板的匹配度 的模板具體可W為:如果模板中存在匹配度最小的一個(gè)模板,則確定該模板為最佳匹配模 板,如果模板中存在匹配度最小且相等的多個(gè)模板,則確定其中一個(gè)模板為最佳匹配模板。
[0054] 上述方案中,將所述待識(shí)別手勢(shì)的特征參數(shù)與所述模板的特征參數(shù)進(jìn)行匹配度的 計(jì)算,包括:將所述待識(shí)別手勢(shì)的輪廓點(diǎn)按序排列組成目標(biāo)序列,將需要與所述待識(shí)別手勢(shì) 進(jìn)行匹配的一個(gè)模板的輪廓點(diǎn)按序排列組成匹配序列; 利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算所述目標(biāo)序列與所述匹配序列之間的匹配度,作為所述待 識(shí)別手勢(shì)與對(duì)應(yīng)模板之間的匹配度。
[0055] 當(dāng)然,也可W根據(jù)實(shí)際需要由工作人員預(yù)先設(shè)置其他的算法計(jì)算上述匹配度,均 在本發(fā)明保護(hù)范圍之內(nèi)。
[0056] 上述方案中,利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算所述目標(biāo)序列與所述匹配序列之間的匹 配度,包括: 求取所述目標(biāo)序列上一點(diǎn)與所述匹配序列上一點(diǎn)之間的歐氏距離,并比較所述目標(biāo)序 列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)的前 一點(diǎn)的對(duì)應(yīng)點(diǎn)間的歐氏距離之和,所述目標(biāo)序列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)的前一點(diǎn) 與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和與所述目標(biāo)序 列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)前一點(diǎn)與所述匹配序列上從起點(diǎn)到所述匹配序列上一 點(diǎn)的前一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和,取=者之間的最小值與所述目標(biāo)序列上一點(diǎn)與所述 匹配序列上一點(diǎn)之間的歐氏距離相加,得到所述目標(biāo)序列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn) 與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和; 將得到的所述目標(biāo)序列上從起點(diǎn)到終點(diǎn)與所述匹配序列上從起點(diǎn)到終點(diǎn)對(duì)應(yīng)點(diǎn)間的 歐氏距離之和作為所述目標(biāo)序列與所述匹配序列之間的匹配度。
[0057]具體來(lái)說(shuō),上述求取待識(shí)別手勢(shì)與對(duì)應(yīng)模板之間的匹配度,可W包括: 將分別屬于目標(biāo)序列及匹配序列的輪廓點(diǎn)按照預(yù)設(shè)規(guī)則進(jìn)行兩兩匹配,并求得每對(duì)配 對(duì)的輪廓點(diǎn)之間的歐氏距離,即每次進(jìn)行配對(duì)的兩個(gè)輪廓點(diǎn)中一個(gè)屬于目標(biāo)序列,另一個(gè) 屬于匹配序列。其中,預(yù)設(shè)規(guī)則可W由工作人員根據(jù)實(shí)際需要進(jìn)行確定,具體可W為: 1、 進(jìn)行配對(duì)的兩個(gè)輪廓點(diǎn)必須屬于兩條不同的點(diǎn)序列,即分別屬于目標(biāo)序列及匹配序 列; 2、 目標(biāo)序列的起點(diǎn)與匹配序列的起點(diǎn)必須進(jìn)行配對(duì),目標(biāo)序列的終點(diǎn)與匹配序列的終 點(diǎn)必須進(jìn)行配對(duì); 3、 兩條進(jìn)行匹配的點(diǎn)序列必須按輪廓點(diǎn)的標(biāo)號(hào)順序配對(duì); 4、 參與過(guò)配對(duì)的輪廓點(diǎn)可W再次參與配對(duì),但參與過(guò)配對(duì)的一對(duì)輪廓點(diǎn)中的目標(biāo)輪廓 點(diǎn)與另一條點(diǎn)序列上超過(guò)一個(gè)輪廓點(diǎn)進(jìn)行配對(duì),則與目標(biāo)輪廓點(diǎn)配對(duì)過(guò)的輪廓點(diǎn)不能再次 參與配對(duì); 5、 所有輪廓點(diǎn)必須都參與配對(duì)。
[005引具體來(lái)說(shuō),目標(biāo)序列可W表示A={pi,p2, . . .,pm},匹配序列可W表示為B={qi, Q2, ...,qn},不失一般性的,可W假設(shè)m>n,則計(jì)算屬于不同點(diǎn)序列中的兩個(gè)輪廓點(diǎn)Pi和qj 的特征參數(shù)之間的歐氏距離d(pi,w),即:
利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算待識(shí)別手勢(shì)上從起點(diǎn)到Pi點(diǎn)和匹配模版上從起點(diǎn)到qj點(diǎn) 之間的最小匹配代價(jià)D(Pi,Qj ),即: D(pi,qj)=min{D(pi-i,qj),D(pi,qj-i),D(pi-i,qj-i)}+d(pi,qj) 則利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算出的待識(shí)別目標(biāo)序列與匹配序列之間的匹配度D(pm, qn),即:D(Pm,qn) =min{D(Pm-l,qn) ,D(Pm,qn-l) ,D(Pm-l ,qn-l) }+d(Pm,qn) 需要說(shuō)明的是,本發(fā)明實(shí)施例所提供的一種手勢(shì)識(shí)別方法的功能如果W軟件功能單元 的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可W存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì) 中。基于運(yùn)樣的理解,本發(fā)明實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可 W W軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用W使 得一臺(tái)計(jì)算設(shè)備(可W是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明 各個(gè)實(shí)施例方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)可W包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ) 器(ROM,Read-Only Memoir)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memoir)、磁碟或者光 盤等各種可W存儲(chǔ)程序代碼的介質(zhì)。
[0059]如圖6所示,本實(shí)施例還提供了一種手勢(shì)識(shí)別裝置,包括: 提取模塊1,用于獲取待識(shí)別手勢(shì)的形狀,由所述手勢(shì)形狀邊緣提取一個(gè)封閉的輪廓, 獲取該輪廓上所有的輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo); 計(jì)算模塊2,用于確定輪廓的層數(shù),并基于每個(gè)所述輪廓點(diǎn)的坐標(biāo)計(jì)算每個(gè)所述輪廓點(diǎn) 對(duì)應(yīng)于每層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù),作為該輪廓點(diǎn)的特征參數(shù); 匹配模塊3,用于利用每個(gè)輪廓點(diǎn)的特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模 板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最佳匹配模板,并確定所述最佳匹配模板的類別為所 述待識(shí)別手勢(shì)的類別。
[0060] 所述提取模塊1與計(jì)算模塊2連接,所述計(jì)算模塊2與匹配模塊連接。
[0061] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,提取模塊可W包括: 獲取單元,用于利用Kinect傳感器獲得待識(shí)別手勢(shì)的形狀; 提取單元,用于采用化nny算子針對(duì)手勢(shì)形狀的邊緣提取一個(gè)封閉的輪廓。
[0062] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,計(jì)算模塊可W包括: (1) 、確定當(dāng)前所有輪廓點(diǎn)所在的輪廓的層數(shù)為1,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層 的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù); (2) 、將當(dāng)前層加1作為當(dāng)前層,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參 數(shù)及重屯、參數(shù),然后計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù) 與當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的層數(shù)減1的面積參數(shù)、弧長(zhǎng)參數(shù)及重屯、參數(shù)之間的差異, 并判斷當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)的所述差異的和與所述所有輪廓點(diǎn)的數(shù)量的比值是否小于差 異闊值,如果是,則確定當(dāng)前輪廓層減1得到的層數(shù)為當(dāng)前所有輪廓點(diǎn)所在輪廓層的層數(shù), 如果否,則執(zhí)行步驟(3); (3) 、返回步驟(2); 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,計(jì)算模塊可W包括: 計(jì)算單元,用于:確定任一輪廓點(diǎn)為目標(biāo)輪廓點(diǎn),W目標(biāo)輪廓點(diǎn)的坐標(biāo)為中屯、,W與當(dāng) 前層對(duì)應(yīng)的半徑為預(yù)設(shè)半徑作圓,得到與當(dāng)前層對(duì)應(yīng)的預(yù)設(shè)圓;將目標(biāo)形狀中被預(yù)設(shè)圓截 取的,與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的區(qū)域的面積與預(yù)設(shè)圓的面積的比值與歸一化的所 述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離的乘積作為目標(biāo)輪廓點(diǎn)的面積參數(shù);將目標(biāo)形狀 中被預(yù)設(shè)圓切割出的,與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的弧段的長(zhǎng)度與預(yù)設(shè)圓的周長(zhǎng)的比 值與歸一化的所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離的乘積作為目標(biāo)輪廓點(diǎn)的弧長(zhǎng) 參數(shù);確定目標(biāo)形狀中被預(yù)設(shè)圓截取的,與目標(biāo)輪廓點(diǎn)具有直接連接關(guān)系的區(qū)域的重屯、與 目標(biāo)輪廓點(diǎn)的距離,并將該距離與預(yù)設(shè)半徑的比值與歸一化的所述目標(biāo)輪廓點(diǎn)與所述手勢(shì) 形狀重屯、的距離的乘積作為目標(biāo)輪廓點(diǎn)的重屯、參數(shù)。
[0063] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,計(jì)算單元可W包括: 歸一化的所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離確定單元,用于計(jì)算所述手勢(shì)形 狀的重屯、,將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離與所述手勢(shì)形狀等效半徑的2倍 相除,得到歸一化的所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重屯、的距離。
[0064] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,計(jì)算單元可W包括: 半徑確定單元,用于將手勢(shì)形狀的等效半徑與2的N次方的比值作為當(dāng)前層對(duì)應(yīng)的預(yù)設(shè) 半徑,其中,N為當(dāng)前層對(duì)應(yīng)的層數(shù)。
[0065] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,半徑確定單元可W包括: 半徑確定子單元,用于計(jì)算手勢(shì)形狀的面積,并對(duì)手勢(shì)形狀的面積進(jìn)行開(kāi)平方得到目 標(biāo)形狀的等效半徑。
[0066] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,匹配模塊可W包括: 匹配單元,用于將待識(shí)別手勢(shì)的特征參數(shù)與模板的特征參數(shù)進(jìn)行匹配度的計(jì)算,并確 定匹配度不大于其他模板的匹配度的模板為最佳匹配模板。
[0067] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,匹配單元可W包括: 匹配子單元,用于:將待識(shí)別手勢(shì)的輪廓點(diǎn)按序排列組成目標(biāo)序列,將需要與待識(shí)別手 勢(shì)進(jìn)行匹配的一個(gè)模板的輪廓點(diǎn)按序排列組成匹配序列;利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算目標(biāo) 序列與匹配序列之間的匹配度,作為待識(shí)別手勢(shì)與對(duì)應(yīng)模板之間的匹配度。
[0068] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中,匹配子單元可W包括: 求取單元:用于:求取所述目標(biāo)序列上一點(diǎn)與所述匹配序列上一點(diǎn)之間的歐氏距離,并 比較所述目標(biāo)序列上從起點(diǎn)到所述點(diǎn)與所述匹配序列上從起點(diǎn)到所述點(diǎn)的前一點(diǎn)的對(duì)應(yīng) 點(diǎn)間的歐氏距離之和,所述目標(biāo)序列上從起點(diǎn)到所述點(diǎn)的前一點(diǎn)與所述匹配序列上從起點(diǎn) 到所述點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和與所述目標(biāo)序列上從起點(diǎn)到所述點(diǎn)前一點(diǎn)與所述匹配 序列上從起點(diǎn)到所述點(diǎn)的前一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和,取=者之間的最小值與所述目 標(biāo)序列上所述點(diǎn)與所述匹配序列上所述點(diǎn)之間的歐氏距離相加,得到所述目標(biāo)序列上從起 點(diǎn)到所述點(diǎn)與所述匹配序列上從起點(diǎn)到所述點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和。
[0069] 本發(fā)明實(shí)施例提供的一種手勢(shì)識(shí)別裝置中相關(guān)部分的說(shuō)明請(qǐng)參見(jiàn)本發(fā)明實(shí)施例 提供的一種手勢(shì)識(shí)別方法中對(duì)應(yīng)部分的詳細(xì)說(shuō)明,在此不再寶述。
[0070] 另外,本說(shuō)明書中各個(gè)實(shí)施例采用的遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都 是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似的部分互相參見(jiàn)即可。
[0071] 對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)運(yùn) 些實(shí)施例的多種修改對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可 W在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限 制于本文所示的運(yùn)些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的 范圍。
【主權(quán)項(xiàng)】
1. 一種手勢(shì)識(shí)別方法,其特征在于:所述方法包括如下步驟: 一種手勢(shì)識(shí)別方法,其特征在于:所述方法包括如下步驟: 51、 獲取待識(shí)別手勢(shì)形狀,并由所述待識(shí)別手勢(shì)形狀的邊緣提取一個(gè)封閉的輪廓,獲取 所述輪廓上的所有輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo); 52、 確定當(dāng)前所有輪廓點(diǎn)所在的輪廓的層數(shù)為1,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的 面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù); 53、 將當(dāng)前層加1作為當(dāng)前層,計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參 數(shù)及重心參數(shù),然后計(jì)算當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù) 與當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)于當(dāng)前層的層數(shù)減1的面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù)之間的差異, 并判斷當(dāng)前所有輪廓點(diǎn)對(duì)應(yīng)的所述差異的和與所述所有輪廓點(diǎn)的數(shù)量的比值是否小于差 異閾值,如果是,則確定當(dāng)前層減1得到的層數(shù)為所述輪廓的層數(shù),并執(zhí)行步驟S5,如果否, 則執(zhí)行步驟S4; 54、 返回步驟S3; 55、 將每個(gè)輪廓點(diǎn)的面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù)作為特征參數(shù),利用每個(gè)輪廓點(diǎn)的 特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最 佳匹配模板,并確定所述最佳匹配模板的類別為最終所需的所述待手勢(shì)識(shí)別的類別; 其中面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù)獲取的步驟具體包括: (1) 、將任一輪廓點(diǎn)作為目標(biāo)輪廓點(diǎn),以所述目標(biāo)輪廓點(diǎn)的坐標(biāo)為中心,以與當(dāng)前層對(duì) 應(yīng)的半徑為預(yù)設(shè)半徑作圓,得到與當(dāng)前層對(duì)應(yīng)的預(yù)設(shè)圓; (2) 、將所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓截取的與所述目標(biāo)輪廓點(diǎn)具有直接連接 關(guān)系的區(qū)域的面積與所述預(yù)設(shè)圓的面積的比值和歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別 手勢(shì)形狀重心的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的面積參數(shù); (3) 、將所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓切割出的與所述目標(biāo)輪廓點(diǎn)具有直接連 接關(guān)系的弧段的長(zhǎng)度與所述預(yù)設(shè)圓的周長(zhǎng)的比值和歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí) 別手勢(shì)形狀重心的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的弧長(zhǎng)參數(shù); (4) 、確定所述待識(shí)別手勢(shì)形狀中被所述預(yù)設(shè)圓截取的與所述目標(biāo)輪廓點(diǎn)具有直接連 接關(guān)系的區(qū)域的重心與所述目標(biāo)輪廓點(diǎn)的距離,并將該距離與所述預(yù)設(shè)半徑的比值與歸一 化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重心的距離的乘積作為所述目標(biāo)輪廓點(diǎn)的重 心參數(shù)。2. 根據(jù)權(quán)利要求1所述的手勢(shì)識(shí)別方法,其特征在于:利用Kinect傳感器獲取所述待識(shí) 別手勢(shì)的形狀。3. 根據(jù)權(quán)利要求1所述的手勢(shì)識(shí)別方法,其特征在于:采用Canny算子提取所述待識(shí)別 手勢(shì)形狀的邊緣獲得一個(gè)封閉的輪廓。4. 根據(jù)權(quán)利要求1所述的手勢(shì)識(shí)別方法,其特征在于:歸一化的所述目標(biāo)輪廓點(diǎn)與所述 待識(shí)別手勢(shì)形狀重心的距離,包括: 計(jì)算所述手勢(shì)形狀的重心,將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀的重心相減,得到所述 目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重心的距離; 將所述目標(biāo)輪廓點(diǎn)與所述手勢(shì)形狀重心的距離與所述手勢(shì)形狀等效半徑的2倍相除, 得到歸一化的所述目標(biāo)輪廓點(diǎn)與所述待識(shí)別手勢(shì)形狀重心的距離。5. 根據(jù)權(quán)利要求1所述的手勢(shì)識(shí)別方法,其特征在于:確定與所述當(dāng)前層對(duì)應(yīng)的半徑為 預(yù)設(shè)半徑,包括: 將所述待識(shí)別手勢(shì)形狀的等效半徑與2的N次方的比值作為所述當(dāng)前層對(duì)應(yīng)的預(yù)設(shè)半 徑,其中,N為所述當(dāng)前層對(duì)應(yīng)的層數(shù)。6. 根據(jù)權(quán)利要求4所述的手勢(shì)識(shí)別方法,其特征在于:確定所述待識(shí)別手勢(shì)形狀的等效 半徑,包括: 計(jì)算所述待識(shí)別手勢(shì)形狀的面積,并對(duì)所述待識(shí)別手勢(shì)形狀的面積進(jìn)行開(kāi)平方得到所 述待識(shí)別手勢(shì)形狀的等效半徑。7. 根據(jù)權(quán)利要求1所述的手勢(shì)識(shí)別方法,其特征在于:利用每個(gè)輪廓點(diǎn)的特征參數(shù),將 所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最佳匹配模板, 包括: 將所述待識(shí)別手勢(shì)的特征參數(shù)與所述模板的特征參數(shù)進(jìn)行匹配度的計(jì)算,并確定匹配 度不大于其他模板的匹配度的模板為所述最佳匹配模板。8. 根據(jù)權(quán)利要求7所述的手勢(shì)識(shí)別方法,其特征在于:將所述待識(shí)別手勢(shì)的特征參數(shù)與 所述模板的特征參數(shù)進(jìn)行匹配度的計(jì)算,包括: 將所述待識(shí)別手勢(shì)的輪廓點(diǎn)按序排列組成目標(biāo)序列,將需要與所述待識(shí)別手勢(shì)進(jìn)行匹 配的一個(gè)模板的輪廓點(diǎn)按序排列組成匹配序列; 利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算所述目標(biāo)序列與所述匹配序列之間的匹配度,作為所述待 識(shí)別手勢(shì)與對(duì)應(yīng)所述模板之間的匹配度。9. 根據(jù)權(quán)利要求8所述的手勢(shì)識(shí)別方法,其特征在于:利用動(dòng)態(tài)時(shí)間規(guī)整算法計(jì)算所述 目標(biāo)序列與所述匹配序列之間的匹配度,包括: 求取所述目標(biāo)序列上一點(diǎn)與所述匹配序列上一點(diǎn)之間的歐氏距離,并比較所述目標(biāo)序 列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)的前 一點(diǎn)的對(duì)應(yīng)點(diǎn)間的歐氏距離之和,所述目標(biāo)序列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)的前一點(diǎn) 與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和與所述目標(biāo)序 列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn)前一點(diǎn)與所述匹配序列上從起點(diǎn)到所述匹配序列上一 點(diǎn)的前一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和,取三者之間的最小值與所述目標(biāo)序列上一點(diǎn)與所述 匹配序列上一點(diǎn)之間的歐氏距離相加,得到所述目標(biāo)序列上從起點(diǎn)到所述目標(biāo)序列上一點(diǎn) 與所述匹配序列上從起點(diǎn)到所述匹配序列上一點(diǎn)對(duì)應(yīng)點(diǎn)間的歐氏距離之和; 將得到的所述目標(biāo)序列上從起點(diǎn)到終點(diǎn)與所述匹配序列上從起點(diǎn)到終點(diǎn)對(duì)應(yīng)點(diǎn)間的 歐氏距離之和作為所述目標(biāo)序列與所述匹配序列之間的匹配度。10. -種手勢(shì)識(shí)別裝置,其特征在于,包括: 提取模塊,用于獲取待識(shí)別手勢(shì)的形狀,由所述待識(shí)別手勢(shì)形狀的邊緣提取一個(gè)封閉 的輪廓,獲取所述輪廓上所有輪廓點(diǎn)及每個(gè)輪廓點(diǎn)的坐標(biāo); 計(jì)算模塊,用于確定輪廓的層數(shù),并基于每個(gè)所述輪廓點(diǎn)的坐標(biāo)計(jì)算每個(gè)所述輪廓點(diǎn) 對(duì)應(yīng)于每層的面積參數(shù)、弧長(zhǎng)參數(shù)及重心參數(shù),作為該輪廓點(diǎn)的特征參數(shù); 匹配模塊,用于利用每個(gè)輪廓點(diǎn)的特征參數(shù),將所述待識(shí)別手勢(shì)與預(yù)設(shè)模板庫(kù)中的模 板進(jìn)行匹配,得到所述待識(shí)別手勢(shì)的最佳匹配模板,并確定所述最佳匹配模板的類別為所 述待識(shí)別手勢(shì)的類別。
【文檔編號(hào)】G06K9/40GK106022227SQ201610309633
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年5月11日
【發(fā)明人】楊劍宇, 何溢文, 徐浩然
【申請(qǐng)人】蘇州大學(xué)