專利名稱:基于物理模型的手勢識別的制作方法
技術(shù)領(lǐng)域:
一個實(shí)施例一般地是針對移動設(shè)備,尤其是用于移動設(shè)備的手勢識別(gesture recognition)0
背景技術(shù):
用于計(jì)算機(jī)系統(tǒng)和其他設(shè)備的手勢(gesture)識別,通常涉及經(jīng)由數(shù)學(xué)算法來翻譯人類手勢。手勢(gesture)可以源于任何身體動作或狀態(tài),但是通常源于面部或手部。已經(jīng)探討了很多使用照相機(jī)和計(jì)算機(jī)視覺算法來翻譯符號語言。然而,姿勢、步態(tài)和人類行為的辨別和識別還是手勢識別技術(shù)的主題。一種類型的手勢識別依賴于保持或另外操縱控制器或手持/移動設(shè)備的用戶。這些控制器充當(dāng)身體的延伸,使得做出手勢時,一些它們的動作可以被軟件方便地捕捉。鼠標(biāo)手勢就是一個這種示例,其中鼠標(biāo)的動作與人手所畫的符號相關(guān)。另一個示例是來自 Nintendo集團(tuán)的可以學(xué)習(xí)加速度隨時間的變化以呈現(xiàn)手勢的Wii遙控。為了識別手勢這些方法通常都進(jìn)行加速計(jì)數(shù)據(jù)的統(tǒng)計(jì)分析或信號處理。然而,一個缺點(diǎn)是統(tǒng)計(jì)分析典型地針對單一類型的動作,諸如當(dāng)使用控制器與視頻高爾夫游戲交互時揮動高爾夫球桿時的動作。
發(fā)明內(nèi)容
一個實(shí)施例是用于在移動設(shè)備上識別手勢的手勢識別系統(tǒng)。系統(tǒng)接收傳感器數(shù)據(jù)以響應(yīng)移動設(shè)備上感應(yīng)到的手勢。傳感器數(shù)據(jù)包括力(force)或沖量(impulse)。力或沖量被施加到仿真物理對象,然后觀察仿真物理對象的狀態(tài)?;谥辽儆^察到的仿真物理對象的狀態(tài),輸入被提供給應(yīng)用。
圖1是根據(jù)本發(fā)明一個實(shí)施例的移動設(shè)備的立體圖;圖2是根據(jù)本發(fā)明一個實(shí)施例的手勢識別系統(tǒng)的框圖;圖3是本發(fā)明一個實(shí)施例中仿真的示例物體的框圖;圖4根據(jù)一個實(shí)施例示出了球的仿真動作;圖5是根據(jù)一個實(shí)施例經(jīng)由例如手部動作/手勢在空間中運(yùn)動的移動設(shè)備的立體圖;圖6是根據(jù)一個實(shí)施例為了識別手勢觀察仿真物理對象的有限狀態(tài)機(jī)或“觀察者”的框圖;圖7根據(jù)一個實(shí)施例示出了包括兩個門限值的容器中的仿真對象;圖8是當(dāng)與應(yīng)用共同識別手勢時根據(jù)一個實(shí)施例的手勢識別模塊的功能的流程圖。
具體實(shí)施例方式為了增加功能并提供到應(yīng)用的用戶界面,一個實(shí)施例是加入手勢識別的移動設(shè)備。該設(shè)備包括仿真物理系統(tǒng)(physical system)和具有由物理系統(tǒng)的觀察所驅(qū)動的狀態(tài)遷移的狀態(tài)機(jī)。每個狀態(tài)可對應(yīng)于識別的手勢,以及基于識別的手勢可生成觸覺效果 (haptic effect)0圖1是根據(jù)本發(fā)明一個實(shí)施例的移動設(shè)備50的立體圖。如所示,移動設(shè)備50是移動電話。然而,其他實(shí)施例中的設(shè)備50可以是包括便攜數(shù)字助理(“PDA”)、便攜媒體播放器、便攜游戲設(shè)備等的任何類型的手持設(shè)備。設(shè)備50包括允許用戶與設(shè)備50上運(yùn)行的軟件應(yīng)用進(jìn)行接口(interface)的用戶界面(“UI”)60。設(shè)備50進(jìn)一步包括下面進(jìn)一步詳細(xì)公開的手勢識別系統(tǒng)(未示出),該系統(tǒng)允許用戶使用手部55以諸如通過操縱設(shè)備50 的有意義的方式與設(shè)備50和UI 60交互。圖2是根據(jù)本發(fā)明一個實(shí)施例的手勢識別系統(tǒng)10的框圖。系統(tǒng)10是圖1的移動設(shè)備50的一部分,并且其提供手勢識別功能。雖然作為單一系統(tǒng)來示出,但是系統(tǒng)10的功能可以作為分布式系統(tǒng)來實(shí)現(xiàn)。系統(tǒng)10包括總線12或其他用于溝通信息的通信機(jī)制,和耦合到總線12用于處理信息的處理器22。處理器22可能是任何類型的通用或?qū)S锰幚砥鳌?系統(tǒng)10進(jìn)一步包括用于存儲將由處理器22所運(yùn)行的信息和指令的存儲器14。存儲器14 可以由隨機(jī)訪問存儲器(“RAM”)、只讀存儲器(“ROM”)、諸如磁或光盤的靜態(tài)存儲器或任何其他類型的計(jì)算機(jī)可讀介質(zhì)的任何組合組成。計(jì)算機(jī)可讀介質(zhì)可能是處理器22可訪問的任何可用介質(zhì),包括易失性和不易失性介質(zhì)、可擦除和不可擦除介質(zhì)以及通信介質(zhì)。通信介質(zhì)可包括諸如載波或其他傳輸機(jī)制的調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),以及包括任何信息發(fā)送介質(zhì)。在一個實(shí)施例中,存儲器14存儲當(dāng)被處理器22運(yùn)行時提供功能的軟件模塊。模塊包括在一個實(shí)施例中提供用于系統(tǒng)10的操作系統(tǒng)功能和設(shè)備50的其他功能的操作系統(tǒng) 15。模塊進(jìn)一步包括如下面更詳細(xì)公開的識別用戶手勢的手勢識別模塊16。系統(tǒng)10將典型地包括一個或更多附加應(yīng)用模塊18以包括附加功能,諸如生成觸覺效果的應(yīng)用和與模塊16交互的應(yīng)用,使得識別的手勢可以用作那些應(yīng)用的輸入。在實(shí)施例中從遠(yuǎn)程源傳送和/或接收數(shù)據(jù)的系統(tǒng)10,進(jìn)一步包括諸如網(wǎng)絡(luò)接口卡的通信設(shè)備20,以提供諸如紅外、無線、Wi-Fi或蜂窩網(wǎng)絡(luò)通信的移動無線網(wǎng)絡(luò)通信。在其他實(shí)施例中,通信設(shè)備20提供諸如以太網(wǎng)連接或調(diào)制解調(diào)器的有線網(wǎng)絡(luò)連接。處理器22進(jìn)一步經(jīng)由總線12耦合到用于向用戶顯示圖形表示或用戶界面的諸如液晶顯示器(“IXD”)的顯示器對。顯示器24可能是諸如觸摸屏幕、配置為從處理器22 發(fā)送和接收信號的觸摸感應(yīng)輸入設(shè)備,以及可能是多點(diǎn)觸控觸摸屏幕。系統(tǒng)10進(jìn)一步包括一個或更多致動器26。處理器22可傳送與觸覺效果相關(guān)的觸覺信號到依次輸出觸覺效果的致動器26。致動器沈可能是例如電動機(jī)、電磁致動器、 音圖(voice coil)、線性共振致動器、壓電致動器、形狀記憶合金、電活性聚合物、螺線管 (solenoid)、質(zhì)量偏心旋轉(zhuǎn)電機(jī)(“ERM”)或線性共振致動器(“LRA”)。系統(tǒng)10進(jìn)一步包括一個或更多傳感器觀。傳感器觀可包括加速計(jì) (accelerometer)、陀螺儀、全球定位系統(tǒng)(“GPS”)傳感器、觸摸感應(yīng)輸入設(shè)備(例如,觸摸屏幕、觸摸板)、紋理手寫筆(texture stylus)、圖像傳感器或一些其他類型傳感器。傳感器觀可配置為檢測加速度、傾角(inclination)、慣性(inertia)或地點(diǎn)(location)的變化。傳感器觀還可能包括地點(diǎn)傳感器、旋轉(zhuǎn)速度傳感器、光線傳感器、壓力傳感器、紋理傳感器、照相機(jī)、麥克風(fēng)或其他類型傳感器。隨著圖1的移動設(shè)備50被用戶移動作為手勢的結(jié)果,傳感器觀將檢測到這些運(yùn)動,并基于至少部分設(shè)備50的運(yùn)動而生成傳感器信號。手勢可包括加速計(jì)、陀螺儀或一些其他傳感器測量到的三維手勢。三維手勢可包括旋轉(zhuǎn)、輕擊、猛擊或另外移動整個設(shè)備50。在一個實(shí)施例中,手勢識別系統(tǒng)10仿真(simulate)移動設(shè)備50的物理動作所擾動的物體,然后“觀察者”追蹤仿真物理對象的狀態(tài)以確定手勢。確定的手勢可以作為輸入提供到相關(guān)的軟件應(yīng)用,以及可以使軟件生成觸覺效果以向用戶提供反饋來響應(yīng)手勢。 物理仿真可以是將要被識別的手勢的模擬,并且取決于應(yīng)用可以與一維世界中具有質(zhì)量 (mass)的單一對象一樣簡單或更復(fù)雜。圖3是本發(fā)明一個實(shí)施例中仿真的示例物體的框圖。在該示例中,手勢識別系統(tǒng) 10識別用于確定在UI 60中圖形示出的諸如墻開關(guān)的“開關(guān)”是否是上/開或下/關(guān)的手勢。在圖3中所示的實(shí)施例中,仿真物理對象是管道或容器106中容納的球102。球102限于箭頭104所指示的上和下動作,就像球102被容納在一個面上。球102任何時候都可以由其相對于χ軸的位置(“X”)和其速度(ν)或(χ, ν)表征。圖4根據(jù)一個實(shí)施例示出了球102的仿真動作。當(dāng)未施加力時,球102留在線105 所指示的容器106的中央。恒定背景力(constant background force)施加到球102,如勢 (potential)函數(shù)U(x)的空間導(dǎo)數(shù)(spatial derivative)所表示的。在圖4中所示的勢中,容器106中央有零凈(net)背景力。在仿真物理系統(tǒng)中,依照勢U (χ)的斜率(slope), 向下方向中施加的擾動力使球102滑向容器106的底部。同樣地,當(dāng)在向上方向中施加力時,球102滑向容器106的頂部。施加的力可以作為勢函數(shù)U(X)的導(dǎo)數(shù)d/dx表征,其是在每個χ上施加到物體102的力,其中χ是物體的空間位置。力可能是線性的,如在圖4的示例中,或可能是周期流形(periodic manifold)(例如,如果χ是角度),任何其他函數(shù)U(x) 或函數(shù)U(x,p)的參數(shù)化家族(其中ρ是參數(shù))。算法將捕捉手勢的類型,在確定手勢的類型中,背景力的說明是有幫助的。圖5是根據(jù)一個實(shí)施例經(jīng)由例如手部動作/手勢在空間中運(yùn)動的移動設(shè)備50的立體圖。對于圖3和4的示例,加速計(jì)沿著y軸(軸110)測量加速度,因?yàn)檫@是與使用手勢以輕擊UI 60中所示的開關(guān)開或關(guān)相關(guān)的方向。加速度由‘、/’表示。圖6是根據(jù)一個實(shí)施例為了識別手勢而觀察仿真對象102的有限狀態(tài)機(jī)600或 “觀察者”的框圖。在一個實(shí)施例中,圖6的有限狀態(tài)機(jī)600的功能和下面圖8的流程圖,由存儲器或其他計(jì)算機(jī)可讀或有形介質(zhì)中存儲的軟件實(shí)現(xiàn),并由處理器運(yùn)行。在其他實(shí)施例中,功能可以由硬件(例如,通過專用集成電路(“ASIC”)、可編程門陣列(“PGA”)、現(xiàn)場可編程門陣列(“FPGA”)等的使用)或任何硬件和軟件的組合來執(zhí)行。圖7根據(jù)一個實(shí)施例示出了包括兩個門限χ值^up和&。m的容器106中的仿真對象102。門限χ值被狀態(tài)機(jī) 600使用以確定仿真開關(guān)是上或下。在602中,物體102被初始化,使得位置x = 0和速度ν = 0。在604中,物體102的位置χ和速度ν被觀察。在一個實(shí)施例中,下述偽碼實(shí)現(xiàn)604的觀察狀態(tài)get sensor data ()convert sensors to forces ()apply forces to object ()time step physics ()if (collision),play haptic effectobserve physical state ()上述偽碼從傳感器28獲得傳感器數(shù)據(jù),然后將傳感器數(shù)據(jù)映射到仿真對象102上的力或沖量,其然后使用數(shù)字積分器(numerical integrator)(物理時間步長(time step physics))被仿真以計(jì)算物體的位置和速度軌跡。如果基于力,在容器106的末端物體102 碰撞,那么在一個實(shí)施例中提供沖突的指示的諸如振動的觸覺效果將被生成。下面是上述偽碼的功能一些示例實(shí)現(xiàn)。將傳感器轉(zhuǎn)換為力()在一個實(shí)施例中,通過比較加速度值與一系列不斷增長的門限來將加速度值 映射到速度沖量。上述加速度是具體門限,但是下面下一個較高門限將生成仿真對象102的沖量(速度的不連續(xù)變化)。施加力到物體()在一個實(shí)施例中,使用牛頓運(yùn)動原理將力添加到力之和中。
權(quán)利要求
1.一種具有指令存儲其上的計(jì)算機(jī)可讀介質(zhì),當(dāng)所述指令被處理器運(yùn)行時使所述處理器在移動設(shè)備上執(zhí)行手勢識別,所述手勢識別包括生成仿真物理對象;接收傳感器數(shù)據(jù)以響應(yīng)所述移動設(shè)備上感應(yīng)到的手勢,所述傳感器數(shù)據(jù)包括力或沖量;施加所述力或沖量到所述仿真物理對象; 觀察所述仿真物理對象的狀態(tài)以響應(yīng)所述施加的力或沖量;和基于至少觀察到的所述仿真物理對象的狀態(tài)向應(yīng)用提供輸入。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中到所述應(yīng)用的輸入包括與用戶界面的交互。
3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)可讀介質(zhì),其中所述用戶界面顯示基本類似于所述仿真物理對象的圖形。
4.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)可讀介質(zhì),其中所述用戶界面顯示響應(yīng)交互而修改的圖形,其中所述圖形包括按鈕、滑塊或滾動列表中至少一個。
5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中所述應(yīng)用生成觸覺效果以響應(yīng)所述輸入。
6.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其中所述觸覺效果包括觀察到的所述仿真物理對象的狀態(tài)的反饋。
7.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其中所述觸覺效果包括所述仿真物理對象的物理狀態(tài)的反饋。
8.根據(jù)權(quán)利要求5所述的計(jì)算機(jī)可讀介質(zhì),其中所述觸覺效果包括在所述移動設(shè)備上生成振動的致動器。
9.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中所述仿真物理對象是容器中的球并被限定在一維動作中。
10.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中所述力或沖量由加速計(jì)感應(yīng)。
11.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其中所述應(yīng)用翻譯觀察到的狀態(tài)作為識別的手勢。
12.一種用于在移動設(shè)備上執(zhí)行手勢識別的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括 生成仿真物理對象;接收傳感器數(shù)據(jù)以響應(yīng)所述移動設(shè)備上感應(yīng)到的手勢,所述傳感器數(shù)據(jù)包括力或沖量;施加所述力或沖量到所述仿真物理對象; 觀察所述仿真物理對象的狀態(tài)以響應(yīng)施加的力或沖量;和基于至少觀察到的所述仿真物理對象的狀態(tài)向應(yīng)用提供輸入。
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述應(yīng)用生成觸覺效果以響應(yīng)所述輸入。
14.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中所述仿真物理對象是容器中的球并被限定在一維動作中。
15.一種系統(tǒng),包括處理器;耦合到所述處理器的存儲器;和耦合到所述處理器用于感應(yīng)所述系統(tǒng)上手勢的傳感器;和其中所述存儲器存儲指令,當(dāng)所述指令被所述處理器運(yùn)行時, 生成仿真物理對象;從所述傳感器接收力以響應(yīng)所述系統(tǒng)上的手勢;施加所述力到所述仿真物理對象;觀察所述仿真物理對象的狀態(tài)以響應(yīng)施加的力;和基于至少觀察到的所述仿真物理對象的狀態(tài)向應(yīng)用提供輸入。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),進(jìn)一步包括 耦合到所述處理器的致動器;其中所述應(yīng)用使所述致動器生成觸覺效果以響應(yīng)所述輸入。
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述仿真物理對象是容器中的球并被限定在一維動作中。
全文摘要
一種用于在移動設(shè)備上識別手勢的手勢識別系統(tǒng),該系統(tǒng)接收傳感器數(shù)據(jù)以響應(yīng)移動設(shè)備上被感應(yīng)的手勢。傳感器數(shù)據(jù)包括力或沖量。力或沖量被施加到仿真物理對象,然后仿真物理對象的狀態(tài)被觀察?;谥辽儆^察的仿真物理對象的狀態(tài),向應(yīng)用提供輸入。
文檔編號G06F3/041GK102446025SQ20111030238
公開日2012年5月9日 申請日期2011年10月8日 優(yōu)先權(quán)日2010年10月5日
發(fā)明者克里斯托弗·J·烏爾里奇, 羅伯特·拉克魯瓦 申請人:艾默生公司