擴散模型的引入推動了文本生成視頻技術的發展,然而,這些方法往往計算成本高昂,且難以實現流暢的物體運動視頻
為了應對這些問題,來自中國科學院深圳先進技術研究院、中國科學院大學和VIVO人工智慧實驗室的研究人員聯合提出了一種名為GPT4Motion的新框架,該框架無需訓練即可生成文字視訊。 GPT4Motion 結合了GPT等大型語言模型的規劃能力、Blender軟體提供的物理模擬能力以及擴散模型的文生成圖能力,旨在大幅提升影片合成的品質
#GPT4Motion 使用GPT-4 基於使用者輸入的文字prompt 產生Blender 腳本。它利用 Blender 的實體引擎來創建基本的場景元件,並將其封裝為連續的跨幀運動。然後,將這些組件輸入到擴散模型中,生成與文本prompt 相匹配的視頻
#實驗結果表明,GPT4Motion 能夠高效地生成高質量的視頻,同時保持了運動的一致性和實體的一致性。需要注意的是,GPT4Motion 使用了實體引擎,使得產生的影片更加真實。這為文字生成影片提供了新的視角
讓我們先看看GPT4Motion的生成效果,例如輸入文字提示:「一件白色T卹在微風中飄動」、“一件白色T卹在風中飄動」、「一件白色T卹在大風中飄動」。由於風的強度不同,GPT4Motion產生的影片中白色T恤的飄動幅度也不同:
在液體流動形態方面,GPT4Motion 產生的影片也能夠很好地表現出來:
籃球從空中旋轉落下:
該研究的目標是根據使用者對一些基本物理運動場景的prompt,產生一個符合物理特性的影片。物理特性通常與物體的材料有關。研究者的重點在於模擬日常生活中常見的三種物體材料:1)剛性物體,在受力時能保持形狀不改變;2)布料,其特徵是柔軟且易飄動;3)液體,表現出連續和可變形的運動。
此外,研究人員也特別關注這些材料的幾種典型運動模式,包括碰撞(物體之間的直接撞擊)、風效應(氣流引起的運動)和流動(連續且朝著一個方向移動)。模擬這些物理場景通常需要經典力學、流體力學和其他物理知識。目前專注於文字生成影片的擴散模型很難透過訓練來獲得這些複雜的物理知識,因此無法製作出符合物理特性的影片
GPT4Motion的優勢在於:確保產生的影片不僅與使用者輸入的提示一致,而且在物理上也是正確的。 GPT-4的語意理解和程式碼產生能力可以將使用者的提示轉換為Blender的Python腳本,該腳本可以驅動Blender的內建實體引擎來模擬對應的實體場景。此外,研究也使用了ControlNet,將Blender模擬的動態結果作為輸入,指導擴散模型逐幀產生影片
##利用GPT-4 啟動Blender 進行模擬操作
研究者觀察到,雖然 GPT-4 對 Blender 的 Python API 有一定的了解,但它根據使用者 prompt 產生 Blender 的 Python 腳本的能力仍然有所欠缺。一方面,要求 GPT-4 直接在 Blender 中創建哪怕是一個簡單的 3D 模型(如籃球)似乎都是一項艱鉅的任務。另一方面,由於 Blender 的 Python API 資源較少且 API 版本更新較快,GPT-4 很容易誤用某些功能或因版本差異而出錯。為了解決這些問題,研究提出了以下方案:
圖3 顯示了該研究為GPT-4 設計的通用prompt 範本。它包括封裝的 Blender 函數、外部工具和使用者指令。研究者在模板中定義了虛擬世界的尺寸標準,並提供了有關攝影機位置和視角的資訊。這些資訊有助於 GPT-4 更能理解三維空間的佈局。之後基於使用者輸入的 prompt 產生對應的指令,引導 GPT-4 產生對應的 Blender Python 腳本。最後,透過該腳本,Blender 渲染出物體的邊緣和深度,並以影像序列的形式輸出。
#重寫後的內容:製作遵循物理規律的影片
這項研究旨在根據使用者提供的提示和Blender所提供的相應物理運動條件,產生與文字內容一致且視覺效果逼真的影片。為此,研究採用了擴散模型XL(SDXL)來完成生成任務,並對其進行了改進
#控制物理特性
圖4展示了GPT4Motion在三種提示下產生的籃球運動視頻,涉及籃球的下落和碰撞。在圖4的左側,籃球在旋轉時保持了高度逼真的紋理,並準確地複製了與地面碰撞後的彈跳行為。圖4的中間顯示,此方法可以精確控制籃球的數量,並有效地產生多個籃球落地時發生的碰撞和彈跳。令人驚訝的是,如圖4右側所示,當使用者要求將籃球拋向攝影機時,GPT-4會根據生成腳本中籃球的下落時間計算出必要的初始速度,從而實現逼真的視覺效果。這表明,GPT4Motion可以與GPT-4所掌握的物理知識相結合,從而控制生成的視頻內容
在風中飄動的布料。圖 5 和圖 6 驗證了 GPT4Motion 在產生在風力影響下運動的布匹的能力。利用現有的實體引擎進行模擬,GPT4Motion 可產生不同風力下布的波動和波浪。在圖 5 展示了一面飄動旗幟的生成結果。在不同風力下,旗幟呈現複雜的波紋和波浪圖案。圖 6 顯示了不規則布料物體 —— T 卹,在不同風力下的運動情況。受織物彈性和重量等物理特性的影響,T 卹發生了抖動和扭曲,並出現了明顯的褶皺變化。
#圖 7 展示了將不同黏度的水倒入馬克杯的三段影片。當水的黏度較低時,流動的水與杯子中的水發生碰撞並融合,形成複雜的湍流現象。隨著黏度的增加,水流變得緩慢,並且液體開始相互黏連在一起
#與基準方法對比
在圖1中,GPT4Motion與其他基準方法進行了直覺對比。很明顯,基線方法的結果與使用者的提示不符。 DirecT2V和Text2Video-Zero在紋理逼真度和動作一致性方面有缺陷,而AnimateDiff和ModelScope雖然提高了影片的流暢度,但在紋理一致性和動作逼真度方面仍有提升空間。與這些方法相比,GPT4Motion可以在籃球下落和與地板碰撞後的彈跳過程中產生平滑的紋理變化,看起來更加逼真
如圖8(第一行)所示,AnimateDiff 和Text2Video-Zero 產生的影片在旗幟上出現了偽影/ 扭曲,而ModelScope 和DirecT2V 則無法平滑地產生旗幟在風中飄動的漸變。但是,如圖 5 中間所示,GPT4Motion 產生的影片可以顯示出旗幟在重力和風力作用下皺紋和波紋的連續變化。
所有基準的結果都與使用者提示不符,如圖8中的第二行所示。儘管AnimateDiff和ModelScope的影片反映了水流的變化,但它們無法捕捉到水倒入杯子的物理效果。另一方面,由Text2VideoZero和DirecT2V產生的影片則創造了一個不斷抖動的杯子。與此相比,如圖7(左)所示,GPT4Motion產生的影片準確地描述了水流與馬克杯碰撞時的激盪,效果更加逼真
有興趣的讀者可以閱讀原始論文,以了解更多的研究內容
以上是結合物理引擎,GPT-4+擴散模型產生逼真、連貫、合理視頻的詳細內容。更多資訊請關注PHP中文網其他相關文章!