• 沒有找到結果。

主動式外觀模型演算法

第二章 相關知識及理論

2.2 人臉正規化

2.2.1 主動式外觀模型演算法

,以下兩個小 章節將分別說明如何利用主動式外觀模型和濾波器來達到正規化目的。

條由 個控制點組成得連續封閉曲線做為 snake 模型,然後用一個能量函數做為匹配程

輸入層 隱藏層 輸出層

人臉正規化

人臉正規化主要包含三個處理程序: 定位、尺寸縮放和明亮度一致化

2.2.1 主動式外觀模型演算法

先知道人臉位置,接下來就是把人臉外形擷取下來,使用主動式外觀模型(active appearance model,AAM)[10][47]可達到這個目的。主動式外觀模型的想法一開始來自於 1987 Kass 等人提出的 snake 方法,主要應用於邊界檢定與圖像切割,該方法使用一

n

度的評量函數,首先將模型設定在待測物預估位置的周圍,透過不斷疊代運算使能量函 數最小化,當內外能量達到平衡時即得到待測物的邊界與特徵。1989 年 Yuille 等人提出 使用參數化的可變形模板來代替 snake 模型,這也是主動型外觀模型的理論基礎。1995 年 Cootes 等人提出主動式形狀模型(active shape model,ASM)演算法[9],這是一個可以 定位和調整人臉大小的方法,首先準備訓練樣本,以手動方式描繪出人臉的形狀,也就 是n個控制點,經過主成分分析法(principal component analysis,PCA)訓練後,自動調整 控制點,以找尋待測物可能的或符合的形狀,除此之外,主動式形狀模型也會考慮到人 臉灰階值而調整形狀的控制點,以便找出人臉正確的位置,尤其是眼睛部位。主動式形

共有 個形狀,訓練步驟描述如下:

這三個參數: 位置、尺寸縮放和旋轉角度。

算出合成模型跟待測物的最短距離,最後這個合成模型

的人臉形狀。主動式外觀模型演算法的步驟描述如下:

狀模型演算法[9]的訓練樣本裡總 N

主動式形狀模型演算法

步驟一 旋轉角度、尺寸縮放和變換每一個形狀,來對齊第一個形狀。

步驟二 每一個形狀對齊後,計算全部形狀的平均形狀(mean shape)。

步驟三 正規化平均形狀的三個參數: 位置、尺寸縮放和旋轉角度。

步驟四 所有形狀重新對齊平均形狀,再調整 步驟五 回到步驟二,直到收斂條件成立。

步驟六 不斷計算合成模型,計 就是待測物最佳的人臉形狀。

1998 年 Cootes 等人在主動式形狀模型演算法基礎上提出主動式外觀模型[10][47],

除了利用待測物形狀(shape)資訊,也包含紋理(texture)資訊。主動式外觀模型利用主成 分分析法訓練樣本與平均形狀的形狀模型,訓練所有樣本的形狀因變形而更接近主要形 狀(main shape),將每個灰階點轉成向量,並計算出訓練樣本灰階向量跟平均外觀 (appearance)的變異量,主要有這三個參數: 位置、尺寸縮放和旋轉角度,在搜尋階段調 整此三個參數值,以便找出最佳

主動式外觀模型演算法

步驟一 計算灰階誤差向量ΔI,目標就是讓 盡量地小,使用待測物灰階向量 減

控制g1,才得到正規灰階向量 gm;而gs1則是利用形狀控制x擷取待測樣本的灰階向

單尺寸視網膜正規化演算 ngle scale retinex normalization algorithm),是參考 bson[51]演算法, 像 f(x,y)正規化分 5 正整數,其

)

多尺寸視網膜之正規化演算法(multi scale retinex normalization algorithm),也是參考 Jobson[51]演算法,主要由上面單尺寸視網膜正規化演算法延伸而來,本系統多尺寸視

適應性單尺寸視網膜之正規化演算法(adaptive single scale retinex normalization algorithm)[57],輸入影像 f(x,y)正規化分佈於 0 到 255 正整數,其中x=1﹐…﹐ M ,

))

另外,我們再舉出一個梯度 範例,如圖 2.5(a)是一個 為三乘三像素點範

同形濾波之正規化演算法(homomorphic filtering normalization algorithm)[58],輸入影 像 f(x,y)正規化分佈於{0,1},其中x=1﹐…﹐M , y =1﹐…﹐ ,輸出影像

(b) (c)

是二維矩陣拷貝N 個一維向量X 組合起來的,其中1 X 是一維向量具有1 1~M 個值平均

⎥⎥

商影像(MSSSQI)有四組高斯參數σ =[1 1.2 1.4 1.6],分別對應四組區塊參數β =[3 5 11

可導引濾波器之正規化演算法(steerable filter normalization algorithm)[61],輸入影像 先進行自然對數運算

圖 2.7 六乘六矩陣之 ZigZag(蜿蜒)排列範例。

則可計算出濾波器G ,再由式子(2.2.35)推算出輸出影像j 。最後,輸出影像

直覺上,稀疏編碼(sparse coding)[24][25][62]的參數求解就是以 -norm 來量測(計算 一個向量裡非零的個數),但這是一個非確定性多項式(NP-hard)問題,所以一般以 -norm 最小值逼近求解 -norm 最小值,成立條件是誤差值 足夠稀疏(sparse)[25],也就是讓

(a) (d)

(b) (c)

圖 2.8 (a)待測人臉;(b)訓練樣本;(c)稀疏編碼計算二十個係數;(d)重建後的人臉。

下面式子(2.3.3)成立的條件是,殘餘值ε =YXα 分佈型態就是拉氏(Laplacian)分 佈,而最小平方估測(LSE)解其實就是最大粗略估測(MLE)解,

找出 min α 1

α YX , 使得 α 1 ≤σ , (2.3.3) 實際上,殘餘值ε 分佈型態既不是高斯分佈,也不是拉氏(Laplacian)分佈,特別是人 臉受到遮掩物或光線等干擾的時候,所以光是使用這三個式子(2.3.1) ~ (2.3.3),辨識率 還是不夠高的。

接下來改寫 X ,讓 ,目的就是將式子(2.3.3)改寫為式子

(2.3.4), 表示資料庫列向量的第 i 個編碼原子,而且

m n

dn

d d

X =[ 1; 2;...; ]∈ℜ ×

di ε =YXα =[ε12;...;εn],所以 每一個殘餘值ε 可表示為εi = yidiα ,i=1,2,...,n

找出 min 1ρθ( α)

其中純量b是由ε0決定的,且ε =YXα 代入後就得到式子(2.3.5)。

稀疏編碼在進行疊代演算法前,必須先決定第一個殘餘值 ,以及收斂條件。因

為一開始並不知道測試樣本是比較靠近哪一個類別,所以測試樣本值減掉平均訓練樣本 值就是第一個殘餘值,表示如下,

) 1

ε(

=

=

=

yr(1) yj

= n

i i

j

j x

y n y

y 1

) 0 ( )

1

( 1

ε , (2.3.8)

收斂條件除了達到最大疊代次數以外,也可以訂定權重變化量小於門檻值γ 就停止 疊代運算,表示如下,

γ

<

2 ) 1

( ||

||

/

||W(t)W(t1) ||2 W t . (2.3.9)

第三章 人臉辨識系統

本系統定位為小型的人臉辨識系統,大約是十個類別,可應用於家庭生活照之分類 工作,或是搜尋特定成員的所有生活照。

本章節架構安排如下,3.1 節說明人臉位置偵測的方法。3.2 節提出本系統使用的正 規化濾波器。最後 3.3 節闡述人臉辨識使用的稀疏編碼(sparse coding)演算法。

3.1 人臉位置偵測方法

以下是人臉偵測演算法的步驟,可參考圖 3.1 的流程圖,

步驟一 計算彩色生活照的膚色位置。

步驟二 決定多重尺寸視窗搜尋點,使用已知的平均人臉與偵測到的膚色區域做旋 積運算,取區域內的極大值當做人臉搜尋的中心點。

步驟三 找出可能的人臉尺寸,由搜尋尺寸長寬20×20,每次增加 1.2 倍,直到搜 尋視窗超過膚色區域為止。

步驟四 在判斷人臉與非人臉之前,必須先手動建立人臉與非人臉資料庫當做訓練 樣本,使用賈柏小波抽取特徵,再透過倒傳遞類神經網路來訓練已分類好的人臉跟非人 臉兩個類別,調整權重讓人臉的目標輸出值為 1,非人臉的目標輸出值為-1,當隱藏層 的所有權重值能夠讓均方誤差值小於104,即表示訓練結果趨於收斂。

步驟五 當一張擷取後的影像經過特徵抽取後,輸入到已訓練好的倒傳遞類神經網 路,若輸出值越接近目標值 1 表示人臉的可能性越高,反之,若輸出值越接近目標值-1 表示非人臉的可能性越高。

步驟六 最後人臉的位置可能有好幾個不同尺寸或好幾個不同位置交錯在一起,所 以必須做合併的動作。當小尺寸的位置屬於大尺寸的一小部份,取輸出值比較大的當做 人臉位置及對應的尺寸;若兩個相同座標有不同尺寸的人臉,代表人臉可能性越高,可 以取尺寸的平均值當做新的人臉尺寸;若相似大小的人臉尺寸交疊在一起,可以使用區

域比較法,剃除輸出值比較小的人臉位置,留下輸出值最大的人臉位置為最後人臉偵測 結果。

生活照片輸入

圖 3.1 人臉位置偵測流程圖。

人臉搜尋點(藍色顯示)

膚色位置(黑色顯示) 類神經網路的人臉偵測

人臉搜尋的範圍 人臉偵測後的位置

3.1.1 多重尺寸視窗搜尋

利用上述的膚色偵測方法,在這個膚色區域內粗略地標記出可能的人臉位置,使用 事先算好的平均人臉(圖 3.2)與膚色區域做旋積運算,取區域內的極大值當做人臉搜尋的 中心點。由搜尋視窗長寬 ,每次增加 1.2 倍,直到搜尋視窗超過膚色區域為止。

我們的目標就是把所有人臉全部找出來,盡量降低錯誤偵測。

20 20×

圖 3.2 平均人臉。

3.1.2 訓練類神經網路

訓練類神經網路的流程,首先輸入灰階的訓練影像樣本,經過直方圖等化來增加影 像特徵的明顯程度;然後與賈伯濾波器做旋積運算,產生一組特徵輸入向量;經過降維 後再送進類神經網路做訓練。

本論文使用的影像訓練樣本來自於卡內基美隆大學(Carnegie Mellon university)機器 人協會所建立的 PIE 資料庫[63],此資料庫共有 68 個人、41,368 張人臉照片,包括 13 種拍攝角度(人臉姿態)、43 種不同明亮度的拍攝條件,以及 4 種不同表情。本論文任意 選取 PIE 資料庫中的 600 張人臉,包括 15 個人、5 種不同姿態和 8 種照明環境;另外任 意選取 AR 資料庫[64]中的 200 張人臉,包括 20 個正面姿態以及 10 種照明環境;在網 際網路任意選取 200 張亞洲東方人臉;所以共有 1,000 張人臉,再加上 2,000 張非人臉 樣本,總共 3,000 張影像做訓練。非人臉樣本是在網際網路任意選取無人臉的彩色生活 照,包括衣服、風景照、建築物等等樣本,經本系統擷取後做類神經網路訓練的,不選 取人臉部份五官(耳、眉、眼、鼻、口)當做非人臉樣本。

每張影像都使用賈伯小波抽取特徵向量為2430×1,中間隱藏層為一層共 35 個維 度,輸出值為一個純量,若輸出值越接近目標值 1 表示人臉的可能性越高,反之,若輸

出值越接近目標值-1 表示非人臉的可能性越高。當隱藏層的所有權重值能夠讓均方誤差

值小於 ,即表示訓練結果趨於收斂。讓類神經網路學習得更正確的做法,就是準備

正確的訓練樣本、足夠多的樣本數量以及樣本間的差異性越大越好。

104

3.2 光線明亮度正規化濾波器

為了處理人臉受到光線不均勻照射而降低辨識率,本論文使用八種濾波器,分別測 試哪一種濾波器可以得到最好的辨識率,分別是單尺寸視網膜(SSR)之正規化演算法 [51]、多尺寸視網膜(MSR)之正規化演算法[51]、適應性單尺寸視網膜(ASSR)之正規化演 算法[57]、同形濾波(HOMOF)之正規化演算法[58]、單尺寸自商影像(SSSQI)之正規化演 算法[59]、多尺寸自商影像(MSSQI)之正規化演算法[59]、離散餘弦轉換(DCT)之正規化 演算法[60]和可導引濾波器(SF)之正規化演算法[61]共八種。

圖 3.3 最左邊的原始人臉是從 AR 資料庫[64]取出的一個人臉範例,光線主要從左臉 進來,不是從正面進來,尤其可以從圖 3.3 最左邊數過來第四個(ASSR 適應性單尺寸視 網膜正規化)跟第五個(HOMOF 同形濾波正規化)看出來,光線的確從左臉進來。

圖 3.3 最左邊是原始人臉,其他經過明亮度濾波器處理後的結果,由左而右分別是 SSR,

MSR,ASSR,HOMOF,SSSQI,MSSQI,DCT 和 SF。

3.3 稀疏編碼權重更新疊代演算法

人臉辨識使用的稀疏編碼(sparse coding)權重更新疊代演算法,收斂條件除了達到最

人臉辨識使用的稀疏編碼(sparse coding)權重更新疊代演算法,收斂條件除了達到最

相關文件