去年底我在迭代插幀開源模型時有一些發(fā)現(xiàn),準(zhǔn)備寫 paper 的時候感覺更合適放進(jìn)時空超分里,也順便討論了一些我們之前論文的遺留問題,在 WACV2024 發(fā)表。
項目主頁:
github.com/megvii-research/WACV2024-SAFA
作者和他們的主頁:Zhewei Huang, Ailin Huang, Xiaotao Hu, Chen Hu, Jun Xu, Shuchang Zhou
TLDR:時空超分任務(wù)通常輸入兩幀 RGB,插出中間的若干幀,并且要把所有的幀以長寬四倍的分辨率輸出,SAFA 在推理時根據(jù)輸入會調(diào)整模型的處理分辨率,實驗基準(zhǔn)跟隨 VideoINR,用僅 1/3 計算量取得平均 0.5dB 的提升。
背景:
本來其實是刷了一個插幀的漲點后,再把技術(shù)搬到視頻時空超分上的。因為插幀這邊競爭太多了,把對比實驗做扎實不容易。時空超分的訓(xùn)練測試調(diào)試好大概單獨花了兩周,主要是一些細(xì)節(jié)上對齊麻煩。Zooming Slomo 一系的工作訓(xùn)練時間長達(dá)一周,VideoINR 設(shè)的基準(zhǔn)訓(xùn)練會簡便一些(訓(xùn)練集不一樣)。好在這個領(lǐng)域大部分作者都能聯(lián)系到,特別感謝 Gang Xu,Zeyuan Chen, Mengshun Hu 在我刷實驗的時候提供的討論意見,Jun Xu 老師恰好也是 TMNet 的作者幫改了很多。
介紹:
視頻插幀和時空超分的聯(lián)系:
在視頻插幀中,對于幀 I0 和 I1,給定時間 t,目標(biāo)是出一個中間幀 It。我們把視頻時空超分也寫成類似的形式:對于低分辨率的幀 I0{LR} 和 I1{LR},給定時間 t,輸出四倍分辨率的 It{HR}。
在時空超分中,除了 I0.5{HR}, 我們還要得到 I0{HR}, I1{HR},如果把它們看成三次類似的推理,即 t=0, 0.5, 1 的情況各推理一次,這樣就和視頻插幀非常像了。對于升分辨率的問題,考慮把插幀做到特征圖上,即 低分辨率幀 -> 編碼成特征 -> 特征圖上插幀 -> 解碼得到高分辨率幀。
多尺度處理:
視頻有不同分辨率、運動幅度等等,所以相關(guān)工作往往都包含手工設(shè)計多尺度多階段的網(wǎng)絡(luò)結(jié)構(gòu),我們認(rèn)為這是模型越做越復(fù)雜的原因之一。我們先反思了先前工作:
在推理 4K 視頻的時候,把視頻先縮放再估計光流可能更準(zhǔn)
即使 RIFE 模型中做了多尺度設(shè)計,但是我們發(fā)現(xiàn)每個視頻都要手動指定一個光流推理尺度:即要把原始幀先縮小,推理光流,再把光流放大,光流結(jié)果才會更準(zhǔn)。這啟發(fā)我們?nèi)ピO(shè)計自適應(yīng)的動態(tài)網(wǎng)絡(luò)來緩解推理尺度問題。
主體結(jié)構(gòu):
主要結(jié)構(gòu)
(a) 是整個網(wǎng)絡(luò)結(jié)構(gòu):用了類似 RAFT 的迭代試錯方式來估計光流 Ft->0, Ft->1,用光流插幀特征圖,然后解碼。
比較有意思的是 (b):我們剛才提到一種做法,把視頻幀縮小,在小圖上估計光流,再把光流放大可能可以更準(zhǔn)。那這里就給網(wǎng)絡(luò)設(shè)計三條路,即 1x, 0.5x, 0,25x 的處理分辨率,具體選哪條讓尺度選擇器(一個計算量很小的網(wǎng)絡(luò)來決定)。全選 1x 就是在原始分辨率上處理,0.5x 和 0.25x 在小圖上處理(會更快)。
(c) 尺度選擇器是兩個 conv1x1、池化、全連接加上一個 STE。這里 STE 的技術(shù)是為了讓路徑選擇過程變成可微分的。我們在前一個工作 DMVFN 中用 STE 構(gòu)建了雙分支選擇,這里構(gòu)建了多分支選擇:實驗發(fā)現(xiàn)比較有效的做法是把 K 分支選擇看成 K-1 次雙分支選擇,具體見論文。
(d) 強(qiáng)調(diào)一下,每個迭代塊都會給自己選處理尺度。
實驗:
論文里所有實驗,在空間上做的都是四倍超分,主要實驗結(jié)果:
2x時間4x空間實驗
以上是 2x 時間,4x 空間的實驗,不同時間倍數(shù)和 VideoINR、TMNet 的對比:
不同時間倍數(shù)的時空超分實驗
視覺效果可以看論文里的圖和演示視頻
因為比較節(jié)制地選用了簡單的設(shè)計組件和簡潔的結(jié)構(gòu),運行效率也會好一些:
隨著倍數(shù)增加,推理開銷比線性略低一些
在消融實驗中,我們討論一些 trick。
各種消融實驗
a1-a5: 特征提取器怎么選?最后選中的是 ResNet18 的 stem(最前面的卷積和池化)的輸出和前兩個 block 的特征層的混合。選更復(fù)雜的網(wǎng)絡(luò)會掉點,我個人感覺是因為 BottleNeck 的設(shè)計在空間信息的保存上有負(fù)面效果。
b1-b3: 這里是說生成最后的結(jié)果的時候,最好拿兩部分信息,一方面是從原始的低分辨率圖 + 光流得到一個中間幀打底,另一方面再用插幀出的特征圖來修:
圖片信息融合和特征信息融合
c1-c8: 對光流組件的設(shè)計進(jìn)行一些討論,比如迭代次數(shù) 1 (c1) 的時候效果會很差,不同分支如果不共享參數(shù) (c7),效果差不多但增大參數(shù)量。
這里插一個驗證性實驗,尺度選擇器真的會根據(jù)處理視頻的分辨率出合理的路線選擇:
關(guān)于尺度選擇的統(tǒng)計
可以看到對于 4K 視頻,模型就會選更多的 scale=1/4。
d1-d3: 這里是想提一下,如果把特征提取器做的更好是能漲點的,比如換成 ImageNet 訓(xùn)練過的提取器或者無監(jiān)督方法訓(xùn)練的提取器。
e1-e4: 學(xué)習(xí)率太小會掉點;因為設(shè)計很規(guī)整,所以改通道數(shù) nc 能很方便地控制設(shè)計出的網(wǎng)絡(luò)的計算量。
方法限制:
首先因為沿用 VideoINR 的實驗基準(zhǔn),這里沒做多幀輸入,像 BasicVSR 類似的作品在離線處理的時候是可以用非常多的幀來提高性能的,我們還是想探索一下這種窮人版的視頻超分;做論文的時候因為都比 PSNR、SSIM,感知損失相關(guān)的探索沒有做,加個 vgg loss 等肯定視覺效果會更好一些
還有就是實驗環(huán)境下,低分辨率圖片是直接把高分辨率圖片 bicubic 下采樣得到的,因此它和帶有復(fù)雜退化的真實視頻是很不一樣的,這里肯定是需要加入 Real-ESRGAN 等方法的退化模擬和更多的數(shù)據(jù)集才能真正把這項工作推向?qū)嵱玫摹N易罱苍谟?xùn)練這樣的模型,希望不久以后能整合進(jìn)我們的插幀應(yīng)用里。
部分附錄:
特征提取的具體結(jié)構(gòu)
和 ZoomingSlomo、VideoINR 的對比,希望能讓讀者感受到 SAFA 概念上的簡化:
和之前一些框架對比
通過可視化,我們發(fā)現(xiàn) zooming slomo 中求出的流并不像光流,因此認(rèn)為在 VideoINR 中,部分運動預(yù)測的任務(wù)實際上被 Encoder 吸收了,導(dǎo)致主體網(wǎng)絡(luò)部分只需要承擔(dān)小部分的運動預(yù)測任務(wù):
光流可視化,和偽標(biāo)簽對比
不同時間下,光流和遮擋圖的可視化:
-
視頻
+關(guān)注
關(guān)注
6文章
1929瀏覽量
72772 -
模型
+關(guān)注
關(guān)注
1文章
3112瀏覽量
48658 -
超分辨率
+關(guān)注
關(guān)注
0文章
26瀏覽量
9918
原文標(biāo)題:WACV 2024 | SAFA:高效時空視頻超分辨率的尺度自適應(yīng)特征聚合
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論