本發明的一些示例實施例總體上涉及用戶界面技術,尤其涉及一種提供用于姿勢識別的機制的方法和裝置。
背景技術:現代的通信時代已經帶來了有線和無線網絡的巨大發展。在消費者需求的刺激下,計算機網絡、電視網絡和電話網絡正在經歷著前所未有的技術發展。無線和移動網絡技術已經解決了相關的消費者需求,同時提供了更為靈活且迅捷的信息傳輸。當前和未來的網絡技術繼續促使信息易于傳輸以及帶給用戶的便利。需要使得信息易于傳輸以及針對用戶的便利有所增強的一個領域涉及簡化HCI(人-計算機交互)的人機界面。隨著計算設備以及手持或移動設備領域近來的發展讓這些設備的能力得到增強,許多人在構思下一代的HCI。此外,假定設備將趨于增強其在收到請求時相對快捷地創建內容、存儲內容和/或接收內容的能力,并且還假定諸如移動電話之類的移動電子設備經常面臨著顯示屏大小、文本輸入速度以及用戶界面(UI)的物理實施方式的局限,因此在HCI的環境中經常出現有挑戰。此外,HCI的改進還會提升用戶樂趣并且使得用戶與計算設備的界面有可能在某些環境中出現,其中該環境可以其它方式為有效的HCI帶來改變。一種這樣的改進涉及姿勢識別。與例如鍵盤和鼠標之類的HCI中當前采用的其它交互機制相比,一些人會認為姿勢識別提高了通信的自然度和便利性。于是,已經研發出某些應用而使得姿勢識別能夠用作數字家電中的命令控制器,在文件/web導航中使用或者被用作普遍使用的遙控器的替代。然而,當前用于姿勢分析的機制經常是緩慢的或者難以使用。假定下一代HCI的普遍采用,姿勢識別的改進是受期待的。
技術實現要素:提供了一種方法、裝置和計算機程序產品以使得能夠提供一種采用姿勢識別的機制。例如,一些實施例可以采用基本上實時的基于視覺的動態手部姿勢識別算法。在一個示例性實施例中,提供了一種提供用于采用姿勢識別的機制的方法。該方法可以包括引起對所接收圖像數據的下采樣以生成多個圖像幀的下采樣圖像分塊,引起從下采樣圖像分塊中提取多個特征,基于連續幀中相應特征的數值變化確定下采樣圖像分塊的移動狀態,以及基于投影直方圖的第一邊界和第二邊界的移動確定圖像數據中的對象的運動方向,該投影直方圖基于相應下采樣圖像分塊的移動狀態而確定。在另一個實施例中,提供了一種提供用于采用姿勢識別的機制的裝置。該裝置可以包括至少一個處理器和至少一個包括計算機程序代碼的存儲器。該至少一個存儲器和計算機程序代碼可以被配置為利用該至少一個處理器而使得該裝置至少執行:引起對所接收圖像數據的下采樣以生成多個圖像幀的下采樣圖像分塊,引起下采樣圖像分塊中提取多個特征,基于連續幀中相應特征的數值變化確定下采樣圖像分塊的移動狀態,以及基于投影直方圖的第一邊界和第二邊界的移動確定圖像數據中的對象的運動方向,該投影直方圖基于相應下采樣圖像分塊的移動狀態而確定。在一個示例實施例中,提供了另一種提供用于采用姿勢識別的機制的裝置。該裝置可以包括用于引起對所接收圖像數據的下采樣以生成多個圖像幀的下采樣圖像分塊的裝置,用于引起從下采樣圖像分塊中提取多個特征的裝置,用于基于連續幀中相應特征的數值變化確定下采樣圖像分塊的移動狀態的裝置,以及用于基于投影直方圖的第一邊界和第二邊界的移動確定圖像數據中的對象的運動方向的裝置,該投影直方圖基于相應下采樣圖像分塊的移動狀態而確定。在一個示例實施例中,提供了一種提供用于采用姿勢識別的機制的計算機程序產品。該計算機程序產品可以包括至少一個具有存儲于其上的計算機可執行程序代碼指令的計算機可讀存儲介質。該計算機可讀程序代碼指令可以包括用于以下操作的程序代碼指令:引起對所接收圖像數據的下采樣以生成多個圖像幀的下采樣圖像分塊,引起從下采樣圖像分塊中提取多個特征,基于連續幀中相應特征的數值變化確定下采樣圖像分塊的移動狀態,以及基于投影直方圖的第一邊界和第二邊界的移動確定圖像數據中的對象的運動方向,該投影直方圖基于相應下采樣圖像分塊的移動狀態而確定。本發明的一些實施例可以提供一種用于改善與具有基于視覺的用戶界面功能的設備相關的用戶體驗的方法、裝置和計算機程序產品。作為結果,例如,移動終端用戶可以享受到關于對可結合移動終端使用的內容和其它服務或應用進行的訪問的有所改進的功能。附圖說明因此已經對本發明的實施例進行了大致描述,現在講參考并不一定依比例而繪制的附圖其中:圖1是根據本發明示例實施例的移動終端的示意性框圖;圖2是根據本發明示例實施例的提供用于采用姿勢識別的機制的裝置的示意性框圖;圖3圖示了可以由根據本發明示例實施例所配置的姿勢識別管理器所進行的處理的示例;圖4圖示了根據本發明示例實施例的樣本圖像序列和相對應的圖像結果;和圖5是依據根據本發明示例實施例的提供用于采用姿勢識別的機制的示例方法的框圖。具體實施方式現在將參考附圖對本發明的一些實施例進行更為全面地描述,附圖中示出了本發明的一些而非全部實施例。實際上,本發明的各個實施例可以以許多不同方式來實現,而并不應當被理解為局限于這里所給出的實施例。相同的附圖標記通篇指代相同要素。如這里所使用的,術語“數據”、“內容”、“信息”以及類似術語可以互換使用以指代能夠依據本發明的實施例而被傳送、接收和/或存儲的數據。因此,使用這樣的術語并不應當被理解為對本發明實施例的精神和范圍進行限制。如這里所使用的,術語“電路”是指(a)僅硬件的電路實施方式實現(例如僅用模擬和/或數字電路的實施方式);(b)電路和(多個)計算機程序產品的組合,其包括存儲在一個或多個計算機可讀存儲器上的、協同工作以使得裝置執行這里所描述的一個或多個功能的軟件和/或固件指令;和(c)例如(多個)微處理器或(多個)微處理器的一部分的電路,其需要軟件或固件以進行操作,即使軟件或固件并非物理存在。“電路”的這個定義應用于本申請中使用該術語的所有情況,包括任意權利要求。作為另一個示例,如這里所使用的,術語“電路”還將包括包含一個或多個處理器和/或其(多個)部分并且伴隨有軟件和/或固件的實施方式。作為另一個示例,這里所使用的術語“電路”例如還包括移動電話中的基帶集成電路或應用處理器集成電路,或者蜂窩網絡設備、其它網絡設備和/或其它計算設備中類似的集成電路。如這里所定義的,指代非瞬時的物理存儲介質(例如,易失性或非易失性存儲器設備)的“計算機可讀存儲介質”可以與指代電磁信號的“計算機可讀傳輸介質”區別開來。本發明的一些實施例可以提供一種能夠通過其而體驗到與姿勢分析相關的改進的機制。此外,一些示例實施例可以提供一種通過其準確確定某些姿勢的相對快速的機制。例如,可以單獨基于計算機視覺準確且快速地檢測并識別出從左至右的手部揮動姿勢(或者從上至下的手部劃過姿勢)。雖然一些實施例可以利用例如包括具有能夠捕捉高質量圖像或以高頻率捕捉圖像的魯棒相機設備的固定或移動系統的任何計算機視覺系統來實現,但是一些示例實施例也可以結合從較低質量的相機所捕捉或者以較低頻率所捕捉的較低質量的圖像來使用。作為一個示例實施例,圖1圖示了將從本發明實施例中獲益的移動終端10的框圖。然而,應當理解的是,如所圖示并且隨后所描述的移動終端10僅是可以從本發明實施例獲益的一種設備的說明,并且因此不應當被理解為對本發明實施例的范圍進行限制。這樣,雖然諸如便攜式人數字助理(PDA)、移動電話、傳呼機、移動電視、游戲設備、膝上計算機、相機、平板計算機、觸摸表面、可佩帶設備、視頻錄影機、音/視頻播放器、無線電廣播、電子書、定位設備(例如,全球定位系統(GPS)設備),或者以上所提到的任意組合的諸多移動終端類型,以及其它類型的語音和文本通信系統可以輕易采用本發明的實施例,但是包括固定(非移動)電子設備在內的其它設備也可以采用一些示例實施例。移動終端10可以包括可與傳送器14和接收器16進行操作通信的天線12(或多個天線)。移動終端10可以進一步包括諸如控制器20或其它處理設備(例如,圖2的處理器70)的裝置,其分別控制向傳送器14提供信號以及從接收器16接收信號。信號可以包括依據可應用蜂窩系統的空中接口標準的信令信息,并且還包括用戶話音、接收的數據和/或用戶所生成的數據。就此而言,移動終端10能夠利用一個或多個空中接口標準、通信協議、調制類型和訪問類型進行操作。通過說明,移動終端10能夠依據任意數量的第一、第二、第三和/或第四代通信協議或者類似協議等進行操作。例如,移動終端10能夠依據第二代(2G)無線通信協議IS-136(時分多址(TDMA))、GSM(全球移動通信系統)和IS-95(碼分多址(CDMA))進行操作,或者利用諸如通用移動電信系統(UMTS)、CDMA2000、寬帶CDMA(WCDMA)和時分同步CDMA(TD-SCDMA)的第三代(3G)無線通信協議進行操作,利用諸如演進UMTS陸地無線電接入網絡(E-UTRAN)的3.9G無線通信協議進行操作,利用第四代(4G)無線通信協議(例如,長期演進(LTE)或LTE-Advanced(LTE-A))或者類似協議進行操作,等等。作為替代(或除此之外),移動終端10能夠依據非蜂窩通信機制進行操作。例如,移動終端10能夠在無線局域網(WLAN)或其它通信網絡中進行通信。在一些實施例中,控制器20可以包括被期望用于實施移動終端10的音頻和邏輯功能的電路。例如,控制器20可以由數字信號處理器設備、微處理器設備,以及各種模數轉換器、數模轉換器和其它支持電路所組成。移動終端10的控制和信號處理功能根據這些設備各自的能力而在它們之間進行分配。控制器20因此還可以包括在調制和傳輸之前對消息和數據進行卷積編碼和交織的功能。控制器20還可以包括內部視頻編碼器,并且可以包括內部數據調制解調器。另外,控制器20可以包括對可存儲在存儲器中的一個或多個軟件程序進行操作的功能。例如,控制器20能夠操作連接程序,諸如常規的Web瀏覽器。該連接程序隨后可以例如根據無線應用協議(WAP)、超文本傳輸協議(HTTP)和/或類似協議而允許移動終端10傳送和接收Web內容,諸如基于位置的內容和/或其它網頁內容。移動終端10還可以包括用戶接口,其包括諸如常規耳機或揚聲器24的輸出設備、響鈴22、麥克風26、顯示器28以及用戶輸入接口,所有這些都耦合至控制器20。允許移動終端10接收數據的用戶輸入接口可以包括任意數量的允許移動終端10接收數據的設備,諸如鍵盤30、觸摸顯示屏(提供這樣的觸摸顯示屏的示例的顯示器28)或者其它輸入設備。在包括鍵盤30的實施例中,鍵盤30可以包括常規數字(0-9)和相關按鍵(#,*),以及用于對移動終端10進行操作的其它硬和軟按鍵。可替換地或除此之外,鍵盤30可以包括常規的QWERTY鍵盤排列。鍵盤30還可以包括具有相關聯功能的各種軟按鍵。除此之外或可替換地,移動終端10可以包括諸如操控桿或其它用戶輸入接口之類的接口設備。一些采用觸摸顯示屏的實施例可以完全省略鍵盤30以及任意或所有的揚聲器24、響鈴22和麥克風26。移動終端10進一步包括諸如振動電池背夾之類的電池34,以便對操作移動終端10所需的各種電路進行供電,以及任選地提供作為可檢測輸出的機械振動。移動終端10可以進一步包括用戶身份模塊(UIM)38。UIM38通常為具有內置處理器的存儲器設備。UIM38例如可以包括訂戶身份模塊(SIM)、通用集成電路卡(UICC)、通用訂戶身份模塊(USIM)、可移動用戶身份模塊(R-UIM)等。UIM38通常存儲與移動訂戶相關的信息要素。除了UIM38之外,移動終端10可以配備有存儲器。例如,移動終端10可以包括易失性存儲器40,諸如包括用于臨時數據存儲的、帶有高速緩存區域的易失性隨機訪問存儲器(RAM)。移動終端10還可以包括其它非易失性存儲器42,其可以是嵌入式的和/或是可移動的。存儲器可以存儲移動終端10用來實施其功能的任意數量的信息和數據。在示例性實施中,移動終端10可以包括與控制器20進行通信的諸如一個或多個相機、視頻和/或音頻模塊的媒體捕捉模塊。該媒體捕捉模塊可以是用于捕捉圖像、視頻和/或音頻以便存儲、顯示或傳輸的任意器件。例如,在媒體捕捉模塊為相機模塊37的示例性實施例中,相機模塊37可以包括能夠從所捕捉的圖像形成數字圖像文件的數字相機。因此,相機模塊37可以包括用于從所捕捉的圖像創建數字圖像文件所必需的所有硬件,諸如鏡頭或其它光學設備,以及軟件。雖然并非在所有情況下都是必要的,但是在一些示例性實施例中,相機模塊37可以是能夠捕捉指示深度和強度的3D圖像信息的3D相機。還應當注意的是,一些示例實施例可以結合以其它方式產生或生成但是可用于在移動終端10(或固定終端)進行處理的圖像或視頻內容(還有其它類型的內容)而采用。現在將參考圖2對本發明的示例實施例進行描述,其中顯示了提供用于采用姿勢識別的機制的裝置50的某些部件。圖2的裝置50例如可以結合圖1的移動終端10而得以采用。然而,應當注意的是,圖2的裝置50也可以結合移動和固定的各種其它設備而采用,因此本發明的實施例并不應當被局限于在諸如圖1的移動終端10的設備上應用。例如,裝置50可以在個人計算機或其它用戶終端上采用。此外,在一些情況下,裝置50可以處于諸如服務器或其它服務平臺的固定設備上,并且內容可以基于在固定設備處所進行的處理而在諸如用戶終端(例如,移動終端10)的遠程設備上進行呈現(例如,經由服務器/客戶端關系)。還應當注意的是,雖然圖2圖示了提供用于采用姿勢識別的機制的裝置的配置示例,但是也可以使用多種其它配置來實施本發明的實施例。因此,在一些實施例中,雖然設備或部件被示為互相進行通信,但是此后這樣的設備或部件應當被認為是能夠在相同設備或部件內得以體現,并且因此被示為進行通信的設備或部件應當被理解為可替換地是相同設備或部件的一部分。現在參考圖2,提供了提供用于采用姿勢識別的機制的裝置50,并且其可以包括處理器70、用戶接口72、通信接口74和存儲器設備76或者以其它方式與它們進行通信。在一些實施例中,處理器70(和/或協同處理器或者對處理器70進行輔助或者以其它方式與之相關聯的任意其它處理電路)可以經由用于在裝置50的組件之間輸送信息的總線而與存儲器設備76進行通信。存儲器設備76可以包括例如一個或多個易失性和/或非易失性存儲器。換句話說,例如,存儲器設備76可以是電子存儲設備(例如,計算機可讀存儲介質),其包括被配置為存儲可由機器(例如,類似處理器70的計算設備)所讀取的數據(例如,比特)的門電路。存儲器設備76可以被配置為存儲信息、數據、應用、指令等以使得該裝置能夠執行依據本發明示例實施例的各種功能。例如,存儲器設備76可以被配置為對輸入數據進行緩沖以便由處理器70所處理。除此之外或可替換地,存儲器設備76可以被配置為存儲指令以便由處理器70所執行。在一些實施例中,裝置50可以是移動終端(例如,移動終端10)或者被配置為采用本發明的示例實施例的固定的通信設備或計算設備。然而,在一些實施例中,裝置50可以被實現為芯片或芯片組。換句話說,裝置50可以包括一個或多個包含結構配件(例如,基板)上的材料、組件和/或連線的物理封裝(例如,芯片)。該結構配件可以為被包括于其上的組件電路提供物理強度、尺寸保持和/或電氣互連限制。因此,在一些情況下,裝置50可以被配置為在單個芯片上實施本發明的實施例或者將其作為單個“片上系統”進行實施。這樣,在一些情況下,芯片或芯片組可以構成用于執行提供這里所描述的功能的一個或多個操作的器件。處理器70可以以多種不同方式來實現。例如,處理器70可以被實現為各種硬件處理器件中的一個或多個,諸如協同處理器、微處理器、控制器、數字信號處理器(DSP)、具有或沒有所附DSP的處理元件或者,或者包括集成電路的各種其它處理電路,例如ASIC(應用特定集成電路)、FPGA(現場可編程門陣列)、微控制器單元(MCU)、硬件加速器、專用計算機芯片等。這樣,在一些實施例中,處理器70可以包括被配置為獨立執行的一個或多個處理內核。多核處理器可以在單個物理封裝內支持多處理。除此之外或可替換地,處理器70可以包括經由總線以串聯配置的一個或多個處理器以使得指令、管道和/或多線程能夠獨立執行。在示例實施例中,處理器70可以被配置為執行指令,該指令存儲在存儲器設備76中或者能夠以其它方式被處理器70所訪問。可替換地或除此之外,處理器70可以被配置為執行硬編碼功能。這樣,無論是通過硬件還是軟件方法還是通過其組合進行配置,處理器70都可以表示當被相應地配置時能夠執行根據本發明實施例的操作的實體(例如,以電路物理體現的)。因此,例如,當處理器70被實現為ASIC、FPGA或類似時,處理器70可以是用于進行這里所描述的操作的特殊配置的硬件。可替換地,作為另一個示例,當處理器70被實現為軟件指令的執行器時,該指令在其被執行時可以對處理器70進行特殊配置以執行這里所描述的算法和/或操作。然而,在一些情況下,處理器70可以是適于通過用于執行這里所描述的算法和/或操作的指令對處理器70所進行的另外配置而采用本發明實施例的具體設備(例如,移動終端或網絡設備)的處理器。處理器70可以包括被配置為支持處理器70的操作的時鐘、算術邏輯單元(ALU)和邏輯門,以及其它。與此同時,通信接口74可以是諸如以硬件或者硬件和軟件的組合所實現的被配置為往送于網絡和/或任意其它與裝置50進行通信的其它設備或模塊接收和/或傳送數據的任意器件。就此而言,通信接口74例如可以包括天線(或多個天線)以及用于使得能夠與無線通信網絡進行通信的支持硬件和/或軟件。在一些實施例中,通信接口74可以可替換地或者另外支持有線網絡。這樣,例如,通信接口74可以包括用于支持經由線纜、數字用戶線路(DSL)、通用串行總線(USB)或其它機制進行的通信的通信調制解調器和/或其它硬件/軟件。用戶接口72可以與處理器70進行通信以接收用戶接口72處的用戶輸入的指示和/或向用戶提供聽覺、視覺、機械或其它輸出。這樣,用戶接口72可以包括例如鍵盤、鼠標、操縱桿、顯示器、(多個)觸摸屏、觸摸區域、軟按鍵、麥克風、揚聲器或者其它輸入/輸出機制。就此而言,例如,處理器70可以包括被配置為對用戶接口的一個或多個部件至少一些功能進行控制,上述部件例如揚聲器、響鈴、麥克風、顯示器和/或類似。處理器70和/或包括處理器70的用戶接口電路可以被配置為通過可由處理器70所訪問的存儲器(例如,存儲器設備76和/或類似)上的計算機程序指令(例如,軟件和/或固件)來控制用戶接口的一個或多個部件的一個或多個功能。在示例實施例中,用戶接口72還可以包括諸如移動設備(例如,移動設備10)的前面和背面相機的一個或多個視覺系統(例如,相機模塊37),其可以被配置為執行如這里所描述的姿勢檢測和識別。在示例實施例中,處理器70可以被實現為包括或者以其它方式控制姿勢識別管理器80。這樣,在一些實施例中,處理器70可以被認為導致、指示或控制歸屬于如這里所描述的姿勢識別管理器80的各種功能的執行和發生。姿勢識別管理器80可以是諸如依據軟件進行操作或者以其它方式以硬件或硬件和軟件的組合所實現由此對該設備或電路進行配置以執行如這里所描述的姿勢識別管理器80的相對應的功能的設備或電路的任意器件(例如,在軟件控制下進行操作的處理器70,被實現為特別配置為以執行這里所描述的操作的ASIC或FPGA的處理器70,或者其組合)。因此,在采用軟件的示例中,執行該軟件的設備或電路(例如,一個示例中的處理器70)形成與這樣的器件相關聯的結構。在示例實施例中,姿勢識別管理器80通常可以被配置為進行與如這里所描述的姿勢檢測和識別相關聯的各種功能。因此,例如,姿勢識別管理器80可以被配置為實施或導致(例如,響應于處理器控制)諸如圖像數據的預處理、移動分塊估計的執行、運動檢測(例如,包括粗糙和精細檢測)的執行、結果確認或細化和/或類似活動。圖3圖示了根據一些實施例的可以由姿勢識別管理器80所進行的處理的示例。如圖3所示,可以接收數據的輸入序列100(例如,由圖3中的n至n-3所示)以便在操作110進行預處理。該預處理通常可以包括在操作114的下采樣以及在操作118的特征提取(例如,分塊級特征提取)的操作。在特征提取之后,可以在操作120關于各個不同特征(例如,特征Fn,Fn-1,Fn-2,Fn-3等)中的每一個進行運動分塊估計。此后,在操作130,可以基于投影直方圖執行移動檢測。在一些實施例中,可以針對各個不同運動方向(例如,完全水平或0度運動,45度運動、135度運動和/或可能遇到的任意其它適當或預期方向)計算直方圖。在操作140,可以對結果進行細化以驗證檢測結果。在示例實施例中,可以在操作150利用顏色直方圖分析來輔助結果細化。此后,在操作160,可以識別有效姿勢(例如,手部揮動)。在一些實施例中,如以上所指出的,該預處理可以包括下采樣,以便減少可能以其它方式由像素級的噪聲所導致的影響。在示例實施例中,可以對每個輸入圖像進行平滑化和下采樣,以使得可以向下采樣圖像的相對應像素分配以預定數量的像素的平均數值(例如,具有4像素高度的斑塊(patch))。因此,在一個示例中,工作分辨率可以為輸入一的1/16。在一種示例情形中,對于工作圖像Fi,j而言,其中1≤i≤H,1≤j≤W,其中W和H分別是圖像的寬度和高度,如果給定長度λ(在一個示例中為10),則該圖像可以被劃分為MN個方塊Zi,j的集合,其中1≤i≤M,1≤j≤N,其中M=H/λ且N=W/λ,則針對每個分塊,可以關于描述下采樣圖像內的像素數值的紅、綠和藍通道來計算各種統計特性。隨后可以從下采樣圖像中提取多個特征。在示例實施例中,可以計算以下6個統計特性(或特征),包括:亮度平均值L、亮度方差LV、紅色通道平均值R、綠色通道平均值G、藍色通道平均值B,和規范化紅色通道平均值NR。規范化紅色數值可以如以下等式1所示進行計算:nr=255*r/(r+g+b)(1)其中,r、g和b分別是原始的三個通道的數值。示例實施例已經示出了規范化紅色數值經常可以是可用來近似描述電話照相機環境中的皮膚顏色的最簡單數值。正常情況下,對于圖像中的典型皮膚區域(例如,手部和/或臉部)而言,與背景對象相比,規范化紅色數值將大于1。隨后可以關于與以上所描述示例中所提取的6個統計特性(或特征)相對應的數據執行移動分塊估計。對于諸如手部揮動檢測之類的姿勢檢測而言,可以通過檢查當前幀和之前幀中分塊之間的變化來確定分塊的移動狀態。更具體地,如果在以下情況下,Zi,j,t(其中t表示幀的索引)可以被示為移動分塊:(1)|Li,j,t-Li,j,t-1|>θ1或者|NRi,j,t-NRi,j,t-1|>θ2。該條件強調連續幀之間的差異。(2)LVi,j,t<θ3。該條件基于手部區域通常具有統一顏色分布這一事實。(3)Ri,j,t>θ4(4)Ri,j,t>θ5*Gi,j,t且Ri,j,t>θ5*Bi,j,t(5)Ri,j,t>θ6*Gi,j,t或Ri,j,t>θ6*Bi,j,t注意,條件(3-5)示出了紅色通道與藍色和綠色通道相比通常具有相對更大的數值。(6)θ7<Li,j,t<θ8。這是用于丟棄最明顯的背景對象的經驗性條件。在示例實施例中,以上的θ1-θ8分別可以被設置為15、10、30、10、0.6、0.8、10和240。圖4圖示了根據示例實施例的樣本圖像序列和相對應的圖像結果。基于(行200上所示出的)樣本圖像序列,隨后可以進行移動分塊(例如,行210中每個差異圖像中的白色分塊)的確定,以使得可以在行220確定一系列直方圖以圖示出手部從圖像右側向圖像左側的移動。在一些情況下可以對運動檢測進行細化,因為手部區域通常可能大于分塊大小。就此而言,例如,可以基于移動分塊的拓撲對它們進一步細化。在示例實施例中,在其相鄰的8個相連分塊中沒有任何移動分塊的分塊可以被認為是非移動分塊。因此,例如,在針對當前幀存在移動分塊Ωi={Zi|Mov(Zi)=1}的情況下,其中Mov(Zi)=1意味著分塊Z為移動分塊,可以采用直方圖分析來確定姿勢的不同類型(例如,諸如從左至右、從上至下、從前向后、或反之亦然的不同類型的手部揮動)。以下對從左至右的檢測的具體示例進行描述,然而可以基于所示出的示例導出利用其它類型采用的修改形式。對于右手揮動而言,N維垂直投影直方圖可以被計算為:該直方圖的左側邊界BLt和右側邊界BRt可以通過下式來確定:與此同時,可以對t-2和t-1幀重復該處理。基于來自最后三個幀的數據,能夠確定手部揮動的方向。更具體地,如果滿足以下兩個條件,則可以確定所檢測的運動對應于順序的向右揮動:(1)BRt>BRt-1+1且(2)BRt>BRt-2+1且且|Hi,t-1|>3然而,如果滿足以下另兩個條件,則可以確定已經發生了順序的向左揮動:(3)BLt>BLt-1-1且(4)BLt>BLt-2-1且且|Hi,t-1|>3為了應對手部軌跡并不完全水平的情形,也可以計算45度直方圖、135度直方圖等以進行檢測。作為示例,對于45度直方圖而言,以上表達式(3)可以被以下表達式(6)所替代:類似地,可以在135度直方圖中采用等式(7):以上條件(具有或沒有針對除0度之外的角度檢測的修改)可以被用于各個不同方位的手部揮動檢測。圖4的行220中示出了樣本序列的垂直直方圖的示例。對于從前向后的手部揮動,垂直直方圖可以被水平直方圖所替代并且可以使用等式(6)和(7)來估計方向。對于上下姿勢,可以再次使用垂直直方圖來估計方向。如果在一組連續幀中,移動分塊的趨勢是朝向直方圖的兩端,則方向必定為向下。否則,方向將為向上。為了消除或降低背景移動所導致的錯誤警報的可能性(其可能在駕駛環境或者其它用戶移動環境中出現),也可以使用區域級的顏色直方圖來驗證檢測(如圖3的操作150中所示)。就此而言,可以預計手部揮動將導致大的顏色分布變化。因此,一些示例實施例可以將幀設計為預定數量的區域或子區域(例如,一個實施例中的6個子區域),并且可以針對每個子區域確定關于RGB(紅、綠和藍)數值的三維直方圖。為了使得該直方圖更為穩定,RGB的每個通道可以從256縮減為8,以提供6個512維的直方圖,例如HC1,t、HC2,t、HC3,t、HC4,t、HC5,t、HC6,t。在手部揮動檢測之后,可以使用HC1,t-HC6,t進行驗證。特別地,例如,如果第i個子區域包含移動分塊,則可以計算HC1,t和HC1,t-1之間的平方歐幾里得距離。因此,可以提供一些示例實施例而使得用戶能夠在包括移動環境在內的各種環境中利用快速且準確的姿勢檢測。一些示例實施例可以被用來檢測諸如手部揮動或者甚至指尖移動和其它姿勢的姿勢。此外,由于一些示例實施例采用類皮膚顏色分析,所以可以降低背景對象的影響,以改善用戶體驗。一些實施例可以不需要任何具體的手部形狀或大小,并且因此可以在實際操作環境中良好工作。示例實施例還避免了使用復雜的統計或幾何模型,從而相對于許多采用這樣的模型的其它機制可以提高速度。圖5是根據本發明的示例實施例的方法和程序產品的流程圖。將要理解的是,流程圖中的每個框以及流程圖中框的組合可以通過各種手段來實施,諸如硬件、固件、處理器、電路和/或與包括一個或多個計算機程序指令的軟件的執行相關聯的其它設備。例如,以上所描述的一個或多個過程可以由計算機程序指令來實現。就此而言,實現以上所描述過程的計算機程序指令可以由(移動或固定的)用戶終端的存儲器設備所存儲并且由用戶終端中的處理器來執行。如將要意識到的,任何這樣的計算機程序指令都可以被加載到計算機或其它可編程裝置(例如,硬件)上以生產機器,以使得在計算機或其它可編程裝置上所執行的指令產生用于實施流程圖的(多個)框中所指定的功能的器件。這些計算機程序指令也可以存儲在計算機可讀存儲器中,其可以指示計算機或其它可編程裝置以特定方式工作,以使得存儲在計算機可讀存儲器中的指令產生執行實施流程圖的(多個)框中所指定的功能的制造商品。計算機程序指令還可以被加載到計算機或其它可編程裝置上使得在計算機或者其它可編程裝置上執行一系列的操作而產生計算機實施的處理,以使得在計算機或其它可編程裝置上執行的指令實施流程圖的(多個)框中所指定的功能。因此,流程圖中的框支持用于執行指定功能的手段的組合以及用于執行指定功能的操作的組合。還將要理解的是,流程圖中的一個或多個框以及流程圖中框的組合可以由執行所指定功能的基于專用硬件的計算機系統或者特殊用途的硬件和計算機指令的組合來實施。就此而言,如圖5所示的根據本發明一個實施例的方法可以包括在操作300引起對所接收圖像數據的下采樣以生成多個圖像幀的下采樣圖像分塊,在操作310引起從下采樣圖像分塊中提取多個特征,在操作320基于連續幀中相應特征的數值變化確定下采樣圖像分塊的移動狀態,并且在操作330基于投影直方圖的右邊界(作為第一邊界的示例)和左邊界(作為第二邊界的示例)的移動來確定圖像數據中的對象的運動方向,該投影直方圖基于相應下采樣圖像分塊的移動狀態而確定。在一些實施例中,以上的某些操作可以如以下所描述的進行修改或進一步放大。此外,在一些實施例中,還可以包括附加的可選操作(其示例以圖5中的虛線示出)。應當意識到的是,可以單獨地或者以與這里所描述特征中的任意其它特征相結合地、連同以上操作一起包括以下的修改、可選增加或放大中的每一項。在一些實施例中,該方法可以進一步包括在操作340利用顏色直方圖分析來驗證對象移動的檢測。在示例實施例中,引起提取多個特征可以包括提取平均亮度、亮度方差、平均紅色通道數值、平均綠色通道數值、平均藍色通道數值或者平均規范化紅色通道數值。在一些情況下,確定運動方向可以包括將非移動分塊確定為在相連接的相鄰分塊中沒有任何移動分塊的分塊。在一些示例實施例中,確定運動方向可以包括利用對應于對象運動的可檢測方向的直方圖。在示例實施例中,確定運動方向可以包括利用針對水平移動、垂直移動、基本上四十五度移動和基本上一百三十五度移動中多于一種的移動所計算的相應直方圖。在一些情況下,確定移動狀態可以包括基于示出關于規范化紅色數值在連續幀中變化的運動的分塊而確定運動以減少背景對運動檢測的干擾。在示例實施例中,一種用于執行以上圖5的方法的裝置可以包括處理器(例如,處理器70),其被配置為執行以上所描述的操作(300-340)中的一些或每個操作。處理器70例如可以被配置為通過執行硬件實施的邏輯功能,執行所存儲的指令,或者執行用于實施每個操作的算法來執行操作(300-340)。可替換地,該裝置可以包括用于執行以上所描述的每個操作的裝置。就此而言,根據示例實施例,用于執行操作300-340的裝置的示例例如可以包括姿勢識別管理器80(或者其相應的不同組件)。除此之外或可替換地,至少利用處理器70可以被配置為控制姿勢識別管理器80或者甚至被實現為姿勢識別管理器80這一事實,處理器70和/或用于執行指令或者執行如以上所描述的處理信息的算法的設備或電路也可以形成用于執行操作300-340的示例裝置。根據示例實施例的裝置示例可以包括至少一個處理器和至少一個包括計算機程序代碼的存儲器。該至少一個存儲器和計算機程序代碼可以被配置為利用該至少一個處理器而使得該裝置執行操作300-340(具有或沒有以任意組合形式的、以上所描述的修改和放大)。根據示例實施例的計算機程序產品的示例可以包括至少一個具有存儲于其中的計算機可執行程序代碼部分的計算機可讀存儲介質。該計算機可執行程序代碼部分可以包括用于執行操作300-340的程序代碼指令(具有或沒有以任意組合形式的、以上所描述的修改和放大)。在一些情況下,以上所描述的操作(300-340)連同任意修改形式可以以一種方法來實施,該方法包括促成對至少一個接口的訪問以允許經由至少一個網絡訪問至少一個服務。在這樣的情況下,該至少一個服務可以被稱之為至少執行操作300至340。這里所給出的本發明的許多修改和其它實施例將使得本發明所涉及領域的技術人員意識到從以上描述和附圖中所給出的教導而獲益。因此,所要理解的是,本發明并不局限于所公開的具體實施例,并且修改和其它實施例旨在包括在所附權利要求書的范圍之內。此外,雖然以上描述和附圖以部件和/或功能的某些示例組合為背景對示例實施例進行了描述,但是應當意識到的是,可以由可替換實施例提供部件和/或功能的不同組合而并不背離所附權利要求的范圍。就此而言,例如,不同于以上所明確描述的部件和/或功能的不同組合也預期在一些所附權利要求中被給出。雖然這里采用了具體術語,但是它們僅以一般和描述性含義被使用而并非用于限制的目的。