MusicInfuser:一個可以根據音樂和文本生成舞蹈視頻的模型
MusicInfuser 是什么?
MusicInfuser 是一個將文本到視頻擴散模型與音樂對齊的項目,能夠根據音樂和文本生成舞蹈視頻。它通過引入音樂-視頻交叉注意力機制,使生成的視頻能夠與音樂節奏同步。
MusicInfuser 功能
音樂驅動的舞蹈視頻生成:根據輸入的音樂和文本提示生成高質量的舞蹈視頻。
靈活的文本提示:用戶可以通過文本提示指定舞蹈風格、場景、舞者特征等。
支持長序列生成:雖然模型最初是基于 73 幀序列訓練的,但可以外推生成更長的視頻序列。
隨機種子控制:通過設置隨機種子,用戶可以生成不同的舞蹈結果。
MusicInfuser 應用
創意視頻制作:為視頻創作者提供音樂驅動的舞蹈視頻生成工具,提升內容創作效率。
娛樂與表演:用于生成個性化的舞蹈表演視頻,適用于虛擬現實、增強現實等場景。
教育與培訓:幫助舞蹈學習者通過生成的視頻更好地理解舞蹈動作與音樂節奏的配合。
MusicInfuser 使用方法
一、安裝
1. 克隆倉庫:
git clone https://github.com/SusungHong/MusicInfuser cd MusicInfuser
2. 創建并激活 Conda 環境:
conda create -n musicinfuser python=3.10 conda activate musicinfuser
3. 安裝依賴:
pip install -r requirements.txt pip install -e ./mochi --no-build-isolation
4. 下載模型權重:
python ./music_infuser/download_weights.py weights/
二、推理(生成視頻)
運行以下命令生成視頻:
python inference.py --input-file {MP3或MP4文件路徑} \ --prompt {文本提示} \ --num-frames {生成的幀數}
input-file:輸入文件(MP3 或 MP4),從中提取音頻。
prompt:生成舞蹈的文本提示。提示越具體,生成結果通常越好,但過于具體可能會降低音頻的影響。默認值為 "a professional female dancer dancing K-pop in an advanced dance setting in a studio with a white background, captured from a front view"。
num-frames:生成的幀數。默認值為 145。
其他可選參數:
seed:隨機種子,用于控制生成結果的隨機性。默認值為 None。
cfg-scale:文本提示的分類器自由引導(CFG)比例。默認值為 6.0。
三、訓練
1. 數據預處理:
bash music_infuser/preprocess.bash -v {數據集路徑} -o {處理后的視頻輸出目錄} -w {預訓練的 Mochi 模型路徑} --num_frames {幀數}
2. 運行訓練:
bash music_infuser/run.bash -c music_infuser/configs/music_infuser.yaml -n 1
注意:當前實現僅支持單 GPU 訓練,訓練 73 幀序列需要大約 80GB 的顯存。
相關鏈接
GitHub 項目頁面:https://github.com/SusungHong/MusicInfuser
論文:https://arxiv.org/abs/2503.14505
相關文章
- 用戶登錄