Depth Any Video:開啟視頻深度估計新紀元
本篇分享論文Depth Any Video with Scalable Synthetic Data,基于多樣的仿真數(shù)據(jù)集和強大的視頻生成模型,Depth Any Video在真實視頻數(shù)據(jù)上展現(xiàn)了超強的泛化能力,并且在視頻深度一致性和精度上超越了之前所有生成式的深度估計方法!
論文鏈接:https://arxiv.org/abs/2410.10815
主頁鏈接:https://depthanyvideo.github.io
代碼鏈接:https://github.com/Nightmare-n/DepthAnyVideo
摘要
我們提出了一種新穎的視頻深度估計模型:Depth Any Video,它主要包含兩大關(guān)鍵創(chuàng)新: 1. 我們開發(fā)了一套可擴展的合成數(shù)據(jù)采集流程,從多樣化的虛擬環(huán)境中實時捕獲視頻深度數(shù)據(jù),采集了約4萬段5秒長的視頻片段,每段都具有精準的深度標注。2. 我們利用強大的視頻生成模型的先驗來高效處理真實世界視頻,并集成了旋轉(zhuǎn)位置編碼和流匹配等先進技術(shù),進一步增強靈活性和效率。 此外,我們引入了一種新穎的混合時長訓練策略,能夠在不同長度、不同幀率的視頻下表現(xiàn)出色。在推理階段,我們提出了一種深度插值方法,使模型能夠同時處理長達150幀的高分辨率視頻。我們的模型在深度一致性和精度方面均超越了之前所有的生成式深度估計方法。
動機
視頻深度估計是理解三維世界的基礎(chǔ)問題,在自主導航、增強現(xiàn)實和視頻編輯等具有廣泛的應(yīng)用?,F(xiàn)有的方法面臨的主要瓶頸在于缺乏多樣且大規(guī)模的視頻深度數(shù)據(jù),導致模型在不同場景下難以有效泛化。為了解決這個問題,本文提出了兩大關(guān)鍵創(chuàng)新: ? 我們構(gòu)建了一個大規(guī)模的合成視頻深度數(shù)據(jù)集,利用現(xiàn)代虛擬環(huán)境的高逼真視覺效果,從虛擬環(huán)境中提取大規(guī)模且精確的視頻深度數(shù)據(jù),既具可擴展性又低成本。 ? 我們設(shè)計了一個全新的視頻深度估計框架,借助視頻生成模型的強大視覺先驗,提升對真實視頻的泛化能力。該框架引入混合時長訓練策略和深度插值模塊,確保模型能在不同視頻長度下保證深度估計的精確性和一致性。 我們的模型在生成式的深度估計方法中實現(xiàn)了最先進的性能,樹立了視頻深度估計的準確性和魯棒性的新標桿。
方法
Game Data Workflow 實時數(shù)據(jù)收集:為解決深度數(shù)據(jù)的挑戰(zhàn),我們收集了由40,000個視頻片段組成的大規(guī)模仿真數(shù)據(jù)集DA-V。該數(shù)據(jù)集主要通過先進的虛擬環(huán)境引擎生成逼真的環(huán)境,并提供準確的深度信息。我們在多款熱門虛擬環(huán)境中提取深度數(shù)據(jù),并精心選擇以涵蓋廣泛的場景和環(huán)境條件,如:廣闊的城市景觀、細致的室內(nèi)場景、豐富的動作場面,以及科幻的建筑設(shè)計。它不僅為我們提供精準的深度信息,還讓模型接觸多樣的光照條件、天氣效果和復(fù)雜的幾何結(jié)構(gòu),使得模型能夠泛化到真實環(huán)境中。在表1中,我們將DA-V與以往的公開仿真數(shù)據(jù)集進行了比較。據(jù)我們所知,這是目前覆蓋真實場景范圍最廣的合成視頻深度數(shù)據(jù)集。
數(shù)據(jù)過濾:在收集初始仿真視頻后,我們發(fā)現(xiàn)圖像與深度信息之間偶爾會出現(xiàn)不一致現(xiàn)象,例如:切換到菜單界面時。為過濾這些幀,首先使用場景切割方法檢測場景轉(zhuǎn)換。然后,利用在人工挑選的仿真數(shù)據(jù)子集上訓練過的深度估計模型過濾掉得分較低的視頻序列。然而,這種方法可能導致未見數(shù)據(jù)的過度過濾。因此,我們借助CLIP模型計算實際和預(yù)測深度之間的語義相似度,均勻抽取每個視頻片段的10幀。如果語義和深度得分的中位數(shù)均低于設(shè)定閾值,則移除該片段。
Generative Video Depth Model 模型設(shè)計:我們基于視頻生成模型Stable Video Diffusion (SVD),將深度估計框架轉(zhuǎn)化為條件去噪過程。整體框架如圖1所示,訓練流程包括一個前向過程,通過添加高斯噪聲逐步擾亂真實深度數(shù)據(jù),然后將視頻作為條件輸入去噪模型進行反向去噪。一旦模型完成訓練,推理流程就從純噪聲開始,逐步去噪,逐步得到深度預(yù)測結(jié)果。與之前的擴散模型類似,該生成過程在變分自編碼器的潛空間中進行,使模型能處理高分辨率輸入而不犧牲計算效率。為了讓去噪器以輸入視頻為條件,我們也將視頻轉(zhuǎn)換到潛空間中,然后將其與潛空間下的深度逐幀連接,作為去噪模型的輸入。
條件流匹配:為了加速去噪過程,我們將SVD中的去噪方法替換為條件流匹配。相比于原本的25步,新方法只需1步即可獲得滿意的深度預(yù)測結(jié)果。具體來說,我們通過高斯噪聲與數(shù)據(jù)之間的線性插值來建模數(shù)據(jù)加噪過程,然后通過預(yù)測速度矢量場和常微分方程來進行去噪求解。 混合時長訓練:為了增強模型在不同視頻長度下深度估計的泛化能力,我們采用了一種混合時長訓練策略,以確保對各種輸入的魯棒性。這一策略包括:幀丟棄數(shù)據(jù)增強(圖1a):提升長視頻序列的訓練效率,并通過旋轉(zhuǎn)位置編碼增強模型在長視頻下的泛化能力。視頻打包技術(shù)(圖1b):將相同長度、分辨率的視頻打包在同一個訓練批次中,優(yōu)化變長視頻訓練過程中的內(nèi)存使用。 長視頻推理:上述經(jīng)過訓練的模型,在單個80GB A100 GPU上可同時處理分辨率為960 x 540的32幀視頻。為處理更長的高分辨率視頻序列,我們首先預(yù)測全局一致的關(guān)鍵幀,然后使用幀插值網(wǎng)絡(luò)生成關(guān)鍵幀之間的中間幀,以確保深度分布的尺度和偏移對齊。如圖2所示,我們將關(guān)鍵幀的預(yù)測結(jié)果與視頻序列同時作為幀插值網(wǎng)絡(luò)的條件輸入。
實驗結(jié)果
表2展示了我們的模型與當前最先進的單幀輸入的深度估計模型的性能比較。我們的模型在各個數(shù)據(jù)集上顯著超越了先前所有的生成模型,同時在某些情況下,其表現(xiàn)甚至優(yōu)于之前的判別模型。
圖3展示了我們的模型在不同數(shù)據(jù)集下的可視化結(jié)果,我們的方法能夠捕捉細致的細節(jié),并在自然環(huán)境數(shù)據(jù)上實現(xiàn)有效的泛化性。
表3展示了我們的模型與之前的視頻深度估計模型的性能比較。我們的模型在ScanNet++數(shù)據(jù)集上展示了更好的時間一致性和預(yù)測精度,突顯其在視頻深度估計中的有效性。
表4展示了與之前生成方法的性能和效率比較。我們的模型參數(shù)少于先前的視頻深度估計方法。此外,與所有的生成式深度估計方法相比,我們實現(xiàn)了更低的推理時間和更少的去噪步驟,同時獲得了更好的預(yù)測精度。
表5展示了所提模塊對模型測試時間、訓練時間、顯存利用率和平均精度的影響。可以看到,這些模塊均對各項指標產(chǎn)生了積極影響。