• 沒有找到結果。

人類面部表情之有限元素分析

基於參數設定,改變參數值而產生的臉部模型,以有限單元法為 基礎的臉部模型比較偏重在分析這方面。從解剖學的觀點,瞭解臉部 肌肉的組成,相關的連結點、肌肉的運作模式;由力學的探討--受力與 變形的關係,在肌肉與骨骼連結的地方,沿著肌肉紋理的方向,施加 多大的力,會產生什麼樣的表現效果。

有限單元法的計算,在處理彈性物體的變形上,有不錯的功效,

不論它的形狀如何、有多複雜。由每一個 element 的區域勁度矩陣,組 合成整個系統的彈性勁度矩陣;給予適當的邊界條件,整個物體的變 形就有下列的關係:

[K]{D}={R} (1) 其中,K 是整個系統的彈性勁度矩陣;D 是變形量;R 是施力。

在這裡,整個系統選擇薄殼單元結構,它結合薄膜單元以及薄板 單元的特性。其中,薄膜單元僅能承受沿著面方向的力,而薄板單元 也僅能承受垂直於板面上的力和沿著面方向上的力矩。藉由兩者的結 合,處理空間相關的問題。

另外,所必須提出的是,材料的所有特性,和真正的生理結構並 不相同。皮膚、肌肉、其它的生理組織都不相干,只是做簡單的物理 性的設定,如網格的剛度及 Poisson's ratio。

有別於電腦繪圖參數化臉部模型的參數設定,這些不同的臉部表 情,從不同的節點施力,施力的方向、施力的大小,作用在有限單元 模型上,做出各種不同程度的情緒表達;在經驗傳承上,可以比較有 系統地延續下去。

觀察人類大部分的喜怒哀樂等情緒,大多都可以從臉部的表情變 化看出端倪;例如,微笑的時候嘴角會上揚,盛怒的時候眉毛會上揚 而眼睛會睜大,想哭的時候嘴角會下拉,大笑的時候嘴巴會張大而嘴 角微微上揚,而眼睛容易瞇成細細的下弦月,做鬼臉的時候表情更是 千奇百怪。

接下來,以幾個操作的例子,表現臉部的表情變化,特別是在嘴 巴動作的部分[3]。

(a)變形前 (b)變形後

圖 2-10 微笑

(a)變形前 (b)變形後 圖 2-11 大笑

(a)變形前 (b)變形後

圖 2-12 吼叫

(a)變形前 (b)變形後 圖 2-13 驚訝

2.4 變形量的控制

一般而言,在有限單元法的求解上,K(系統的彈性勁度矩陣)依 據邊界條件來決定,R(施力)是已知條件,D(變形量)是未知條件。

只要給定 F 的大小和方向,即可求得 D。如下:

{D}=[K]-1{R} (2) 若只是單純地想得到所有節點的變形量,上式(2)是非常便利的計 算方式;不同的施力,將有不同的結果。相反地,只要有所有節點的 變形量,當然也可以求得 R。但是,當情況是只知道部分節點的變形 量,亦即,上式(2)中,只有部分的變形量已知,又該如何求解?其關 係式如下:

{Dg}=[P]{R} (3) 其中,Dg是已知變形量;P是自[K]-1中,依據Dg在系統中的相對位 置,整列取出。

在數學上,解方程式時,在已知條件少於未知數的數量時,會產 生無限多組解的結果。而在這些結果之中,是否有合適的解,符合系 統所需?文獻[4]當中,提出一個方法,以網格結構的最小應變能法

(minimum strain energy solution)求得唯一的解,如下:

R'=PT(PPT-1Dg (4) 雖然,以這個方式所得到的 R',施加於原系統所得到的變形量,

在其他地方會有些許的誤差存在,可以保證的是,預定要達成的變形 量是一致的。

三、達成預定的變形

經由前一個章節關於有限單元法的簡單介紹,在系統的節點上施 力,可以做相關的變形量分析;如果,只是期望某些節點在變形之後,

移動到特定的位置,我們可藉由嘗試的方式,經由輸入施力,計算輸 出的結果,再判定是否是所期待的目標值。雖然,這個方式可以達到 要求,但只能說是大略;首先,當目標不只一個,可能顧慮了這個,

卻違背另一個,甚至更多,很難全面達到所有的要求。此外,當系統 稍微複雜、稍大一些,可嘗試的方法也就更多,要歸納整理出一套可 使人依循、重複操作的方式,就不是那麼容易了。基於上述的經驗,

特別是難以找到一套有系統的操作方式的緣故,捨棄這樣的作法;尋 求以控制變形量的方式,操作整個系統的變形。

在這一章節裡,介紹怎樣經由訓練的方式,得到我們所期望的模 型變形;問題就在於如何更有系統、有規則性地得到一組施加於該系 統的施力,使結果可以完全符合所要求的目標。相關的方法,在 2.4 變形量的控制中,已經大略地提出;運用最小應變能量的方法,藉著 部分節點的變形量作為限制條件,計算出相對應的施力;不管限定條 件的多少,其餘未經限定的節點變形量,也可一併得到。接下來,將 一一說明整個流程。

3.1 有限單元基礎

有限單元法在使用上,運用的非常廣泛,資料非常充足且龐大。

這裡只是提出一部份,針對我們要處理的力與變形的問題,做相關的 介紹,如何在空間問題上,處理應力與應變之間的關係。

3.1.1 薄膜結構-平面應力問題

在本論文中這個部分所使用的是 CST (Constant-Strain Triangle),參 考圖 3-1,其負載與位移的關係為:

Sym x 陣(Local Stiffness Matrix),{d}i為第i個單元的位移向量。

式中,un、vn是第i個單元中,各點在單元座標x向及y向的位移量,

Poisson’s ratio,E代表材料楊氏係數,t代表薄膜厚。

圖 3-1 CST 示意圖

3.1.2 薄板結構-平面彎矩問題

薄板結構僅能承受垂直於板面上的力及沿著面方向上的力矩,並 因厚度遠小於長寬,所以不處理有關沿著面方向上的力;假設所處理 的薄板面被設定為XY面,那受力的方向就僅能考慮Z方向上的施 力,再考慮彎曲力矩對薄板的影響,則需加上對X軸及Y軸的彎曲力 矩 ; 這 將 把 三 度 空 間 中 每 個 點 的 六 個 自 由 度 縮 減 成 三 個 自 由 度

) , ,

(w θx θy ,因此可以知道變形將發生在Z方向上的位移與對X、Y軸 的旋轉量。

在本論文中,這個部分使用 DKT (Discrete Kirchhoff Triangle),參 考圖 3-2,其負載與位移的關係可參考(5)式,其中:

{ }

d i =

[

w1 θx1 θy1 w2 θx2 θy2 w3 θx3 θy3

]

T (9)

{ }

r i =

[

fz1 mx1 my1 fz2 mx2 my2 fz3 mx3 my3

]

T (10) 在這部分,區域勁度矩陣的產生方法比較複雜,在文獻[3]的附錄

一當中附上計算區域勁度矩陣的程式碼,從那裡可以了解整個矩陣產 生的流程。而在上兩式中,wn是第i個單元中,各點在單元座標z向的位 移量;fz 為第i個單元中,各點在單元座標z向上的負載;θ 、θ 是第

i個單元中,各點對單元座標x及y軸的旋轉量;mxn、myn為第i個單元中, EtA

mz

{ }

d i =

[

u1 v1 w1 θx1 θy1 θz1 u2 v2 w2 θx2 θy2 θz2

u3 v3 w3 θx3 θy3 θz3

]

T (12)

{ }

r i =

[

fx1 fy1 fz1 mx1 my1 mz1 fx2 fy2 fz2 mx2 my2 mz2 (13)

]

T

mz my mx fz fy

fx3 3 3 3 3 3

[k]i擴充為 18x18 的對稱矩陣。

3.1.4 勁度矩陣的組合

在 3.1.1 到 3.1.3 節所提到的勁度矩陣都是屬於區域性的,其使用 的點資料也都是在區域性座標系統的點資料,而真正在結構上的點資 料,則必須經過一個旋轉矩陣[A],其中{d}=[A]{D},{d}代表區域座 標點資料,{D}代表系統實際的點資料。座標旋轉的目的在於配合區域 性勁度矩陣的計算,我們必須先將空間中任意位置與任意方向的三角 單元旋轉與平移,在計算勁度矩陣之前,必須讓三角單元三個頂點的 座標依次為(0,0,0)、(a,0,0)、(b,c,0),其中a>0, c>0。之後才將旋轉後的 點資料帶入來計算區域性勁度矩陣,而區域性勁度矩陣[k]i和全域勁度 矩陣[K]有著以下的關係:

[ ] ∑ [ ] [ ] [ ]

=

= n

i

A AT i 1

k

K (14)

而關於勁度矩陣的組合,我們可以先參考圖 3-3,圖中顯示每個單 元(Element)的頂點都有各自的編號 i,j,k,其相當於前幾章所提到的三角 單元的頂點 1,2,3,現在我們用這個簡單的例子來說明勁度矩陣的組合。

圖 3-3 三角單元組合示意圖

的,即使組合的並非純粹的三角單元,只要找出對應的節點,就可以 做類似的運算,就像圖 3-4 所顯示的一樣。

圖 3-4 不同單元組合示意圖

3.1.5 ID Array

在介紹完勁度矩陣之後,我們要開始對計算方法加以討論。

首先,在處理{R}=[K]{D}這個問題中,我們必須知道,如果我們 不給予結構體邊界條件的限制,則當我們施予外力的時候,結構體將 會產生剛體運動而不是變形,而在本篇論文中,我們是考慮施予外力 來產生所期盼的變形,因此我們必須限制結構體若干的自由度,而限 制的方法通常就是指定某些節點的變形量(通常是將變形量指定為 零)。

當我們利用 來求得所期望的變形量時,由於{D}的某 些成員是已知的,所以我們不應該將這些已知的成員放入

這個計算式中,假設原來有 n 個自由度,則{D}與{R}的大小是 }

{ ] [ }

{D = K 1 R

} { ] [ }

{D = K 1 R

×1

n ,[K]

的大小則是n×n,如果我們限制了 m 個自由度,則新的{D}與{R}的大

小將會是(n− m)×1,[K]的大小則會是(nm)×(nm),也就是我們必須

input ID

converted ID

⎪⎪

Sym K

3.2.1 邊界條件

在圖 3-5 中,(a)所選取的點代表鼻樑、眼球及下頷骨以上的臉皮 底部,是設定為完全不動的部分,固定所有的自由度;(b)所選取的點 代表下頷骨以上,眼皮和(a)所選取的點以外的部分,以及下頷骨以下 的臉皮底部,設定為不做深度方面的變形,也就是固定 Z 向的自由度;

(c)在眼角部位固定 X、Y、Z 向的自由度。(本論文中以右手邊為 X 軸 正向,上面為 Y 軸正向,出紙面為 Z 軸正向,採右手座標系)

(a)限制所有自由度的點 (b)限制 Z 向自由度的點

(c)限制 X、Y、Z 向自由度的點 圖 3-5 邊界限制

在邊界條件的上,大多是按照原先的設定,只有少部分變動。要 特別說明的是,整個有限單元模型被分為上半部與下半部。在上半部,

本應有頭骨做為支撐,限制部分方向的運動;雖然,在實際上,臉的 上半部皮膚也是可以有向外隆起的能力,但為了維持臉部的外觀、輪 廓,選擇限制上半部的 Z 向自由度。至於下半部,因有下頷骨的運動,

並不做特別的限制。

3.2.2 網格特性

在網格特性上,大多仍是依循原先的設定,不去變動;有部分區 域為配合使用上的需要,則做了一些變更。原先的設定中,蒲松比定 為 0.3,這方面不做變動;關於楊氏係數,大致上分為眼睛、嘴巴及其 他部位等三部分,絕大部分的區域都定為 100 psi。

而在使用的過程中,考量到嘴唇開合的問題,臉部上,皮膚能移 動的範圍各有不同,遂分成三部分--臉頰、腮及下巴。臉頰和下巴部位 因皮膚附著於頭骨之上,和骨頭間比較少相對運動,但特別的是,下

而在使用的過程中,考量到嘴唇開合的問題,臉部上,皮膚能移 動的範圍各有不同,遂分成三部分--臉頰、腮及下巴。臉頰和下巴部位 因皮膚附著於頭骨之上,和骨頭間比較少相對運動,但特別的是,下

相關文件