基於學習的編碼(四):WSE-CNNLF

基於學習的編碼(四):WSE-CNNLF

本文算法來自JVET-N0133,提出了一個CNN模型WSE-CNNLF(Wide-activated Squeeze-and-Excitation Convolutional Neural Network Loop Filter)來進行環路濾波。

與前面幾篇算法不同的是,WSE-CNNLF並不是在VVC環路濾波中增加一個階段或替換某個階段,而是完全取代VVC的環路濾波(包括DBF、SAO、ALF)

網絡的輸入和輸出

WSE-CNNLF包括6個輸入,其中三個是YUV重建圖像,三個輔助輸入。

(1)三個重建分量

YUV的三個重建圖像首先根據比特深度歸一化到[0,1],然後輸入到網絡。歸一化方法如下:

 

(2)三個輔助輸入

第一個輔助輸入是QP,不同的QP會導致不同水平失真。將QP作爲輸入可以只訓練一個模型來應用於所有QP的情況。QP要歸一化爲QPmap:

 

另外兩個輔助輸入是亮度(Y)分量和色度(UV)分量的CU劃分信息。因爲塊效應主要由塊劃分引起,輸入CU的邊界信息可以利用神經網絡的注意力機制更高效的處理邊界。CU的劃分信息轉換成CUmaps後歸一化處理,然後輸入網絡。例如,對一幀的每個CU,邊界位置填充2,其他位置填充1,如下圖。歸一化因子爲2,可以得到兩個CUmap,一個是Y-CUmap,另一個是UV-CUmap。

 

處理模塊

Wide-activated convolution在超分辨和降噪任務中表現非常好。它由一個寬的3x3卷積跟上ReLU和一個窄的1x1卷積組成。

SE (Squeeze-and-Excitation)用於對每個卷積層加權。它能夠利用不同通道之間的複雜關係,併爲每個通道生成一個權重因子。

給定一個HxWxC的特徵圖,SE包含下面4個步驟:

(1)每個通道根據全局平均池化(Global Average Pooling ,GAP)得到一個值。

 

(2)一個全連接層加上一個ReLU函數增加了必要的非線性。其輸出通道複雜度也降低一定比值r。

(3)第二個全連接層加上一個sigmoid函數給每個通道一個[0,1]範圍內的平滑門限比率。

(4)最後,每個通道使用門限比率縮放。

 

上圖值參數k表示第一步wide convolution中的wide ratio。參數r表示SE中的reduce ratio。

對一個基本處理單元,如果輸入和輸出的通道數一樣則可以將輸入和輸出通過skip connection連接起來直接學習殘差加快收斂,如上左圖。

網絡結構

WSE-CNNLF的處理包括三個階段,其工作流程如下圖所示。

 

(1)第1階段

YUV三個分量分別通過wide-SE-blocks處理,每個與其對應的CUmap融合,融合方式是將CUmap逐像素與其對應通道相乘。由於U和V的尺寸只有Y的一半,所以需要上採用進行尺寸對齊。

(2)第2階段

不同通道的特徵圖連接在一起,然後經過幾個wide-SE-blocks處理。

(3)第3階段

三個通道再次分別處理生成最終殘差圖像,然後與原始圖像相加。

訓練及結果

訓練時網絡配置如下:

 

 

上面是禁用DBF、SAO、ALF,僅開啓WSE-CNNLF方法和VTM4.0比較的結果。

感興趣的請關注微信公衆號Video Coding

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章