• 沒有找到結果。

主成分分析壓縮法

在文檔中 3D動畫模型之幾何壓縮 (頁 10-19)

主成分分析一種來自於統計學學理上的分析技術,此方法原本用來將多個相依的 變數簡化成少數獨立的主成份(Principal Components),利用這些少數獨立的主成份來 描述原始的資料集合,此方法通常會利用線性組合來逼近描述原來的變數欄位。近幾年 來,主成分分析被廣泛的應用,甚至有學者提出主成分分析可以套用在影像處理的辨識 技術,目前已經有相當不錯的成果。

Alexa 和 Müller 在 2000 年首先提出以主成分分析為基礎來對 3D 動畫進行壓縮。

此方法對所有的影格模型(Frame Model)進行特徵值(Eigen Values)計算,並針對所計 算而得之特徵值進行大小排序,並取其中具有較大特徵值之影格模型來呈現原有的動畫 內容,以達到降低資料量的目的。經過 Alexa 和 Müller 的實驗驗證,主成分分析的技 術在 3D 動畫模型的壓縮上有極優異的表現,在壓縮所造成的誤差上,主成分分析法仍 能在維持在一定水準以下。相關的進一步研究還包括了 Karni 與 Gotsman 在 2004 年所 提出的 Local Principal Component Analysis (LPCA)壓縮法,此方法進一步改良了 PCA 的方法,Local Principal Component Analysis 加入了二階線性預測(Second Order Linear Prediction),透過二階線性預測與 PCA 的結合,進一步改善壓縮的成果。再者,

在 2005 年,Satter 及 Sarlette 也相繼提出 Clustered Principal Component Analysis (CPCA)壓縮法,此壓縮法利用影格模型中,點的移動軌跡來進行分析,將具有相似特徵 的點叢集在一起,再分別對各個集合進行 PCA 壓縮,使得各個集合所需要的主成份減少,

並且可以獲得更低的失真誤差。

事實上,主成份分析是一種找尋能夠解釋原始資料最大變異數方向、次大變異數 方向等的統計方法,其主要的目的乃是希望能用較少的變異數來解釋原始資料中的大部 份變異情形。轉換許多相關性很高的原始資料為彼此互相獨立的變異數,即所謂的主成 份,而這幾個選擇的主成份就成為我們用來解釋資料的綜合性指標。因此主成份分析所 著重的在於如何『轉換』原始變數使之成為一些綜合性的新指標,而其關鍵在『變異數』

選取問題。以下將針對主成份分析的特性做一些探討:

定義一:主成分(Principal Components)

1. 各主成份(Principal Components)亦即進行奇異值分解後之各特徵向量(Eigen Vector)。

圖 1、主成分分析法涵蓋率示意圖

從資料分析的角度來看,主成分分析的概念是將資料中多個相關的變數欄位簡化 成少數幾個彼此之間相依性低(亦即彼此間獨立性高)的主成份變數欄位資料,換句話 說,透過找出主成分分析變數欄位的線性組合,使其對整體資料具有最大的代表性。從 3D 動畫模型壓縮的角度來看,這裡所謂的變數欄位便是動畫序列中的每一個影格模型 (Frame Models)。透過主成分分析來找出幾個最具代表性的特徵影格模型(Eigen Frame Model),亦即利用少數的幾個影格模型資料來描述整體的動畫資料,以達到資料壓縮的 目的。

萃取主成分的程序:

(1) 將分析資料以矩陣方式呈現(假設資料矩陣為 A)。

(2) 對資料矩陣 A 計算進行奇異值分解。

所謂的奇異值分解為正交矩陣分解法 ,其中,矩陣 S 為一對

角矩陣,其值為特徵值並依大小排列,矩陣 B 為相對應特徵值的特徵向量,矩 陣 V 則為其偏移量。

VT

S B A= ⋅ ⋅

(3) 選擇主成份個數

當所選擇的主成份過多,其所展出的範圍越廣,其代表性的能力就愈高,

S

為一對角矩陣,對角的值即為奇異值(Singular Values),並且由大到小排列。

B

為 n*k 的矩陣,代表的是對應奇異值的基底向量(Base Vector),稱為基底(Base);其

中 n 為影格模型上之頂點個數,k 為基底個數;若基底為全部影格,則 k 將以 f 取代。VT 為 k*f 的矩陣,表示相對應奇異值的影格資訊,由下圖可看到雞動畫序列進行 SVD 分解 的結果,換句話說,此方法可以藉由減少基底的數量來求出近似原始的動畫。主成分分 析在數學上的意涵為減少維度量,針對原始資料(維度為 N)的線性空間,找出維度為 k 的子空間 ( k≦N ),利用此 k 個基底向量作線性組合以期能近似原始資料。換句話說,

以主成分分析為主的 3D 動畫研究目的在找出特徵值較大的 k 個主要成分,根據 Ax=λx 來近似原始資料,以期達到降低資料量與保持誤差的目的。

A = B * SV T

圖 2、主成分分析利用 SVD 進行主成分萃取之示意圖

表示為 M1、M2、…、MN,且每個 Mi 都有 m 個

、M2、…、MN之點座標矩陣 a1、a2、…、aN ,並將之描述為資料矩陣 A,

如下

換句話說,我們可以將 Principal Component Analysis 如何被使用來進行 3D 動 畫壓縮的程序,細列下列數個步驟。假設欲進行 Principal Component Analysis 之 3D 動畫模型有 N 個影格模型(Frame Model),

頂點(Vertex)以及相同的三角片資訊。

1. 取出 M1

⎥⎥

3. 依據失真程度與壓縮率選擇主成分基底個數

當選擇矩陣 B 中的所有主成分基底來描述 3D 動畫序列,則可完全不失真 的狀況下完整描述此 3D 動畫序列,為了降低資料量,我們通常會從中選擇部 分較具代表性的主成分基底來描述原本的 3D 動畫序列,如此一來便可降低資 料量,當然也會有失真的狀況出現。以具有十個影格模型的 3D 動畫序列而言,

若我們選擇十個主成分基底,則可完整不失真地描述原有的 3D 動畫序列;若 選擇七個主成分基底來描述原有的 3D 動畫序列,則減少約 30%的資料量,只 要用約 70%的資料量便可描述原來的 3D 動畫序列,當然,失去了三個主成分 基底的描述,也會造成部分模型失真的情形,在此,我們通常可以利用誤差量 測(Error Measure)的方法來量化失真的程度;相同地,若我們僅選擇三個主 成分基底來描述原有的 3D 動畫序列,我們就可以減少 70%的資料量,當然也 會增加因失去七個主成分基底的描述所造成的失真情形。

All bases

50 bases

10 bases

5 bases

3 bases

圖 4、主成分分析壓縮法在不同基底數的壓縮效果

為了量化壓縮後所造成失真的結果,我們通常會利用下式來進行失真計算。在下

(a) 原始模型的外表

(b) 經過主成分分析法進行壓縮後的效果

圖 5、主成分分析法壓縮後所造成的變形現象

在文檔中 3D動畫模型之幾何壓縮 (頁 10-19)

相關文件