由于缺乏語言環(huán)境和專業(yè)外教,在學(xué)外語時我們往往會遇到很多困難,即便經(jīng)過了努力的訓(xùn)練,最終練就的總是看得懂、寫得了但是卻說不出的啞巴外語。而微軟亞洲研究院開發(fā)的新技術(shù)則改善了這一問題,將免費外教帶到了我們身邊。
被稱為3D Photo-Realistic Talking Head的技術(shù)可以為用戶生成虛擬3D頭像,該3D頭像可以讀出輸入的文本,而且口型與語音能夠與原用戶十分近似。更為神奇的是,該3D頭像不僅可以讀出原用戶從未說過的母語,通過與跨語言的TTS語音合成技術(shù)結(jié)合,該3D頭像甚至還能精準(zhǔn)地說外語。在前段時間微軟研究院成立20周年的慶?;顒又校④泚喼扪芯吭菏状握故玖宋④浭紫芯颗c戰(zhàn)略官克雷格#8226;蒙迪的3D頭像,在現(xiàn)場演示中該3D頭像不僅用英文與我們打招呼,還用中文與我們“聊”了一段。
尋找基本音素
Talking Head的核心技術(shù)在于實現(xiàn)口型合成及語音合成,并將合成的語音與口型相互匹配,即可生成最終的虛擬影像。
口型和語音合成的前提條件是數(shù)據(jù)庫中包含了一種語言可能發(fā)出的各種音調(diào)和口型,即便是讓Talking Head模型去說全新的一段話,只要借助數(shù)據(jù)庫中預(yù)先錄制的基本音素和口型,同樣可以拼接出十分真實的語音和口型。事實上,基本的音素數(shù)據(jù)庫遠沒有想象中大,比如在錄制必應(yīng)詞典英文的口模視頻時,被選中的口模只是在攝像機前錄制了幾百個句子,就完成了數(shù)據(jù)庫的建立,該數(shù)據(jù)庫將包括幾乎所有英語會用到的口型、發(fā)音以及大部分音與音的起承轉(zhuǎn)合。
在對數(shù)據(jù)庫進行建模時,微軟亞洲研究院的研究員們采用了原來廣泛用于語音識別的隱馬爾可夫模型,這是一個基于統(tǒng)計的模型,并且允許數(shù)據(jù)在時間上具備延展性,這種延展性可以幫助我們忽略兩次相同內(nèi)容發(fā)音的差異,并進而抓取出兩次發(fā)音的共同特征。在隱馬爾可夫模型中一個音將被分為3段,比如發(fā)出“啊”音時,在模型中會被分為與前一個音銜接的階段、聲音穩(wěn)定階段、與下一個音的銜接階段。無論這個“啊”聲音調(diào)和長短如何變化,這3個階段的特征總是不會改變的。使用這個模型分析之前錄制的數(shù)據(jù)庫,統(tǒng)計所有發(fā)音音素特征的方差和均值,最終也就構(gòu)建出了包含所有音素發(fā)音可能的隱馬爾可夫模型。
將隱馬爾可夫模型反向應(yīng)用,即可用來預(yù)測一個文本的語音應(yīng)該怎么被讀出來,簡單地理解為同一個音素不管是什么人來讀,在該模型中的數(shù)學(xué)均值和方差都是在一定范圍內(nèi)變化的,在這個變化范圍中取出相對比較穩(wěn)定的均值和方差數(shù)值,使用這些數(shù)值反向合成的語音能夠被人們聽懂。
口型拼接
當(dāng)然,除了使用隱馬爾可夫模型外,要實現(xiàn)語音和口型的匹配還需要借助很多技術(shù),例如強制對齊。在制作必應(yīng)詞典的口模視頻時,實際上同時獲取了視頻、音頻以及對應(yīng)的文本信息,借助這些素材和語音算法,可以實現(xiàn)這些元素的強制對齊。借助這種方式,系統(tǒng)可以知道文本發(fā)出的每一個音在時間上的起始點和結(jié)束點。有了對齊的數(shù)據(jù),隱馬爾可夫模型在應(yīng)用時會更加準(zhǔn)確,效果也會更好。
在實現(xiàn)口型拼接時,我們看到拼接視頻中的每一幀實際上都是從之前錄制幾百句基本音素的視頻幀中抽取出來的。但如果只是簡單地進行幀拼接,畫面中人的頭部會快速抖動。為了解決這個問題,微軟亞洲研究院的研究員使用了面部特征分析技術(shù),通過分析眼睛和嘴部的關(guān)鍵特征點的位置變化來判斷頭部的移動量,并根據(jù)移動量進行每一幀的圖片校正,之后再按照一個固定形狀單獨把嘴的部分提取出來,進而獲得所有嘴型的變化。
2D向3D邁進
通過上面的方法已經(jīng)可以生成十分自然的口模視頻,但是這個視頻中的口模是2D的,如果想讓口模按照語音的韻律自然地擺頭幾乎是不可能的,為了解決這個問題,微軟亞洲研究院的研究員們最終開發(fā)出了3D Photo-Realistic Talking Head。
首先,微軟亞洲研究院的研究員們根據(jù)一個公共數(shù)據(jù)庫中激光掃描的人頭3D數(shù)據(jù)生成了一個標(biāo)準(zhǔn)的3D模型,這個模型可以被理解成是這個數(shù)據(jù)庫中所有3D模型數(shù)據(jù)的均值,即一張平均臉。通過適當(dāng)?shù)馗淖兤骄槑讉€關(guān)鍵維度的參數(shù),能夠讓這個平均臉更好地去適應(yīng)現(xiàn)實中某個人的臉。借助這種方法就可以獲得與某個特定人近似的3D頭像模型,之后再將從2D合成視頻得到的人臉2D圖像通過投影的方式投射到這個3D頭像模型上。這項新技術(shù)解決了傳統(tǒng)3D人臉動畫中的幾個難題。首先是借助2D圖像大大提高了3D模型對眉毛、眼睛、嘴等部分渲染的逼真度。另外,用物理建模的方式渲染并再現(xiàn)舌頭的動作非常困難,因為舌頭在口腔中的動作有的時候看不見。而原始圖片可以十分出色地再現(xiàn)這些細節(jié),使3D模型看起來更加自然。
此外,這種3D模型生成的成本也很低,以往將一個真實人物的頭部轉(zhuǎn)換成一個虛擬的3D模型往往要用到昂貴和復(fù)雜的設(shè)備。而3D Photo-Realistic Talking Head只需要借助一段預(yù)先錄制的視頻,就可以生成一個虛擬的3D模型。研究員們希望在不遠的將來,每個人都能擁有自己的3D頭像,這將在虛擬數(shù)字世界里給我們帶來更加豐富的人生體驗。
以前人們用雕塑記住一個人,后來演變?yōu)槔L畫,再到后來演變?yōu)榕恼?,我們希望未來能用虛擬的3D模型來記住每個人的音容笑貌,讓即使相隔幾個世紀(jì)的人們也可以對話聊天。
——王麗娟 微軟亞洲研究院語音組研究員
經(jīng)過角度校正的嘴部圖片會被整理成一個口型庫,在合成某個語音時,系統(tǒng)會從庫中挑出合適的圖片用于口模的口型合成。
將3D“平均臉”與2D視頻中的畫面結(jié)合在一起,即可得到3D頭像,而且眼睛、嘴等關(guān)鍵部位細節(jié)豐富。
隱馬爾可夫模型廣泛用于語音識別領(lǐng)域,將它應(yīng)用于圖像和音頻合成同樣有效。