2024年3月9日 星期六

討論 OpenAI 的 Sora 模型以及其生成影片的幾何一致性

最近最熱門的話題就是 OpenAI 的 Sora 模型了。本文將分享兩篇有關 Sora 分析的論文:

  1. Sora: A Review on Background, Technology, Limitations, and
    Opportunities of Large Vision Models
  2. Sora Generates Videos with Stunning Geometrical
    Consistency

Sora 的架構

第一篇文章是一個研究團隊針對 Sora 的分析以及猜測背後用的技術。Sora 與以往模型不同的是它能生成一次一分鐘的影片,並且影片的品質無論是與使用者輸入或是其中三維世界的描述都好得讓人驚訝。

Reverse Engineering: Overview of Sora framework
 上圖為猜測的 Sora 架構。以下為一些重點:

  1. 使用者的輸入藉由 GPT-4 從比較抽象的描述轉換成非常完整對於場景的描述。這個過程就是像是在拍電影時也會從一個概念轉化成很詳細對於場景描述的文字,甚至是分鏡圖。利用 GPT-4 模型便能將抽象概念轉化成非常詳細的場景描述。
  2. 在訓練時用 CLIP 模型將場景描述與圖片或一小段影片連結在一起。到目前為止便生成了從一小段使用者輸入至一張圖片或一小段影片的過程。
  3. 大規模影片的輸入是把影片轉化成 Latent Spacetime Patches,再提取精華至一個 Latent Space 的向量。
  4. 利用 Diffusion Transformer 將 Latent Space 的向量解碼回原本的影片。
  5. 而在生成影片時,首先利用 GPT-4 將使用者輸入轉化成場景描述,再利用 CLIP 產生一張圖片或一小段影片。接著再將 CLIP 裡對應的 Latent Space Vector 利用 Diffusion Transformer 生成最後的影片。

Sora 的訓練資料處理

本篇文章強調 Sora 的訓練影片沒有經過 resize 或 cropping 等常用的圖片資料處理手續。(註:這也是 Richard Sutton 的 THE BITTER LESSON 中強調的。)將每張圖片切成固定大小的 patch,只要再加上其位置向量就能用串流的方式來表達圖片或影片。這種切 patch 與位置向量的使用在 Vision Transformer 的類似模型中相當常見。

Comparison between different patchification for video compression

左半邊為 Spatial-patch Compression 的方法,也就是每個 patch 照其位置排列,同個時間上的patch 會排在一起。而右半邊是 Spatial-temporal-patch Compression 的方法,每個 patch 都包含了好幾個時間點;此方法與常見的壓縮演算法基本上概念是一樣的。

Sora 生成影片的幾何一致性

第二篇文章用了傳統電腦視覺的方法分析 Sora 以及相關類似模型生成影片的幾何一致性。

Visualizations of point clouds and Gaussian Splatting renderings
可以看出 Sora 生成的影片利用三維重建後的點雲已經相當完整,比起其他模型 Pika 與 Gen2 來說三維幾何架構正確地多。

Matching result comparisons.

這張圖片可以看出 Sora 的影片在不同時間的幾何一致性也相當優異。每一張圖都有左半邊右半邊代表一個影片相近時間的圖片,越多 matching (綠色直線)代表幾何一致性越強。

Visualizations of the SGBM stereo matching results
這張圖片是用 SGM 演算法來重建影片的深度(也就是三維資訊)。一樣能看出 disparity map 已經相當完整,比其他模型好得多。

Sora 到底是不是世界模擬器?

從生成的影片中可以發現 Sora 能把輸入影片中的三維世界學得非常好,因此其生成的影片對於我們來說與用相機拍攝的已經非常接近。但是到底是不是個世界模擬器我覺得是一個哲學問題,畢竟以現在的科學都還無法斷定人類是真正的了解世界運行的法則。世界模擬器這個問題的層次可能太高,但是 Sora 生成的影片已經能夠滿足人類日常生活的需要這是無庸置疑的!



沒有留言:

張貼留言