一種人機交互方法
【技術領域】
[0001] 本發明涉及計算機技術,尤其涉及一種人機交互方法。
【背景技術】
[0002] 隨著移動計算設備從筆記本電腦到手機、平板電腦的演化,移動計算設備的操控 方式也經歷了從鍵盤、鼠標到手機按鍵、手寫板,再到觸摸屏、虛擬鍵盤的進化,可以看到, 移動設備的操控方式是朝著越來越直觀、簡便,并且符合人的自然習慣的方向進化的。
[0003]目前在移動計算設備上廣泛使用的基于觸摸屏的操控方式,技術上是將一塊透明 的觸摸感應屏和顯示屏貼合在一起,觸摸感應屏實質上是一個定位裝置,能夠捕捉到屏幕 上的觸摸動作并獲取其位置,同時結合時間軸信息,將動作識別其為點觸、長觸、滑動等動 作之一。進而將位置和動作信息作為指令傳遞給移動計算設備,移動計算設備基于該指令 做出相應的操作反應。由于觸摸感應屏與顯示屏是疊加在一起的,因此帶給使用者"所點即 所想"的使用感受,相比鼠標、觸控板等定位設備需要通過光標反饋位置的輸入方式,屏幕 觸控方式帶來更好的使用體驗。
[0004] 屏幕觸控方式相比鍵盤加鼠標的方式,更加符合人的直觀反應、更容易學習,但是 屏幕觸控方式畢竟只捕捉到了人體手指的動作,在一些需要更多使用者本體信息輸入的場 合,比如運動游戲、模擬訓練、復雜操控、遠距離操控等,屏幕觸控方式就顯示出其捕獲人體 信息過于單一的局限性了。從人機交互的角度,更多的使用者信息的獲取,將能夠傳達更豐 富、更精準的使用者操作意圖,因此必然能夠帶來更便利的操控方法和更好的使用體驗。然 而,目前的人機交互技術中的手勢識別處理所采用的算法較為復雜、耗費時間且識別精度 低,實時性較差,不適合即時交互需求的場合。
【發明內容】
[0005] 在下文中給出了關于本發明的簡要概述,以便提供關于本發明的某些方面的基本 理解。應當理解,這個概述并不是關于本發明的窮舉性概述。它并不是意圖確定本發明的 關鍵或重要部分,也不是意圖限定本發明的范圍。其目的僅僅是以簡化的形式給出某些概 念,以此作為稍后論述的更詳細描述的前序。
[0006] 鑒于此,本發明提供了一種人機交互方法,以至少解決現有的人機交互技術中的 手勢識別處理所采用的算法較為復雜、耗費時間且識別精度低的問題。
[0007] 根據本發明的一個方面,提供了一種人機交互方法,所述人機交互方法包括:步驟 一、獲取含有深度信息的使用者手部的待測圖像序列;步驟二、根據圖像深度信息和圖像顏 色信息,在所述待測圖像序列的每幀圖像中檢測出所述使用者的手部輪廓;步驟三、針對所 述使用者的每只手,利用預設的手部結構模板,在所述待測圖像序列的每幀圖像中確定該 只手的待測特征點序列;步驟四、針對所述使用者的每只手,在多個預設特征點序列中確 定該只手的待測特征點序列的匹配序列,以根據所述匹配序列確定該只手的動作名稱和位 置;步驟五、在預設手勢表中選擇與所述使用者雙手的動作名稱和位置相匹配的手勢,作為 已識別手勢;步驟六、根據預設操作指令表,確定與所述已識別手勢對應的操作指令;步驟 七、對與確定的操作指令相關的設備進行與該操作指令對應的操作。
[0008] 進一步地,步驟三可以包括:步驟三一、針對所述使用者的每只手,利用預設的手 部結構模板,在所述待測圖像序列的每幀圖像的手部輪廓中確定該只手的預定數目個特征 點;步驟三二、針對所述使用者的每只手,利用該只手在所述待測圖像序列的各幀圖像中對 應的預定數目個特征點,獲得該只手的待測特征點序列。
[0009] 進一步地,步驟一可以包括:通過捕獲預定成像區域內的所述使用者手部的圖像, 獲得可見光圖像序列{/?(υ)|·和紅外圖像序列丨,卩為所述可見光圖像序列 第i幀圖像坐標(x,y)處的像素值,而/取,,)為所述紅外圖像序列第i幀圖像坐標(x,y) 處的像素值,根據如下公式獲得抽取使用者雙手信息的圖像序列:
[0011] 其中,α、β、λ為預設參數閾值,W(x,州為獲取的含有深度信息的使用者雙手 的圖像序列,作為所述待測圖像序列,i = 1,2,···,Μ,Μ為所述待測圖像序列所包含的圖像 幀數。
[0012] 進一步地,步驟二可以包括:針對所述待測圖像序列彳/((1,>')}中的每幀圖像 4(u),結合顏色信息刪除該幀圖像4(.w)中的噪聲點及非膚色區域,利用邊緣檢測算子 e( ·)對刪除所述噪聲點和所述非膚色區域后所得到的圖像4(為y)進行邊緣檢測,得到邊 緣圖像々m): 二e(/Uw)),所述邊緣圖像/;y(.v>0即為僅包含所述使用者手 部輪廓的圖像。
[0013] 進一步地,步驟三一包括:針對所述待測圖像序列的每幀圖像執行以下處理:根 據該圖像中的輪廓線的曲率找到該輪廓線中的指尖點和指根關節點;將所述指尖點作為定 位基點,匹配每個單指的指根關節點,得到各單指的長度作為尺度縮放的基準;基于所述指 尖點和所述指根關節點的位置以及各單指的長度對相應的所述手部結構模板進行縮放和 形變,通過匹配得到每只手的各指關節特征點和手腕中點特征點;其中,所述手部結構模板 包括左手結構模板和右手結構模板,所述左手結構模板和右手結構模板各自包括:各手指 的指尖特征點、各指關節特征點、各指根關節特征點、手腕中點特征點以及各特征點之間的 拓撲關系。
[0014] 進一步地,步驟四可以包括:步驟四一、針對每只手的待測特征點序列,根據預定 時間窗將該待測特征點序列分割為多個子序列,并獲得每個子序列對應的平均位置;步驟 四二、針對每只手對應的每個子序列,將該子序列與所述多個預設特征點序列中的每一個 分別進行匹配,在所述多個預設特征點序列中選擇與該子序列的匹配程度高于預設的匹配 閾值、并且最大的預設特征點序列,作為該子序列的匹配序列;步驟四三、將每個子序列對 應的平均位置與該子序列的匹配序列對應的動作名稱相關聯;步驟四四、針對每只手,將該 只手對應的各子序列的匹配序列作為該只手對應的多個匹配序列,并將該多個匹配序列各 自對應的動作名稱作為該只手的多個動作名稱。
[0015] 進一步地,步驟五可以包括:步驟五一、預先設置如下映射列表來作為所述預設手 勢表:該映射列表中的每個映射的左端是一組動作名稱對及每個動作名稱對的位置;該映 射列表中的每個映射的右端是一個手勢;步驟五二、將所述預設手勢表中的每個映射的左 端與所述使用者雙手的動作名稱和位置進行匹配,其中,動作名稱的匹配執行嚴格匹配,而 位置則是通過使用者雙手各自的平均位置計算得到相對位置信息,進而計算該相對位置信 息與映射左端的位置之間的相似度來實現的。
[0016] 進一步地,所述人機交互方法還可以包括:步驟八:將所述使用者每只手的位置 傳遞給所述設備,以基于所述使用者每只手的位置在所述設備的屏幕上顯示所述使用者手 部的半透明簡化手部模擬圖形。
[0017] 進一步地,步驟八可以包括:步驟八一、根據所述使用者每只手在所述待測圖像序 列的每幀圖像中對應的待測特征點序列,通過連接骨骼后外延得到該只手的外輪廓圖形, 作為該只手的模擬圖形;步驟八二、通過對所述使用者雙手的相對位置進行平移校準和比 例縮放,確定所述使用者的每只手在所述屏幕中的顯示位置;步驟八三、基于所述使用者每 只手的模擬圖形和顯示位置來在所述屏幕中顯示所述使用者手部的模擬圖形。
[0018] 上述根據本發明實施例的人機交互方法,先識別單手動作、再通過雙手動作識別 手勢,進而根據已識別手勢來執行對應操作,在人機交互過程中能夠準確識別使用者的手 勢,識別精度較高,而且識別速度較快。
[0019] 此外,由于本發明實施例采用深度攝像頭獲取使用者的人體動作作為操作移動計 算設備的輸入操控指令,因此能夠令使用者使用更加直觀、便利的自然動作實現對移動計 算設備的非接觸式操控,為移動計算設備在諸如運動游戲、模擬訓練、復雜操控、遠距離操 控等領域中的應用提供更加便捷精準的輸入、控制方法。
[0020] 本發明的上述人機交互方法采用層次化設計算法,算法復雜度低,便于實現。
[0021] 此外,應用本發明的上述人機交互方法,當需要改變(例如修改、增加或減少等) 對動作和/或手勢的定義時,可以僅通過調整模板(即,通過修改預設特征點序列對應的動 作名稱來改變動作的定義,通過增加或減少預設特征點序列及其對應動作名稱來增、減動 作)以及預設手勢表(即,通過修改預設手勢表中手勢對應的多個動作來改變手勢的定義, 通過增加或減少預設手勢表中的手勢及其對應動作來增、減手勢),而不需改變算法或者重 新訓練分類器,大大提高了算法的適應性。
[0022] 此外,本發明的上述人機交互方法的實時性強,能夠適合即時交互需求的場合。