KDTalker:根據(jù)輸入的音頻信號(hào)生成逼真的面部表情和動(dòng)作視頻
KDTalker是什么?
KDTalker 是一個(gè)音頻驅(qū)動(dòng)動(dòng)態(tài)肖像生成工具,能夠根據(jù)輸入的音頻信號(hào)生成逼真的面部表情和動(dòng)作。KDTalker 具有隱式關(guān)鍵點(diǎn)技術(shù)、時(shí)空擴(kuò)散模型和姿勢(shì)多樣性等特點(diǎn)。適用于虛擬現(xiàn)實(shí)、社交媒體、視頻會(huì)議等多種場(chǎng)景。通過(guò)簡(jiǎn)單的環(huán)境準(zhǔn)備和命令行操作,用戶可以快速生成高質(zhì)量的動(dòng)態(tài)肖像視頻。
KDTalker 功能特征
隱式關(guān)鍵點(diǎn)技術(shù):
利用隱式關(guān)鍵點(diǎn)捕捉面部表情和動(dòng)作的細(xì)微變化,能夠更自然地反映音頻與面部動(dòng)作之間的關(guān)系。
與傳統(tǒng)的顯式關(guān)鍵點(diǎn)方法相比,隱式關(guān)鍵點(diǎn)可以避免顯式標(biāo)注的復(fù)雜性和誤差。
時(shí)空擴(kuò)散模型:
結(jié)合時(shí)空擴(kuò)散模型,生成更加平滑和連貫的動(dòng)態(tài)效果,同時(shí)保持圖像質(zhì)量和穩(wěn)定性。
通過(guò)時(shí)空擴(kuò)散模型,能夠更好地處理視頻序列中的時(shí)間連續(xù)性。
姿勢(shì)多樣性:
支持多種姿勢(shì)的生成,能夠根據(jù)音頻內(nèi)容動(dòng)態(tài)調(diào)整人物的姿態(tài),增加生成結(jié)果的多樣性和自然性。
用戶可以指定不同的姿勢(shì)風(fēng)格,生成更具個(gè)性化的動(dòng)態(tài)肖像。
高效性:
優(yōu)化的模型設(shè)計(jì)和高效的計(jì)算流程,使得該技術(shù)能夠在單個(gè)RTX4090或RTX3090顯卡上運(yùn)行,具有較高的實(shí)用性和可擴(kuò)展性。
適合在資源有限的設(shè)備上使用,同時(shí)保持較高的生成速度。
高質(zhì)量生成:
生成的動(dòng)態(tài)肖像具有較高的分辨率和逼真度,能夠滿足高質(zhì)量視頻生成的需求。
通過(guò)預(yù)訓(xùn)練模型和優(yōu)化的推理流程,確保生成結(jié)果的穩(wěn)定性和一致性。
KDTalker 應(yīng)用場(chǎng)景
虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR):
在VR和AR應(yīng)用中,KDTalker可以生成逼真的虛擬角色動(dòng)態(tài)肖像,提升用戶體驗(yàn)。
例如,在虛擬會(huì)議中,用戶可以通過(guò)音頻驅(qū)動(dòng)生成自己的動(dòng)態(tài)肖像,使遠(yuǎn)程交流更加自然。
社交媒體和視頻內(nèi)容創(chuàng)作:
用戶可以將自己的照片和音頻輸入KDTalker,生成個(gè)性化的動(dòng)態(tài)肖像視頻,用于社交媒體分享。
內(nèi)容創(chuàng)作者可以利用該技術(shù)生成有趣的視頻內(nèi)容,增加視頻的吸引力。
視頻會(huì)議:
在視頻會(huì)議中,網(wǎng)絡(luò)不穩(wěn)定可能導(dǎo)致視頻卡頓或模糊。KDTalker可以通過(guò)音頻驅(qū)動(dòng)生成流暢的動(dòng)態(tài)肖像,即使在低帶寬環(huán)境下也能保持良好的視覺效果。
娛樂(lè)和游戲:
在游戲和娛樂(lè)應(yīng)用中,KDTalker可以生成虛擬角色的動(dòng)態(tài)表情和動(dòng)作,增強(qiáng)游戲的沉浸感。
例如,在角色扮演游戲中,玩家可以通過(guò)音頻驅(qū)動(dòng)生成自己的角色動(dòng)態(tài)肖像。
教育和培訓(xùn):
在教育和培訓(xùn)場(chǎng)景中,KDTalker可以生成教師或培訓(xùn)師的動(dòng)態(tài)肖像,用于在線課程或培訓(xùn)視頻。
通過(guò)音頻驅(qū)動(dòng)生成的動(dòng)態(tài)肖像可以使教學(xué)內(nèi)容更加生動(dòng),提高學(xué)習(xí)效果。
KDTalker 使用方法
1. 環(huán)境準(zhǔn)備
硬件要求:推薦使用RTX4090或RTX3090顯卡。
軟件依賴:
安裝git、conda和FFmpeg。
克隆代碼并創(chuàng)建Python環(huán)境:
git clone https://github.com/chaolongy/KDTalker cd KDTalker # 創(chuàng)建并激活conda環(huán)境 conda create -n KDTalker python=3.9 conda activate KDTalker # 安裝PyTorch和其他依賴 conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=11.8 -c pytorch -c nvidia pip install -r requirements.txt
2. 下載預(yù)訓(xùn)練權(quán)重
從Google Drive或Hugging Face下載預(yù)訓(xùn)練權(quán)重文件,并放置到./pretrained_weights和./ckpts目錄中。
確保目錄結(jié)構(gòu)如下:
pretrained_weights ├── insightface │ └── models │ └── buffalo_l │ ├── 2d106det.onnx │ └── det_10g.onnx └── liveportrait ├── base_models │ ├── appearance_feature_extractor.pth │ ├── motion_extractor.pth │ ├── spade_generator.pth │ └── warping_module.pth ├── landmark.onnx └── retargeting_models └── stitching_retargeting_module.pth
3. 運(yùn)行推理
使用以下命令運(yùn)行推理腳本,生成動(dòng)態(tài)肖像視頻:
python inference.py -source_image ./example/source_image/WDA_BenCardin1_000.png -driven_audio ./example/driven_audio/WDA_BenCardin1_000.wav -output ./results/output.mp4
-source_image:指定輸入的源圖像路徑。
-driven_audio:指定輸入的驅(qū)動(dòng)音頻路徑。
-output:指定輸出視頻的保存路徑。
項(xiàng)目地址:https://github.com/chaolongy/KDTalker
DEMO:https://kdtalker.com/