本公開涉及電數(shù)字數(shù)據(jù)處理技術領域,具體而言,涉及一種基于手勢識別的解鎖方法、裝置及移動終端。
背景技術:
隨著手機功能的強大化和手機連接互聯(lián)網(wǎng)的功能日益先進,手機支付日益興起,使得手機這一私密物品被外界入侵的可能性越來越大,甚至會丟失掉手機里的重要信息,手機安全問題吸引了越來越多的關注。
目前,比較普遍的手機的加密方式主要有密碼解鎖、圖形解鎖、指紋解鎖等。
密碼解鎖是最古老且被延續(xù)至今的解鎖方式。通過設置一串獨特而只有用戶自己明白含義的密碼來保證手機的安全。不能否認長密碼組合帶來的安全性是較佳的,然而安全性得到保證的同時卻完全喪失了用戶操作的便捷性,且用戶需要記住大量繁瑣的密碼是一種沉重的負擔。
作為與密碼解鎖同時代誕生的解鎖方式,圖形解鎖也已經(jīng)成為大眾化的解鎖方式,通過畫個圖案就可以替代輸入一長串密碼,其在一定程度上兼顧了安全性與操作便捷性兩方面。
Touch ID的指紋解鎖進一步升級了手機解鎖方式,按壓式指紋解鎖擺脫了圖形解鎖方式中的滑動式解鎖帶來的不便,在便捷性和安全性兩方面都帶來了極大的提升。然而指紋解鎖帶來的另一個問題也值得深思,同樣是安全性。盡管可以將Touch ID錄入的指紋通過硬件加密保存在處理器的特定部位,然而即使是硬件加密依舊有被破解的可能性。指紋不同于普通密碼,密碼被破解了,修改一個即可。指紋卻是伴隨每個用戶一生不可更改的標志,倘若指紋丟失其后果不堪設想,但是從手機上卻很容易采集到用戶的指紋。
因此,現(xiàn)有技術中的技術方案還存在有待改進之處。
需要說明的是,在上述背景技術部分公開的信息僅用于加強對本公開的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現(xiàn)有技術的信息。
技術實現(xiàn)要素:
本公開的目的在于提供一種基于手勢識別的解鎖方法、裝置及移動終端,進而至少在一定程度上克服由于相關技術的限制和缺陷而導致的一個或者多個問題。
本公開的其他特性和優(yōu)點將通過下面的詳細描述變得清晰,或者部分地通過本公開的實踐而習得。
根據(jù)本公開的一個方面,提供一種基于手勢識別的解鎖方法,包括:
步驟一,對第i幀手勢圖像和第i+1幀手勢圖像進行特征點的匹配,獲取第i+1幀手勢圖像的第i+1目標框中的匹配特征點,其中1≤i≤N-1;
步驟二,分別根據(jù)第i+1目標框中的匹配特征點的距離向量對第i+1目標框的第i+1中心點坐標進行投票;
步驟三,對投票獲取的第i+1中心點坐標進行預設處理,獲取第i+1目標框的第i+1中心點坐標;
步驟四,重復上述步驟一至三直至獲取N幀手勢圖像的N個中心點坐標,并根據(jù)所述N個中心點坐標獲取手勢軌跡序列;
步驟五,將所述手勢軌跡序列與一預設手勢密碼序列進行匹配,當匹配度大于預設閾值時,判定解鎖成功。
在本公開的一種示例性實施例中,還包括:
獲取第一幀手勢圖像的第一目標框的第一中心點坐標,并記錄所述第一目標框中的特征點相對于所述第一中心點坐標的距離向量序列。
在本公開的一種示例性實施例中,還包括:
獲取所述N幀手勢圖像,采用預設算子檢測提取所述N幀手勢圖像中的特征點并采用預設描述子表述所述特征點。
在本公開的一種示例性實施例中,所述預設算子包括FAST算子,所述預設描述子包括BRIEF描述子,獲取長度為n位的BRIEF描述子表述所述特征點。
在本公開的一種示例性實施例中,所述獲取N幀手勢圖像包括:
捕獲M×N幀手勢圖像;
從所述M×N幀手勢圖像中每間隔M-1幀選擇一幀,從而獲取所述N幀手勢圖像。
在本公開的一種示例性實施例中,還包括:獲取預設手勢密碼信息,其中所述預設手勢密碼信息包括預設手勢密碼序列以及相應的預設目標圖片。
在本公開的一種示例性實施例中,還包括:根據(jù)所述預設目標圖片在所述N幀手勢圖像中分別定位出目標框。
在本公開的一種示例性實施例中,所述步驟二包括:
剔除第i+1目標框中的部分匹配特征點;
分別根據(jù)剔除后剩余的第i+1目標框中的另一部分匹配特征點的距離向量對第i+1目標框的第i+1中心點坐標進行投票。
根據(jù)本公開的一個方面,提供一種基于手勢識別的解鎖裝置,包括:
特征點匹配模塊,用于對第i幀手勢圖像和第i+1幀手勢圖像進行特征點的匹配,獲取第i+1幀手勢圖像的第i+1目標框中的匹配特征點,其中1≤i≤N-1;
中心投票模塊,用于分別根據(jù)第i+1目標框中的匹配特征點的距離向量對第i+1目標框
的第i+1中心點坐標進行投票;
中心點坐標獲取模塊,用于對投票獲取的第i+1中心點坐標進行預設處理,獲取第i+1目標框的第i+1中心點坐標;
手勢序列獲取模塊,用于重復調用所述特征點匹配模塊、所述中心投票模塊和所述中心點坐標獲取模塊直至獲取N幀手勢圖像的N個中心點坐標,并根據(jù)所述N個中心點坐標獲取手勢軌跡序列;
解鎖模塊,用于將所述手勢軌跡序列與一預設手勢密碼序列進行匹配,當匹配度大于預設閾值時,判定解鎖成功。
在本公開的一種示例性實施例中,還包括:
初始化模塊,用于獲取第一幀手勢圖像的第一目標框的第一中心點坐標,并記錄所述第一目標框中的特征點相對于所述第一中心點坐標的距離向量序列。
在本公開的一種示例性實施例中,還包括:預設密碼獲取模塊,用于獲取預設手勢密碼信息,其中所述預設手勢密碼信息包括預設手勢密碼序列以及相應的預設目標圖片。
根據(jù)本公開的一個方面,提供一種移動終端,包括:
處理器;以及
存儲器,用于存儲所述處理器的可執(zhí)行指令;
其中,所述處理器被配置為所述處理器被配置為執(zhí)行上述所述的基于手勢識別的解鎖方法。
本公開實施方式所提供的基于手勢識別的解鎖方法、裝置及移動終端中,通過前后兩幀的匹配特征點中心投票的方式獲取各幀手勢圖像的中心點坐標,從而能夠得到精確的手勢序列,判斷當前手勢序列是否與預設手勢密碼序列是否匹配來確定此次解鎖是否成功,從而可以實現(xiàn)非接觸式手勢解鎖,不需要按壓觸摸屏或者在觸摸屏上滑動即可實現(xiàn)快捷的解鎖,提高了系統(tǒng)的安全性,同時也解放了用戶的雙手,使得用戶操作起來更便捷。因此,相比于現(xiàn)有技術,在示例性實施例中的解鎖方案可以實現(xiàn)更佳的用戶體驗。
應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。顯而易見地,下面描述中的附圖僅僅是本公開的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本公開示例性實施例中一種基于手勢識別的解鎖方法的流程示意圖。
圖2為本公開示例性實施例中另一種基于手勢識別的解鎖方法的流程示意圖。
圖3A-3G為本公開示例性實施例中又一種基于手勢識別的解鎖方法的示意圖。
圖4為本公開示例性實施例中一種基于手勢識別的解鎖裝置的方框示意圖。
圖5為本公開示例性實施例中一種移動終端的方框示意圖。
具體實施方式
現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限于在此闡述的范例;相反,提供這些實施方式使得本公開將更加全面和完整,并將示例實施方式的構思全面地傳達給本領域的技術人員。所描述的特征、結構或特性可以以任何合適的方式結合在一個或更多實施方式中。在下面的描述中,提供許多具體細節(jié)從而給出對本公開的實施方式的充分理解。然而,本領域技術人員將意識到,可以實踐本公開的技術方案而省略所述特定細節(jié)中的一個或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知技術方案以避免喧賓奪主而使得本公開的各方面變得模糊。
此外,附圖僅為本公開的示意性圖解,并非一定是按比例繪制。圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重復描述。附圖中所示的一些方框圖是功能實體,不一定必須與物理或邏輯上獨立的實體相對應。可以采用軟件形式來實現(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。
基于機器視覺的手勢識別是通過計算機對傳感器(例如camera)采集的原始圖像或圖像序列數(shù)據(jù)進行處理和分析,讓機器學習和理解其中的動作和行為的含義。一般在運動檢測、特征提取的基礎之上,通過分析獲得手的運動模式,建立視頻內容和動作類型描述之間的映射關系,以使計算機能夠“看”視頻或“理解”視頻。
手勢識別、非接觸式識別是下一代人機交互形式的方向,其不同于傳統(tǒng)的觸摸屏(手指滑動+點按)交互方式指令動作單一機械、安全性低、手勢交互的指令復雜以及用戶的使用成本較高。對安全等級要求非常高的系統(tǒng)而言,可以接受在軍工等特定場景中使用更安全的基于手勢識別的交互方法。
鑒于此,本公開結合先進的手勢識別技術,提出了一種新的用于移動終端的安全的加解密方式。
在本公開示例性實施例中首先提供了一種基于手勢識別的解鎖方法,可以應用于一移動終端。在示例性實施例中,所述移動終端例如可以為手機、平板電腦以及PDA等,本公開對此不作限定。所述移動終端操作系統(tǒng)可以為Android操作系統(tǒng),也可以為iOS、Windows等其他操作系統(tǒng),本示例性實施例中對此不做特殊限定。參考圖1中所示,在示例性實施例中,所述基于手勢識別的解鎖方法10可以包括以下步驟:
步驟S100.判斷i是否大于等于1且小于等于N-1即是否滿足1≤i≤N-1,其中i為正整數(shù),N為大于等于2的正整數(shù);當滿足1≤i≤N-1時,執(zhí)行步驟S110;當不滿足1≤i≤N-1時,例如i等于N時,跳轉到步驟S150。
在示例性實施例中,基于手勢識別的解鎖方法10還可以包括以下步驟:獲取第一幀手勢圖像的第一目標框的第一中心點坐標(x0,y0),并記錄所述第一目標框中的特征點相對于第一中心點坐標(x0,y0)的距離向量序列。
在示例性實施例中,基于手勢識別的解鎖方法10還可以包括以下步驟:獲取所述N幀手勢圖像,采用預設算子檢測提取所述N幀手勢圖像中的特征點并采用預設描述子表述所述特征點。
本發(fā)明實施例中,可以通過安裝在移動終端上的攝像頭拍攝獲取所述N幀手勢圖像。其中所述N幀手勢圖像中包含跟蹤目標(例如,用戶的手或者手指)的動態(tài)變化。但本公開不限定于此,具體獲取N幀手勢圖像的方法可以采用任意的可實現(xiàn)手段。
在示例性實施例中,基于手勢識別的解鎖方法10還可以包括對所述N幀手勢圖像預處理的步驟,將獲取的N幀手勢圖像進行灰度化,并將其尺寸縮小至同樣尺寸大小(例如128×128像素)。本公開其他實施例中還可以包括對所述N幀手勢圖像的其他預處理步驟,這部分可參考現(xiàn)有技術中的圖像預處理技術,在此不再贅述。
在示例性實施例中,所述預設算子包括FAST算子,所述預設描述子包括BRIEF描述子,獲取長度為n位的BRIEF描述子表述所述特征點。
為了得到手勢軌跡,本公開實施例中采用基于特征點匹配的跟蹤算法來得到手勢的運動軌跡。該方法通過提取圖像中的特征元素,在連續(xù)幀圖像上對這些特征進行匹配從而實現(xiàn)目標跟蹤。圖像特征是圖像中呈現(xiàn)的特有屬性。本公開采用ORB(Oriented BRIEF)特征匹配的方法,ORB特征的實現(xiàn)過程如下:
利用FAST算子對當前幀手勢圖像進行特征點檢測,得到當前幀的所有FAST特征點;對當前幀的FAST特征點生成BRIEF描述子,得到長度為n的二進制串;進入下一幀手勢圖像,以下一幀手勢圖像作為當前幀對其重復前述兩個步驟的過程,得到該幀手勢圖像的FAST特征點及其BRIEF描述子。
特征提取就是在每幀圖像中把用于跟蹤的特征提取出來的過程,一個優(yōu)秀的特征有以下特點:與跟蹤目標的特性相符,具有一定程度上的直觀意義;可區(qū)分不同的圖像內容,有良好的分類能力;可簡單計算,滿足快速識別的需求;滿足仿射不變性。
本發(fā)明實施例中,可以采用實時性非常高的FAST算子來進行跟蹤目標的特征提取。從某一幀中選取一個像素點P,假設它的亮度值(或者灰度值)為Ip。設定一個閾值t??紤]以像素點P為中心的一個預設半徑(例如,半徑等于3像素)的離散化的Bresenham圓,這個圓的邊界上有16個像素點,如果在這16個像素點上有預定個數(shù)(例如,9個)連續(xù)的像素點,該9個連續(xù)的像素點的像素值要么比Ip+t大,要么比Ip+t小,那么像素點P就可以認為是一個特征點。本發(fā)明實施例中采用預設半徑為3,共有16個周邊像素點比較,為了提高比較的效率,可以只使用16個像素點中的一部分的像素點來比較,例如FAST-9。采用此種方法可以加快FAST特征點檢測的速度。
采用FAST算子檢測提取圖像的特征點的方式并不局限于上述實施例例舉的方式,例如,還可以以像素點P為圓心,預設半徑的圓周周圍每隔90度角提取4個像素點,獲取提取的4個像素點灰度值與像素點P灰度值之差;如四個差值中至少三個差值大于設定閾值t,則認為像素點P為一個特征點,否則,認為像素點P不為一個特征點。
本發(fā)明實施例中,通過FAST算子檢測出了特征點,接著可以采用BRIEF作為特征描述方法將特征點表述為一個bit串(二進制串)便于計算機識別。可以在特征點周圍選擇一個圖像塊(例如,該圖像塊的大小可以為31×31),根據(jù)以這個圖像塊的中心q為原點的高斯分布選取n個點對(例如n=128或者256等,本公開對此不作限定),然后對于每一個點對(p,q),比較這兩個點的亮度值(或者灰度值)I(p)和I(q)。如果I(p)>I(q),則這個點對生成了bit串中一個為1的值;如果I(p)<I(q),則對應在bit串中一個為-1的值;其他情況下生成一個為0的值。所有n個點對,都進行比較之后,就生成了一個n長的bit串。
基于FAST特征點以及BRIEF描述子匹配的算法運算效率非常高,在嵌入式設備如手機、平板電腦等有限的內存空間存儲以及計算資源的產品中擁有很好的應用前景。
需要說明的是,本發(fā)明其他實施例中還可以采用其他的算法進行特征點提取及描述,例如SIFT算法、Harris角點檢測算法和SUSAN算法等,本公開對此不作限定。但是這些算法的計算量都很大,不利于一些實時跟蹤的應用或者在低功耗產品上的應用。與SIFT算法相比,ORB算法不僅具有旋轉不變性和抗噪聲能力,同時運算速度比SIFT算法提高了兩個數(shù)量級。
在示例性實施例中,所述獲取N幀手勢圖像包括:捕獲M×N幀手勢圖像;從所述M×N幀手勢圖像中每間隔M-1幀選擇一幀,從而獲取所述N幀手勢圖像。
例如,可以設定M=2,即假設移動終端(例如手機)的攝像頭捕獲了2N幀手勢圖像,為了提高效率,每間隔一幀選擇一幀加入至所述N幀手勢圖像,從而根據(jù)該N幀手勢圖像得到手勢序列的軌跡集合。
在示例性實施例中,基于手勢識別的解鎖方法10還可以包括以下步驟:獲取預設手勢密碼信息,其中所述預設手勢密碼信息包括預設手勢密碼序列以及相應的預設目標圖片。
本發(fā)明實施例中,可以通過移動終端的攝像頭首先拍攝獲取用戶設置的預設手勢圖像,并對該預設手勢圖像進行處理,得到預設手勢密碼序列以及該預設手勢密碼序列對應的跟蹤目標的預設目標圖片,例如,假設用戶通過右手的中指進行預設手勢密碼的設置,則該預設目標圖片為一在預設手勢圖像中框選的包括該用戶的右手的中指的圖片。
在示例性實施例中,基于手勢識別的解鎖方法10還可以包括以下步驟:根據(jù)所述預設目標圖片在所述N幀手勢圖像中分別定位出目標框。
本發(fā)明實施例中,可以通過上述的N幀手勢圖像中每一幀的特征點分別去匹配所述預設目標圖片,找到相似度最高的區(qū)域框選作為該幀的目標框。
在示例性實施例中,所述預設目標圖片和所述N幀手勢圖像的目標框中包括跟蹤目標的圖像信息。
在示例性實施例中,還可以以一預設物體(例如戒指)佩戴于用戶的手指上,將該預設物體作為跟蹤目標替代不規(guī)則易形變的手,從而可以簡化識別目標難度。
步驟S110.對第i幀手勢圖像和第i+1幀手勢圖像進行特征點的匹配,獲取第i+1幀手勢圖像的第i+1目標框中的匹配特征點。
在示例性實施例中,對第i幀手勢圖像和第i+1幀手勢圖像進行特征點的匹配可以通過以下方式:計算第i幀手勢圖像和第i+1幀手勢圖像的給定兩個長度為n位的BRIEF描述子之間的漢明距離,取漢明距離最小的第i幀手勢圖像和第i+1幀手勢圖像的FAST特征點作為匹配成功的特征點。漢明距離的計算方法可參考現(xiàn)有技術。
計算特征點的相對位置,可以以目標框的中心來進行計算,對于不形變的物體而言,不管物體怎么移動旋轉,其上面的特征點相對中心的距離在縮放比例下是確定的,因此可以由此來排除不是的特征點。直接計算當前幀的目標框中的特征點,并與上一幀的目標框中的特征點進行匹配,得到相匹配的特征點。
特征匹配的過程就是在當前幀中找到與跟蹤目標相似度最大的候選目標區(qū)域。本發(fā)明實施例中可以不將整個手勢圖像作為一個整體來匹配跟蹤,而是跟蹤在目標運動中目標框中的特征點,從而可以極大的減小計算復雜度,提高匹配效率。
步驟S120.分別根據(jù)第i+1目標框中的匹配特征點的距離向量對第i+1目標框的第i+1中心點坐標進行投票。
在示例性實施例中,步驟S120可以進一步包括以下步驟:剔除第i+1目標框中的部分匹配特征點;分別根據(jù)剔除后剩余的第i+1目標框中的另一部分匹配特征點的距離向量對第i+1目標框的第i+1中心點坐標進行投票。
具體的,對相鄰的兩幀圖像誤匹配的ORB特征點進行剔除,剔除方法可以為:求相鄰兩幀圖像中所有匹配特征點兩兩之間的距離,取得其距離的最小值記為min_dist,將特征點距離大于B乘以min_dist的特征點進行剔除,B取值范圍可以為6-10;在本實施例中可以取10,但本公開不限定于此。
步驟S130.對投票獲取的第i+1中心點坐標進行預設處理,獲取第i+1目標框的第i+1中心點坐標。
本發(fā)明實施例中,可以對投票獲取的第i+1中心點坐標進行求算法平均,從而獲取第i+1目標框的第i+1中心點坐標,但本公開對具體的數(shù)學處理方式不作限定。
步驟S140.i的值遞增1,然后繼續(xù)跳回到步驟S100判斷遞增1后的i是否滿足1≤i≤N-1;當i滿足1≤i≤N-1時,重復執(zhí)行上述步驟S110至步驟S130獲取下一幀(此時將下一幀作為當前幀)的中心點坐標。
步驟S150.獲取N幀手勢圖像的N個中心點坐標,并根據(jù)所述N個中心點坐標獲取手勢軌跡序列。
本發(fā)明實施例中,根據(jù)所述N個中心點坐標獲取手勢軌跡序列包括:對所述N個中心點坐標進行軌跡擬合和平滑處理,獲取所述手勢軌跡序列。具體的軌跡擬合和軌跡平滑方式可以參考現(xiàn)有技術,本公開對此不作展開論述。
步驟S160.將所述手勢軌跡序列與一預設手勢密碼序列進行匹配,當匹配度大于預設閾值時,判定解鎖成功。
本發(fā)明實施例中,可以設置所述預設閾值為0.8,但本公開對此不做限定。將通過上述步驟得到的手勢軌跡序列與預設手勢密碼序列做比對,匹配度大于0.8則解鎖;否則解鎖失敗,顯示密碼錯誤。
綜上所述,本示例實施方式所提供的基于手勢識別的解鎖方法,通過前后兩幀的匹配特征點中心投票的方式獲取各幀手勢圖像的中心點坐標,從而能夠得到精確的手勢序列,判斷當前手勢序列是否與預設手勢密碼序列是否匹配來確定此次解鎖是否成功,從而可以實現(xiàn)非接觸式手勢解鎖,不需要按壓觸摸屏或者在觸摸屏上滑動即可實現(xiàn)快捷的解鎖,提高了系統(tǒng)的安全性,同時也解放了用戶的雙手,使得用戶操作起來更便捷。因此,相比于現(xiàn)有技術,在示例性實施例中的解鎖方案可以實現(xiàn)更佳的用戶體驗。
下面通過圖2和圖3A-3G的實施例對上述方法進行進一步的詳細說明。
圖2為本公開示例性實施例中另一種基于手勢識別的解鎖方法的流程示意圖。
如圖2所示,在示例性實施例中,所述基于手勢識別的解鎖方法20可以包括以下步驟:
步驟S200.打開相機預覽框。
可以首先打開手機的相機預覽框,設置預設密碼手勢,在相機預覽框中畫出預設手勢密碼,錄入獲取一預設手勢密碼序列,例如圖3A中的類似“8”的手勢軌跡。然后,當進入手勢解鎖過程時,打開手機,進入解鎖界面,顯示相機預覽框。
步驟S202.錄入手勢,獲取N幀手勢圖像。
步驟S204.檢測N幀手勢圖像中的特征點。
步驟S206.匹配前后兩幀手勢圖像中目標框內的特征點。
上述步驟S202-206的具體實現(xiàn)過程可以參考圖1所述的實施例,在此不再贅述。
步驟S208.根據(jù)匹配的特征點獲取各幀手勢圖像的目標框的中心點坐標。
參考圖3B所示,假設為該N幀手勢圖像中的第一幀手勢圖像100,建立以第一幀手勢圖像100的中心為坐標原點O,水平方向為X軸,垂直方向為Y軸的坐標系,通過框選獲取第一幀手勢圖像100中的第一目標框110,第一目標框110中假設包括6個特征點(具體的特征點個數(shù)根據(jù)應用場景的不同而不同,本公開對此不作限定),該第一目標框110的第一中心點坐標在該第一幀手勢圖像100的坐標系中的坐標位置假設為(x0,y0),上述6個特征點相對于該第一中心點坐標(x0,y0)的距離向量假設分別為d11、d12、d13、d14、d15以及d16,如圖中的箭頭所示,各個距離向量包括各特征點相對于第一中心點坐標的相對距離和方向信息。
參考圖3C所示,假設為該N幀手勢圖像中的第二幀手勢圖像200,建立以第一幀手勢圖像200的中心為坐標原點O,水平方向為X軸,垂直方向為Y軸的坐標系,通過框選獲取第二幀手勢圖像200中的第二目標框210,通過匹配第一幀手勢圖像100的第一目標框100中的特征點和第二幀手勢圖像200的第二目標框210中的特征點,獲取到六個匹配的特征點,通過ORB特征點跟蹤算法剔除第6個特征點,還剩余5個剔除后的特征點d11、d12、d13、d14、d15,將該剔除后的5個特征點d11、d12、d13、d14、d15分別在第二目標框210中投票第二中心點,假設獲得了5個投票后的第二中心點坐標假設分別為(x11,y11)、(x12,y12)、(x13,y13)、(x14,y14)以及(x15,y15),將該投票獲得的5個第二中心點的坐標進行求平均,即可獲得預估的第二目標框210的第二中心點坐標(x1,y1):
參考圖3D所示,在該第二目標框210中,記錄各特征點相對于該第二中心點坐標(x1,y1)的距離向量d21、d22、d23、d24、d25。接著將第三幀手勢圖像的第三目標框中的特征點與第二幀手勢圖像的第二目標框中的特征點進行匹配,并剔除部分匹配后的特征點,根據(jù)剔除后的另一部分特征點的距離向量投票第三幀手勢圖像的第三目標框的第三中心點,將該投票獲得的多個第三中心點的坐標進行求平均,即可獲得預估的第三目標框的第三中心點坐標(x2,y2),以此類推可以獲得N幀手勢圖像的目標框的全部中心點坐標集合:
L={[x0,y0],...[xi,yi],...[xN-1,yN-1]}
步驟S210.構建手勢軌跡序列。
本發(fā)明實施例中,根據(jù)上述計算獲得的N個中心點坐標按順序連接可以獲得如圖3E所示的手勢軌跡;通過軌跡擬合后可以進一步獲得如圖3F所示的手勢軌跡;對圖3F所示的手勢軌跡做平滑處理,剔除偏離軌跡線過遠的點,即可獲得如圖3G所示的手勢軌跡。
步驟S212.判斷該手勢軌跡序列是否與預設手勢密碼序列相匹配;當兩者匹配時,進入步驟S214;當兩者不匹配時,跳轉到步驟S218。
本發(fā)明實施例中,將圖3G所示的手勢軌跡與圖3A所示的預設手勢軌跡進行匹配。
步驟S214.發(fā)送相應手勢響應指令。
本發(fā)明實施例中,采用的是微手勢,即手勢中的特征點及其運動軌跡組成一套簡化后的手勢,此手勢軌跡序列對應更高級別的執(zhí)行行為,識別該手勢軌跡序列向綁定的view發(fā)送響應消息,從而能更好的應用在移動終端,使得交互變得更加簡約自然。
步驟S216.執(zhí)行解鎖行為。
步驟S218.發(fā)送無效操作識別失敗指令。
步驟S220.判斷是否重新識別;如果重新識別,則跳回到步驟S202;反之,進入步驟S222。
步驟S222.結束。
本示例實施方式所提供的基于手勢識別的解鎖方法,區(qū)別于傳統(tǒng)的觸摸屏手勢解鎖方式,通過圖像處理和模式識別的算法實現(xiàn)非接觸式解鎖,解放了雙手,提高了移動終端操作的便捷性和用戶交互的舒適度。另一方面,本公開采用ORB特征和中心投票的目標跟蹤方法非常高效,這是傳統(tǒng)系統(tǒng)基于繁雜的學習和訓練的手勢識別庫的匹配方法所難以企及的。同時,本發(fā)明的誤操作率低,帶給用戶前所未有的優(yōu)質體驗。
本發(fā)明實施例中的其他內容可以參考上述實施例,在此不再贅述。
圖4為本公開示例性實施例中一種基于手勢識別的解鎖裝置40的方框示意圖。
如圖4所示,該基于手勢識別的解鎖裝置40可以包括:特征點匹配模塊400、中心投票模塊410、中心點坐標獲取模塊420、手勢序列獲取模塊430以及解鎖模塊440。其中,該基于手勢識別的解鎖裝置40可以應用于一移動終端。
其中特征點匹配模塊400可以用于對第i幀手勢圖像和第i+1幀手勢圖像進行特征點的匹配,獲取第i+1幀手勢圖像的第i+1目標框中的匹配特征點,其中1≤i≤N-1。
其中中心投票模塊410可以用于分別根據(jù)第i+1目標框中的匹配特征點的距離向量對第i+1目標框的第i+1中心點坐標進行投票。
其中中心點坐標獲取模塊420可以用于對投票獲取的第i+1中心點坐標進行預設處理,獲取第i+1目標框的第i+1中心點坐標。
其中手勢序列獲取模塊430可以用于重復調用所述特征點匹配模塊、所述中心投票模塊和所述中心點坐標獲取模塊直至獲取N幀手勢圖像的N個中心點坐標,并根據(jù)所述N個中心點坐標獲取手勢軌跡序列。
其中解鎖模塊440可以用于將所述手勢軌跡序列與一預設手勢密碼序列進行匹配,當匹配度大于預設閾值時,判定解鎖成功。
繼續(xù)參考圖4,在示例性實施例中,基于手勢識別的解鎖裝置40可以進一步包括:初始化模塊450,其可以用于獲取第一幀手勢圖像的第一目標框的第一中心點坐標,并記錄所述第一目標框中的特征點相對于所述第一中心點坐標的距離向量序列。
繼續(xù)參考圖4,在示例性實施例中,基于手勢識別的解鎖裝置40可以進一步包括:預設密碼獲取模塊460,其可以用于獲取預設手勢密碼信息,其中所述預設手勢密碼信息包括預設手勢密碼序列以及相應的預設目標圖片。
上述基于手勢識別的解鎖裝置中各模塊/單元的具體細節(jié)已經(jīng)在對應的基于手勢識別的解鎖方法中進行了詳細的描述,因此此處不再贅述。
進一步的,本實施方式還提供了一種移動終端,包括處理器;以及存儲器,用于存儲所述處理器的可執(zhí)行指令。
其中,所述處理器被配置為可執(zhí)行上述任意實施例所述的基于手勢識別的解鎖方法。
圖5為本公開示例性實施例中一種移動終端800的框圖。例如,移動終端800可以是移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設備,游戲控制臺,平板設備,醫(yī)療設備,健身設備,個人數(shù)字助理等。
參照圖5,移動終端800可以包括以下一個或多個組件:處理組件802,存儲器804,電力組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口812,傳感器組件814,以及通信組件816。
處理組件802通??刂埔苿咏K端800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關聯(lián)的操作。處理組件802可以包括一個或多個處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在移動終端800的操作。這些數(shù)據(jù)的示例包括用于在移動終端800上操作的任何應用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電力組件806為移動終端800的各種組件提供電力。電力組件806可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置800生成、管理和分配電力相關聯(lián)的組件。
多媒體組件808包括在移動終端800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當移動終端800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個麥克風(MIC),當移動終端800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
I/O接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件814包括一個或多個傳感器,用于為移動終端800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到設備800的打開/關閉狀態(tài),組件的相對定位,例如所述組件為移動終端800的顯示器和小鍵盤,傳感器組件814還可以檢測移動終端800或移動終端800一個組件的位置改變,用戶與移動終端800接觸的存在或不存在,移動終端800方位或加速/減速和移動終端800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于移動終端800和其他設備之間有線或無線方式的通信。移動終端800可以接入基于通信標準的無線網(wǎng)絡,如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件816經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關信息。在一個示例性實施例中,通信組件816還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術,紅外數(shù)據(jù)協(xié)會(IrDA)技術,超寬帶(UWB)技術,藍牙(BT)技術和其他技術來實現(xiàn)。
在示例性實施例中,移動終端800可以被一個或多個應用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質,例如包括指令的存儲器,上述指令可由電子設備的處理器執(zhí)行以完成在示例性實施例中的上述技術方案。例如,所述非臨時性計算機可讀存儲介質可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設備等。
應當注意,盡管在上文詳細描述中提及了用于動作執(zhí)行的裝置/設備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據(jù)本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。
此外,盡管在附圖中以特定順序描述了本公開中方法的各個步驟,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些步驟,或是必須執(zhí)行全部所示的步驟才能實現(xiàn)期望的結果。附加的或備選的,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,以及/或者將一個步驟分解為多個步驟執(zhí)行等。
本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理并包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由所附的權利要求指出。