• 沒有找到結果。

啟動手勢驗證

在文檔中 中華大學 (頁 30-33)

第三章 啟動手勢偵測

3.4 啟動手勢驗證

在 Adaboost 手部偵測後,可能存在多個候選區域,如何在多個候選區中選 出使用者的手部區域,手部驗證就成為相當重要的關鍵,下面將介紹本論文所使 用的兩種啟動手勢驗證的方法。

20

3.4.1 以 LBP 為特徵的啟動手勢偵測

本論文除了以邊緣差異影像作為特徵來訓練 Adaboost 啟動手勢偵測器之外,

也對區域二元特徵(LBP)影像來訓練 Adaboost 啟動手勢偵測器,透過不同的特徵 影像來驗證所偵測到的區域是否為啟動手勢。

以邊緣差異影像作為特徵的啟動手勢偵測器將會抽取出啟動手勢的候選區 域,根據其候選區域之矩形輪廓𝐻𝐷放大 1.4 倍形成驗證區域𝐻𝐷+,其範圍與負 向顏色學習邊界相同,如下圖 13 所示,在驗證區域𝐻𝐷+上以 LBP 特徵所訓練的 啟動手勢偵測器進行偵測。

圖13、 白色內框為手勢候選區域的矩形輪廓𝐻𝐷 紅色外框為手勢候選區域放大 1.4 倍的矩形輪廓𝐻𝐷+

若 LBP 啟動手勢偵測器也在驗證區域𝐻𝐷+內偵測到啟動手勢,則該啟動手勢候 選區域𝐻𝐷將被保留;反之偵測器沒有在𝐻𝐷+內偵測到啟動手勢,則刪除該啟動 手勢候選區域𝐻𝐷。

3.4.2 手心點位置

將膚色偵測所產生的膚色二元影像,於啟動手勢候選區域𝐻𝐷範圍內,使用 距離轉換(Distance Transform)演算法來找出手心點位置。距離轉換是一種應用在

21

二值影像的演算法,運算後的結果為灰階影像距離影像上的數值,反應著物件上 每一個位置與物件邊緣於上下左右四方向中的最短距離,故接近物件邊緣的位置 其數值較小,離物件邊緣遠的位置其數值較大,如下圖 14 所示,根據距離影像 的性質,本論文選擇具有最大距離者的像素點位置作為手心點的位置。

圖14、 對膚色二元影像使用距離轉換所找出的手心位置

距離轉換使用兩個 local window 進行兩步驟的計算,分別為前向計算 (forward pass)與後向計算(backward pass),如下圖 15 所示,(a)圖中 NW,N,NE,W 為前向計算的 local window 像素點,(b)圖中 SE,S,SW,E 為後向計算的 local window 像素點,而 i 為計算中心像素點。

(a) (b)

圖15、 距離轉換所使用的 local window

(a)前向計算的 local window,與(b)後向計算的 local window

距離轉換演算法操作如下:

1. 初始化二元影像:

NW N NE

W i

i E

SE SW S

22

標記每個二元影像的像素值為: ( 1~ ) 當像素值像素值

0,

當像素值像素值

,

1 i m n

di

 

 

 

2. 針對所有前景像素點 i 以由左而右和由上而下的方式做前向計算:

, , ,

1

min

W NW N NE

i d d d d

d

3. 針對所有前景像素點 i 以由右而左和由下而上的方式做後向運算:

1, 1, 1, 1

min

   

E SE S SW

i d d d d

d

再找出手心點之後,本論文將根據其所在位置來判斷該手勢候選區域𝐻𝐷是否為 啟動手勢。下圖 16 中,外框為所偵測到的手勢後選區域𝐻𝐷,實心內框為建立時 膚色模型時所學習的掌心區域,若所計算出的手心位置為啟動手勢時,其位置應 落於該掌心區域內;反之若手心位置並不在該掌心區域範圍時,則判斷非啟動手 勢,並刪除該手勢後選區域𝐻𝐷。

圖16、 啟動手勢之手心點應落於實心內框中

在文檔中 中華大學 (頁 30-33)

相關文件