• 沒有找到結果。

第三章 以 SVM 為基礎之手部影像辨識

第三節 影像前處理

使用一張背景模型與目前手部影像,做互相減去之後,就可以求出其差異圖。差異 圖即為原本不存在背景之中的手部影像,又稱為前景物體。設定一門檻值(T),將背景 模型與目前影像相減之後的像素值。若大於門檻值(T)則將該點的像素值保留下來。背 景相減的優點在於相減過後,可以取得較為完整前景物體,缺點是在於相減過後,仍會 有許多雜訊保留下來。

圖 28:背景模型

26

圖 29: 手部影像

圖 30: 相減之後的影像差異圖

二、Skin Detection

一般數位彩色影像中的像素是透過 R、G、B 三原色所組合而成的,也就是使用最 原始的 RGB 色彩空間來儲存。但由於 RGB 色彩空間對於光源的較為敏感,為了降低光源 所造成的影響,使用 YCbCr 色彩空間做膚色偵測之處理。RGB 色彩空間的圖像大小為 1024x768,一共有 786432 點像素點,將相減之後的影像差異圖,利用公式(3)化簡為公 式(4)做 RGB 轉 YCbCr 的矩陣轉換,計算後得到了 Cb、Cr 的數值範圍,Cb 與 Cr 則是 RGB

27

色彩模型中,B(藍色)和 R(紅色)像素值的濃度偏移量成份。

圖 31: YCbCr 色彩空間的 Cb 數值範圍

圖 32: YCbCr 色彩空間的 Cr 數值範圍

如圖 31、圖 32 所示,透過圖示可以發現 Cb 的最大值為 124,Cr 的最大值為 133,因此,

本論文以 Cb、Cr 的第一高波峰與第二高波峰的波寬,作為膚色切割的參數測試,Cb 與 Cr 則是 RGB 色彩模型中,B(藍色)和 R(紅色)像素值的濃度偏移量成份。而將 RGB 轉換 到 YCbCr 時,人的膚色,將會集中在某個範圍值(Cb、Cr),近年許多膚色偵測的研究,

[6][11][12][13]都以此做為研究的參考基礎。

28

表 2:參數測試 第一高波峰

(最大值)

第一高波峰 (波寬範圍)

第二高波峰 (最大值)

第二高波峰 (波寬範圍)

Cb 124 118~131 116 112~117

Cr 133 124~139 154 143~160

圖 33:以 Cb、Cr 第一高波峰(波寬範圍)作為參數的膚色切割

圖 34:Cb、Cr 第二高波峰(波寬範圍)作為參數的膚色切割

29

如圖 33、圖 34 所示,透過圖示可以發現單以一個波寬作為膚色偵測的效果,無法 確實把手部皮膚範圍順利切割。

圖 35:以 Cb、Cr 平均數作為參數的膚色切割

因此以 Cb、Cr 高於平均數的值,作為膚色切割的參數依據,從以圖 33、圖 34、圖 35 發現,Cb、Cr 參數若取的不好,對於膚色切割的影響,則佔有相當的比重。

三、灰階化

使用公式(1)化簡為公式(2),將膚色偵測之後保留的手部物件做灰階化的轉換,而 進行灰階化主要目的能有效減少所需要處理的手部物件資訊量,以利之後的影像處理,

圖 36 為做為背景相減與 RGB 轉換到 YCbCr 膚色切割所保留下來的手部,圖 37 則是將 圖 38 進行灰階化轉換之後的手部物件,灰階影像是指每一個像素點(Pixel)只用一個像 素值表示,其數值範圍介於 0~255 之間,從暗點黑色(0)到亮點白色(255),一共有 256 種灰度深淺表示。

30

圖 39: 灰階化之前的手部物件。

圖 40: 灰階化之後的手部物件。

四、二值化

將做完灰階化轉換的手部物件,進行二值化。二值影像是指每一個像素點(Pixel) 只用一個像素值表示,其數值範圍介於 0~1 之間為暗點黑色(0)到亮點白色(1)。只有兩 種變化,因此,稱為二值影像。而將灰階影像轉換為二值影像的公式,本論文採用的二 值化演算法為 OTSU 演算法,經由 OTSU 演算法計算後,便可以得到分割閥值(threshold

31

value),該圖片的灰度值低於此分割閥值時,便將其設為暗點黑色(0)。反之則設為亮 點白色(1)。

進行二值化的主要目的就是讓灰階化後的手部物件,產生明顯的暗、亮效果,將具 有 0~255 個灰度等級的手部物件,使用分割閥值(threshold value)劃分後,取得仍然 可以反映整體手部物件與特徵如圖 39 二值化之後的手部物件,可以有效的減少所需要 處理的手部物件資訊量,以利之後 Morphology 的影像處理。

圖 41:二值化之前的手部物件。

32

圖 42:二值化之後的手部物件。

五、Morphology

形態學(Morphology),為數位影像處理經常應用的處理方式,目的在於進行分離背 景與所需擷取的物件,所造成的雜訊與破碎。針對雜訊進行斷開(Opening)運算,針對 破碎進行閉合(Closing)運算。而形態學(Morphology)演算法之應用基礎,大多建立於 侵蝕(Erosion)運算與膨脹(Dilation)運算之上。

由於每次拍攝手部手勢時,不太可能有機會每次的光線亮度、背景、膚色都完全一 樣,因此在背景相減、膚色偵測時,會造成背景雜訊的干擾與手部物件破碎情形發生,

所以本論文使用公式(5)針對背景雜訊干擾的進行消除,使用公式(6)針對手部物件破碎 情形進行填補,圖 43 為執行斷開運算之前,在紅色圓圈標示處標示具有雜訊干擾的部 分,圖 44 即為執行斷開運算過程之後消除雜訊干擾的結果,而圖 45 為執行閉合運算 之前,在紅色圓圈標示處標示,在手部(主體)物件上具有破碎的部分、圖 46 即為執行 閉合運算過程之後填補破碎部分的結果。

33

圖 47:具有雜訊的手部物件

圖 48:斷開運算後的手部物件

34

圖 49:具有破碎的手部物件

圖 50:閉合運算後的手部物件

六、剔除超過 ASL 手語樣板的多餘手臂特徵

從圖 20 中發現,完整的 ASL 手語樣板,包含的手臂部份,並不多,所以必須將超 過 ASL 手語樣板的多餘手臂特徵,進行剔除。對此部份,本論文提出剔除多餘手臂特徵 的演算法,以求減少多餘的資訊量,如此才不會對於辨識的正確率造成過多的影響,圖

35

51 在紅色圓圈的標記處即為需要剃除的多餘手臂特徵。

圖 52: ASL 手語樣板

剔除多餘手臂特徵演算法如下:

Stage1:Intput:輸入手部物件。

Step1:計算出每條存在手部物件上,且斜率為 0 的連續線段。

(1)選取 Lmax:即為在手部物件中最長的連續線段。

Step2:與 Lmax 之下的每條連續線段相減。

(1)選取 Lmin:與 Lmax 相減之後,差值最大的連續線段。

Step3:將 Lmin 之下的每條連續線段,剔除。

Stage2:Output:輸出剔除多餘手臂特徵的手部物件。

36

圖 53:輸入手部物件

圖 54:選取出最長的連續線段(Lmax)

37

圖 55:將 Lmin 之下的每條連續線段,剔除

圖 56:輸出剔除多餘手臂特徵的手部物件

圖 57 為依據雜訊干擾或手部(主體)破碎程度條件,進行斷開運算或閉合運算之後 的手部物件,圖 58 為找手部(主體)距離最長的水平線段 Lmax,圖 59 為剔除在 Lmin 之下的手部部分,以紅色標示其該剃除區域,依照人體正常範圍,手掌與手臂連接的手 腕關節附近,比手掌與手臂還要細,因此以此作為手掌與手臂的分割線即為演算法中的 Limn,而圖 60 為剔除手腕關節之下多餘的手臂延伸部分的輸出。

38

七、校正手部物件偏移角度

每次拍攝影像的角度與手部擺放的位置,皆不太可能,可以達到完全相同。因此將 手部物件做偏移角度的校正,使得每張手部影像的中心,皆可以相符,以求修正不同拍 攝影像的角度與手部擺放的位置,偏移的物件,做中心調整,有助於正確辨識率的提升。

對此部份,本論文提出剔除多餘手臂特徵的演算法,調整物件重心做法為先計算出 畫面的中心與物件的中心,將兩中心相減,可得出△X、△Y 之偏移量,再利用此偏移量 與物件的每一點像素點座標做運算,進行物件中心的調整,如此才不會對於辨識的正確 率造成過多的影響。

校正手部物件偏移角度演算法如下:

Stage1:Intput:輸入手部物件。

Step1:計算 Scenter:整體畫面的中心點(xs,ys),xs = 整體畫面的寬÷2,

ys = 整體畫面的長÷2。

Step2:計算 Ocenter:手部物件的中心(xo,yo),xo = 整體畫面的寬÷2,

yo = 整體畫面的寬÷2。

Step3:將 Scenter(xs,ys)與 Ocenter(xo,yo)相減,得出△X、△Y。

Step4:△X、△Y 與物件的每一點像素點座標做運算。

Step5:進行物件偏移角度的調整。

Stage2:Output:輸出校正偏移角度的手部物件。

39

圖 61: 輸入手部物件(示意)

圖 62: 計算出畫面的中心(示意)

40

圖 63: 計算出手部物件的中心(示意)

圖 64: 進行手部物件偏移角度的調整(示意)

41

圖 65: 輸入手部物件(實際)

圖 66: 計算出畫面的中心(實際)

42

圖 67: 計算出手部物件的中心(實際)

圖 68: 進行手部物件偏移角度的調整(實際)

圖 69~圖 70 為校正手部物件偏移角度演算法執行步驟之示意圖,圖 71 為實際執 行輸入的手部物件,圖 72 為計算出整體畫面的中心(xs,ys),紅色標記線為水平軸、綠 色標記線為垂直軸,圖 73 為計算出手部物件的中心(xo,yo),圖 74 為整體畫面的中心 (xs,ys與手部物件的中心(xo,yo)相減之後,運用△X、△Y 與手部物件的每一點像素點座 標做運算之後的校正偏移角度輸出。

43

八、正規化

由於每次拍攝的攝影器材,不盡相同,所以將每ㄧ張經過數位影像前處理的手部物 件,進行正規化,將其縮放為同一大小比例修正,如此才不會對於辨識的正確率造成過 多的影響。本論文所縮放的手部物件圖像,長、寬為 32x32,圖像像素點一共為 1024 點,如此一來就可以降低手部物件進行 SVM 特徵向量抽取的運算時間。NRangemax:正 規化範圍的最大值。NRangemix:正規化範圍的最小值。ORangemax:物件範圍的最大值。

ORangemax:物件範圍的最小值。O:物件當前的範圍值。正規化(Normalization)的公

Normalizat N

O

44

圖 76: 正規化後 32x32 的手部物件

相關文件