• 沒有找到結果。

二階段表情辨識系統

第三章 研究方法

3.1 二階段表情辨識系統

本論文所提出的二階段表情辨識系統係結合人臉偵測及 SVM 分類器[45]。

首先,在表情影像前處理部分,以 OpenCV 中的人臉偵測函式庫[46]對輸入影像 進行臉部擷取的動作。人臉偵測函式庫是使用 Viola 及 Jones[43]所提出的方法,

此方法不僅擁有相當高的偵測率,可以用來偵測物件,而且運算時間快速。該法 能將影像快速的轉換為任何大小的 Haar-like 特徵,並運用 AdaBooost 分類器,

從大量的 Haar-like 特徵中選取重要性的特徵,快速過濾不要的背景區域。首先 我們以此方法對表情影像進行前處理,取出大小為 128×128 臉部表情影像,如圖 3.1 所示。

圖 3.1:臉部影像擷取

Face detection

為了取得足以表示臉部表情紋理的特徵值,臉部表情影像第一階段先經由 TLBP 轉換後,得到紋理特徵影像。第二階段為了能擷取局部區塊的紋理特徵,

並降低維度,縮短運算時間,再以區塊式 CS-LBP 運算並統計特徵直方圖,將各 區塊特徵直方圖串接形成該張臉部表情影像的紋理特徵,最後將這些特徵向量,

輸入至 SVM 進行樣本訓練及測試。

進行 CS-LBP 運算時,必須先將影像切割為多個不重疊(non-overlapping)的 子區塊,再將各區塊進行 CS-LBP 提取紋理特徵,然後每個區塊會各自擁有一組 特徵直方圖,如圖 3.2 所示。接著將這些區塊的特徵直方圖 l1,l2,…, ln依序串接 起來,形成此張表情影像的特徵直方圖 h,其中 n 為子區塊總數,最後以此特徵 直方圖做為臉部表情影像的表情特徵,並進行辨識。

圖 3.2:二階段區塊式串接特徵直方圖

表情辨識系統最後階段,將特徵資訊輸入 SVM 進行分類辨識,此階段分為 訓練及測試兩個部分。訓練部份,每一張影像經過前述所提步驟提取特徵值作為 特徵向量,利用 SVM 針對欲訓練的各類表情樣本進行分類訓練,得到一個屬於 該類表情的 SVM 模型。測試部份,將測試影像經過前述所提步驟取得特徵向量,

送入已經訓練好的 SVM 模型,進行分類比對並獲得最終辨識結果。圖 3.3 為系 統流程。在下面的小節裡,我們將詳細介紹各個部分所使用到的方法或技術。

TLBP

l1 l2 ln

l3

CS-LBP

CS-LBP

圖 3.3:系統流程圖

3.2 區域二元圖樣

區域二元圖樣的原理是將彩色影像轉為灰階影像後,以 3×3 區塊將影像劃分,

每個區塊中心像素點(pixel)的灰階值視為門檻值(threshold),與其八個鄰點的灰階 值進行比較。若周圍像素值大於或等於門檻值,則該點位置標示為 1,反之則為 0;如此,八鄰點可表示為一組二位元編碼,再將其二位元編碼乘上相對權重值,

加總即得該點之 LBP 編碼。圖 3.4 為一基本 LBP 編碼之範例。

圖 3.4:LBP 編碼範例

LBP = 1+2+4+64+128 = 199 比對中心點門檻值得到二位元編碼 乘上相對權重值

訓練影像 TLBP 特徵向量

SVM 模型 辨識結果

CS-LBP

SVM 訓練

測試影像 TLBP CS-LBP 特徵向量

1st stage 2nd stage

2nd stage 1st stage

區域二元圖樣原是設計用於描述影像中紋理的特徵,故從 LBP 的二位元編 碼可歸納出紋路特性,如圖 3.5 所示。白點代表 0(影像暗區),黑點代表 1(影像 亮區),若為獨立一點(spot),則中心像素點灰階值遠低(或高)於周圍臨點,其二 位元編碼不是全為 0 即是全為 1;由於一般紋理有其連續性,故此類獨立點可歸 為雜訊。若為線段端點(line end),則亮區較小,暗區較大;若亮區及暗區平均分 布於中心點之兩側,可視為紋理之邊緣(edge);當亮區和暗區分布不均,約形成 角錐狀,一般出現於紋理之角落(corner)。

圖 3.5:不同的紋理特徵對應之 LBP[47]

區域二元圖樣可以 LBPP,R符號表示之,其中 P 表示相鄰點的數目,R 表示中 心點與相鄰點的距離。由於 P 及 R 並沒有任何限制,因此從原始的 LBP 中可以 衍生出多種不同的相鄰點數目 P 及半徑 R,以解決各種不同的問題,如圖 3.6 所 示。若是考慮的鄰點並未落在某個像素點之位置,則以相鄰像素的灰階值進行內 插後求得的值再與中心點灰階值比較。

圖 3.6:相鄰點數目 P 及不同的半徑 R[47]

(a) (b) (c)

(a) P = 8,R = 1 (b) P = 16,R = 2 (c) P = 8,R = 2

若以一個n×n區塊中間的像素灰階值當作門檻值,對其相鄰點進行比較之動

圖 3.7:LBP 特徵直方圖

區域二元圖樣表示法為影像像素點於相鄰點之相對亮度比較值,當影像亮度 些微改變時,其區域二元圖樣表示圖並不會受影響,如圖 3.8 所示。能容忍光線 變化是其特性,且運算簡單快速,適合用於即時辨識系統開發之用。

圖 3.8:光線變化對 LBP 之影響

由於區域二元圖樣表示法主要為像素點與其周圍鄰點的灰階值之差值關係;

因此,存在著兩個問題:(1)有關雜訊的影響,與(2)影像區塊若過於平滑,則 LBP 的效果不佳。若影像受到些微雜訊干擾而有改變,則 LBP 將有顯著的改變。

在圖 3.9 中,兩個區塊雖然僅有一個像素值不同,若依照 LBP 的定義,算得

(a)原始影像 (b)圖(a)亮度-20% (c)圖(a)亮度+10% (d)圖(a)亮度+30%

(h)圖(d)之 LBP 表示圖 (g)圖(c)之 LBP 表示圖

(f)圖(b)之 LBP 表示圖 (e)圖(a)之 LBP 表示圖

(a)原始影像 (b)區域二元圖樣表示圖 (c)LBP 統計直方圖

LBP value number

的二位元編碼雖然漢明距離(Hamming distance)僅為 1,但經過權重加總後的 LBP 值卻有著相當大的差距。

圖 3.9:些微雜訊干擾造成 LBP 值之差距

另一方面,在影像的平滑區域使用 LBP,效果不彰。這是因為中心點像素灰 階值與周圍灰階值太過接近的緣故,如圖 3.10 所示。兩個區塊中心像素灰階值 皆為 64,但其中一個區塊所參考的像素值皆為 64,另一個則皆為 63,雖然灰階 值 64 與 63 差距不大,看似接近的兩個區塊,透過 LBP 運算之後,兩者所得到 的 LBP 值卻是極端的不同。

為了減少上述兩個問題對於人臉表情辨識效能的影響,我們提出一個二階段 影像紋理特徵值擷取方法。在第一階段中,我們使用門檻值區域二元圖樣,對臉 部表情影像作一次轉換,利用紋理特徵值取代影像灰階值,不僅可以突顯整張影 像的紋理特徵,還可以去除原始影像中一些不必要的雜訊。第二階段則分區塊進 行影像紋理特徵值的擷取,將紋理特徵影像切成不重疊的區塊進行 CS-LBP 的處 理,並得到區域的影像特徵值,有利於提升表情辨識效果。

二位元編碼 = 11100011

二位元編碼 = 01100011

圖 3.10:平滑影像區塊造成 LBP 值之差距

相關文件