「硬核實操」如何擁有一個自己的數字人模型

作者:京東健康 陳剛

一、前言

近年來,隨着人工智能技術,VR,元宇宙等技術的發展,數字人(Digital Human)逐漸成爲研究的熱點之一,數字人是指通過計算機技術模擬出的具有人類外表,動作和語言能力的虛擬人物,具體可以應用到電影、遊戲、虛擬現實、智能客服帶貨主播等多個領域。

本文大致分爲三個章節:

  1. 第一部分會介紹常用技術以及簡介,以及自己用到構建一個自己虛擬數字人用到的3D引擎和三維軟件

  2. 第二部分會詳細描述生成細節,通過照片建模,創建模型,添加細節,添加表情,優化效果,接入場景,最終效果

  3. 第三部分總結本篇內容

從預見未來到遇見未來,讓我們開始,向上吧技術人!!!

二、虛擬數字人技術

要聊需要那些技術,先聊需要那些步驟?

收集數據:首先需要收集自己的數據,包括照片、視頻、聲音等,這些數據將成爲數字人的基礎。

• 人臉檢測:利用計算機視覺技術對照片進行處理,檢測出其中的人臉。可以使用已有的人臉檢測算法,例如OpenCV、Dlib等。

人臉識別:對於檢測出來的人臉,需要利用人臉識別技術對其進行識別和分析,從而獲取人臉的各種特徵和信息。可以使用已有的人臉識別算法,例如FaceNet、VGGFace等。

3D建模技術:數字人是一種三維模型,因此需要掌握3D建模技術。這包括了掌握3D建模軟件的使用,如Blender、Maya、ZBrush等。

• 優化細節:優化數字人的各種細節,包括皮膚紋理、髮型、服裝等,讓數字人更加真實、生動。

• 材質和紋理製作技術:數字人需要具有逼真的材質和紋理,因此需要掌握材質和紋理製作技術。這包括了掌握材質和紋理製作軟件的使用,如Substance Painter、Photoshop等。

動畫製作技術:數字人需要具有動態的動作和表情,因此需要掌握動畫製作技術。這包括了掌握動畫製作軟件的使用,如Unity、Unreal Engine等。

以下文字內容較多,先放一個自己建好的模型

1、收集數據或者生成圖片

• Photoshop、相機:這部分忽略一下,哈哈哈

Stable DiffusionAI圖像生成工具,一個基於Latent Diffusion Models(潛在擴散模型,LDMs)的文圖生成(text-to-image)模型,生成圖片的原理是通過模擬穩定擴散過程並生成相應的數據,然後將數據可視化展示爲圖片,以幫助用戶更好地理解實驗結果和數據特徵

ChatGPT:OpenAI團隊ChatGPT-4O開發了一種新的技術,使ChatGPT也可以生成圖片。這種技術被稱爲DALL·E(即“Drawing Artificially with a Learned Language Model and a Encoder”),它結合了語言模型和圖像編碼器的能力,能夠根據給定的文本描述生成對應的圖片。

2、人臉檢測和識別

OpenCV:是一個用於計算機視覺的開源庫,它提供了許多常用的計算機視覺算法和工具,如圖像處理、特徵提取、物體檢測、人臉識別、跟蹤等。OpenCV支持多種編程語言,包括C++、Python等。

Dlib:是一個C++庫,它提供了用於機器學習、圖像處理、計算機視覺等領域的算法和工具。其中最知名的功能是人臉識別,它基於深度學習和傳統的計算機視覺技術,並提供了人臉對齊、人臉特徵提取等功能。

FaceNet:是由Google開發的一個深度學習算法,用於將人臉圖像轉換爲高維向量表示,從而實現人臉識別。FaceNet使用了三個主要組件:卷積神經網絡、三元組損失函數和在線學習方法,這些組件使得FaceNet能夠在大規模人臉識別任務中達到很高的準確率。

VGGFace:是由牛津大學的研究團隊開發的人臉識別算法,它基於深度卷積神經網絡,並使用了許多卷積層和池化層來提取人臉圖像的特徵。VGGFace包含了兩個模型:VGGFace和VGGFace2,其中VGGFace是一個較早的模型,而VGGFace2是一個新的模型,它在大規模人臉識別任務中具有更好的性能。

3、3D建模技術

Blender:是一個用於三維建模、動畫、渲染和交互式應用程序開發的開源軟件。它支持多種三維對象的創建和編輯,包括多邊形網格、NURBS曲線、體積網格等,並提供了豐富的材質和紋理編輯器,可以幫助用戶創建出逼真的場景和角色。

Metashape:前身爲PhotoScan)是一個用於三維重建和地形建模的商業軟件。它可以根據照片生成高精度的數字模型,並提供了多種渲染選項和工具,如紋理映射、貼圖、相機校準等。Metashape還可以將生成的模型導出到其他軟件中進行後續處理和應用。

Maya:是一款專業級的三維建模和動畫軟件,廣泛用於電影、電視、遊戲等領域。它提供了豐富的建模和動畫工具,包括多邊形網格、NURBS曲線、動力學仿真、粒子系統等,並支持多種渲染引擎,如Arnold、V-Ray等。

ZBrush:是一款專業級的數字雕刻軟件,用於創建高精度的三維模型和角色。它提供了多種繪畫和雕刻工具,包括多邊形建模、紋理映射、雕刻筆刷等,並支持實時預覽和交互式渲染。

LayaAir:是一個用於Web、移動和小遊戲開發的HTML5引擎。它提供了多種功能和工具,如3D渲染、物理引擎、GUI編輯器等,可以幫助用戶創建出高效、高質量的Web應用和遊戲。LayaAir還支持多種開發語言,包括JavaScript、TypeScript等。

4、動畫製作技術

Unity3D:Unity3D是一款實時3D互動內容創作和運營平臺,支持多種平臺和設備,包括PC、移動設備、虛擬現實和增強現實等。Unity3D提供了強大的編輯器和工具,支持C#和UnityScript等多種編程語言,可用於遊戲開發、AR/VR應用開發等。

Unreal Engine: Unreal Engine是一款由Epic Games開發的3D遊戲引擎,同樣支持多種平臺和設備,包括PC、主機、移動設備、VR和AR等。Unreal Engine提供了強大的編輯器和工具,支持C++和藍圖等多種編程方式,可用於遊戲開發、建築可視化、虛擬展覽等。

CryEngine:CryEngine是一款由Crytek開發的3D遊戲引擎,同樣支持多種平臺和設備,包括PC、主機、移動設備、VR和AR等。CryEngine提供了強大的編輯器和工具,支持C++和Lua等多種編程方式,可用於遊戲開發、建築可視化、虛擬展覽等。

Godot:Godot是一款免費、開源的3D遊戲引擎,支持多種平臺和設備,包括PC、移動設備、Web和VR等。Godot提供了強大的編輯器和工具,支持GDScript和C#等多種編程語言,可用於遊戲開發、AR/VR應用開發等。

部分軟件圖標

除了以上技術應該還有很多技術,歡迎大家熱烈討論和在評論區補充😏

三、構建一個自己的數字人—小陳

第一步 用自己的照片生成自己的頭像模型

有以下三種辦法

1、使用 https://avatarsdk.com/ 在線製作,這個H5是基於WebGL的OpenCV技術構建,可以傳一張照片(高p的)生成頭的模型,也可以生成頭和身體模型。

爲了不影響建模,一般選擇禿頭,導出數字人頭部模型

2、使用Polycam軟件應用上傳生成導出

拍照時自己站着不要動,我們做數字人需要頭就可以,拍照的仰角和俯角傾斜,拍40張左右即可

導入Blender進行對點雲部分刪除部分,分析建模,然後導出數字人頭部模型

3、通過照片,格式工廠,在Metashape構建模型 對點雲進行處理 導出數字人頭部模型,原理是一樣的

以上方式根據具體的需求來,第二三種方式更逼真。

第二步 導入模型到UE5中,並安裝插件

安裝 MetaHuman插件(數字人)、 Bridge插件(建模)、LiveLink插件(交互動作)。插件都裝好後,重啓虛幻引擎

1、導入我們第一步的模型,創建MetaHuman實體,並給實體命名,注意這個名字就是你數字人的名字

圖1

2、雙擊進入,面部選擇網格體也就是我們第一步生成的頭像模型,並給小人選擇合適身體

繼續點擊提升幀,追蹤活動幀,效果如下圖

繼續點擊MetaHuman本體解算、網格體轉MetaHuman。

3、在UE5中打開Bridge,登陸一下賬號,只有logo的就是我們的小人了。忽略我設計的禿頂和爆炸頭小陳

選中logo模型,點擊START MHC進入MetaHuman Creator網頁, https://metahuman.unrealengine.com/ 進一步加工我們的MetaHuman吧

第三步 調整你的數字人

對骨骼,膚色,頭髮,牙齒,身體,表情動作等進行調整,內容太豐富,建議自己嘗試,放一個眼影小陳,和大鬍子小陳

第四步 下載數字人並加載到虛幻引擎中

1、打開Bridge點擊Down

2、添加小人到項目中後項目中多了一個MetaHuman的文件夾,移動到你的場景吧

3、最終效果圖,只下載好了(網速不好)禿頭小陳實在不好放大,下次做個好看的在更新下文章吧。

四、總結和暢想

本文介紹瞭如何打造一個數字人,描述業內常用的一些軟件和技術棧,並實戰打造一個以自己爲模型構建的虛擬數字人,並詳細描述了全過程。總的來說數字人具備了逼真的人類外貌、身體動作和語言能力的虛擬人物,不同的製作方法和技術可以實現不同的效果和應用,選擇合適的方法和技術需要根據具體需求和項目情況來確定。

大家將就看完了,模型還是醜醜的😭,下一步持續提升,讓數字人擁有智慧,擁有交互,擁有顏值(畢竟顏值纔是正義)。

關於數字人如何創建和相關技術就介紹到這裏啦,我也是剛入門,有不對的地方和需要補充的,歡迎大家指正,希望對大家所有幫助,也歡迎多多點贊收藏😎

最後關於數字人的應用場景和結合實際的落地效果,大家有好的idea也可以一起討論。

五、團隊介紹

我們是互聯網醫療服務團隊,主要是在醫藥閉環流程中,承接醫患兩端服務平臺,包括派單、問診、處方等垂直領域業務,團隊一直致力於在醫療行業中探索和應用各種新興的科技手段。目前主要在醫學對話,遠程醫療、醫學影像診斷等方面進行探索和嘗試,相信可以爲醫生和患者帶來更好的醫療服務體驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章