專利名稱:基于視頻的3d人臉表情動畫驅動方法
技術領域:
本發明涉及動畫驅動技術領域,具體涉及一種基于視頻的3D人臉表情動畫驅動 方法。
背景技術:
人臉信息處理作為視覺處理的一個特例,隨著計算機技術的高速發展與商業應用 需求的推動逐漸成為研究的熱點,它涉及到數字圖像處理、模式識別、人工智能、生理和心 理學等多方面的課題。而基于視頻的人臉動畫驅動技術,其中包含了人臉檢測、跟蹤與特 征定位和提取技術等人臉信息處理的一個關鍵技術,在學術領域、應用領域都有著極其重 要的意義,其技術在諸多方面有著廣泛的應用,如視頻會議、網絡游戲、數字娛樂等,然而由 于光照、姿態、遮擋、附屬物、背景的復雜性及人臉運動的隨機性等的影響,使得實時和準確 的運動數據的獲取變得非常困難,近年來逐步成為計算機視覺方面一個受到重視的研究方 向,國內外很多機構都在進行這方面的研究。 基于視頻的人臉表情動畫系統中的關鍵技術是基于視頻序列圖像的人臉特征點 定位及跟蹤。常用的視頻序列圖像的人臉特征點定位及跟蹤方法有以下幾種
第一種,基于特征的方法。基于特征的方法通常是運用顏色信息、人臉特征的屬性 及人臉特征點之間的幾何關系進行特征點的定位和跟蹤; 第二種,基于運動的方法。基于運動的方法主要是運用運動獲得的信息進行跟蹤 的方法,例如光流法和kalman濾波方法。 第三種,基于模型的方法。基于模型的方法通常運用于有人臉特征預定義模板的 灰度圖像中。在此類方法中,要預先定義人臉特征模板,通常通過訓練的方法得到此先驗知 識,然后在圖像搜索時尋找與特征模板相匹配的圖像塊。 在以上三種方法中,基于特征的方法在當光照條件不一致時,特征點會出現跟丟 情況,并且幾何約束關系在人臉隨機運動過程中會發生相應變化,不再滿足先前預設的約 束值。基于運動的方法在遇到遮擋情況時通常會失效。相比基于特征和基于運動的方法, 基于模型的方法運用先驗知識,只要訓練集包含了需要的人臉特征定位信息即可得到好的 搜索結果,只是此類方法初始化需要人工操作。
發明內容
本發明所要解決的問題是如何提供一種基于視頻的3D人臉表情動畫驅動方法,
該方法能克服現有技術中所存在的缺陷,能夠實現在出現人臉大幅度運動和遮擋的長時間
人臉特征點跟蹤中的自動、實時、精確、魯棒的人臉特征點定位,并且當人臉在平面內各個
角度偏轉時的,仍然有較好的跟蹤結果,從而實現真實感的人臉動畫驅動效果。
本發明所提出的技術問題是這樣解決的提供一種基于視頻的3D人臉表情動畫
驅動方法,其特征在于,包括以下步驟 ①圖像預處理通過光線補償、高斯平滑及灰度圖像的形態學操作增強圖像質
4
②BP人臉檢測通過BP神經網絡算法檢測視頻中的人臉,并將其位置大小返回, 為下一步的人臉特征點定位提供更小的搜索范圍以保證實時性; ③ASM人臉特征點定位及跟蹤通過增強的主動形狀模型(ASM)算法及預測型 meanshift算法,精確提取人臉形狀、眼睛、眉毛、嘴巴、鼻子特征點信息,并將確切位置返 回; ④數據信息轉換通過人臉特征點定位跟蹤步驟得到的數據信息通過轉換后獲知 人臉的運動信息。 按照本發明所提供的基于視頻的3D人臉表情動畫驅動方法,其特征在于,步驟② 中,所述BP申請網絡算法主要包括兩個過程訓練過程和檢測過程,其中
訓練過程收集人臉樣本和非人臉樣本的圖像;歸一化預處理和特征提取得到對 應模式的特征向量,把其作為待分類兩種模式的訓練數據;使用這些訓練數據來訓練神經 元,根據某種學習規則不斷地對連接權值進行調整,最后使網絡具有某種期望的輸出;將訓 練好的神經元作為人臉圖像和非人臉圖像這兩類模式的分類器來識別這兩類模式;
檢測過程圖像預處理;利用金字塔的子采樣,在每層圖像金字塔上使用相應的 檢測窗口掃描整幅圖像;根據輸出值進行判別;人臉候選區域軸對稱。 按照本發明所提供的基于視頻的3D人臉表情動畫驅動方法,其特征在于,在步驟 ③中,所述主動形狀模型算法設置包括以下步驟
形狀建模 a、形狀定義n個二維點的表示的點分布向量,其數學表達如下x = 0q, . . . , xn,
y丄, , yn)T, b、特征點標定選取應該要包含需要提取的特征點,同時也包含一些輔助點并且 特征點分布的密度適當; C、對齊操作將N個點分布向量排列成序,分別編號,令;為平均形狀向量,且S初 始化為Xl,按順序將2 N個點依次對齊到該平均向量;,完成一次迭代后重新計算平均向 量;,并對齊到Xl,繼續迭代直至形狀收斂; d、PCA分析建立模型得到樣本集在主元方向上合理的形狀向量; 局部紋理建模對局部紋理行建模,獲取了關聯信息,為形狀搜索提供了足夠的先
驗知識; 目標搜索給定一副目標圖像,將建立的平均形狀模型置于初始位置,在形狀上每 一個目標標記點對應的搜索范圍中進行最優搜索,得到搜索后的形狀向量,通過計算該形 狀在模型中的參數,得到具有全局約束的合理形狀,重復迭代直至收斂或達到迭代次數上 限,輸出形狀即為目標圖像的搜索結果。 按照本發明所提供的基于視頻的3D人臉表情動畫驅動方法,其特征在于,在步驟 ③中,預測型meanshift算法步驟如下 a、利用BP神經網絡人臉檢測算法檢測到人臉區域,并用人臉框位置和大小初始 化meanshift的搜索窗口 ; b、利用膚色區域的顏色直方圖計算出各個色度值的分布概率,用圖像上每一點的 像素值所對應的概率值代替該點像素值得到概率分布 c、跟蹤窗口內的質心Mass center或重心,在離散二維概率分布圖像中,利用窗口 的零階矩M00和(x,y)的一階矩(M01,M10)之間的關系,計算得到窗口的質心;
d、調整跟蹤窗口的中心到質心mass center; e、重復步驟c和d,直到跟蹤窗口中心和質心會聚,即每次窗口移動的距離小于一 定的閾值。 按照本發明所提供的基于視頻的3D人臉表情動畫驅動方法,其特征在于,在步驟 ③中,利用預測型meanshift算法進行人臉跟蹤步驟如下 a、將整個圖像設為搜索區域,采用BP人臉檢測算法初始化搜索窗口的大小和位 置; b、計算搜索窗口內目標特征的概率分布,運行meanshift算法迭代獲得最佳搜索 窗口新的位置; c、將搜索窗口新位置作為觀測值傳遞給Kalman濾波器,運行Kalman濾波器預測 下一幀目標搜索窗口的位置; d、在下一幀視頻圖像中,用步驟c獲得的位置初始化搜索窗口的大小和位置,跳 轉到步驟b繼續運行。 本發明的有益效果本發明主要是通過對視頻幀中的人臉進行檢測及人臉特征點 定位及跟蹤并將其數據信息進行相應轉換后傳至動畫模塊,從而驅動3D人臉做出與視頻 中人臉具有相同表情的動畫。通過我們的方法,能夠實現在出現人臉大幅度運動、遮擋的長 時間人臉特征點跟蹤中的自動、實時、精確、魯棒的人臉特征點定位,并且當人臉在平面內 各個角度偏轉時的,仍然有較好的跟蹤結果,從而實現真實感的人臉動畫驅動效果。
圖1是本發明的系統結構流程圖;
圖2是BP神經網絡人臉檢測算法框架;
圖3是BP神經網絡訓練過程;
具體實施例方式
下面結合附圖對本發明作進一步描述 如圖1所示,本發明主要有四個部分組成圖像預處理;BP人臉檢測;增強的ASM 人臉特征點定位及跟蹤;數據信息轉換。在圖像預處理模塊,通過光線補償、高斯平滑及灰 度圖像的形態學操作增強圖像質量;在BP人臉檢測模塊,通過神經網絡算法檢測視頻中 的人臉,并將其位置大小返回,為下一步的人臉特征點定位提供更小的搜索范圍以保證實 時性;在視頻人臉特征點定位及跟蹤模塊,通過增強的主動形狀模型(ASM)算法及預測型 meanshift算法,精確提取人臉形狀、眼睛、眉毛、嘴巴、鼻子等特征點信息,并將確切位置返 回;在數據信息轉換模塊,主要是通過人臉特征點定位模塊得到的數據信息通過轉換后獲 知人臉的運動信息,如眨眼與否、張嘴大小及頭部轉動情況等。 首先,運用圖像預處理方法中的光線補償、高斯平滑及灰度圖像的形態學操作去 除由視頻采集設備帶來的隨機噪聲,提高圖像質量;其次,如果是第一幀,我們利用BP人 臉檢測算法獲取ASM算法人臉特征定位的初始位置并將人臉初始窗口用于初始化預測型meanshift算法的初始窗口 ,再進行增強型ASM算法的人臉特征點定位。如果不是第一幀, 則由預測型meanshift算法獲得7個不同角度的ASM算法搜索的初始形狀再加上由前一 幀搜索得到的最優形狀共八個初始形狀進行當前幀的增強型ASM搜索,最后通過判決函數 獲得最優形狀;再次,將得到的最優形狀通過轉換,獲得嘴巴張閉程度和眼睛眨眼與否信 息,并將其傳至動畫引擎驅動人臉作出相同表情的動畫。為了實現實時性,我們在能夠運行 CUDA的GPU下進行加速。 在增強的ASM人臉特征點定位及跟蹤階段,主要由以下四個部分組成 (D根據bp神經網絡人臉檢測算法、前后幀相關信息及預測型meanshift算法人
臉跟蹤結果,放入ASM搜索的初始形狀; (2)ASM形狀搜索; (3)局部紋理模型約束; (4)自適應最優形狀選擇。 下面對基于視頻的3D人臉表情動畫驅動系統的主要幾個部分的技術方法進行詳 細介紹。
( — ) BP神經網絡人臉檢測算法 在基于視頻的3D人臉表情動畫驅動系統中,視頻人臉檢測與跟蹤主要是為了獲 取視頻幀中人臉的確切位置,然后用方框的形式將其表示,并返回框的位置及大小,可以每 幀都通過檢測的方法獲得人臉框的大小和位置,但是這樣很大程度依賴于檢測方法的魯棒 性,并且加上后續一序列操作,很難讓系統達到實時。因此,我們在第一幀采用檢測的方法, 后續幀利用第一幀檢測的結果進行meanshift人臉框的跟蹤。采用第一幀人臉檢測,后續 幀人臉跟蹤的方法可以有效地減少每幀進行人臉檢測所花的時間,克服每幀進行人臉檢測 時檢測算法本身存在的局限,例如遇到偏頭、轉頭、遮擋等特殊動作時不能檢測的問題。在 本系統中,首先在第一幀采用ANN人臉檢測算法檢測出人臉,再將人臉框的位置作為預測 型Meanshift人臉跟蹤算法的初始化窗口 。 在本系統中,人臉檢測方法采用BP人工神經網絡算法。BP人工神經網絡人臉檢測 算法主要包括兩個主要步驟訓練過程和檢測過程。
它的基本原理是 采用3層以上的BP網絡取得足夠量的,N像素的人臉樣本和非人臉樣本,作為
神經網絡輸入的訓練樣本進行人工神經網絡的訓練,訓練過程中不斷調整網絡的權值和層
數,最后使網絡能將人臉和非人臉能很好的區分開來。然后用這個訓練的網絡對含有人臉
圖像的背景圖像進行搜索,找到符合條件的區域。利用BP神經網絡進行人臉檢測的算法框
架如圖2所示。下面對算法的兩個過程檢測和訓練分別進行介紹。 訓練過程 總體的訓練過程如下 (1)收集人臉樣本和非人臉樣本的圖像。 (2)歸一化等預處理和特征提取得到對應模式的特征向量,把他們作為待分類兩 種模式的訓練數據。 (3)使用這些訓練數據來訓練ANN,根據某種學習規則不斷地對連接權值進行調 整,最后使網絡具有某種期望的輸出。
(4)將訓練好的ANN作為人臉圖像和非人臉圖像這兩類模式的分類器來識別這兩 類模式。 在訓練前,我們根據人臉檢測的需要,首先應進行BP網絡的結構設計和樣本收 集;在訓練過程中,需要根據某種學習規則進行權值和閾值的調整。下面對BP網絡的結構 設計、樣本收集和BP網絡訓練的詳細過程進行詳細介紹。
BP網絡的結構設計
(1)輸入、輸出層的設計 為了避免人臉的關鍵信息丟失,而且能夠準確地檢測到人臉,我們采用的是 25X25大小的窗口。因此可將輸入層節點數設計為625,對應于25X25圖像窗口中按行展 開的各個像素。由于使用的是BP網絡作為分類器,輸出的結果要么是人臉要么是非人臉, 所以輸出層的節點數為2。
(2)隱層節點數的選擇 隱層節點數的選擇是一個十分復雜的問題。如果數目過少,網絡將不能建立復雜 的判斷界,訓練不出合適的網絡,或網絡不強壯,不能識別以前沒有看過的樣本,容錯性差; 但如果數目過多,就會使學習時間過長,網絡的泛化能力降低,而且誤差也不一定最佳,因 此存在一個最佳的隱層節點數。根據經驗公式"=V^ + a和r^ = 1og2n(其中n為輸入 神經元數,m為輸出神經元數,a為1 IO之間的常數)計算出隱含層節點數的取值范圍, 根據這個范圍作相關實驗,改變節點數,比較網絡收斂速度以及網絡分類的正確率,最終確 定出 一個理想的隱層節點數。 [ooee] (3)激勵函數的選擇 激勵函數的選擇對網絡的收斂性具有很重要的作用。按照BP算法的要求,這些神 經元所用的激勵函數必須是處處可導的,選擇的是S型函數 /(x)二:^^
l+e (1-1) 其中參數k越大,函數越平坦,網絡越容易收斂,但收斂速度慢;k小收斂速度快, 但容易產生震蕩。經過反復試驗發現,當k = 1時,誤差較小,收斂速度較快。
(4)初始值的選取 由于系統是非線性的,初始值對于學習是否到達局部最小和能否收斂的關系很 大,因此要求初始權值在輸入累加時使每個神經元的狀態值接近于零,這樣可保證一開始 時不落到那些平坦區上。 一般將權值和閾值的初始值置成接近于O的隨機值。如果收斂速 度太慢,則需要重新設置權值和閾值。
樣本收集 樣本收集包括人臉樣本的收集和非人臉樣本的收集。
(1)人臉樣本的收集 為了提高網絡的健壯性,收集各種不同類型的人臉樣本,為了得到更多的人臉樣 本,并提高旋轉不變性和亮度可變性的能力,對初始的人臉樣本集中的部分圖像進行一些 變換。在此基礎上,我們收集不同大小、不同膚色、不同表情、不同面部特征、不同方向、不同 亮度和有眼鏡、胡須等附屬物的各種不同類型的人臉樣本。[OO76] (2)非人臉樣本的收集 因為非人臉樣本圖像的空間遠比人臉圖像的空間要大,所以收集具有代表性的非
人臉樣本非常的困難。目前普遍采用的是"bootstr即"方法,其算法如下 a)從收集的部分場景和風景圖像中隨機地選取2000個子圖像作為非人臉樣本集
合,將其切割成大小為30X40,在檢測系統中設置掃描步長st印=C(C <= 19); b)使用上面得到的人臉樣本集和已有的非人臉樣本集訓練網絡。訓練后的理想結
果應該是人臉的目標輸出(0.9,0. l),非人臉的目標輸出(0.1,0.9); c)設置檢測的參數步長為現在的st印,使用上步中已經訓練好的網絡對不包含
人臉的圖像進行檢測,收集那些被錯誤地分為人臉的子圖像; d)如果st印等于1則停止,否則st印=st印-l ;如果所以這些子圖像的數目比 T(= 100)大則把他們加入到非人臉樣本集合中,使用前面的方法切割成大小為30X40,轉 到第2步,否則保存這些子圖像以待以后加入,轉到第3步。
BP網絡訓練 BP算法主要包括4步,這4步被分為兩個階段
(1)向前傳播階段 a)從樣本集中取一個樣本(XP, YP)將YP輸入網絡;
b)計算相應的實際輸出0P ; [OO87] (2)向后傳播階段 a)計算實際輸出0P與相應的理想輸出YP的差; b)按極小化誤差的方法調整權矩陣。 下面是一些參數說明 輸入層N; 中間層L; 輸出層M ; 輸入矢量X = (X。, X" XN—》;
中間層輸出矢量H = (h。, hn . hw);
實際輸出矢量Y = (y。, yi, yM—》;
目標輸出矢量D = (d。, d" dM—》;
:輸入單元i到隱單元j的權值; Wjk :隱單元j到輸出單元k的權值;
9k:輸入單元的偏差;
小j:隱單元的偏差;
<formula>formula see original document page 9</formula>
中間層各單元輸出A = /(Z A + A)
<formula>formula see original document page 9</formula>l 輸出層各單元輸出h = /(S『A、 + ~)
<formula>formula see original document page 9</formula>
訓練的詳細流程如圖3詳細的訓練過程如下 (1)選定訓練組。從人臉和非人臉樣本集中分別隨機地選取300個樣本作為訓練組。
(2)將各權值Vij,Wjk和閾值小j, 9kk置成小的接近于0的隨機值,并初始化精度
控制參數e和學習率a 。 0107] (3)從訓練組中取一個輸入模式X加到網絡,并給定它的目標輸出矢量D。 0108] (4)利用式(1)計算出一個中間層輸出矢量H,再用式(2)計算出網絡的實際輸出
矢量Y。
0109] (5)將輸出矢量中的元素yk與目標矢量中的元素dk進行比較,計算出M個輸出誤 差項
0110] Sk= (dk-yk)yk(l-yk) (1—2)
對中間層的隱單元也計算出L個誤差項
3;""1-、)1>#斥 ,、
"o (1_3)
(1-4) (1-5)
(1-6)
(6) 依次計算出各權值的調整量 AWjk(n) = (a/(l+L))*(AWjk(n-l)+l)*Sk*hj △Vij(n) = (a/(1+N))*( AVij(n-l)+l)* S j*Xj 閾值的調整量
A ek(n) = (a/(l+L))*(A e k(n-l)+1)* S k A((") = (a / (1 +丄))* (A^(" _ 1) + 1)*《
(7) 調整權值:
Wjk (n+1) = Wjk (n) + A Wjk (n) , (n+1) = (n) + A V". (n) (1-8) 閾值
ek(n+l) = 9k(n) + A ek(n),小j(n+l)=小」(n) + A小」(n) (1—9)
(8) 當k每經歷l至M后,判斷指標是否滿足精度要求E《e,其中E是總誤差
(1-7)
0112]
0113] 0114] 0115] 0116] 0117]
0118]
0119] 0120] 0121] 0122] 0123] 函數,且
0124] £ = ("「 A"
2 "0 ( 1-10)
0125] 如果不滿足,就返回(3),繼續迭代。如果滿足,就進入下一步。
0126] (9)訓練結束,將權值和閾值保存在文件中。這時可以認為各個權值已經達到穩
定,分類器形成。再一次進行訓練時,直接從文件導出權值和閾值進行訓練,不需要進行初
始化。 0127] 檢測過程
0128] 大致的檢測過程為首先,對于每個可能的待檢測區域,都使用訓練所得的ANN進 行人臉和非人臉的模式判別,得到一些可能的"人臉區域",然后使用一些后處理規則得到 最終的檢測結果。
0129] 詳細的檢測過程
0130] (1)圖像預處理。包括自適應亮度補償,灰度化和歸一化處理,直方圖均衡化處理。 (2)金字塔的子采樣。為了檢測任意大小任意位置的人臉,我們將利用金字塔的子 采樣,在每層圖像金字塔上使用25*25的檢測窗口掃描整幅圖像,步長為2像素,從上到下,從左到右掃描整幅圖像。 (3)根據輸出值進行判別。假設網絡的2個輸出單元分別是output(0)和 output (1)。如果output (0)的輸出值小于output (1),則該窗口為非人臉區;如果 output (0)的輸出值大于output (l),則該窗口為候選人臉區,這樣就得到了若干人臉候選 區域。 (4)人臉候選區域軸對稱。通過人臉候選區域軸對稱可以有效地減少錯誤人臉候 選框。 經過以上四步,可以得到一系列的重合窗口,如果重合窗口個數比某個閾值大,可 以確定這些窗口對應的位置有一個人臉,可以合并為一個檢測結果的對應窗口 ;然后把那 些與這個窗口有沖突的其它窗口去掉,得到最后的檢測結果。 因為我們需要的是對視頻人臉進行檢測,因此速度問題至關重要。由于利用ANN 進行人臉檢測時我們使用25*25的檢測窗口掃描整幅圖像,步長為2像素,從上到下,從左 到右掃描,這個過程可以并行,因此可以采用GPU加速進行處理。
( 二 )人臉特征點定位與跟蹤算法 ASM算法介紹在人臉特征定位階段,我們將使用Active shape model方法實現 特征點提取。ASM是一種基于統計模型的圖像搜索算法,通過對具有一定代表性的同一類 目標物體圖像進行統計建模,從而得到反應目標物體圖像二維形狀變化規律的形狀統計模 型。它的思想類似于snake,即定義一個能量函數,通過調整模型參數使能量函數最小化。 首先對一組標有特征點圖象(稱為訓練集的形狀)和局部灰度建模,然后在搜索過程中不 斷調節形狀和姿態參數從而使形狀達到最優化。 下面從形狀及局部紋理建模和目標搜索兩個方面討論ASM算法應用于人臉特征 提取。 形狀及局部紋理建模 形狀及局部紋理建模的過程是一個訓練的過程,需要大量的人臉樣本作為訓練 集。 形狀建模形狀建模的目的是為目標圖像中的特征提取提供模型信息,建模過程 中得到的統計結果可以得到一系列的形狀表達。這里,首先給出形狀(Sh即e)的定義n個 二維點的表示的點分布向量。其數學表達如下
x = (Xl, , xn, yi, , yn)T (2-1) 每個點分布向量在相似變換下具有不變性,即存在形狀Xi和形狀Xj,若對形狀Xi
施加相似變換T,有Xj二T(Xi)成立,則形狀Xi和形狀Xj是同一形狀。保證相似變換下的
不變性意味著模型形狀不受縮放,旋轉,平移的影響。 在形狀建模階段主要包括以下幾個步驟 (1)特征點標定; (2)對齊操作; (3) PCA分析建立形狀模型。 下面對三個步驟分別進行描述。 特征點標定 該步驟通常是通過人工手動選取特征點,形成形狀樣本。特征點的選取應該要包含需要提取的特征點,同時也包含一些輔助點并且特征點分布的密度適當。在這里參考 XM2VTS人臉庫的選點方式,采集1000個樣本圖片,每個樣本手工選取68個特征點,形成的 形狀向量為136維。
對齊操作 根據上面開始部分對形狀的定義,形狀應該在相似變換下具有不變性,所以需要 消除縮放,旋轉,平移對步驟1采集的1000個點分布向量的影響,即對齊形狀向量樣本。形 狀對齊的流程是將1000個點分布向量排列成序,分別編號Xl, . . . , x,。,令S為平均形狀 向量,且;初始化為x"按順序將x2,. . . , x1Q。。依次對齊到該平均向量;,完成一次迭代后重 新計算平均向量;,并對齊到A,繼續迭代直至形狀收斂。在這里,收斂是指連續兩次迭代 之后的平均向量;與?有|/|;|《e成立,e是一個小于l的正數。 0153] 給定兩個形狀向量Xi和Xj的對齊問題,可以表達為解min D= | T(x》-Xj |2的優 化問題。對于二維向量的相似變換有<formula>formula see original document page 12</formula>其中s是縮放參數,e是旋轉參數,、和ty是平移參數。有 <formula>formula see original document page 12</formula>令<formula>formula see original document page 12</formula>
解得<formula>formula see original document page 12</formula>
不失一般性,假設Xi平移到原點, 有<formula>formula see original document page 12</formula>帶入得<formula>formula see original document page 12</formula>:0170] s. sin 9 = ( E xikyjk- E yikxjk) / | x丄|2
:0171] 帶入公式2-2,得到T。由此,可以得到形狀對齊算法如下
:0172] St印l :將Xl, . . . , x1Q。。的中心平移至原點。
:0173] St印2 :選取A為初始向量,并將其歸一化,S卩|Xl| = 1。
:0174] St印3 :令S為平均形狀向量,;=Xl。
:0175] St印4 :將所有形狀向量與平均形狀向量;對齊。
:0176] St印5 :重新計算對齊以后的形狀向量的平均形狀向量L
:0177] St印6 :平均形狀向量S與^對齊,并歸一化,g卩|;| = 1。
:0178] St印7 :如果不收斂,轉向St印4。
:0179] 經過算法迭代后,稱形狀向量Xl, . . . , Xl。。。對齊到L
:0180] PCA分析建立模型
:0181] 經過形狀對齊后,形狀向量消除了縮放,旋轉和平移的影響,可以得到樣本形狀的 分布情況,設;是樣本形狀向量的數學期望值即中心,形狀變量沿某方向(p)變化,若有
:0182] X = X+Pb (2-4)
:0183] 成立,則通過改變b可以得到不同的形狀。若p是該136維空間的主軸方向,則x 在樣本集中的概率最大。利用主元分析(PCA)可以得到樣本集在分布空間中的主方向。算 法如下
①計算經過校準的形狀向量的均值
《
:0184] :0185] :0186] :0187] :0188]
一1 w
② 計算校準后的形狀向量的協方差矩陣
③ 計算S的特征向量與特征值。設特征值入i對應的特征向量是ei,則^也是協 方差矩陣的特征值,對應的協方差矩陣特征向量是Dei,令e' i = normalize (Dei)。 :0189] ④將特征值降序排列,A i+1 > A i,/g[l,"],取前t個較大的特征值,使得
0190]
0191]
'#自
l是自定義的閾值,在我們的應用中,取l為0.95,表示保留原訓練樣本95%的
0192] ⑤令p二(e' l|...|e' 11),則任何形狀可表示為X =文+Pb。 0193] 為了避免產生奇異形狀,我們限制了b值的范圍I6,I《3V^。 0194] 局部紋理建模
0195] 經過上述三個步驟和對向量b量取值范圍的限定,得到了主元方向上合理的形狀 向量。接下來,根據形狀的點分布模型綁定圖像局部結構信息,建立局部紋理模型。
令Pij, (1《i《30, 1《j《68)為樣本圖像集中第i個訓練樣本上的第j個特 征標記點,在過Pij的法線方向上進行像素點灰度值采樣,其中k個像素點位于指向曲率中
13心一側,k個像素點位于背離曲率中心一側,并gij所在位置采樣一個像素點,共計采樣像素 點2k+l個,稱該2k+l個像素點組成的像素區域為特征標記點的特征結構(Profile),本文 取k = 8。 與pij對應的特征結構的數值用向量gij表示,gijk是向量gij的第k個分量,對應 特征結構中的第k個像素的灰度值。依據步驟2)的原理,在形狀建模中不應該包含縮放, 旋轉,平移等位置和尺度信息對統計模型影響,同樣,在建立局部結構模型的統計過程中, 同樣應該消除全局顏色和光照強度對灰度值統計的影響,對gij進行差分處理能夠簡便的 達到目的。有
<formula>formula see original document page 14</formula> 對指定的標記點Pj對應集合{dgj} = {dglj, dg2j, , dgij) (1《j《68)。假設{dgj}服從多元高斯分布,按照下面算法進行建模
St印l :j = 1。
St印2 :計算Pj對應特征結構的均值= ( E idgij) /N。 St印3 :計算Pj對應特征結構的協方差矩陣Sj = ( E i (dgirdl) (dgirdl) t) /N。
St印4 :j — j+l,如果j《68,轉向St印2。 通過建模,獲取了形狀模型與局部紋理模型的關聯信息,為形狀搜索提供了足夠
的先驗知識。 目標搜索 目標形狀搜索是指,給定一副目標圖像,將2. 1. 1節建立的平均形狀模型置于初 始位置,在形狀上每一個目標標記點對應的搜索范圍中進行最優搜索,得到搜索后的形狀 向量,通過計算該形狀在模型中的參數,得到具有全局約束的合理形狀,重復迭代直至收斂 或達到迭代次數上限,輸出形狀即為目標圖像的搜索結果。算法步驟如下
St印l :將平均形狀向量;置于初始位置。 St印2 :找到點分布模型上的每一標記點的最近最優新位置,即局部紋理匹配,得 到形狀x'。 St印3 :將形狀x'匹配到形狀分布空間,更新參數相似矩陣T和形狀變量b,得到 約束下的形狀x〃 。 St印4 :如果形狀沒有收斂且未達到迭代上限,轉向St印2。 接下來對該算法中的局部紋理模型匹配和模型約束兩個問題進行討論。
(1)局部紋理模型下的形狀搜索 通過局部紋理模型建模可知,每一個模型標記點Pj都綁定了一個特征結構差分向 量(2k維)的統計模型〈dl, Sj〉,同時,在目標圖像的一次迭代搜索過程中,每一個目標標 記點P' j也對應一個特征結構差分向量dg' j,有 <formula>formula see original document page 14</formula>
公式2_8是dg' j到的馬氏距離(Mahalanobis Distance)中f (dg'》與 log(p(dg' j))具有線性關系,意味著dg' j與c^越相似,f(dg' j)越趨近于O(log(l) =0)。 為了確定搜索范圍,采取與標記點特征結構類似的方法,在過目標標記點p' j的 法線方向上進行像素點灰度值采樣,其中m(m > k)個像素點位于指向曲率中心一側,m個 像素點位于背離曲率中心一側,加上P' j所在像素的采樣,共計2m+l個采樣像素,本文取 m= 11。設置搜索窗口,令模型標記點Pj對應的特征結構的大小為窗口大小,窗口在搜索 范圍中移動,找到f(dg' j)最小的位置,本文中每次迭代比較3次(k = 8)。
經過每個目標標記點的搜索,得到形狀x',該形狀是一次迭代中與局部結構最為 吻合的形狀,但該模型不能保證最大可能來自形狀模型的分布空間,因此還需要計算全局 約束。 (2)模型約束 對形狀進行約束是指在形狀模型的分布空間找到局部結構下搜索得到的形狀最 為近似的形狀,作為下一次迭代開始時的形狀或最終輸出結果。其目地是保證目標形狀符 合訓練樣本的統計分布規律,避免形狀變化過大。根據2. 1. 1節的推導,通過公式2-4生成 的模型,在對b進行限制后,能夠滿足模型全局約束的要求。 由于在形狀建模過程中,消除了縮放,旋轉,平移等位置和尺度的因素對形狀的影 響,故還需要考慮生成形狀與原始形狀的對齊問題。 上述分析可以表達為,x'是局部搜索后的形狀,x"是約束后的形狀,根據公式 2-4,有x"=〗+pb。 令T為相似變換矩陣,有D = |T(x〃 )-x'2,即D = | T (;+pb)-x' |2。
解當D取得最小值時的優化問題。利用迭代法求解的算法如下
St印l :b = 0。
St印2 :計算x〃 = ;+pb。 St印3 :參照公式2-3的St印2 :計算x〃 二S+pb。解法,解min D= |T(x〃 )-x' |2, 得到相似變化矩陣T。 St印4 :將x'對齊x〃 ,令i" = T—'x"。
St印5 :縮放i",S" —i7F'玄。
St印6 :解得b二pT(i〃一10 St印7 :bi是b的第i分量,使得所有分量滿足|6,|《3# 。
St印8 :如果b不收斂,轉向St印2。 通過對局部搜索后的形狀進行約束,得到的形狀最大程度上滿足模型的統計分布 和局部結構上的最優。 增強的ASM人臉特征點定位與跟蹤 圖像預處理在人臉檢測研究中,檢測對象大多是由圖像捕捉設備所采集的數字 圖像或視頻流中的數字圖像序列,而采集條件尤其是光照條件,包括光源的方向,明暗,色 彩等都會對圖像的效果產生很大的影響,從而影響到對彩色圖像中人臉的正確檢出率.相 關的研究表明,同一個人的人臉圖像在不同的光照條件下,利用各種主流的人臉檢測方法 進行特征提取后引起的差異,往往要大于不同的人在相同光照條件下,利用相同的方法進
15行特征提取后引起的差異.因此,非常有必要在進行人臉檢測前對圖像進行光照補償處理,使圖像中的人臉區域能夠得到增強。在此,使用的是"參考白"光線補償算法,其算法過程如下 (1)將整個圖像中所有像素的亮度從高到低進行排列,取前5%的像素(如果這些像素的數目足夠多,例如大于100); (2)將這些像素的亮度作為"參考白",即將它們的色彩的R、 G、 B分量值都調整為最大的255 ; (3)將整幅圖像的其它像素點的色彩值也都按這一調整尺度進行變換。 除此之外,由于圖像在攝取過程中受到攝取器件和周圍環境的影響,會使攝取到
的圖像中含有噪聲,而噪聲對圖像處理的結果有時會產生很大的負面影響。噪聲通常是隨
機產生的,因而具有分布和大小的不規則性,有些噪聲和圖像信號互相獨立,互不相關,有
些是相關的,噪聲本身之間也可能相關.因此要減少圖像中的噪聲,必須針對具體情況采
用不同的方法,否則很難獲得滿意的處理效果.從本質上講,圖像去噪的方法都是低通濾
波的方法,而低通濾波在消除圖像噪聲的同時,也會消除圖像的部分有用的高頻信息,因
此,各種去噪方法的研究實際是在去噪和保留高頻信息之間進行的權衡.在此,我們使用
高斯低通濾波進行圖像平滑降低皮膚細紋的銳化程度并且去除一些小的亮點。然而,由于
噪聲的隨機性,單靠高斯平滑是不能去除多余的噪聲的,在此,我們既高斯濾波后采用灰度
圖像的形態學操作來去除其余的與皮膚顏色相近的噪聲點。在我們的系統中,我們采用的
是灰度圖像的開運算即先腐蝕后膨脹,去除其他與膚色相近和不規則的亮點,同時保持所
有灰度級和較大的亮區特性相對不變。腐蝕和膨脹過程中,我們選擇的結構元素均為3*3
的長方形結構元素。 增強的ASM局部約束 局部定位增強主要是針對搜索時原始ASM只利用了局部紋理信息,局部約束力不強而導致某些點搜索不準確而提出的。 在特征點局部紋理模型匹配階段,由于所有點的搜索只是在它的垂直法線方向上進行,沒有一個整體的約束,致使有些點的搜索結果偏離目標點太遠,而使得整個搜索的目標形狀不佳。因此,對于當前搜索點,采用其馬氏距離和鄰居點馬氏距離的加權和代替原始ASM的單純一個點的馬氏距離。在特征點越密集的情況下,這樣得到的效果越好,但是特征點越密集,訓練時間越長,并且搜索時間也越長。在我們的系統中,我們的特征點分布比較均勻,我們將加權馬氏距離與原始ASM的單點馬氏距離結合。 設模型中profile長度為2k+l,目標圖像中profile長度為2m+l (m > k)。對于當前點,假設它在j這個位置,我們這樣來尋找它的最佳位置 (1)比較在j位置的馬氏距離和加權馬氏距離,取他們的最小值MINj ;且令mindistance = MINj, i = j, flag = i ; (2)計算j+l時候的馬氏距離和加權馬氏距離,取他們的最小值MIN(j+l); (3)比較mindistance禾口 MIN(j+l)的大小,如果mindistance > MIN(j+l),則
mindistance = MIN(j+l) , i = j+l, flag = i ; (4) j+十,返回(2); (5)若j > = 2 (m-k) +1 ,結束。
搜索完成后flag即為當前點的最優搜索結果。
多初始形狀的ASM人臉特征定位與跟蹤 由于ASM算法對初始形狀的位置比較敏感, 一旦初始形狀位置不佳,就會影響到以后的搜索結果,甚至陷入局部最小。為此,我們采用多個起始形狀進行搜索再確定一個最優形狀。具體做法如下
(1)利用前一幀搜索得到的結果 考慮到視頻幀之間的連續性,在視頻幀連續性比較好的視頻中兩幀之間的差異不
會太大,因此我們可以將上一幀的搜索結果作為當前幀的起始形狀。這樣做的好處在于當
兩幀之間人臉運動差異比較小時,上一幀的搜索結果已經與當前幀的目標人臉非常接近,
在利用ASM對每個點搜索時,需要迭代的次數就相對減少,同時搜索方向也越接近目標點
所在方向,這樣在一定程度上提高了每個點搜索的準確性并且節省了搜索時間。 但是在現實中,人臉運動是隨機的,這樣并不能保證所有的視頻幀之間連續性都
很好。當遇到相鄰兩幀之間連續性不好時,用上一幀的搜索結果作為起始形狀,則已經偏離
目標人臉,這樣ASM極容易陷入局部最小。當當前幀的搜索結果已經陷入局部最小,但它仍
作為下一幀的起始形狀,這樣惡性循環,致使后面所有幀的搜索結果都陷入局部最小,從而
導致從不連續的那幀開始以后的所有幀都沒有好的搜索結果使得人臉特征點跟蹤失敗。 (2)利用meanshift進行人臉跟蹤 為了解決人臉突然快速移動導致視頻幀連續性不好時ASM陷入局部最小,我們有必要知道每幀里人臉區域的準確位置,根據這個人臉區域位置我們再放入有效的初始形狀,這樣就能得到好的搜索結果。因此引入meanshift算法進行人臉跟蹤。
Meanshift算法利用視頻圖像中運動物體的顏色直方圖的反投影作為匹配模板來達到實時的人臉跟蹤的目的,它是目前較為流行的無參數模式快速匹配算法。Mean Shift算法的基本思路為從每個像素開始,首先估計有相似顏色的鄰近像素點的密度(局部密度)的梯度,而后利用迭代算法求出局部密度的峰值(即重心點),把能夠聚類到同一個峰值點的所有像素點劃分成一個區域。Meanshift算法存在半自動跟蹤的缺陷,在起始跟蹤幀,需要通過手動確定搜索窗口來選擇目標。在我們的系統中,我們將第一幀利用BP網絡進行人臉檢測的結果作為Meanshift的初始化窗口以實現全自動解決方案。
Meanshift算法步驟如下 (a)利用BP神經網絡人臉檢測算法檢測到人臉區域,并用人臉框位置和大小初始化meanshift的搜索窗口 。 (b)利用膚色區域的顏色直方圖計算出各個色度值的分布概率,用圖像上每一點的像素值所對應的概率值代替該點像素值得到概率分布圖。 (c)跟蹤窗口內的質心Mass center (或重心)。在離散二維(2D)概率分布圖像中,計算某窗口的質心同物理上計算某物體的質心一樣,即利用窗口的零階矩MOO和(x, y)的一階矩(MOI,MIO)之間的關系,計算得到窗口的質心。
(d)調整跟蹤窗口的中心到質心mass center。 (e)重復(c)和(d),直到跟蹤窗口中心和質心"會聚",即每次窗口移動的距離小于一定的閾值。 Meanshift算法計算量小,實時性好,在簡單背景環境中能取得較好的跟蹤效果。
17但是由于缺乏必要的模型更新,當進行長時間匹配跟蹤時,目標常因存在外觀變化導致模型不能很好刻畫當前的目標特征,特別是當目標跟蹤背景中存在與人臉膚色相近或者目標存在嚴重遮擋等干擾時,會造成相似度度量的失敗從而丟失匹配目標。
(3)利用預測型meanshift算法進行人臉跟蹤 為了解決在meanshift跟蹤過程中出現與膚色相近或相同的目標時導致人臉跟蹤失敗的問題,我們需引入估計器預測人臉目標的運動參數。 Kalman濾波器是一個對動態系統的狀態序列進行線性最小方差誤差估計的算法,它通過狀態方程和觀測方程來表示系統。在我們的人臉跟蹤過程中,采用meanshift和kalman濾波結合,達到一個魯棒的人臉跟蹤效果,對遮擋、偏頭、轉頭都有好的跟蹤效果。其執行過程如下 (a)將整個圖像設為搜索區域,采用BP人臉檢測算法初始化搜索窗口的大小和位置。 (b)計算搜索窗口內目標特征的概率分布,運行meanshift算法迭代獲得最佳搜索窗口新的位置。 (c)將搜索窗口新位置作為觀測值傳遞給Kalman濾波器,運行Kalman濾波器預測下一幀目標搜索窗口的位置。
(d)在下一幀視頻圖像中,用c)獲得的位置初始化搜索窗口的大小和位置,跳轉
到b)繼續運行 (4)最優形狀決策 通過第三步,我們得到了一個魯棒的人臉跟蹤結果,現在我們需要在跟蹤到的人臉區域中放置合適的start sh即es考慮到人臉運動的隨機性,我們采用了多個角度的start shapes同時進行ASM搜索,然后再通過判決選出一個最好的搜索結果。在startshape的選取上,我們先將模型形狀通過仿射變換正面放入人臉框內,即此時的偏轉角度為0.然后再在這個模型的基礎上進行旋轉縮放,產生-60,45, -30,0,30,45,60的7個起始形狀。 雖然在幀連續性不好的情況下利用上一幀信息作為當前幀的初始形狀會有不好的搜索結果,但是在一般情況下得到的結果要優于利用人臉框取得初始形狀再進行搜索的結果,因此我們將上一幀的搜索結果也加入到當前幀的起始形狀中。在此,我們利用了八個初始形狀。 搜索結束以后,我們將面臨兩個問題.首先,對于8次ASM搜索,搜索時間將會大
大增加,我們如何保證實時性?第二,有八個結果形狀,我們應該怎樣決策才能選出其中最
優的一個?對于第一個問題,我們選擇利用GPU進行加速來保證實時性。對于第二個問題,
沒有合適的函數對整個形狀進行衡量。考慮到每個點搜索時候的最佳匹配的馬氏距離公
式fj(gj) = (gi-^Si—、gi-S),其對數與gi成線性關系,因此用每個形狀已經搜索得到最
優點對應的每個點的馬氏距離和最小來衡量整個形狀的好壞是合理的。 假設某個形狀的其中 一 個點gj的最優搜索結果對應的馬氏距離是
/'ra, =M''"[//g,)],則整個形狀的衡量標準為g, / '^,因此最優的結果形狀即為min ""=《,/Li。對應的形狀。
(三)數據信息轉換 人臉特征點跟蹤完成以后,我們得知人臉上每個特征的精確位置,包括眼睛、鼻子、嘴巴和臉型輪廓。但是由于ASM算法模型的限制,在遇到眼睛睜閉和嘴巴動作幅度比較大的時候,不能準確得知眼睛和嘴巴的準確信息。要與動畫結合,我們需要從二維的視頻幀中提取用于驅動動畫必要的三維信息,因此,要實現信息之間的轉換。在動畫系統中,最重要的面部器官即嘴巴、眼睛和眉毛。人臉特征點跟蹤完后我們利用其幾何關系,知曉嘴巴的張開的大小,眼睛部分采用模板匹配的方法知曉睜閉情況。以此完成視頻驅動三維人臉動畫系統。 眼睛睜閉信息轉換利用ASM定位完成以后,可知曉雙眼位置,但是由于ASM訓練模型的限制,在出現眼睛閉著的時候不能準確給出眼睛輪廓的精確位置。由于在動畫模塊我們需要傳遞的信息只是眼睛睜閉的狀態,因此,可以通過ASM檢測到的大概眼睛位置,再進行眼睛部分處理獲得眼睛睜閉信息。 由于眼睛具有灰度不變的特征,在本系統中,假設視頻或者攝像頭的第一幀均為睜眼狀態,并將第一幀的眼睛區域作為睜眼狀態的模板,后續幀與模板比較得到睜閉眼的狀態。具體做法如下獲得眼睛區域的灰度圖像;分別計算第一幀視頻圖像中左右兩只眼睛區域所有點灰度值的和,并計算其平均值,將其作為參考值;計算當前幀左右眼睛區域灰度值的平均值,并與第一幀的數據進行比較,如果左右兩只眼睛的平均灰度值均與與第一幀的平均灰度值相差不大,則可判斷為睜眼狀態,反之為閉眼狀態;若為睜眼狀態,返回1 ;反之返回0。 通過以上三個步驟,我們可以獲取每幀圖像中人眼的睜閉狀態,并將其傳至動畫模塊。 嘴巴輪廓信息獲取 利用ASM實現人臉特征點的定位與跟蹤后,雖然嘴巴輪廓的點在嘴巴說話的情況
下會出現跟蹤不準確,但是嘴巴的大致位置仍然是準確的,因此可用ASM跟蹤結果定位嘴
巴區域,然后再精確定位嘴巴輪廓。
算法如下 1、得到嘴唇部分圖片 圖片大小最好是嘴巴部分的兩倍,即圖片的高是上下嘴唇高度的兩倍,寬是左右嘴角長度的兩倍。 2、用OpenCV里的函數對圖片進行操作,取出圖片各個像素的顏色值,即RGB值,并將其存儲起來 3、將像素點的RGB轉換成LAB空間值。
<formula>formula see original document page 19</formula> X = X/(255*0. 950456); Y = Y/255. 0 ; Z = Z/(255. 0*1. 088754);
如果t > 0. 008856f (t) = t1/3 t = X, Y, Z ;否則f (t)
如果Y > 0. 008856, L* = 116. 0*f (Y)_16. 0+0. 5 ;
否則,L* = 903. 3*(7. 787*Y+16. 0/116. 0)+0. 5。
AlP 8*分別為
A* = 500. 0* (f (X) -f (Y) )+0.5;
B* = 200. 0* (f (Y) -f (Z) )+0.5;
4、計算AHab,即色彩角
△ L L sampie L standard
A a — a s卿le a standard
A h* = h* ~h*
u u sample " standard
7. 787*t+16. 0/116. 0
AE* = VaL*2 +Aa*2 + Ab*2
c* = Ja*2 +b*2
A r* = r* _r*
" "sample " standard
△h* = vae*2 - al*2 - ac*2
5、分別計算AHab和Af的直方圖,閾值、最大最小值。通過這些值計算得到相關即模糊函數的參數
(a) A (a*)
Mi-Aw一eM2-4
w一bw一f
w_cw_g
w—dw一h
SkinLiplwidthcenterrwidthcenterrwidth
CT Xw_ao xw_bd Xw—c0 Xw一d
(b) A(hab)SkinLiplwidthcenterrwidthlwidthcenterrwidth
。Xw』0 Xw—h0 xw—e0 Xw_f
(a) w—a到wji的計算 (b)成員函數參數的計算 其中,K1和K2值是通過0tsu(大津法)找出的。
6、模糊函數的應用
其中,得到的是函數y (x).
Fjx) = ii (x) ;F2(x) = 7^
7、搜索過程 當掃描的時候,無論是a區還是|3區,都是從邊界到中心的方向。 當掃描a區時,假設3*3結構的中心點為觀測點,取左邊的點為比較鄰接點;當掃
描13區時,取右邊的點為比較鄰接點。 按照上述的結構,分別將每個像素點的A*和AHab代入rulel和rule2,得到值Yl、 Y2. 1確定兩個圈子W工和W2.則每個像素點的Z值為 ~~^ 8、分區判斷 現假設觀測點的值為Z"鄰接點的值為Z2. 假設觀測點為嘴唇點,而鄰接點為皮膚點,即Z工代表嘴唇點值,Z2代表皮膚點值。 如果Z2 > Z工and A Haba > 3. 0,則觀測點確實為嘴唇點;
20
如果Z丄< 0. 10 and Z2 < 0. 10,則觀測點為皮膚點;
如果Zl > Z2,則觀測點為嘴唇點;
其他,觀測點為皮膚點; 在分區的時候,注意將圖片轉換為二值圖,即嘴唇點為黑色,皮膚點為白色。
9、膨脹腐蝕 由于在判斷過程中,可能會產生噪聲點,需要對圖像進行膨脹和腐蝕操作,來消除
噪聲點的影響。 10、曲線擬合 經過以上過程,得到了嘴唇區域的大概區域,但是還不足以描述嘴唇區域,所以需要對嘴唇區域進行曲線擬合,本方中采取三次樣條曲線來擬合。通過找出左右區域最左和最右的兩個點,得到相關坐標。然后將區域分為N份,通過曲線擬合的方法模擬出一條曲線,盡可能地圈住所找出的區域。
權利要求
一種基于視頻的3D人臉表情動畫驅動方法,其特征在于,包括以下步驟①圖像預處理通過光線補償、高斯平滑及灰度圖像的形態學操作增強圖像質量;②BP人臉檢測通過BP神經網絡算法檢測視頻中的人臉,并將其位置大小返回,為下一步的人臉特征點定位提供更小的搜索范圍以保證實時性;③ASM人臉特征點定位及跟蹤通過增強的主動形狀模型算法及預測型meanshift算法,精確提取人臉形狀、眼睛、眉毛、嘴巴、鼻子特征點信息,并將確切位置返回;④數據信息轉換通過人臉特征點定位跟蹤步驟得到的數據信息通過轉換后獲知人臉的運動信息。
2. 根據權利要求1所述的基于視頻的3D人臉表情動畫驅動方法,其特征在于,步驟② 中,所述BP申請網絡算法主要包括兩個過程訓練過程和檢測過程,其中訓練過程收集人臉樣本和非人臉樣本的圖像;歸一化預處理和特征提取得到對應模 式的特征向量,把其作為待分類兩種模式的訓練數據;使用這些訓練數據來訓練神經元,根 據某種學習規則不斷地對連接權值進行調整,最后使網絡具有某種期望的輸出;將訓練好 的神經元作為人臉圖像和非人臉圖像這兩類模式的分類器來識別這兩類模式;檢測過程圖像預處理;利用金字塔的子采樣,在每層圖像金字塔上使用相應的檢測 窗口掃描整幅圖像;根據輸出值進行判別;人臉候選區域軸對稱。
3. 根據權利要求1所述的基于視頻的3D人臉表情動畫驅動方法,其特征在于,在步驟 ③中,所述主動形狀模型算法設置包括以下步驟形狀建模a、 形狀定義n個二維點的表示的點分布向量,其數學表達如下X二 (Xl, ..., Xn,y丄, , yn)T,b、 特征點標定選取應該要包含需要提取的特征點,同時也包含一些輔助點并且特征 點分布的密度適當;c、 對齊操作將N個點分布向量排列成序,分別編號,令;為平均形狀向量,且;初始化 為Xl,按順序將2 N個點依次對齊到該平均向量L完成一次迭代后重新計算平均向量;, 并對齊到A,繼續迭代直至形狀收斂;d、 PCA分析建立模型得到樣本集在主元方向上合理的形狀向量;局部紋理建模對局部紋理行建模,獲取了關聯信息,為形狀搜索提供了足夠的先驗知識;目標搜索給定一副目標圖像,將建立的平均形狀模型置于初始位置,在形狀上每一個 目標標記點對應的搜索范圍中進行最優搜索,得到搜索后的形狀向量,通過計算該形狀在 模型中的參數,得到具有全局約束的合理形狀,重復迭代直至收斂或達到迭代次數上限,輸 出形狀即為目標圖像的搜索結果。
4. 根據權利要求1所述的基于視頻的3D人臉表情動畫驅動方法,其特征在于,在步驟 ③中,預測型meanshift算法步驟如下a、 利用BP神經網絡人臉檢測算法檢測到人臉區域,并用人臉框位置和大小初始化 meanshift的搜索窗口 ;b、 利用膚色區域的顏色直方圖計算出各個色度值的分布概率,用圖像上每一點的像素 值所對應的概率值代替該點像素值得到概率分布圖;c、 跟蹤窗口內的質心Mass center或重心,在離散二維概率分布圖像中,利用窗口的零 階矩M00和(x,y)的一階矩(M01,M10)之間的關系,計算得到窗口的質心;d、 調整跟蹤窗口的中心到質心mass center ;e、 重復步驟c和d,直到跟蹤窗口中心和質心會聚,即每次窗口移動的距離小于一定的 閾值。
5.根據權利要求1所述的基于視頻的3D人臉表情動畫驅動方法,其特征在于,在步驟 ③中,利用預測型meanshift算法進行人臉跟蹤步驟如下a、 將整個圖像設為搜索區域,采用BP人臉檢測算法初始化搜索窗口的大小和位置;b、 計算搜索窗口內目標特征的概率分布,運行meanshift算法迭代獲得最佳搜索窗口 新的位置;c、 將搜索窗口新位置作為觀測值傳遞給Kalman濾波器,運行Kalman濾波器預測下一 幀目標搜索窗口的位置;d、 在下一幀視頻圖像中,用步驟c獲得的位置初始化搜索窗口的大小和位置,跳轉到 步驟b繼續運行。
全文摘要
本發明公開了一種基于視頻的3D人臉表情動畫驅動方法,包括以下步驟①圖像預處理通過光線補償、高斯平滑及灰度圖像的形態學操作增強圖像質量;②BP人臉檢測通過BP神經網絡算法檢測視頻中的人臉,并將其位置大小返回,為下一步的人臉特征點定位提供更小的搜索范圍以保證實時性;③ASM人臉特征點定位及跟蹤通過增強的主動形狀模型算法及預測型meanshift算法,精確提取人臉形狀、眼睛、眉毛、嘴巴、鼻子特征點信息,并將確切位置返回;④數據信息轉換通過人臉特征點定位跟蹤步驟得到的數據信息通過轉換后獲知人臉的運動信息。該方法能克服現有技術中所存在的缺陷,能夠實現真實感的人臉動畫驅動效果。
文檔編號G06T15/70GK101739712SQ20101010056
公開日2010年6月16日 申請日期2010年1月25日 優先權日2010年1月25日
發明者于佳麗, 呂建成, 周激流, 張蕾, 彭德中, 王平安, 章毅, 鄭伯川 申請人:四川大學