MFQE 2.0: A New Approach for Multi-frame Quality Enhancement on Compressed Video
在本文的最后,我會對開源代碼的復現給出一些建議。
MFQEv2沒有使用任何“花哨”的結構設計和訓練技巧。我們用最簡單的CNN結構實現了我們的思路,網絡參數量僅255k。歡迎大家使用。
【前景提要】
這篇論文是Multi-frame quality enhancement for compressed video(CVPR 2018)的升級版本,2019年9月26日被TPAMI(2018年IF=17.730)接收。博主和碩士導師關振宇是共同一作,通訊作者為博士導師徐邁。
【論文】
【開源代碼】
【Citation】
@ARTICLE{8855019,
author={Z. {Guan} and Q. {Xing} and M. {Xu} and R. {Yang} and T. {Liu} and Z. {Wang}},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={{MFQE} 2.0: A New Approach for Multi-frame Quality Enhancement on Compressed Video},
year={2019},
volume={},
number={},
pages={1-1},
keywords={Quality enhancement;compressed video;deep learning},
doi={10.1109/TPAMI.2019.2944806},
ISSN={},
month={},}
1. 要點
本文提出了一種針對壓縮視頻的質量增強方法。創新點:
-
前人的工作大多忽略了幀間相關性。本文利用了視頻的幀間相關性。
-
我們應該是第一個考慮了壓縮視頻的特性:質量波動。
-
MFQE應該是第一個運動補償+質量增強的end-to-end方法。
-
本文提出的方法,核心思想是好幀補償差幀,是非常具有insight的方法。
我們看圖說話:
-
如圖上半部分黑線,壓縮視頻中存在顯著的質量(本文考慮PSNR)波動狀況。其中,第92幀和第96幀達到了PSNR局部極大值點,中間的第95幀處在PSNR局部極小值點。
-
如圖下半部分,質量好幀——第92和96幀中的籃球比較清晰,而質量差幀——第95幀中的籃球質量很差(馬賽克嚴重)。
-
在我們的MFQE算法中,在增強第95幀時,92幀和96幀的信息也會被參考,使得增強效果顯著好於圖像增強方法DS-CNN(橙色框)。
2. 壓縮視頻特性分析
2.1 質量波動
首先,我們以壓縮視頻庫中的6個視頻為例,看一看質量波動性:
可見,無論是HEVC、H264還是MPEG-1/2/4,這種質量波動性都是存在的,並且在HEVC中尤為明顯。本文以HEVC為主要分析對象。
進一步,我們對這種質量波動性進行量化。我們衡量兩個指標:
-
相鄰的好幀和差幀的PSNR差值。差值越大,說明局部質量波動越厲害。這就是所謂的峰值-谷值差值(Peak-Valey Difference, PVD)。
-
整個視頻PSNR的標准差。標准差越大,說明該視頻的PSNR越不穩定,即全局質量波動越厲害。這就是文中的SD。
我們在整個視頻庫(108個視頻)中統計了上述兩個指標的平均值,結果如表:
質量波動性有兩點意義:
-
PVD大,說明好幀、差幀質量差距大,說明差幀借助好幀提升質量的潛力很大。
-
SD大,說明好幀補償差幀的方法非常適用於壓縮視頻。
2.2 幀間相關性
進一步,我們得看看好幀補償差幀是否可行。我們測量了相鄰若干幀的兩幀之間的相關系數及其標准差,如圖:
結果說明:
-
時序相關性很強:前后距離10幀內,平均相關系數都能超過0.75。
-
時序相關性保持較穩定:標准差較小。
那么,壓縮視頻中好幀(局部質量峰值)之間的平均距離大概是多少呢?我們在上一個表格中展示了PS這個指標,在HEVC大概是2.66。好幀之間的距離如此近,結合上圖可知,兩個相鄰好幀 與它們中間的差幀 之間的相關性極高。
總之,我們的思想是有前景的!
3. 方法
我們的MFQE方法由一個框圖說明:
-
首先,我們用一個分類器,將視頻中的好幀(質量局部極大值)找出來。
-
對於每一個差幀(只要不是局部極大值,就算差幀),借助其相鄰的兩個好幀,我們進行質量增強。
-
在質量增強之前,這兩個好幀要進行運動補償,補償到差幀所處時刻的狀態。
-
好幀也進行同樣的流程,此時好幀借助的是相鄰好幀。
批注:MFQEv1.0對於好幀的增強采用的是圖像增強方法DS-CNN。這里好幀也用相鄰好幀進行增強,得到了審稿人好評,因為網絡得到了統一和簡化。
3.1 分類器
分類器用BiLSTM搭建。對於每一幀,我們都采用參考文獻[2]提供的質量評估方法,得到一個36維的向量;然后我們再添加這一幀的比特率和QP(這些都可以從碼流中輕易獲得),得到一個38維的向量,表征這一幀,輸入BiLSTM網絡。
理想狀況下,BiLSTM能夠通過比較這些特征向量,找出局部質量極大值點。
要注意,這是一個無參考(no-reference)的分類器:即不需要原始無損視頻信息,不需要PSNR信息,而是通過傳統的質量評估方法獲得的“特征向量”,再進行學習。
批注:MFQEv1.0中的分類器采用的是SVM。這里用BiLSTM,極大提升了分類准確率,並且降低了分類難度,提升了分類速度。
3.2 好幀運動補償
為了讓整體網絡可以端到端訓練,這里的運動補償網絡采用的是基於CNN的光流預測網絡[29]。
3.3 質量增強網絡
運動補償后的好幀,與差幀一起輸入網絡。在前端,我們采用了三種scale的特征提取;在后端,我們采用了稠密連接和BN技巧。整體上,我們還采用了短連接。
批注:MFQEv1.0中的質量增強網絡是漸進融合網絡,效果差得多,參數量也大得多(5倍以上)。
4. 實驗
4.1 差幀質量提升效果
好幀在文中就是PQF,差幀就是non-PQF。如圖,MFQEv2.0算法在好幀增強上略高於其他算法,但在差幀增強方面顯著高於其他算法。這就體現了MFQEv2.0的優勢。
4.2 總體效果
我們以PSNR的增強數據為標准。如大表格:
在國際標准測試序列(18個視頻)上,MFQEv2.0全面勝出,展現出較好的泛化能力。
編碼領域通常還衡量BDBR指標。我們看看結果:
圖像方法最多能到9%,而MFQE方法能達到14%。
4.3 緩和壓縮視頻的質量波動
由於MFQEv2.0對差幀的提升非常顯著,因此可以緩和質量波動現象。我們通過SD和PVD的下降程度來驗證這一點:
如圖,PSNR的標准差顯著下降,而峰值-谷值差距減小,說明質量波動下降明顯。此外,我們以兩個視頻的PSNR曲線舉例說明:
顯然,MFQEv2.0增強后,PSNR曲線最為平滑。
4.4 網絡速度
MFQEv2.0不僅效果好,而且參數少、幀速率快。這進一步說明了多幀方法的優勢:我們不需要冗余的網絡,多幀信息是我們的殺手鐧。
如圖,其中DS-CNN就是SOTA的單幀方法。
4.5 主觀效果
5. 不足和展望
-
MFQE算法依賴於較為精確的運動補償(光流預測)。如果運動補償不准確,那么總體效果可能不理想。
現在已經有一些方法跳過了這一步驟,例如使用Conv-LSTM直接輸入相鄰幀。但是這一點有利有弊:隱式(implicitly)地建模運動(motion),增強性能可能不增反降,因為學習難度增加了。
現在還有一些其他的alignment方法,不僅限於光流。
-
我們只考慮了客觀質量PSNR。如果進一步考慮感知質量(perceptual loss)等,主觀效果會更好。
6. 其他(復現建議)
-
實驗發現,LDP模式下PQF label與QP基本一致。即,QP低的幀可以近似作為PQF(這是由HEVC編碼的周期特性決定的)。因此在復現時,為了方便,大家簡單地將QP作為PQF label的依據就可以了。
根據我們的溶解實驗,【預測生成的PQF label】和【真實PSNR生成的PQF label】對應的增強性能基本一致。大家也可以用真實的PSNR作為PQF label的依據。
-
根據其他老師和童鞋的反饋,該算法在不finetune的情況下,在VVC等標准的視頻上,也能有很高的dpsnr和dssim。
-
根據實驗,簡單的【相鄰幀補償】或【差幀補償好幀】,效果都很不理想。所以【好幀補償壞幀】是本文MFQE框架成功的關鍵。
-
在補償時要注意:輸入的三幀必須在同一場景下。一個視頻中可能存在場景切換。可以用SSIM等指標檢測切換。
-
在訓練時,第一階段【運動補償網絡收斂】比較緩慢,可能在前8個epoch的dpsnr都在0dB左右。因為在第一階段,我們的重點是MC網絡,QE網絡沒有收斂。