0
雷鋒網 AI 開發者:近日,持續 3 個多月的阿里 2019 優酷視頻增強和超分辨率挑戰賽終于落下了帷幕,最終,來自中國科學技術大學智能媒體計算實驗室的研三學生陳嘉樂、單超煒,通過對當下最先進 EDVR 方案的視頻感知能力、時序信息及特征表達三大內容進行優化與改進,一舉奪得桂冠;并向我們公開了詳細的冠軍方案解讀,雷鋒網 AI 開發者將其整理編輯如下。

視頻增強和超分是計算機視覺領域的核心算法之一,目的是恢復降質視頻本身的內容,提高視頻的清晰度。該技術在工業界有著重要的實用意義,并對于早期膠片視頻的質量和清晰度的提升有著重大的意義。
本次大賽「阿里巴巴優酷視頻增強和超分辨率挑戰賽」由優酷主辦,面向全社會開放,參賽隊伍包括:個人、高等院校、科研單位、企業、創客團隊等共計 1514 支,賽程分為初賽、復賽、決賽三個階段,設置獎金池為 230000 元。
大賽提供了業界最大、最具廣泛性的數據集,包括不同內容品類,不同噪聲模型、不同難度等,參賽選手需要通過訓練樣本對視頻增強和超分模型進行建模,對測試集中的低分辨率視頻樣本預測高分辨率視頻,提交結果評分將進行實時更新。

本次獲得大賽冠軍的團隊來自中國科學技術大學智能媒體計算實驗室(Intelligent Media Computing Lab, IMCL)。
團隊成員包括:陳嘉樂,中國科學技術大學研三學生,主要的研究方向是強化學習和視覺計算,在本次比賽中主導算法設計、模型訓練調試的工作;單超煒,中國科學技術大學研三學生,主要研究方向是圖像處理和增強,負責算法設計和模型訓練。
團隊指導老師包括:中國科學技術大學教授陳志波、中國科學技術大學博士劉森以及微軟亞研院高級研究員譚旭。

根據數據類型分類,目前的超分辨工作分為圖像超分和視頻超分。
圖像超分
圖像超分領域隨著卷積神經網絡的應用,不斷有新的網絡結構取得更優的性能,以下 6 種結構是目前圖像超分領域所使用的方法:
殘差結構 目前超分領域普遍認為更深的網絡能夠帶來更優性能,但更深的網絡也帶來訓練困難的問題,殘差結構能夠緩解該問題,例如:EDSR;
多分支結構 從增加網絡的寬度來提升性能,也是一種增強特征表達的方式,例如:REDNet;
(以上兩種結構都會帶來巨大的參數量)
循環結構 利用共享網絡參數、循環遞歸的方式,在減少網絡參數的情況下提升性能,例如:DRCN;
漸進式結構 把超分辯設計成多個階段的網絡結構,利用逐步增加分辨率的方式,提高超分性能,例如:SCN;
注意力機制 提高特征的表達能力,從而提高性能,例如:RCAN、DRLN;
對抗模型 利用 GAN 的思想生成更符合人眼視覺評價的高分辨率圖片,例如:SRGAN、EnhanceNet、ESRGAN.
視頻超分
視頻超分與圖像超分的區別主要有兩點,包括:
視頻幀對齊 因為視頻中存在各種運動信息,所以存在參考幀和目標幀的偏差,但超分辯一般需要利用鄰幀跟參考幀做對齊;
視頻幀融合 視頻中存在運動模糊和場景切換的問題,如何有效融合視頻幀,去除干擾信息,對最終的結果也有影響。
而在這兩方面,視頻超分的主要結構有以下幾個類型:
三維卷積 直接利用 3D 卷積捕捉時域特征的功能,直接做幀間融合;
循環結構 可用于提取幀間關系,融合目標幀和參考幀的信息,例如: LSTM 的結構來做幀間融合;
濾波器預測 利用融合后的幀間信息預測濾波器參數,再通過濾波的方式做超分辯,獲得自適應的濾波效果;
根據對圖像、視頻超分辨相關特性的分析,本次網絡結構中,我們選擇了將商湯的 EDVR 方案作為建模基礎。該方案提出將對齊和融合兩個操作分開處理,可增加模型的可解釋性。最終,整個視頻處理流程分為對齊,融合,重建三個部分。

EDVR 視頻超分辨核心
目前,EDVR 主要存在三點問題,即感知能力不夠強,時序特征不充分,特征表達不高效。針對這幾個問題,我們分別作了對應的優化如下。
增強感知能力
EDVR 在做幀間對齊這個任務上提出一個高效的模塊——多尺度的可變卷積模塊。
可變卷積能夠自適應學習 feature map 中最相關的特征點,即學習一個 offset,然后通過 offset 來利用相關點做卷積操作;利用多尺度的結構提升了可變卷積的對齊能力,多尺度的網絡結構在各個尺度下完成視頻幀對齊,然后利用不同尺度下的對齊信息來提高對齊操作的感受野;這個模塊的性能提升大概在 0.3db 左右。

增強感知能力——多尺度的可變卷積模塊
第二個優化是利用何愷明提出的 Non local neural network。
這個結構借鑒了 NLP 領域的 self-attention 機制。例如:輸入是 TCHW 這樣一個維度,然后通過矩陣相乘得到一個全局關系矩陣 THWxTHW,得到 feature map 中每個點和其他點的相關性,從而讓網絡結構近乎有全局感受野。

增強感知能力——3D Non local
但該結構有一個缺點,特別是在視頻特征上,全局關系矩陣的維度很高,維度大小為(THW)^2。從而導致參數量劇增,使得這個結構無法承受所有的 3D non local 參數量。
因此,我們利用了一種 separate non local 的形式來解決這個問題,分別在空間維度、通道維度、時間維度做了 self-attention,減少所需參數量,并增大感受野。在實驗過程中,這個模塊帶來了將近 0.3db 的性能增益。

增強感知能力——separate non local
時序特征不充分優化
在 EDVR 做視頻幀融合的時候,提出了一種叫 Temporal and Spatial Attention,具體做法是所有幀跟中間幀去優化一個 attention map,但這忽略了鄰幀之間的信息。
雖然在前面已經做過對齊,但這個過程很難做到完全準確,所以幀之間仍然具有一定的時域信息。
因此我們在這部分利用一個 3D 卷積來捕獲幀間信息,這個部分取得了 0.1db 的增益。

時序特征不充分優化——融合模塊
提高特征表達效率
EDVR 的重建模塊由 40 層的 resblock 堆疊而成,盡管深層網絡結構增加了跳接結構,但依然難以保證訓練的高效性,所以我們利用了一種 channel attention 的機制來處理這個問題。
channel attention 為 feature map 的每一個通道分配一個權重,從而讓網絡去關注特征中對超分更有信息量的部分。具體做法是利用 average pooling 和全連接結構來學習這個通道權重,再乘回原來的 feature map。這一優化使得該方法的性能提高了 0.23db。

提高特征表達效率——channel attention
我們在前 800 個視頻上訓練,在 800-849 這些視頻上抽幀測試,結果如下圖所示。其中 base 是指該網絡使用了 20 層的重建模塊,large 是使用了 40 層的重建模塊。

Base 模型下各個模塊的性能增益分析
結果顯示,separate non local 模塊在參數量和 flops 增加不大的情況下,性能提升了近 0.3db;3D 卷積模塊帶來了 0.1db 的性能增益,channel attention 模塊帶來了 0.23db 的性能增益,所有模塊合計共獲得 0.4db 的性能增益。

Large 模型下各個模塊的性能增益分析
上圖則顯示了 large 模型下的實驗結果。可以看到,edvr large model 性能是 35.75db,而當我們使用一個 20 層的 base model 就能夠超過該 large model 的性能,并且參數量和 flops 都消耗更少。
如果把模型再加到大模型,最終模型可得到 35.97db 的 PSNR,這與原始 EDVR base model 比較,提高了 0.1db 的性能增益,但同時模型的參數量和 flops 將會大幅度增加。這部分的增益性價比不高,也表明了我們的結構更有利于在有限參數下獲得更好的性能。
而在可視化上,我們的結構和 EDVR 的對比,該網絡在一些文字的細節恢復上效果更好。

可視化實驗結果對比
我們的方法主要有三個創新點:
利用 separate non local 提高了網絡感受野,增強了感知能力,最終實現利用小模型獲得大模型的性能,提高性能的同時也降低了訓練難度;
利用 3D 卷積的方式捕獲幀間信息,提高了特征時序信息的完整度;
利用 channel attention 提高了特征的表達能力效率的同時,增大了模型的性能增益;
目前,該方法的優點是在相同性能下,模型使用的網絡參數更少,訓練更簡單;缺點則是由于模型未能去掉 EDVR 中的可變卷積,這一結構存在訓練不穩定性的問題,這也是我們未來進一步優化的方向。另外,目前這一模型依然會存在泛化能力問題,如何在退化模型未知的情況下獲得更好的超分效果,這可能是未來超分領域一個值得深入研究的問題。

雷鋒網 AI 開發者
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。