作者: Jack OmniXRI 2024/12/12
2022年底 OpenAI 引爆大語言模型(Large Lauguage Model, LLM)及生成式人工智慧(Generative Artificial Intelligence, GenAI),從此有各種文字、聲音、影像及多模態的應用,其中「虛擬主播」就是很常的應用例,如像民視的「敏熙」就是很經典的案例。
說到虛擬主播,其演進歷史也有數十年,早年需由美工人員大費周章設計好 3D 人物模型,再請配音員配上固定對白,最後由動畫人員把肢體動作、對白和嘴形對好,才能完成影片輸出,常見於高階 3D 電玩中較精緻的非玩家角色(Non-Player Character, NPC)。
後來隨著傳統電腦視覺及 3D 動畫技術演進,慢慢開始有了虛擬代理人(Virtual Agent)VTuber (Video + Youtuber)出現,只要事先準備好可愛的 3D 人物模型(公仔),加上高階動作補捉器(Motion Capture),再請真人表演肢體及臉部動作來驅動 3D 公仔,這樣可大幅減少美工及動畫人員的工作。早期電腦性能較差只能採預錄加上後處理合成方式處理,像日本「初音未來」這類「虛擬偶像」及擬真 3D 電影「阿凡達」就是知名代表。
後來隨電腦性能及電腦視覺技術成熟,只需使用一般網路攝影機,就能即時偵測到表演者的動作、表情並驅動 3D 公仔,一般會稱呼表演者為 VTuber(Video Youtuber),像日本知名「絆愛」、台灣 Yahoo TV 的「虎妮」就屬此類。這樣的技術很適合哪些不露臉的表演者和真實世界的互動,但缺點也是沒有真人就無法操作了,且真人表演不流暢也會影響虛擬人物表現。
十多年前深度學習電腦視覺及自然語言處理(Natual Language Processing, NLP)技術興起,讓電腦有機會能完全控制 3D 公仔的肢體動作、語音轉文字(Speech To Text, STT)、自然語言理解(Natual Language Understanding, NLU)、對話內容產生、語音轉文字(Text To Speech, TTS),於是開始有了虛擬助理(Vitrual Assistant)和虛擬代理人(Virtual Agent)出現。而隨著大語言模型及生成式技術越來越成熟,像真人一樣互動的數位分身(大陸慣稱數字人)(Digital Human, Meta Human)也開始出現在各種場域中,如捷運站的虛擬客服。
Fig. 1 虛擬分身演進,3D人物、人臉建模,動作、表情補捉、真人驅動VTuber,大語言模型及生成式AI客服、主播。(OmniXRI整理製作, 2024/12/12)
為了使大家能更進一步理解如何實作一個簡單離線版(邊緣端)的虛擬主播,可以輸入所需文字,產生對應語音,配合閉嘴人物影片生成新的對嘴影片。接下來就分別從「推論硬體及環境建置介紹」、「MeloTTS 文字轉語音生成」、「Wav2Lip 自動對嘴影片生成」及「建置完整虛擬主播」等四大部份作更進一步說明。
完整範例程式可參考下列網址。
(註:本文範例不適用 Google Colab 執行,僅限 Intel OpenVINO Notebooks 虛擬環境下使用)
https://github.com/OmniXRI/digital_human