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