Diffusion Models研究(1)_Python用 FramePack將Image 轉換為Video(最高支援 60 秒)
使用官方論文研究作者釋出的github來實驗
https://github.com/lllyasviel/FramePack.git
於 2025 年 4 月發表之論文中的 FramePack
提出一種神經網路結構 FramePack,用以訓練下一幀(或下一幀區段)預測的影片生成模型。
Frame Context Packing and Drift Prevention in Next-Frame-Prediction Video Diffusion Models
在過去既有舊方法中,隨著影片變長,先前影格的記憶會逐漸被遺忘,且誤差會持續累積有漂移等問題。為了應對這些問題,FramePack 採用了能在保持計算負擔恆定的同時強化記憶能力的創新方法。
- 以 Transformer 為基礎的模型中,隨著輸入影格數增加,Attention 的計算量呈二次方成長,限制了對長片段影片的可擴展性。
- FramePack 以逐幀重要性壓縮輸入影格上下文,使得在固定的上下文長度內可編碼更多影格,且重要性較高的影格會擁有更長的上下文。
- 影格重要性可使用時間接近度、特徵相似度或混合度量來衡量。
- 此打包方法允許在推論時處理數千幀影格,並在訓練時使用相對較大的批次大小。
傳統的影格生成是依時間順序進行,因此容易累積誤差。
FramePack 引入了以下新的取樣方式
- 主要是先生成最開始與最後的影格(端點),然後在參照前後文脈的情況下填補中間影格。因為能夠利用雙向的上下文,能維持穩定的影像品質。
- 使用者指定的初始影格(靜止影像)作為高品質錨點,並以逆序生成未來影格,同時逐步讓影格貼近初始影格。對 Image-to-Video 任務特別有效。
- 作為補充技術,由於以錨點生成與逆序生成會使時間軸出現不連續,因此
會校正 RoPE(Rotary Position Embedding)的相位,以確保時間資訊的一致性。
可以觀察到生成動畫稍微有些不合預期邏輯
這裡用的圖去生成20秒的影片
https://www.pakutaso.com/20250450107post-52239.html
https://user0514.cdnw.net/shared/img/thumb/nozaki10A7448_TP_V.jpg
另一張是女孩跳舞指令
完整實驗程式碼放這
https://github.com/ChouSamuel/Image-to-Video-using-FramePack/blob/main/Image_to_Video.ipynb
Colab實驗
參考
https://the-walking-fish.com/p/framepack/


留言
張貼留言