搜尋此網誌

2010年2月23日 星期二

HandVu:試以不同Posture做為『Start Posture』

最初HandVu在執行時,必需使用「Closed」手勢告知程式去「Start Recognize」:

這裡將嘗試使用「Vectory」手勢做為Start Recongnize手勢:


1、到config資料夾,可以找到以下檔案:
 a.  default.conductor
 b.  all_extended_0_5_10_15_closed_30x20.cascade
 c.  all_extended_0_5_10_15_closed_30x20.mask
 d.  all_hands_combined.cascade
 e.  victory.mask

2、請額外建立兩個檔案:
 a.  gestureTest.cascade
 b.  gestureTest.mask

3、將以上檔案(原有及新建共7個檔案)以文字檔的方式開啟,並同時將
 a.「all_extended_0_5_10_15_closed_30x20.cascade」的內容copy至「gestureTest.cascade」。
 b.「victory.mask」的內容copy至「gestureTest.mask」

4、到default.conductor(約第25行的位置)找到

1 detection cascades
all_extended_0_5_10_15_closed_30x20.cascade

all_extended_0_5_10_15_closed_30x20.cascade
改為gestureTest.cascade
上述動作即對原本讀取「all_extended_0_5_10_15_closed_30x20.cascade」來做Start Recognize Posture改為讀取「gestureTest.cascade」為之。
同時請到default.conductor檔案尾,將「all_extended_0_5_10_15_closed_30x20.mask」改為「gestureTest.mask」。

5、到「gestureTest.mask」,約第4行的位置,原先為

Mask "victory", 25x25, ratio 0.8

改為

Mask "start_on_victory", 25x25, ratio 0.8


6、到「all_hands_combined.cascade」,由內容往下(第83行)找到:

BRANCH 0 "victory" (fpr:8.48039e-21, dr:0.247505)


移到下一行,從「7 strong classifiers.」開始copy內容,直到發現下一個 「BRANCH」為止(copy至第369行)。

7、「gestureTest.cascade」中,找到「9 strong classifiers.」(約第4行),將此行以下的內容全數刪除,並將第6步所copy的內容由此處貼上。

8、到「gestureTest.cascade」約第3行,原為:

ClassifierCascade "CreatTest_closed_30x20" ... ...

取代為

ClassifierCascade "start_on_victory", sequential, 25x25, ratio 0.8 (fpr:1, dr:1, successful)


以上動作完成後,啟動程式,即能夠使用「victory posture」來做為 Start posture。

2010年2月2日 星期二

HandVu:Beta3.0 Source Code

一個已暫停開發且Open Source的手勢辦識Project:HandVu

有興趣可以下載研究一下(借用Google的App Engine,上傳檔案最大只能到10Mb,這裡將OpenCV分割後提供下載,請全部下載後再一起解壓縮):
OpenCV 0.97
OpenCV0.97-001
OpenCV0.97-002
OpenCV0.97-003
OpenCV0.97-004
OpenCV0.97-005
OpenCV0.97-006
HandVu Beta3.0
HandVu_Beta_3-001
HandVu_Beta_3-002
HandVu_Beta_3-003


這裡使用 MS Visual Studio 2008作為開發工具,執行時請注意,自備一臺Camera(NB上的Camera就行),另外需注意的是您必需將以下檔案置入 WINDOWS\system32 內:
1、highgui096.dll
2、cxcore097.dll
3、cv097.dll

以上檔案到OpenCV097搜尋都能找到(下載後,解壓縮會得到OpenCV097)。

如果你拿到了陽春的、沒有編譯過的HandVu Beta3.0檔案,大致上環境建立的步驟如下:

1、Setup OpenCV 0.97 (OpenCV : Intel® 的 Open Source Computer Vision Library),在這裡下載的OpenCV不需另外做Setup的動作。
2、編譯前別忘到 Options → Projects and Solutions → VC++ Directories 指定標頭檔及lib檔路徑(OpenCV's Library)
3、依序編譯HandVu Beta3.0內的Cublicles、HandVu、hv_OpenCV等專案(使用VS2008,自行指定需要被Include的h及lib檔案)。
4、編譯成功後,執行Release內的cmd.exe檔案,鍵入「hv_OpenCV.exe ..\..\config\default.conductor」,或者您可以製作一個 .bat檔案方便執行(將需鍵入的指命直接copy至.bat的內容即可)。