社群計算機視覺課程文件
影片處理基礎
並獲得增強的文件體驗
開始使用
影片處理基礎
隨著 Transformer 的興起,視覺 Transformer 已成為各種計算機視覺任務的重要工具。視覺 Transformer 在涉及影像和影片的計算機視覺任務中表現出色。
然而,瞭解這些模型如何以不同方式處理影像和影片對於實現最佳效能和準確結果至關重要。
理解視覺 Transformer 的影像處理
對於影像資料,視覺 Transformer 通常透過將單個靜止影像分割成不重疊的影像塊,然後單獨轉換這些影像塊來處理它們。假設我們有一個 224x224 的影像,將其分割成 16x16 的影像塊,其中每個影像塊包含 14x14 畫素。這種基於影像塊的處理不僅減少了計算量,而且還使模型能夠有效地捕獲影像中的區域性特徵。然後,每個影像塊透過一系列自注意力層和前饋神經網路來提取語義資訊。得益於這種分層處理技術,視覺 Transformer 能夠捕獲影像中的高階和低階特徵。由於視覺 Transformer 單獨處理影像塊,並且 Transformer 預設沒有機制來跟蹤輸入的 H位置,因此影像的空間上下文可能會丟失。為了解決這個問題,視覺 Transformer 通常包含位置編碼,以捕獲影像中每個影像塊的相對位置。透過合併位置資訊,模型可以更好地理解不同影像塊之間的空間關係,並增強其識別物件和模式的能力。
注: CNN 旨在學習空間特徵,而視覺 Transformer 旨在學習空間和上下文特徵。
影像和影片處理之間的主要區別
影片本質上是幀序列,處理它們需要捕獲和合並運動資訊的技術。在影像處理中,Transformer 忽略幀之間的時間關係,即它只關注幀的空間資訊。
時間關係是深入理解影片內容的主要因素,因此我們需要針對影片的單獨演算法。影像和影片處理之間的主要區別之一是輸入中額外添加了一個軸——時間。從影片中提取 token 或嵌入影片片段有兩種主要方法。
均勻幀取樣
這是一種標記輸入影片的直接方法,我們均勻取樣輸入影片片段中的幀,使用與影像處理相同的方法獨立嵌入每個 2D 幀,並將所有這些 token 連線起來。
如果從每個幀中提取不重疊的影像塊,然後將總計的 token 將透過 Transformer 編碼器轉發。均勻幀取樣是一種標記方案,我們從影片片段中取樣幀並執行簡單的 ViT 標記。
Tubelet 嵌入
此方法將視覺 Transformer 的影像嵌入擴充套件到 3D 並對應於 3D 卷積。它是一種替代方法,其中從輸入體中提取不重疊的時空“管狀塊”並進行線性投影。
首先,我們從影片中提取管狀塊。這些管狀塊包含幀的影像塊以及時間資訊。然後將這些管狀塊展平以構建影片 token。直觀地,此方法在標記化期間融合時空資訊,與“均勻幀取樣”不同,後者透過 Transformer 融合來自不同幀的時間資訊。
時間資訊在影片處理中的重要性
在影片處理中包含時間資訊對於一些計算機視覺任務至關重要。其中一個任務是動作識別,旨在對影片中的動作進行分類。時間資訊對於影片字幕等任務也至關重要,其目標是生成影片內容的文字描述。
透過考慮幀之間的時間關係,視覺 Transformer 可以生成更具上下文相關性的字幕。例如,如果一個人在一個幀中奔跑,然後在下一個幀中跳躍,模型可以生成反映這一系列動作的字幕。此外,時間處理對於影片目標檢測和跟蹤等任務也很重要。
總而言之,影片和影像處理之間的主要區別在於時間資訊的存在以及影片資料帶來的特殊困難,例如更高的記憶體和儲存需求。影像和影片處理的選擇取決於特定的計算機視覺任務和資料的特徵。
< > 在 GitHub 上更新