用手勢控制電腦:HandGKET


之前在 OpenNI 1 的時候,有一套名為 FAAST 的軟體,可以把人體的全身動作,對應成 Windows 的鍵盤滑鼠訊號,讓使用者可以透過肢體動作,來完成電腦的操作(請參考《用 FAAST 把 Kinect 當 Windows 鍵盤用!》);不過感覺上,該團隊似乎停止開發了,所以當 OpenNI 改版到 OpenNI 2 之後,FAAST 也不能用了。

不過現在,又有一套名為「HandGKET」(Hand Gesture Key Emulation Toolkit)的軟體,可以透過 OpenNI 2 做到類似的事情了~

它的官方網站是:https://sites.google.com/site/kinectapps/handgket
下面則是官方的展示影片:

如果想玩的話,可以在該頁面最下方,找到檔案的下載;只要點選「HandGKET_v0.9.2(Distribution).zip」這個檔案右方的向下箭頭,就可以下載此程式的壓縮檔了。而解壓縮後,裡面有兩個資料夾,分別是 32 位元和 64 位元的版本,可以視需要使用。而另一個「HandGKET_manual.pdf」的檔案,則是這套軟體的使用說明,建議也下載來看看。

由於他是基於 OpenNI 2 和 NiTE 2 來開發的,所以要使用的話,可能會需要安裝 OpenNI 2 和 NiTE 2(不過實際上他有附上對應的 dll,理論上只要有驅動程式應該可以不用裝);而如果是使用 Microsoft Kinect 感應器的話,則需要安裝 Kinect for Windows SDK 或 Kinect for Windows Runtime(連結),才能正常使用。

而由於此程式沒有用來做設定的圖形介面,所以所有的設定,都是要靠一個純文字檔來完成;詳細的設定說明,請參考官方的文件。


和 FAAST 使針對全身骨架來做處理不一樣,HandGKET 只有針對手的位置來做處理,所有的鍵盤滑鼠對應,都是靠雙手來觸發的。

HandGKET 使用上分為「單手模式」和「雙手模式」兩種;「單手模式」可以用來對應鍵盤和滑鼠,「雙手模式」則只能對應鍵盤。而由 HandGKET 應該是使用 NiTE2 來做手的追蹤的,所以在執行起來後,要先透過 NiTE 的 Wave(揮手)或 Click(往前伸再縮回)來完成手的定位。

而在程式執行中,螢幕中間應該會出現顯示目前狀態的小視窗,裡面的圖示各自代表不同的意義如下:

基本上,都是要等到綠色的手出現,才能開始進行手勢的。


在單手模式下,他支援六種手勢,代表了手往六個不同的方向移動,也就是「HAND_LEFT」、「HAND_RIGHT」、「HAND_UP」、「HAND_DOWN」、「HAND_PUSH」和「HAND_BACK」;而他的手勢的定義,就是先往其中一個方向,然後在一定的時間內、再移回原來的位置,就算是完成了一個手勢。

下圖就是程式執行後的畫面,在手的位置會有一個綠色方框(如果是滑鼠模式,會是一個圓);當手移動動的時候,他不會立刻跟著動,只要先移到別邊,在馬上移回這個方框,就算是完成一個手勢了。

每個方向也都可以設定不同的移動距離條件(TRHESHOLD),所以其實是可以根據手移動的距離,來決定要做的事情的。


在雙手模式下,他則提供了下列的十種手勢,一樣可以各自設定不同的條件,來對應到不同的鍵盤事件。

  • TWO_HANDS_PUSH
  • TWO_HANDS_BACK
  • TWO_HANDS_UP
  • TWO_HANDS_DOWN
  • TWO_HANDS_OPEN
  • TWO_HANDS_CLOSE
  • LEFT_HAND_PUSH
  • RIGHT_HAND_PUSH
  • TURN_LEFT
  • TURN_RIGHT

而要使用雙手模式,則是要先靠 Wave 或 click 的手勢,來讓程式能追到兩隻手,然後擺出下面的初始化姿勢、來進行接下來的操作。

而一樣,只要做出上面定義的動作,就可以送出對應的鍵盤事件了。


而在設定檔的部分,官方有提供一個「gesture_event.txt」的檔案,裡面就是範例的設定。有興趣的話,就玩看看吧~真的有需要的話,也是可以根據這個檔案、再參考文件來做修改的。

至於完整的設定教學?說實話,Heresy 可能不會下去寫了…如果有人有比較詳細的教學,也歡迎提供。


最後,下面則是用這套軟體來玩 Need for Speed 這款賽車遊戲的展示:

廣告

對「用手勢控制電腦:HandGKET」的想法

  1. 不好意思,想請問一下。
    如何切換keyboard mode 到mouse mode?
    在操作時,顯示的永遠都是方形,要如何才能顯示圓形的滑鼠模式呢QQ

    按讚數

  2. 你好!
    你做"用手勢控制電腦:HandGKET"很神奇!我官方網站下載,但是..我沒有[箭頭],我看你的youtube有[箭頭]耶!!謝謝

    按讚數

    • 您好。
      YouTube 的影片是官方提供的示意影片,有可能他的游標是靠其他軟體加上去的。
      建議有問題可以直接詢向 HandGKET 的開發人員詢問。

      按讚數

  3. 請問只要點開HandGKET.exe就可以運作了嗎?
    我把OpenNI2、NiTE等等都安裝好了,也將關於Kinect V2 有關的所有SDK都安裝好了,應該設定的去掉分號的也完成了,但點開HandGKET.exe時,數秒後即自動關閉,無法直接操作,為什麼呢?

    按讚數

    • 請確認你的感應器是哪一款。
      HandGKET 是搭配 OpenNI 2 和 NiTE2 來使用的。

      但是如果你是使用第二代的 Kinect 感應器的話,由於 OpenNI 沒有支援,所以是無法使用的。

      而如果你是使用第一代的 Kinect 的感應器,請安裝 Kinect for Windows 1.x,他不能搭配 Kinect for Windows 2.x 使用。

      按讚數

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s