本發(fā)明涉及虛擬現(xiàn)實(VR,virtual reality),尤其涉及在VR中生成人物模型的表情和姿態(tài)的方法。
背景技術(shù):
隨著虛擬現(xiàn)實技術(shù)的發(fā)展,市面上出現(xiàn)了虛擬現(xiàn)實設(shè)備和與之匹配的虛擬現(xiàn)實引擎。在虛擬現(xiàn)實的人機交互中,虛擬人物的真實度會大大影響用戶的體驗感。比起現(xiàn)實中的人物為了排解用戶的煩憂,部分公司開發(fā)了智能機器人,實現(xiàn)了自動識別用戶意圖,并回答的功能,例如微軟的機器人小冰,已經(jīng)實現(xiàn)了和用戶文字上的自動對話交流的功能。并且,機器人的文字答復(fù)也能夠通過TTS的文字轉(zhuǎn)語音技術(shù)轉(zhuǎn)換成語音流和相應(yīng)的情緒數(shù)據(jù)。但是市面上卻沒有一款在虛擬現(xiàn)實中說話時通過語音驅(qū)動來實現(xiàn)自動做出表情和姿態(tài)的機器人。因此,當虛擬人物要說話時,需要專業(yè)人士制作虛擬現(xiàn)實人物的影像,不僅成本高,而且費時費力。
本領(lǐng)域迫切需要一款能克服上述缺陷的基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法。
技術(shù)實現(xiàn)要素:
本發(fā)明之目的是一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,其能夠通過語音的聲波信息來實時驅(qū)動當前虛擬現(xiàn)實人物的臉部表情和嘴部表情,以使得虛擬形象自動生成和真人一樣自然的表情表達,無需制作虛擬現(xiàn)實人物影像,成本低省時省力。
本發(fā)明提供一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,用于驅(qū)動說話的虛擬現(xiàn)實人物模型的表情和姿態(tài),包括:獲取語音數(shù)據(jù),語音驅(qū)動模塊同步接收語音流和對應(yīng)語音流設(shè)置的情緒標簽。計算基本動畫的權(quán)重值,語音驅(qū)動模塊根據(jù)情緒標簽和語音流的音量來計算出平靜、快樂、憤怒、恐懼、悲傷5種基本表情動畫的權(quán)重值。計算修飾動畫的權(quán)重值,語音驅(qū)動模塊根據(jù)情緒標簽和語音流的音量來計算出眉毛、眼睛、嘴角修飾動畫的權(quán)重值。計算基本口型動畫的權(quán)重值,語音驅(qū)動模塊對語音流進行口型動畫分析,計算出基本發(fā)音PP、FF、TH、DD、H、CH、SS、NN、RR、AH、EI、IH、OH、WU基本口型動畫的權(quán)重值。修正合成動畫,語音驅(qū)動模塊修正合成的基本表情動畫、修飾動畫和基本口型動畫,以生成臉部模型網(wǎng)格。輸出臉部表情網(wǎng)格,語音驅(qū)動模塊輸出臉部表情網(wǎng)格。
作為優(yōu)選方式,所述方法還包括:在獲取語音數(shù)據(jù)前通過狀態(tài)機根據(jù)相應(yīng)場景控制人物模型的身體動作。
作為優(yōu)選方式,所述獲取語音數(shù)據(jù)包括:UE4引擎并行渲染人物模型,以輸出語音。
作為優(yōu)選方式,所述獲取語音數(shù)據(jù)包括:在每一個語音流上人工設(shè)置情緒標簽。通過語義引擎選擇人物模型的文字答復(fù),其中,語義引擎設(shè)置有意圖分析模塊。通過文字轉(zhuǎn)語音技術(shù)(TTS技術(shù))將文字答復(fù)轉(zhuǎn)換為語音輸出至語音驅(qū)動模塊。
作為優(yōu)選方式,所述方法包括:UE4引擎接收語音驅(qū)動模塊輸出的臉部模型網(wǎng)格。UE4引擎控制語音、臉部模型網(wǎng)格和身體動作的同步并輸出。
作為優(yōu)選方式,所述計算基本動畫的權(quán)重值包括:為每個基本表情動畫人工預(yù)設(shè)基本表情動畫系數(shù);根據(jù)基本表情動畫的動畫系數(shù)來計算權(quán)重值。
作為優(yōu)選方式,所述計算修飾動畫的權(quán)重值包括:為每個修飾動畫人工預(yù)設(shè)修飾動畫系數(shù);根據(jù)修飾動畫系數(shù)來計算權(quán)重值。
作為優(yōu)選方式,所述計算基本口型動畫的權(quán)重值包括:對每個發(fā)音制作一個口型動畫;根據(jù)當前語音和基本發(fā)音模板進行匹配,計算出匹配度,其中,匹配度范圍為0~1.0。
作為優(yōu)選方式,所述根據(jù)基本表情動畫的動畫系數(shù)來計算權(quán)重值包括:計算平靜的情緒標簽相應(yīng)位置的音量、快樂的情緒標簽相應(yīng)位置的音量、悲傷的情緒標簽相應(yīng)位置的音量、憤怒的情緒標簽相應(yīng)位置的音量、恐懼的情緒標簽相應(yīng)位置的音量;根據(jù)聲音音量和預(yù)設(shè)的音量最大值與音量最小值來計算出平靜系數(shù)、快樂系數(shù)、悲傷系數(shù)、憤怒系數(shù)和恐懼系數(shù);根據(jù)同一位置的平靜系數(shù)、快樂系數(shù)、悲傷系數(shù)、憤怒系數(shù)和恐懼系數(shù)來合成基本表情動畫的權(quán)重值,以匹配基本表情動畫。
作為優(yōu)選方式,所述根據(jù)修飾動畫系數(shù)來計算權(quán)重值包括:計算眉毛相應(yīng)位置的音量、眼睛相應(yīng)位置的音量、嘴角相應(yīng)位置的音量;根據(jù)聲音音量和預(yù)設(shè)的音量最大值與音量最小值來計算出眉毛系數(shù)、眼睛系數(shù)和嘴角系數(shù)。根據(jù)同一位置的眉毛系數(shù)、眼睛系數(shù)和嘴角系數(shù)來合成修飾動畫的權(quán)重值,以匹配修飾動畫。
本發(fā)明提供的一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法能夠通過語音的聲波信息來實時驅(qū)動當前虛擬現(xiàn)實人物的臉部表情和嘴部表情,以使得虛擬形象自動生成和真人一樣自然的表情表達,無需制作虛擬現(xiàn)實人物影像,成本低省時省力。
附圖說明
下面將簡要說明本申請所使用的附圖,顯而易見地,這些附圖僅用于解釋本發(fā)明的構(gòu)思。
圖1為本發(fā)明基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法的步驟流程圖;
圖2為本發(fā)明基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法的示意框圖;
圖3為聲音驅(qū)動技術(shù)的步驟流程圖;
圖4為聲音驅(qū)動技術(shù)的示意框圖。
附圖標記匯總:
1、連續(xù)語音分析模塊 2、語義分析模塊 3、文字轉(zhuǎn)語音模塊
4、語音驅(qū)動模塊 5、UE4引擎
具體實施方式
在下文中,將參照附圖描述本發(fā)明的基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法的實施例。
在此記載的實施例為本發(fā)明的特定的具體實施方式,用于說明本發(fā)明的構(gòu)思,均是解釋性和示例性的,不應(yīng)解釋為對本發(fā)明實施方式及本發(fā)明范圍的限制。除在此記載的實施例外,本領(lǐng)域技術(shù)人員還能夠基于本申請權(quán)利要求書和說明書所公開的內(nèi)容采用顯而易見的其它技術(shù)方案,這些技術(shù)方案包括對在此記載的實施例做出任何顯而易見的替換和修改的技術(shù)方案。
本說明書的附圖為示意圖,輔助說明本發(fā)明的構(gòu)思,示意性地表示各部分的相互關(guān)系。
參見圖1,本發(fā)明提出的一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,用于驅(qū)動說話的虛擬現(xiàn)實人物模型的表情和姿態(tài),包括如下步驟:
S51:獲取語音數(shù)據(jù),語音驅(qū)動模塊5同步接收語音流和對應(yīng)語音流設(shè)置的情緒標簽;
S52:計算基本動畫的權(quán)重值,語音驅(qū)動模塊5根據(jù)情緒標簽和語音流的音量來計算出平靜、快樂、憤怒、恐懼、悲傷5種基本表情動畫的權(quán)重值;
S53:計算修飾動畫的權(quán)重值,語音驅(qū)動模塊5根據(jù)情緒標簽和語音流的音量來計算出眉毛、眼睛、嘴角修飾動畫的權(quán)重值;
S54:計算基本口型動畫的權(quán)重值,語音驅(qū)動模塊5對語音流進行口型動畫分析,計算出基本發(fā)音PP、FF、TH、DD、H、CH、SS、NN、RR、AH、EI、IH、OH、WU基本口型動畫的權(quán)重值;
S55:修正合成動畫,語音驅(qū)動模塊5修正合成的基本表情動畫、修飾動畫和基本口型動畫,以生成臉部模型網(wǎng)格;以及
S56:輸出臉部表情網(wǎng)格,語音驅(qū)動模塊5輸出臉部表情網(wǎng)格。
在本實施例中,參見圖2,語音驅(qū)動模塊5通過語音的聲波信息(語音流和語音流對應(yīng)的情緒標簽)來實時驅(qū)動當前說話者的臉部表情和嘴部表情,例如眉毛、眼睛和嘴巴,以使得虛擬現(xiàn)實中的人物獲得如同真人一樣自然的表情表達。本發(fā)明的語音驅(qū)動模塊5可以連接AI情緒表達專家系統(tǒng),通過AI情緒表達專家系統(tǒng)的情緒引擎自動讓虛擬形象擁有喜怒哀樂的情緒表達,例如自動標記語音流的情緒標簽。情緒標簽是人工設(shè)定的,內(nèi)容是預(yù)先知道的。情緒標簽來自對應(yīng)的情緒標簽文件(根據(jù)語音由人工標記而成)。
如圖3和圖4所示,步驟S1中,當用戶說話時,用戶的語音傳入錄音設(shè)備1,從而能實時生成錄音文件。步驟S2中,錄音文件經(jīng)過連續(xù)語音分析模塊2將語音轉(zhuǎn)換為文字輸入語義分析模塊3。步驟S3中,語義分析模塊3通過語義分析識別用戶意圖,以從數(shù)據(jù)庫中選擇回答來生成回復(fù)用戶的文字信息。步驟S4中,文字信息經(jīng)文字轉(zhuǎn)語音模塊4生成答復(fù)語音信息。答復(fù)語音信息包含情緒信息和語音流。步驟S5中,在語音流的各個部分人工添加情緒標簽,再通過本發(fā)明的方法通過輸入情緒標簽和語音流至語音驅(qū)動模塊5,來驅(qū)動說話的虛擬現(xiàn)實人物模型的表情和姿態(tài)。步驟S62中,語音流和步驟S61中虛擬現(xiàn)實人物模型的表情和姿態(tài)并行運算,同步輸出,以實現(xiàn)整個人機交互的過程。本發(fā)明兼容TTS的文字轉(zhuǎn)語音模塊4,能自動接收文字轉(zhuǎn)語音模塊4輸出的數(shù)據(jù)并處理,以實現(xiàn)語音驅(qū)動說話的虛擬現(xiàn)實人物模型的表情和姿態(tài)。本發(fā)明的語音同步輸出和對人物模型渲染可以通過UE4引擎6來實現(xiàn)。
在步驟S52中,計算基本動畫的權(quán)重值包括:為每個基本表情動畫人工預(yù)設(shè)基本表情動畫系數(shù);以及,根據(jù)基本表情動畫的動畫系數(shù)來計算權(quán)重值。虛擬人物的平靜、快樂、憤怒、恐懼和悲傷5種基本大表情動畫的表情模型會由美術(shù)師制作而成。建立動畫模型是傳統(tǒng)的美術(shù)動畫的工作,一般中級動畫師都可以勝任。至于自動調(diào)用哪一個表情,可以將本發(fā)明的方法編程形成語音驅(qū)動模塊5,以實現(xiàn)自動控制。例如:在一段語音流中,具有平靜的情緒標簽和快樂的情緒標簽。下面以平靜到快樂為例子來說明語音驅(qū)動模塊5如何判斷平靜到快樂的程度。工作人員預(yù)設(shè)平靜為0,快樂(最快樂的模型狀態(tài))為1,語音驅(qū)動模塊5根據(jù)聲音的大小值(其中最大值,和最小值可以配置)來計算一個系數(shù)例如0.3,計算出來的新表情模型是0.3的快樂模型和0.7的平靜模型組合而成。語音驅(qū)動模塊5計算系數(shù)時,可以按照工作人員預(yù)設(shè)的算法來計算各個模型的系數(shù),例如5大基本表情的系數(shù)計算公式可以為情緒標簽對應(yīng)位置的音量值和最小值的差值,除以最大值和最小值的差值。每個基本表情模型都有預(yù)設(shè)的平靜、快樂、憤怒、恐懼和悲傷的系數(shù),語音驅(qū)動模塊5自動匹配基本表情模型系數(shù),以選出最合適的5大基本表情的模型。
在步驟S53中,計算修飾動畫的權(quán)重值包括:為每個修飾動畫人工預(yù)設(shè)修飾動畫系數(shù);以及,根據(jù)修飾動畫系數(shù)來計算權(quán)重值。虛擬人物的眉毛、眼睛、嘴角修飾動畫的表情模型會由美術(shù)師制作而成。至于自動調(diào)用哪一個表情,可以將本發(fā)明的方法編程形成語音驅(qū)動模塊5,以實現(xiàn)自動控制。例如:在一段語音流中,具有平靜的情緒標簽和快樂的情緒標簽。下面以平靜到快樂為例子來說明語音驅(qū)動模塊5如何判斷平靜到快樂的程度。工作人員預(yù)設(shè)平靜為0,快樂(最快樂的模型狀態(tài))為1,語音驅(qū)動模塊5根據(jù)聲音的大小值(其中最大值,和最小值可以配置)來計算一個系數(shù)例如0.3,計算出來的新表情模型是0.3的快樂模型和0.7的平靜模型組合而成。語音驅(qū)動模塊5計算系數(shù)時,可以按照工作人員預(yù)設(shè)的算法來計算各個模型的系數(shù),例如修飾動畫的表情模型的系數(shù)計算公式可以為情緒標簽對應(yīng)位置的音量值和最小值的差值,除以最大值和最小值的差值。每個修飾動畫的表情模型都有預(yù)設(shè)的平靜、快樂、憤怒、恐懼和悲傷的系數(shù),語音驅(qū)動模塊5自動匹配基本表情模型系數(shù),以選出最合適的修飾動畫的表情模型。
在步驟S54中,計算基本口型動畫的權(quán)重值包括:美術(shù)師會預(yù)先對每個發(fā)音制作一個口型動畫。語音驅(qū)動模塊5根據(jù)當前語音和預(yù)設(shè)的基本發(fā)音模板進行匹配,以計算出匹配度(0~1.0)。語音驅(qū)動模塊5根據(jù)預(yù)設(shè)的對應(yīng)表和各個發(fā)音的權(quán)重值(即匹配度)自動調(diào)用匹配度最高的發(fā)音模型,其中,對應(yīng)表是基本口型的發(fā)音模型和發(fā)音模型對應(yīng)的發(fā)音的對應(yīng)關(guān)系表。
在步驟S55中,每一次的計算都會產(chǎn)生對應(yīng)的權(quán)重系數(shù),語音驅(qū)動模塊5能夠根據(jù)動畫系數(shù)來合成和修飾基本表情動畫、修飾動畫和口型動畫。網(wǎng)格叫模型網(wǎng)格,每個模型都是由網(wǎng)格來組成的。用模型來代表表情,比如快樂的模型,也叫快樂的表情網(wǎng)格。工作人員可以根據(jù)自己的需要預(yù)設(shè)各個動畫組合時對應(yīng)的修飾方法和合成順序,以實現(xiàn)對表情網(wǎng)格的合成和修飾。例如工作人員可以設(shè)定快樂表情一合成眉毛二時,眉毛二要向上移動3格。又例如工作人員可以設(shè)定基本表情模型均在模型內(nèi)側(cè),眉毛等修飾表情貼在基本表情上,口型動畫疊在基本表情和修飾表情上。
在步驟S56中,顯示可以由UE4引擎6來完成,它是渲染引擎。UE4引擎6的渲染和語音驅(qū)動模塊5對表情動畫的合成和修正與UE4引擎6的渲染是并行計算的,所以它們是實時的,同步的。
這樣能夠通過語音的聲波信息來實時驅(qū)動當前虛擬現(xiàn)實人物的臉部表情和嘴部表情,以使得虛擬形象自動生成和真人一樣自然的表情表達,無需制作虛擬現(xiàn)實人物影像,成本低省時省力。
本實施例進一步優(yōu)選地,提供了一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,包括:在獲取語音數(shù)據(jù)前通過狀態(tài)機根據(jù)相應(yīng)場景控制人物模型的身體動作。因為身體動作和表情動作沒有必然聯(lián)系,所以可以通過特定場景的狀態(tài)機來控制或是通過更加具體的情緒來模擬。這樣能夠在單獨控制人物的表情和動作,使得虛擬人物更真實,更易于控制。
本實施例進一步優(yōu)選地,提供了一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,其中,獲取語音數(shù)據(jù)包括:UE4引擎6并行渲染人物模型,以輸出語音。語音流和情緒標簽流是同步的,根據(jù)語音流和情緒標簽的值能夠自動計算表情動畫的權(quán)重,以匹配相應(yīng)的表情動畫。因此在UE4渲染的時候,虛擬人物的表情就自然形成了。顯示是由UE4引擎來完成,它是渲染引擎。渲染和語音驅(qū)動表情的計算是并行的,所以語音和聲音是實時的,同步的。這樣能夠?qū)崿F(xiàn)同步輸出人物模型和語音,使得虛擬人物更真實,實時性強,而不會造成語音延遲。
本實施例進一步優(yōu)選地,提供了一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,其中,獲取語音數(shù)據(jù)還包括:在每一個語音流上人工設(shè)置情緒標簽。通過語義引擎選擇人物模型的文字答復(fù),其中,語義引擎設(shè)置有意圖分析模塊。通過文字轉(zhuǎn)語音技術(shù)(TTS技術(shù))將文字答復(fù)轉(zhuǎn)換為語音輸出至語音驅(qū)動模塊5。這樣能直接使用文字轉(zhuǎn)語音模塊4輸出的數(shù)據(jù)作為本發(fā)明的輸入數(shù)據(jù)進行處理,方便快捷。
本實施例進一步優(yōu)選地,提供了一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,包括:UE4引擎6接收語音驅(qū)動模塊5輸出的臉部模型網(wǎng)格;以及,UE4引擎6控制語音、臉部模型網(wǎng)格和身體動作的同步并輸出。這樣能夠?qū)崿F(xiàn)同步輸出人物模型和語音,使得虛擬人物更真實,實時性強,而不會造成語音延遲。
本實施例進一步優(yōu)選地,提供了一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,其中,根據(jù)基本表情動畫的動畫系數(shù)來計算權(quán)重值包括:計算平靜的情緒標簽相應(yīng)位置的音量、快樂的情緒標簽相應(yīng)位置的音量、悲傷的情緒標簽相應(yīng)位置的音量、憤怒的情緒標簽相應(yīng)位置的音量、恐懼的情緒標簽相應(yīng)位置的音量;根據(jù)聲音音量和預(yù)設(shè)的音量最大值與音量最小值來計算出平靜系數(shù)、快樂系數(shù)、悲傷系數(shù)、憤怒系數(shù)和恐懼系數(shù);以及,根據(jù)同一位置的平靜系數(shù)、快樂系數(shù)、悲傷系數(shù)、憤怒系數(shù)和恐懼系數(shù)來合成基本表情動畫的權(quán)重值,以匹配基本表情動畫。這樣實現(xiàn)了基本表情動畫的權(quán)重值的計算。
本實施例進一步優(yōu)選地,提供了一種基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法,其中,根據(jù)修飾動畫系數(shù)來計算權(quán)重值包括:計算眉毛相應(yīng)位置的音量、眼睛相應(yīng)位置的音量、嘴角相應(yīng)位置的音量;根據(jù)聲音音量和預(yù)設(shè)的音量最大值與音量最小值來計算出眉毛系數(shù)、眼睛系數(shù)和嘴角系數(shù);以及,根據(jù)同一位置的眉毛系數(shù)、眼睛系數(shù)和嘴角系數(shù)來合成修飾動畫的權(quán)重值,以匹配修飾動畫。這樣實現(xiàn)了修飾動畫的權(quán)重值的計算。
以上對本發(fā)明的基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法進行了說明。對于本發(fā)明的基于語音實時驅(qū)動人物模型的表情和姿態(tài)的方法涉及的裝置的具體特征可以根據(jù)本發(fā)明披露的特征的作用進行具體設(shè)計,這些設(shè)計均是本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)的。而且,本發(fā)明披露的各技術(shù)特征并不限于已披露的與其它特征的組合,本領(lǐng)域技術(shù)人員還可根據(jù)本發(fā)明之目的進行各技術(shù)特征之間的其它組合,以實現(xiàn)本發(fā)明之目的為準。