• 沒有找到結果。

參考影像的臉部特徵點擷取

3.1 眼睛及嘴唇臉部平面特徵點的擷取

3.1.1 參考影像的臉部特徵點擷取

首先根據Face1

( )

x,y 計算參考影像臉部區域的中心點

(

x1, y1

)

及長短軸方向

1 1,m Mv v

,然後根據長短軸方向將臉部區域轉正得到NFace1

( )

x,y ,其中 FHeight

y FWidth

x≤ ≤ ≤

≤ ,1

1 ,並從轉正後的臉部區域取出內部破洞區塊

( )

x y

H1 , ,如圖 3.1 所示,之後統計H1

( )

x,y 中每條掃瞄線的內部破洞點個數,令 為

( ) ∑ ( )

=

=FWidth

x

y x y

HCount

1 1

1 δ , ,其中當H1

( )

x,y =0時,δ1

( )

x,y =1;否則δ1

( )

x,y =0。 如圖 3.2 所示,可以觀察到HCount1

( )

y 在眉毛、眼睛、鼻孔或嘴唇的高度會形成 尖峰值(Peak Value),因此利用該資訊將眼睛及嘴唇可能出現的高度找出來,各 令為y= yEYy= yM

圖 3.1 轉正後臉部區域 內部破洞H1

( )

x,y

圖 3.2 轉正後臉部區域中每條掃瞄線的內部破 洞點個數HCount1

( )

y

由於臉部區域內的特徵區塊之亮度值較皮膚區塊低,假設臉部特徵區塊的面 積佔整個臉部區域的 10%,因此從臉部區域取出亮度值最小、比例個數在前面 10%的像素點,並根據亮度值對這些像素點由小到大做排序的動作,令臉部區域 的亮度值影像為I

( )

x,y ,臉部區域面積為 A ,利用以下方式對像素點做排序:

這些像素點在臉部區塊中會集結成數個區塊,而這些區塊中某些便是我們所 要的臉部特徵區塊,因此先找出這些像素點集結而成幾個區塊,並從這些區塊中 利用臉部特徵的對稱性找出所要的左右眼及嘴唇特徵區塊,首先對這些像素點進 行區塊標號(Component Labeling )的動作,如下列流程:

(1) 初始化P=Φ,M =0、N = A×0.1

(2) 以 Row Scan 方式( y 為 Row 的索引值)判斷臉部區域內部的每個點

( )

x,y

是否要加到 P 串列。若 P 串列的個數 M 已經達到N,則勢必有一個像素 點要捨棄(Case2);否則直接加入即可(Case1)

Case1、 M <N

以 Reverse Sequential Search 找出最大的 i 使得

(

x y

) ( )

I x y

I i, i ≤ , ,若i=M

( )

x,y 附加到

(

x ,i yi

)

之後;否則

( )

x,y

插入到

(

x ,i yi

)

(

xi+1,yi+1

)

之間,並且M = M +1 Case2、 M =N

I

(

xN,yN

) ( )

>I x,y,則以 Reverse Sequential Search 找出最大的 i 使得I

(

xi,yi

) ( )

I x,y,將

( )

x,y 插入到

(

x ,i yi

)

(

xi+1,yi+1

)

之間並 捨棄

(

x ,N yN

)

;否則捨棄

( )

x,y

(3) 最後得到P=

[ (

x1,y1

) (

x2,y2

)

L

(

xN,yN

) ]

串列,其中

(

xi yi

)

I

(

xj yj

)

I j

i≤ ⇒ , ≤ ,

接下來,將利用臉部特徵具有的性質,從區塊串列C=

[

C1 C2 L CN

]

若有多組區塊配對符合上述條件,則取最接近y= yEY的區塊配對作為左右眼的 特徵區塊;對於嘴唇特徵區塊而言,從C中選取區塊CM,其中M

{

1,2,...,N

}

, 使得該區塊符合以下條件:

1. 寬度皆為臉寬的 1/5 以上

2. 長軸方向和左右眼中心點連線方向接近平行

若有多個區塊符合上述條件,則取最接近y=yMouth的區塊作為嘴唇的特徵區塊。

左右眼特徵區塊CREYCLEY及嘴唇特徵區塊CM選取出來之後,便可利用區 塊中統計的資訊找出所要擷取的臉部特徵點,若要擷取眼睛區塊的內外眼角特徵 點,則沿著眼睛特徵區塊CREYCLEY的長軸方向往兩側尋找 Isolated 點作為眼角 特徵點,令為pREYOpREYIpLEYLpLEYO;若要尋找嘴唇區塊的嘴角特徵點,

則從嘴唇特徵區塊CM中尋找內部的 Intensity Branch Point,若將該點移除的話,

則特徵區塊塊會產生分裂的情況,取分裂之後的子區塊之左右端點作為左右嘴角 特徵點,令pRMpLM

相關文件