專利名稱:一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法和裝置的制作方法
一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法和裝置
技術(shù)領(lǐng)域:
本發(fā)明涉及手勢(shì)識(shí)別領(lǐng)域,尤其涉及一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法和裝置。
背景技術(shù):
如今,隨著觸屏設(shè)備以及觸屏移動(dòng)終端的大量應(yīng)用,手勢(shì)觸控操作也變得越來(lái)越普遍。為了能夠?qū)崿F(xiàn)手勢(shì)的觸控操作,需要預(yù)先定義并記錄與操作類型對(duì)應(yīng)的手勢(shì)軌跡,當(dāng)用戶進(jìn)行觸控操作時(shí),識(shí)別用戶輸入的手勢(shì)軌跡,執(zhí)行對(duì)應(yīng)的操作?,F(xiàn)有的手勢(shì)識(shí)別算法主 要分為兩類第一類為通過(guò)暴力計(jì)算,計(jì)算手勢(shì)軌跡中所有的點(diǎn)的移動(dòng)方向,然后通過(guò)與預(yù)先設(shè)定的手勢(shì)軌跡中的點(diǎn)的坐標(biāo)及其移動(dòng)方向進(jìn)行對(duì)比,來(lái)識(shí)別手勢(shì)軌跡;第二類為使用神經(jīng)網(wǎng)絡(luò)算法,通過(guò)長(zhǎng)時(shí)間的訓(xùn)練,發(fā)現(xiàn)手勢(shì)軌跡的特征和規(guī)律,并以此來(lái)識(shí)別手勢(shì)軌跡。第一類使用暴力計(jì)算算法,需要利用所有點(diǎn)的坐標(biāo)值計(jì)算手勢(shì)的移動(dòng)方向,導(dǎo)致計(jì)算量較大;第二類使用神經(jīng)網(wǎng)絡(luò)算法,需要預(yù)先進(jìn)行很長(zhǎng)時(shí)間的訓(xùn)練,耗費(fèi)大量時(shí)間成本。
發(fā)明內(nèi)容有鑒于此,本發(fā)明提供了一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法和裝置,減小識(shí)別過(guò)程中的計(jì)算量,提高識(shí)別效率。具體技術(shù)方案如下一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法,該方法包括訓(xùn)練階段從各類型操作的訓(xùn)練樣本中提取手勢(shì)軌跡的特征值,并將各類型操作對(duì)應(yīng)手勢(shì)軌跡的特征值記錄在指定文件中;識(shí)別階段提取待識(shí)別手勢(shì)軌跡的特征值,判斷所述待識(shí)別手勢(shì)軌跡的特征值是否命中所述指定文件中的特征值,如果是,則將待識(shí)別手勢(shì)識(shí)別為命中的特征值所對(duì)應(yīng)的類型操作;其中,訓(xùn)練階段和識(shí)別階段中提取的手勢(shì)軌跡的特征值為將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格后手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),所述N和M為按照預(yù)設(shè)模式確定的正整數(shù)。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述訓(xùn)練階段具體包括在確定操作類型后,提示用戶多次輸入該操作類型的手勢(shì)軌跡;確定并記錄每一次用戶輸入手勢(shì)軌跡的特征值,當(dāng)用戶在P次輸入手勢(shì)軌跡的特征值相同時(shí),將該操作類型的手勢(shì)軌跡特征值記錄在指定文件中,P為大于I的正整數(shù)。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述包絡(luò)手勢(shì)軌跡的矩形具體為確定用戶輸入手勢(shì)軌跡中的最上點(diǎn)、最下點(diǎn)、最左點(diǎn)和最右點(diǎn)的四個(gè)邊界點(diǎn)后,以該四個(gè)邊界點(diǎn)為邊界所作的矩形,其中,所述矩形中的兩邊分別經(jīng)過(guò)所述最上點(diǎn)和所述最下點(diǎn)且平行于觸控區(qū)域橫軸,所述矩形中的其余兩邊分別經(jīng)過(guò)所述最左點(diǎn)和所述最右點(diǎn)且平行于觸控區(qū)域縱軸。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格,具體包括將所述矩形中與觸控區(qū)域縱軸平行的邊進(jìn)行N等分,將所述矩形中與觸控區(qū)域橫軸平行的邊進(jìn)行M等分,以此將所述矩形劃分為NXM個(gè)方格。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,確定所述手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),具體包括記錄用戶輸入手勢(shì)軌跡起始點(diǎn)所位于的方格的編號(hào),根據(jù)用戶輸入手勢(shì)軌跡的運(yùn)動(dòng)路線,依次查看其余每個(gè)點(diǎn)所位于的方格的編號(hào),當(dāng)后一個(gè)點(diǎn)與前一個(gè)點(diǎn)位于不同的方格時(shí),記錄后一個(gè)點(diǎn)所位于的方格的編號(hào),最后,將所記錄的編號(hào)序列作為該手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào)。一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別裝置,該裝置包括 訓(xùn)練單元,用于從各類型操作的訓(xùn)練樣本中提取手勢(shì)軌跡的特征值,并將各類型操作對(duì)應(yīng)手勢(shì)軌跡的特征值記錄在指定文件中;識(shí)別單元,用于提取待識(shí)別手勢(shì)軌跡的特征值,判斷所述待識(shí)別手勢(shì)軌跡的特征值是否命中所述指定文件中的特征值,如果是,則將待識(shí)別手勢(shì)識(shí)別為命中的特征值所對(duì)應(yīng)的類型操作;其中,訓(xùn)練單元和識(shí)別單元中提取的手勢(shì)軌跡的特征值為將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格后手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),所述N和M為按照預(yù)設(shè)模式確定的正整數(shù)。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述訓(xùn)練單元具體執(zhí)行在確定操作類型后,提示用戶多次輸入該操作類型的手勢(shì)軌跡;確定并記錄每一次用戶輸入手勢(shì)軌跡的特征值,當(dāng)用戶在P次輸入手勢(shì)軌跡的特征值相同時(shí),將該操作類型的手勢(shì)軌跡特征值記錄在指定文件中,P為大于I的正整數(shù)。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述包絡(luò)手勢(shì)軌跡的矩形具體為確定用戶輸入手勢(shì)軌跡中的最上點(diǎn)、最下點(diǎn)、最左點(diǎn)和最右點(diǎn)的四個(gè)邊界點(diǎn)后,以該四個(gè)邊界點(diǎn)為邊界所作的矩形,其中,所述矩形中的兩邊分別經(jīng)過(guò)所述最上點(diǎn)和所述最下點(diǎn)且平行于觸控區(qū)域橫軸,所述矩形中的其余兩邊分別經(jīng)過(guò)所述最左點(diǎn)和所述最右點(diǎn)且平行于觸控區(qū)域縱軸。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,所述將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格,具體執(zhí)行將所述矩形中與觸控區(qū)域縱軸平行的邊進(jìn)行N等分,將所述矩形中與觸控區(qū)域橫軸平行的邊進(jìn)行M等分,以此將所述矩形劃分為NXM個(gè)方格。根據(jù)本發(fā)明一優(yōu)選實(shí)施例,確定所述手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),具體執(zhí)行記錄用戶輸入手勢(shì)軌跡起始點(diǎn)所位于的方格的編號(hào),根據(jù)用戶輸入手勢(shì)軌跡的運(yùn)動(dòng)路線,依次查看其余每個(gè)點(diǎn)所位于的方格的編號(hào),當(dāng)后一個(gè)點(diǎn)與前一個(gè)點(diǎn)位于不同的方格時(shí),記錄后一個(gè)點(diǎn)所位于的方格的編號(hào),最后,將所記錄的編號(hào)序列作為該手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào)。由以上技術(shù)方案可以看出,本發(fā)明通過(guò)用劃分為方格的矩形將用戶輸入手勢(shì)軌跡包絡(luò),將用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格的編號(hào)來(lái)作為手勢(shì)軌跡的特征值,能夠快速地確定用戶輸入手勢(shì)軌跡運(yùn)動(dòng)路線的特征,而不需依據(jù)所有點(diǎn)的坐標(biāo)值計(jì)算手勢(shì)的移動(dòng)方向,顯然大大減小了計(jì)算量;另外相比較神經(jīng)網(wǎng)絡(luò)算法,訓(xùn)練過(guò)程簡(jiǎn)單快速,顯著提高了識(shí)別效率。
圖I為本發(fā)明實(shí)施例一提供的可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法流程圖;圖2為本發(fā)明實(shí)施例一提供的確定手勢(shì)軌跡特征值的方法流程圖;圖3為本發(fā)明實(shí)施例二提供的可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別裝置示意圖。
具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。實(shí)施例一圖I為本發(fā)明實(shí)施例提供的可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法流程示意圖,如圖I所示,該方法包括S101、訓(xùn)練階段,從各類型操作的訓(xùn)練樣本中提取手勢(shì)軌跡的特征值,并將各類型操作對(duì)應(yīng)手勢(shì)軌跡的特征值記錄在指定文件中。在訓(xùn)練階段,用戶可以通過(guò)訓(xùn)練樣本設(shè)定與不同操作類型對(duì)應(yīng)的手勢(shì)軌跡。在用戶選定本次訓(xùn)練的手勢(shì)軌跡對(duì)應(yīng)的操作類型后,開始訓(xùn)練,由用戶在觸控區(qū)域輸入手勢(shì)軌跡,之后,確定用戶輸入手勢(shì)軌跡的特征值并進(jìn)行記錄,同時(shí),將該特征值展示給用戶,用戶可以選擇是否保存本次訓(xùn)練結(jié)果,若保存,則將所記錄的特征值與用戶所選的操作類型形成對(duì)應(yīng)關(guān)系后保存在指定文件中;若不保存,則忽略本次訓(xùn)練,開始新的訓(xùn)練?;蛘?,也可以在訓(xùn)練過(guò)程中自動(dòng)保存訓(xùn)練結(jié)果。具體訓(xùn)練過(guò)程可以為在選定操作類型后,提示用戶多次輸入該操作類型的手勢(shì)軌跡,確定并記錄每一次用戶輸入手勢(shì)軌跡的特征值,當(dāng)用戶在P次輸入手勢(shì)軌跡的特征值均相同時(shí),該手勢(shì)軌跡固定,其中P為預(yù)設(shè)的大于I的正整數(shù),將該特征值與用戶所選操作類型保存在指定文件中,同時(shí)提示用戶訓(xùn)練結(jié)束。需要說(shuō)明的是,對(duì)于一個(gè)操作類型,用戶可以采用上述方式設(shè)定多個(gè)不同的手勢(shì)來(lái)與之對(duì)應(yīng)。在訓(xùn)練階段中,確定用戶輸入手勢(shì)軌跡的特征值是訓(xùn)練與后續(xù)識(shí)別的關(guān)鍵部分,如圖2所示,該過(guò)程可以通過(guò)下述步驟S201-S203來(lái)實(shí)現(xiàn)S201、確定用戶輸入手勢(shì)軌跡中的最上、最下、最左、最右的四個(gè)邊界點(diǎn),以該四個(gè)邊界點(diǎn)為邊界作一個(gè)矩形以使得該矩形包絡(luò)用戶輸入的手勢(shì)軌跡。為了能夠明確并記錄用戶輸入的手勢(shì)軌跡,需要獲得能夠表征該手勢(shì)軌跡運(yùn)動(dòng)路線的參數(shù)來(lái)作為該手勢(shì)軌跡的特征值,本發(fā)明正是通過(guò)用劃分為方格的矩形將用戶輸入的手勢(shì)軌跡包絡(luò),將用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格的編號(hào)作為手勢(shì)軌跡的特征值來(lái)表征手勢(shì)軌跡的運(yùn)動(dòng)路線的。
首先需要確定用戶輸入手勢(shì)軌跡的最上、最下、最左、最右的四個(gè)邊界點(diǎn),這一過(guò)程可以通過(guò)如下方式實(shí)現(xiàn)以觸控區(qū)域的左上角的點(diǎn)為原點(diǎn)建立坐標(biāo)系,橫軸為X軸,橫軸坐標(biāo)的值向右遞增,縱軸為y軸,縱軸坐標(biāo)的值向下遞增,確定用戶輸入手勢(shì)軌跡中每一個(gè)點(diǎn)的坐標(biāo),將手勢(shì)軌跡的點(diǎn)的坐標(biāo)中I值最小的點(diǎn)作為最上點(diǎn),I值最大的點(diǎn)作為最下點(diǎn),將坐標(biāo)中X值最小的點(diǎn)作為最左點(diǎn),X值最大的點(diǎn)作為最右點(diǎn),其中,該坐標(biāo)系的點(diǎn)可以依據(jù)觸控區(qū)域的像素點(diǎn)來(lái)劃分。最后,作兩條平行于橫軸的且分別經(jīng)過(guò)最上點(diǎn)和最下點(diǎn)的邊,以及兩條平行于縱軸的且分別經(jīng)過(guò)最左點(diǎn)和最右點(diǎn)的邊,以此構(gòu)成一個(gè)矩形將用戶輸入的手勢(shì)軌跡包絡(luò)。S202、將所述矩形按預(yù)先設(shè)定的模式劃分為NXM個(gè)方格,對(duì)每個(gè)方格進(jìn)行編號(hào)。將步驟S201中所作出的矩形劃分為NXM個(gè)方格,并對(duì)每個(gè)方格進(jìn)行編號(hào),可以將矩形中與縱軸平行的邊進(jìn)行N等分,再將矩形中與橫軸平行的邊進(jìn)行M等分,以此將矩形劃分為NXM個(gè)方格,其中N和M為預(yù)設(shè)的正整數(shù)。例如,需要將矩形劃分為8X8的方格,可以先將矩形與縱軸平行的邊進(jìn)行8等分,再將矩形與橫軸平行的邊進(jìn)行8等分。對(duì)方格 的編碼,可以采用現(xiàn)有的一些編碼方式,例如,對(duì)于上述舉例中的8X8方格,可以以從上至下,從左至右的順序使用Base64Mapping Table的方法進(jìn)行編碼??梢岳斫獾氖?上述舉例僅出于示例的目的,本發(fā)明的實(shí)施例不限于此。需要說(shuō)明的是,方格的數(shù)量,即N的值和M的值可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,方格越多,則識(shí)別精度也相應(yīng)的越高。S203、確定用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格,將用戶輸入手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào)作為手勢(shì)軌跡的特征值。首先,根據(jù)用戶輸入手勢(shì)軌跡的運(yùn)動(dòng)路線,依次確定手勢(shì)軌跡中的每個(gè)點(diǎn)所位于的方格,這一過(guò)程可以通過(guò)如下方式實(shí)現(xiàn)采用步驟S201中所述方式建立坐標(biāo)系,確定用戶輸入手勢(shì)軌跡中每一個(gè)點(diǎn)的坐標(biāo),同時(shí),確定矩形左上角的點(diǎn)的坐標(biāo)并根據(jù)該坐標(biāo)系確定矩形的邊長(zhǎng),之后,將軌跡點(diǎn)的坐標(biāo)值分別減去矩形左上角的點(diǎn)的坐標(biāo)值,得到軌跡點(diǎn)相對(duì)于矩形的相對(duì)坐標(biāo),并根據(jù)該相對(duì)坐標(biāo)以及矩形的邊長(zhǎng)判定軌跡點(diǎn)位于哪個(gè)方格內(nèi)。例如,矩形左上角的點(diǎn)的坐標(biāo)為x=30、y=30,矩形兩邊的邊長(zhǎng)分別為100和200 (相對(duì)于坐標(biāo)系),其中100為與橫軸平行的邊的邊長(zhǎng),200為與縱軸平行的邊的邊長(zhǎng),該矩形被劃分為5X5個(gè)方格,用戶輸入手勢(shì)軌跡內(nèi)某一點(diǎn)的坐標(biāo)為x=95、y=160,將該點(diǎn)的坐標(biāo)值減去矩形左上角點(diǎn)的坐標(biāo)值后得到該點(diǎn)相對(duì)于矩形的相對(duì)坐標(biāo)為xl=65、yl=130,由于矩形劃分方格時(shí)是通過(guò)將兩邊等分的方式,所以,可以根據(jù)矩形的邊長(zhǎng)確定每個(gè)方格相對(duì)于的矩形的相對(duì)坐標(biāo)范圍,如,在本例中,矩形左上角的方格相對(duì)于矩形的相對(duì)橫坐標(biāo)范圍為0-19、相對(duì)縱坐標(biāo)范圍為0-39,該方格右方的方格的相對(duì)橫坐標(biāo)范圍為20-39、相對(duì)縱坐標(biāo)范圍為40-79,以此類推,可以確定每個(gè)方格的相對(duì)坐標(biāo)范圍,之后,可以根據(jù)軌跡點(diǎn)的相對(duì)坐標(biāo)Xl和yl判定該軌跡點(diǎn)位于哪個(gè)方格,如,在本例中,可判定出該軌跡點(diǎn)位于第四列第四排的方格內(nèi)。可以理解的是,上述舉例僅出于示例的目的,本發(fā)明的實(shí)施例不限于此。在依次確定了手勢(shì)軌跡的每個(gè)點(diǎn)所位于的方格后,可以依據(jù)方格編號(hào)確定該手勢(shì)軌跡的特征值,這一過(guò)程可以通過(guò)如下方式實(shí)現(xiàn)首先記錄手勢(shì)軌跡起始點(diǎn)所位于的方格的編號(hào),之后根據(jù)手勢(shì)軌跡的運(yùn)動(dòng)路線,依次查看其余每個(gè)點(diǎn)所位于的方格的編號(hào),當(dāng)手勢(shì)軌跡中的后一個(gè)點(diǎn)與前一個(gè)點(diǎn)位于不同的方格時(shí),記錄后一個(gè)點(diǎn)所位于的方格的編號(hào),直至用戶輸入手勢(shì)軌跡的終點(diǎn),最后,將所記錄的編號(hào)序列作為該手勢(shì)軌跡的特征值。S102、識(shí)別階段,提取待識(shí)別手勢(shì)軌跡的特征值,判斷所述待識(shí)別手勢(shì)軌跡的特征值是否命中所述指定文件中的特征值,如果是,則將待識(shí)別手勢(shì)識(shí)別為命中的特征值所對(duì)應(yīng)的類型操作。在識(shí)別階段,可以識(shí)別用戶輸入的手勢(shì)軌跡并執(zhí)行對(duì)應(yīng)的操作。確定用戶輸入手勢(shì)軌跡的特征值,并判斷在保存了特征值與對(duì)應(yīng)操作類型的指定文件中是否能命中該特征值,若能,則執(zhí)行與該特征值對(duì)應(yīng)的操作;否則,則忽略本次用戶輸入的手勢(shì)軌跡。其中,確定用戶輸入手勢(shì)軌跡的特征值可以使用步驟S201-S203中所描述的方法。從上述對(duì)本發(fā)明實(shí)施例提供的方法的描述中可以看出,本發(fā)明通過(guò)用劃分為方格的矩形將用戶輸入手勢(shì)軌跡包絡(luò),將用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格的編號(hào)來(lái)作為手勢(shì)軌跡的特征值,以此來(lái)識(shí)別用戶輸入手勢(shì)軌跡。與現(xiàn)有技術(shù)相比,本發(fā)明不需要對(duì)所有點(diǎn)計(jì)算其移動(dòng)方向,也不需要經(jīng)過(guò)長(zhǎng)時(shí)間大量的訓(xùn)練,顯著提高了識(shí)別效率。實(shí)施例二圖3為本發(fā)明實(shí)施例二提供的可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別裝置示意圖,如圖3所示,該裝置包括訓(xùn)練單元10、識(shí)別單元20。訓(xùn)練單元10,用于從各類型操作的訓(xùn)練樣本中提取手勢(shì)軌跡的特征值,并將各類型操作對(duì)應(yīng)手勢(shì)軌跡的特征值記錄在指定文件中。訓(xùn)練單元10可以記錄并保存用戶通過(guò)訓(xùn)練樣本設(shè)定的與不同操作類型對(duì)應(yīng)的手 勢(shì)軌跡。在用戶選定本次訓(xùn)練的手勢(shì)軌跡對(duì)應(yīng)的操作類型后,開始訓(xùn)練,由用戶在觸控區(qū)域畫出手勢(shì)軌跡,訓(xùn)練單元10確定用戶輸入手勢(shì)軌跡的特征值并進(jìn)行記錄,同時(shí),將該特征值展示給用戶,用戶可以選擇是否保存本次訓(xùn)練結(jié)果,若保存,則將所記錄的特征值與用戶所選的操作類型形成對(duì)應(yīng)關(guān)系后保存在指定文件中;若不保存,則忽略本次訓(xùn)練,開始新的訓(xùn)練?;蛘撸?xùn)練單元10也可以在訓(xùn)練過(guò)程中自動(dòng)保存訓(xùn)練結(jié)果,具體可以執(zhí)行在選定操作類型后,提示用戶多次輸入該操作類型的手勢(shì)軌跡,訓(xùn)練單元10確定并記錄每一次訓(xùn)練中用戶輸入手勢(shì)軌跡的特征值,當(dāng)用戶在P次輸入手勢(shì)軌跡的特征值均相同時(shí),該手勢(shì)軌跡固定,其中P為預(yù)設(shè)的大于I的正整數(shù),將該特征值與用戶所選操作類型保存在指定文件中,同時(shí)提示用戶訓(xùn)練結(jié)束。需要說(shuō)明的是,對(duì)于一個(gè)操作類型,用戶可以采用上述方式設(shè)定多個(gè)不同的手勢(shì)來(lái)與之對(duì)應(yīng)。確定用戶輸入手勢(shì)軌跡的特征值可以通過(guò)執(zhí)行下述S301-S303所描述的操作來(lái)實(shí)現(xiàn)S301、確定用戶輸入手勢(shì)軌跡中的最上、最下、最左、最右的四個(gè)邊界點(diǎn),以該四個(gè)邊界點(diǎn)為邊界作一個(gè)矩形以使得該矩形包絡(luò)用戶輸入的手勢(shì)軌跡。為了能夠明確并記錄用戶輸入的手勢(shì)軌跡,需要獲得能夠表征該手勢(shì)軌跡運(yùn)動(dòng)路線的參數(shù)來(lái)作為該手勢(shì)軌跡的特征值,本發(fā)明正是通過(guò)用劃分為方格的矩形將用戶輸入的手勢(shì)軌跡包絡(luò),將用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格的編號(hào)作為手勢(shì)軌跡的特征值來(lái)表征手勢(shì)軌跡的運(yùn)動(dòng)路線的。首先需要確定用戶輸入手勢(shì)軌跡的最上、最下、最左、最右的四個(gè)邊界點(diǎn),這一過(guò)程可以通過(guò)如下方式實(shí)現(xiàn)以觸控區(qū)域的左上角的點(diǎn)為原點(diǎn)建立坐標(biāo)系,橫軸為X軸,橫軸坐標(biāo)的值向右遞增,縱軸為y軸,縱軸坐標(biāo)的值向下遞增,確定用戶輸入手勢(shì)軌跡中每一個(gè)點(diǎn)的坐標(biāo),將手勢(shì)軌跡的點(diǎn)的坐標(biāo)中I值最小的點(diǎn)作為最上點(diǎn),I值最大的點(diǎn)作為最下點(diǎn),將坐標(biāo)中X值最小的點(diǎn)作為最左點(diǎn),X值最大的點(diǎn)作為最右點(diǎn),其中,該坐標(biāo)系的點(diǎn)可以依據(jù)觸控區(qū)域的像素點(diǎn)來(lái)劃分。最后,作兩條平行于橫軸的且分別經(jīng)過(guò)最上點(diǎn)和最下點(diǎn)的邊,以及兩條平行于縱軸的且分別經(jīng)過(guò)最左點(diǎn)和最右點(diǎn)的邊,以此構(gòu)成一個(gè)矩形將用戶輸入的手勢(shì)軌跡包絡(luò)。S302、將所述矩形按預(yù)先設(shè)定的模式劃分為NXM個(gè)方格,對(duì)每個(gè)方格進(jìn)行編號(hào)。將在操作S301中所作出的矩形劃分為NXM個(gè)方格,并對(duì)每個(gè)方格進(jìn)行編號(hào),可以將矩形中與縱軸平行的邊進(jìn)行N等分,再將矩形中與橫軸平行的邊進(jìn)行M等分,以此將矩形劃分為NXM個(gè)方格。例如,需要將矩形劃分為8X8的方格,可以先將矩形與縱軸平 行的邊進(jìn)行8等分,再將矩形與橫軸平行的邊進(jìn)行8等分。對(duì)方格的編碼,可以采用現(xiàn)有的一些編碼方式,例如,對(duì)于上述舉例中的8 X 8方格,可以以從上至下,從左至右的順序使用Base64Mapping Table的方法進(jìn)行編碼??梢岳斫獾氖?,上述舉例僅出于示例的目的,本發(fā)明的實(shí)施例不限于此。需要說(shuō)明的是,方格的數(shù)量,即N的值和M的值可以根據(jù)實(shí)際需要進(jìn)行設(shè)定,方格越多,則識(shí)別精度也相應(yīng)的越高。S303、確定用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格,將用戶輸入手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào)作為手勢(shì)軌跡的特征值。首先,根據(jù)用戶輸入手勢(shì)軌跡的運(yùn)動(dòng)路線,依次確定手勢(shì)軌跡中的每個(gè)點(diǎn)所位于的方格,這一過(guò)程可以通過(guò)如下方式實(shí)現(xiàn)采用步驟S201中所述方式建立坐標(biāo)系,確定用戶輸入手勢(shì)軌跡中每一個(gè)點(diǎn)的坐標(biāo),同時(shí),確定矩形左上角的點(diǎn)的坐標(biāo)并根據(jù)該坐標(biāo)系確定矩形的邊長(zhǎng),之后,將軌跡點(diǎn)的坐標(biāo)值分別減去矩形左上角的點(diǎn)的坐標(biāo)值,得到軌跡點(diǎn)相對(duì)于矩形的相對(duì)坐標(biāo),并根據(jù)該相對(duì)坐標(biāo)以及矩形的邊長(zhǎng)判定軌跡點(diǎn)位于哪個(gè)方格內(nèi)。例如,矩形左上角的點(diǎn)的坐標(biāo)為x=30、y=30,矩形兩邊的邊長(zhǎng)分別為100和200 (相對(duì)于坐標(biāo)系),其中100為與橫軸平行的邊的邊長(zhǎng),200為與縱軸平行的邊的邊長(zhǎng),該矩形被劃分為5X5個(gè)方格,用戶輸入手勢(shì)軌跡內(nèi)某一點(diǎn)的坐標(biāo)為x=95、y=160,將該點(diǎn)的坐標(biāo)值減去矩形左上角點(diǎn)的坐標(biāo)值后得到該點(diǎn)相對(duì)于矩形的相對(duì)坐標(biāo)為xl=65、yl = 130,由于矩形劃分方格時(shí)是通過(guò)將兩邊等分的方式,所以,可以根據(jù)矩形的邊長(zhǎng)確定每個(gè)方格相對(duì)于的矩形的相對(duì)坐標(biāo)范圍,如,在本例中,矩形左上角的方格相對(duì)于矩形的相對(duì)橫坐標(biāo)范圍為0-19、相對(duì)縱坐標(biāo)范圍為0-39,該方格右方的方格的相對(duì)橫坐標(biāo)范圍為20-39、相對(duì)縱坐標(biāo)范圍為40-79,以此類推,可以確定每個(gè)方格的相對(duì)坐標(biāo)范圍,之后,可以根據(jù)軌跡點(diǎn)的相對(duì)坐標(biāo)Xl和11判定該軌跡點(diǎn)位于哪個(gè)方格,如,在本例中,可判定出該軌跡點(diǎn)位于第四列第四排的方格內(nèi)。可以理解的是,上述舉例僅出于示例的目的,本發(fā)明的實(shí)施例不限于此。在依次確定了手勢(shì)軌跡的每個(gè)點(diǎn)所位于的方格后,可以依據(jù)方格編號(hào)確定該手勢(shì)軌跡的特征值,這一過(guò)程可以通過(guò)如下方式實(shí)現(xiàn)首先記錄手勢(shì)軌跡起始點(diǎn)所位于的方格的編號(hào),之后根據(jù)手勢(shì)軌跡的運(yùn)動(dòng)路線,依次查看其余每個(gè)點(diǎn)所位于的方格的編號(hào),當(dāng)手勢(shì)軌跡中的后一個(gè)點(diǎn)與前一個(gè)點(diǎn)位于不同的方格時(shí),記錄后一個(gè)點(diǎn)所位于的方格的編號(hào),直至用戶輸入手勢(shì)軌跡的終點(diǎn),最后,將所記錄的編號(hào)序列作為該手勢(shì)軌跡的特征值。識(shí)別單元20,用于提取待識(shí)別手勢(shì)軌跡的特征值,判斷所述待識(shí)別手勢(shì)軌跡的特征值是否命中所述指定文件中的特征值,如果是,則將待識(shí)別手勢(shì)識(shí)別為命中的特征值所對(duì)應(yīng)的類型操作。識(shí)別單元20可以識(shí)別用戶輸入的手勢(shì)軌跡并執(zhí)行對(duì)應(yīng)的操作。識(shí)別單元20首先確定用戶輸入手勢(shì)軌跡的特征值,并判斷在保存了特征值與對(duì)應(yīng)操作類型的指定文件中是否能命中該特征值,若能,則執(zhí)行與該特征值對(duì)應(yīng)的操作;否則,則忽略本次用戶輸入的手勢(shì)軌跡。其中,確定用戶輸入手勢(shì)軌跡的特征值可以執(zhí)行S301-S303中所描述的操作。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法,其特征在于,該方法包括 訓(xùn)練階段從各類型操作的訓(xùn)練樣本中提取手勢(shì)軌跡的特征值,并將各類型操作對(duì)應(yīng)手勢(shì)軌跡的特征值記錄在指定文件中; 識(shí)別階段提取待識(shí)別手勢(shì)軌跡的特征值,判斷所述待識(shí)別手勢(shì)軌跡的特征值是否命中所述指定文件中的特征值,如果是,則將待識(shí)別手勢(shì)識(shí)別為命中的特征值所對(duì)應(yīng)的類型操作; 其中,訓(xùn)練階段和識(shí)別階段中提取的手勢(shì)軌跡的特征值為將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格后手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),所述N和M為按照預(yù)設(shè)模式確定的正整數(shù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述訓(xùn)練階段具體包括 在確定操作類型后,提示用戶多次輸入該操作類型的手勢(shì)軌跡; 確定并記錄每一次用戶輸入手勢(shì)軌跡的特征值,當(dāng)用戶在P次輸入手勢(shì)軌跡的特征值相同時(shí),將該操作類型的手勢(shì)軌跡特征值記錄在指定文件中,P為大于I的正整數(shù)。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述包絡(luò)手勢(shì)軌跡的矩形具體為 確定用戶輸入手勢(shì)軌跡中的最上點(diǎn)、最下點(diǎn)、最左點(diǎn)和最右點(diǎn)的四個(gè)邊界點(diǎn)后,以該四個(gè)邊界點(diǎn)為邊界所作的矩形,其中,所述矩形中的兩邊分別經(jīng)過(guò)所述最上點(diǎn)和所述最下點(diǎn)且平行于觸控區(qū)域橫軸,所述矩形中的其余兩邊分別經(jīng)過(guò)所述最左點(diǎn)和所述最右點(diǎn)且平行于觸控區(qū)域縱軸。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格,具體包括 將所述矩形中與觸控區(qū)域縱軸平行的邊進(jìn)行N等分,將所述矩形中與觸控區(qū)域橫軸平行的邊進(jìn)行M等分,以此將所述矩形劃分為NXM個(gè)方格。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,確定所述手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),具體包括 記錄用戶輸入手勢(shì)軌跡起始點(diǎn)所位于的方格的編號(hào),根據(jù)用戶輸入手勢(shì)軌跡的運(yùn)動(dòng)路線,依次查看其余每個(gè)點(diǎn)所位于的方格的編號(hào),當(dāng)后一個(gè)點(diǎn)與前一個(gè)點(diǎn)位于不同的方格時(shí),記錄后一個(gè)點(diǎn)所位于的方格的編號(hào),最后,將所記錄的編號(hào)序列作為該手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào)。
6.一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別裝置,其特征在于,該裝置包括 訓(xùn)練單元,用于從各類型操作的訓(xùn)練樣本中提取手勢(shì)軌跡的特征值,并將各類型操作對(duì)應(yīng)手勢(shì)軌跡的特征值記錄在指定文件中; 識(shí)別單元,用于提取待識(shí)別手勢(shì)軌跡的特征值,判斷所述待識(shí)別手勢(shì)軌跡的特征值是否命中所述指定文件中的特征值,如果是,則將待識(shí)別手勢(shì)識(shí)別為命中的特征值所對(duì)應(yīng)的類型操作; 其中,訓(xùn)練單元和識(shí)別單元中提取的手勢(shì)軌跡的特征值為將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格后手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),所述N和M為按照預(yù)設(shè)模式確定的正整數(shù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述訓(xùn)練單元具體執(zhí)行 在確定操作類型后,提示用戶多次輸入該操作類型的手勢(shì)軌跡;確定并記錄每一次用戶輸入手勢(shì)軌跡的特征值,當(dāng)用戶在P次輸入手勢(shì)軌跡的特征值相同時(shí),將該操作類型的手勢(shì)軌跡特征值記錄在指定文件中,P為大于I的正整數(shù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述包絡(luò)手勢(shì)軌跡的矩形具體為 確定用戶輸入手勢(shì)軌跡中的最上點(diǎn)、最下點(diǎn)、最左點(diǎn)和最右點(diǎn)的四個(gè)邊界點(diǎn)后,以該四個(gè)邊界點(diǎn)為邊界所作的矩形,其中,所述矩形中的兩邊分別經(jīng)過(guò)所述最上點(diǎn)和所述最下點(diǎn)且平行于觸控區(qū)域橫軸,所述矩形中的其余兩邊分別經(jīng)過(guò)所述最左點(diǎn)和所述最右點(diǎn)且平行于觸控區(qū)域縱軸。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述將包絡(luò)手勢(shì)軌跡的矩形劃分為NXM個(gè)方格,具體執(zhí)行 將所述矩形中與觸控區(qū)域縱軸平行的邊進(jìn)行N等分,將所述矩形中與觸控區(qū)域橫軸平行的邊進(jìn)行M等分,以此將所述矩形劃分為NXM個(gè)方格。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,確定所述手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào),具體執(zhí)行 記錄用戶輸入手勢(shì)軌跡起始點(diǎn)所位于的方格的編號(hào),根據(jù)用戶輸入手勢(shì)軌跡的運(yùn)動(dòng)路線,依次查看其余每個(gè)點(diǎn)所位于的方格的編號(hào),當(dāng)后一個(gè)點(diǎn)與前一個(gè)點(diǎn)位于不同的方格時(shí),記錄后一個(gè)點(diǎn)所位于的方格的編號(hào),最后,將所記錄的編號(hào)序列作為該手勢(shì)軌跡所經(jīng)過(guò)的方格編號(hào)。
全文摘要
本發(fā)明提供了一種可訓(xùn)練的基于手勢(shì)軌跡特征值的手勢(shì)識(shí)別方法和裝置,其中方法包括訓(xùn)練階段,確定用戶輸入手勢(shì)軌跡的特征值,將該特征值與用戶預(yù)先選擇的操作類型形成對(duì)應(yīng)關(guān)系后保存在指定文件中;識(shí)別階段,確定用戶輸入手勢(shì)軌跡的特征值,查詢所述指定文件中是否有該特征值,若有,則執(zhí)行與該特征值對(duì)應(yīng)的操作;否則,忽略本次用戶的手勢(shì)操作。本發(fā)明通過(guò)用劃分為方格的矩形將用戶輸入手勢(shì)軌跡包絡(luò),將用戶輸入手勢(shì)軌跡經(jīng)過(guò)的方格的編號(hào)來(lái)作為手勢(shì)軌跡的特征值,能夠快速地確定用戶輸入手勢(shì)軌跡運(yùn)動(dòng)路線的特征值,并能準(zhǔn)確識(shí)別用戶輸入手勢(shì)軌跡。
文檔編號(hào)G06K9/62GK102968642SQ20121044120
公開日2013年3月13日 申請(qǐng)日期2012年11月7日 優(yōu)先權(quán)日2012年11月7日
發(fā)明者荊博 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司