AI 跳舞影片怎麼做?骨架動畫 VS 3D 白模,從零認識動作遷移
最近看到有人把真人跳舞影片轉換成骨架動畫,再搭配人物照片,讓 AI 生成相當擬真的跳舞影片。這讓我想到:如果想讓 AI 網紅模仿真人跳舞,該用骨架動畫,還是 3D 白模動畫?
兩者都能提供動作參考,但保留的資訊和製作難度不同。這篇文章會從基本概念開始,帶你了解選擇方式、實作流程,以及使用 Codex、Python、Blender 和 ComfyUI 時需要注意的事。
什麼是 AI 動作遷移?
想像你看到一支舞蹈影片,希望自己設計的 AI 網紅跳出類似的舞步。傳統上可能要觀察舞蹈、拆分動作、撰寫提示詞,再反覆生成;動作遷移(Motion Transfer)則是分析參考影片中的人物動作,並將動作套用到另一個角色。
可以把它拆成兩部分:
- 動作來源:決定角色怎麼跳、走或轉身。
- 角色來源:決定角色的外貌、服裝與造型。
將動作和角色分開處理,是動作遷移的核心概念。不過,不是所有 AI 影片模型都支援精確動作控制;效果取決於模型支援的輸入方式與設定。
骨架動畫:用關節點記錄動作
人體姿態估計(Pose Estimation)可以偵測頭部、肩膀、手肘、手腕、髖部、膝蓋和腳踝等關鍵點;部分模型也能辨識手指或臉部。將關節點連線後,就像一個彩色火柴人在跳舞。
例如,一支 10 秒、每秒 30 幀的影片共有 300 幀。姿態估計模型可以逐幀分析關節位置,儲存座標或繪製骨架影片,保留主要動作節奏,而不必保留原始臉部、服裝及背景。
骨架動畫的優點與限制
骨架擷取通常速度較快,也方便自動化。MediaPipe、DWPose 等工具可以分析人體姿態;Codex 則能協助撰寫 Python 程式,批次處理影片。站立跳舞、揮手和簡單律動,都適合作為入門測試。
但 2D 骨架主要描述畫面中的關節位置,缺乏完整人體體積與可靠的前後深度。轉身、手臂遮擋、肢體交錯、蹲下或翻滾時,關節可能判斷錯誤。3D 骨架能提供更多空間資訊,仍不等同於完整的人體表面幾何。
3D 白模動畫:呈現身體體積與遮擋
這裡的白模動畫,是指使用沒有複雜貼圖與材質的 3D 人體模型呈現動作。它不一定有五官、髮型或服裝細節,但有身體形狀,能呈現軀幹方向、肢體體積及前後遮擋。
對於轉身、蹲下、地板舞蹈或雙人互動,完整 3D 白模通常能提供比 2D 骨架更多空間資訊。你也可以在 Blender 安排人物動作和虛擬攝影機,再輸出白模動畫作為參考。
代價是流程較複雜:需要取得或估計 3D 動作、套用到模型,可能還要修正腳底滑動、肢體穿模,並設定攝影機。從單一攝影機影片重建 3D 動作時,深度與遮擋也存在不確定性。
**真正的 3D 白模動畫,與把真人影片轉成白色人物輪廓並不相同。**後者可能只是影像風格轉換,未必具有可調整的 3D 空間資訊。
骨架與白模怎麼選?
| 比較項目 | 2D 骨架動畫 | 3D 白模動畫 |
|---|---|---|
| 主要資訊 | 畫面中的關節位置 | 人體外形與動作 |
| 人體體積 | 缺乏 | 有 |
| 轉身與遮擋 | 深度資訊不足 | 可呈現立體方向與遮擋 |
| 虛擬運鏡 | 控制有限 | 可搭配 3D 攝影機 |
| 製作速度與難度 | 通常較快、較容易自動化 | 通常較慢、處理較複雜 |
| 適合應用 | 簡單舞蹈、手勢、短影音 | 複雜舞蹈、動作場景、虛擬運鏡 |
如果只是想嘗試 10 秒的 AI 網紅跳舞影片,我會建議先從骨架開始。若要研究 K-pop 舞蹈、轉身、武打或複雜運鏡,則可以進一步探索 3D 白模。
白模資訊較完整,並不代表所有生成模型都能正確使用。直接把白模影片放進影片生成工具,不一定能精準複製動作;要先確認工具的參考模式、控制能力與輸入格式。工具功能也可能隨版本和方案變動。
新手實作:把真人舞蹈影片轉成骨架動畫
準備 Codex、Python、MediaPipe Pose Landmarker、OpenCV 與 FFmpeg。MediaPipe 和 OpenCV 提供開源工具;安裝前應確認目前版本的 API 與對應模型。Codex 可以協助建立程式,但執行及安裝前仍要檢查程式與依賴。
第一步:準備適合的影片
先選一支具有使用權限、長度約 5~10 秒的影片。建議只有一位人物、全身清楚入鏡、遮擋少、攝影機固定,動作也不要太複雜。第一次測試先避開多人舞蹈與快速旋轉。
第二步:請 Codex 建立轉換工具
將舞蹈影片放進專案資料夾,再使用以下提示詞:
1 | 請幫我建立一個 AI 舞蹈骨架動畫轉換工具。 |
這個提示詞提供基本方向;實作時還要確認影片比例與畫面縮放方式,避免輸出直式影片時拉伸人物。MediaPipe 的模型與 API 需依實際版本調整。
第三步:檢查骨架影片
能輸出影片不代表姿態正確。請對照原影片檢查:
- 手腕是否突然跳到另一邊?
- 左右腳是否交換?
- 轉身時骨架是否混亂?
- 手臂被遮擋時是否判斷錯誤?
- 動作節奏是否同步?
- 偵測失敗影格是否在報告中如實記錄?
骨架本身若有問題,後續生成也可能跟著出錯。
進階實作:如何製作 3D 白模動畫?
一種常見流程是:真人影片 → 3D 人體姿態估計 → 動作重建 → Blender 人體模型 → 白模動畫。過程中可能遇到這些名詞:
- Motion Capture(動作捕捉):記錄真人動作,轉成虛擬角色可使用的資料。
- 3D Human Pose Estimation(3D 人體姿態估計):從影像推估關節在三維空間中的位置;單鏡頭仍有深度與遮擋的不確定性。
- SMPL 人體模型:參數化 3D 人體模型,可透過身形與姿態參數產生人體表面幾何。
- Blender:開源 3D 製作軟體,可匯入模型、套用動作、調整骨骼、設定攝影機並輸出影片。
動作資料不一定能直接套用到任何模型,經常需要做骨骼對應(Retargeting)。腳底滑動、穿模和遮擋也可能需要人工修正。
骨架和白模可以一起使用嗎?
可以。你可以先取得舞蹈影片的關節資料,再研究 3D 人體重建與動作轉換,讓同一段動作輸出不同參考:
- 版本 A:2D 骨架動畫,保留關節點、連線和動作節奏。
- 版本 B:3D 白模動畫,呈現人體體積、旋轉和遮擋。
- 版本 C:多條件輔助控制,在支援相應訊號的生成系統中,結合姿態、深度或其他控制資訊。
第三種做法需要模型或工作流真正支援相應條件,不能假設上傳兩段參考影片就能達成。從 2D 骨架重建 3D 動作也不是直接轉檔,仍需要估計、對應和檢查。
實際應用:讓 AI 網紅跳舞
假設我設計了一位 AI 網紅「米樂」,希望她跳一段 10 秒舞蹈,可以依序嘗試:
- 準備角色:建立正面、側面和全身等參考畫面,盡量固定髮型、服裝與人物比例。
- 取得動作:使用有權限的舞蹈參考影片,先用 Codex 和 MediaPipe 產生並檢查骨架。
- 生成影片:挑選支援動作參考或姿態控制的工具,提供角色圖與相容的控制素材。Google Flow、Seedance 或 ComfyUI 工作流可列為研究對象,但要分別確認當前實際支援的格式及控制能力。
- 檢查角色一致性:確認臉型、服裝、髮型、身材比例、手指與動作同步狀況。骨架或白模不能單獨解決這些問題。
- 剪輯輸出:可用 Codex 協助搭配 FFmpeg,處理配樂與節拍、裁切、字幕、9:16 直式輸出及社群平台安全區域。
從骨架開始,逐步建立自己的工作流
初學者可以先用骨架製作簡單舞蹈和手勢參考;當轉身或遮擋成為瓶頸,再研究 3D 白模。更完整的製片流程則能結合動作擷取、3D 重建、角色控制、影片生成與剪輯。
過去我們常花很多時間用文字描述「抬手、轉身、跨步」;即使描述詳細,也不一定能精確控制時間、角度與節奏。骨架和白模提供另一種方向:把可分析的動作參考交給支援相應控制方式的系統,再透過檢查與修正逐步接近想要的結果。
常見問答 (FAQ)
Q1:第一次做 AI 跳舞影片,該選骨架還是白模?
建議先用 2D 骨架測試短片與簡單動作。它較容易理解與自動化;遇到轉身、遮擋或虛擬運鏡等需求,再評估 3D 白模。
Q2:白模動畫一定能讓 AI 精準複製舞步嗎?
不一定。白模能呈現更多立體資訊,但生成效果取決於模型是否支援相應參考與控制方式,以及動作資料品質和生成設定。
Q3:單鏡頭影片可以直接還原準確的 3D 動作嗎?
可以用相關方法估計,但單鏡頭存在深度與遮擋的不確定性,重建結果可能需要骨骼對應及人工修正,不能假設一定準確。
Q4:產生骨架影片後,還需要檢查什麼?
應對照原片檢查關節跳動、左右腳交換、遮擋、轉身與時間同步,並確認偵測失敗的影格已被記錄。
Q5:需要準備什麼才能開始?
先準備一支有使用權限、人物全身清楚且遮擋少的短影片,以及可執行 Python、MediaPipe、OpenCV 和 FFmpeg 的環境;影片生成階段還需確認所選工具支援的控制輸入。