深度學習圖像視頻壓縮算法——TNG

互聯網時代,社交媒體分享、自動駕駛、加強顯示、衛星通訊、高清電視或視頻監控等應用場景對圖片和視頻有很強的需求,壓縮算法也所以備受關注,可是不一樣的應用場景對壓縮算法的性能要求也不同,有的需求是保持高清的畫質是第一位,有的需求是體積小是第一位,能夠損害一些畫質。算法

那麼如何用深度學習技術來設計壓縮算法呢?這篇文章將簡單的來和你們說一說。網絡


深度學習圖片壓縮框架和基本概念介紹架構


圖1. 基於自編碼網絡的圖像壓縮

如圖1 所示,一個典型的自編碼圖片壓縮框架包括編碼器、量化、反量化、解碼器、碼字估計、熵編碼和率-失真優化等幾個模塊。框架

以圖1的例子來解釋自編碼圖像壓縮網絡中各個模塊的做用:假定輸入圖片大小爲,經過編碼器和量化處理後獲得的編碼特徵的維度爲,假定熵編碼後平均每一個編碼特徵單元所佔據的比特數爲R,則編碼碼率的計算公式爲:函數

   (1)性能

對公式(1)進行分析,其中與輸入圖片有關,由網絡結構來決定,而R是由量化、編碼特徵分佈和熵編碼決定。學習

壓縮特徵通過反熵編碼、反量化和解碼器後就能獲得解碼圖片。在解碼圖片質量不變的條件下,若是R越低則表示壓縮效率越高。優化

編碼和解碼結構是自編碼網絡的基礎,目的是對非線性變換進行學習。編碼

量化的做用是將浮點數轉換爲整數或二進制,反量化做用與之相反。spa

量化是下降碼字的重要途徑,但也是致使信息損失的首要緣由。理論上講量化越精細信息損失越小,但可能致使碼字增長和增長訓練的難度,所以設計高效的量化算法很是重要。

爲了達到提高壓縮效率的目的,須要用碼字估計模塊在訓練中對R進行約束。

碼字估計首先要利用先驗機率模型對編碼特徵分佈進行準確估計,保證估計的編碼特徵分佈與實際分佈儘量接近,而後經過計算熵對熵編碼後碼字進行估算。

通常能夠用帶參數機率模型對先驗進行建模,如用高斯混合模型對數據分佈進行擬合:

 (2)

以特徵分佈估計爲基礎,熵編碼模塊首先計算特徵的上下文機率,並對編碼特徵進行進一步的壓縮,這樣可進一步下降R值。碼字估計是估算通過算術編碼後,消耗比特數是多少在算術編碼高效執行前提下,碼字大小的下限,可表示爲熵:

(3)

碼字估計主要用於訓練,在實際使用中先驗模型可用於自適應的算術編碼,生成碼流。

從信息論的角度來講,當編碼特徵越集中時熵會進一步下降,從而熵編碼後碼字會下降,但網絡的表示能力會受影響,並會下降重建圖像的質量而致使失真。

因此在熵編碼碼字與圖像重建質量之間須要作權衡,這種權衡稱率-失真優化。率對應編碼碼率,失真對應重建質量。

通常經過率-失真優化構建的損失函數對自編碼壓縮網絡進行訓練。


實現壓縮算法的要素

咱們如今的思路:從優化自編碼網絡結構、設計新的量化方式、設計新的壓縮特徵先驗建模方法和率-失真優化等幾個方面進行研發,提高如今圖像壓縮算法的性能,特別是低碼率下的壓縮性能。

技術難點與壁壘:在於如何以變分自編碼網絡爲基礎,解決如何優化自編碼網絡結構、如何對量化和先驗建模進行聯合優化的問題,提升圖像壓縮的性能和下降複雜度,提高實用性是難點。

一些經驗分享:準確先驗機率估計利於自適應算術編碼,準確先驗機率估計利於訓練中對碼字分佈進行約束,在實踐中用帶參數的機率模型,如高斯混合模型等對先驗進行建模。

準確估計先驗的基礎上,會存在一個權衡:編碼特徵越集中熵越小,但網絡的表示能力受影響,下降重建質量。要作好兩個問題:

1)準確先驗估計;

2)碼率和重建質量權衡。


爲何選擇深度學習

現階段壓縮算法在諸如社交媒體分享、加強現實、自動駕駛、醫學影像、高清電視等應用場景下均有很強的需求。

現有的算法如要根據不一樣的應用需求對現有壓縮算法進行優化並不容易,而且如今圖像和視頻壓縮算法性能的提高已遇到瓶頸。

從圖片壓縮角度來說,基於深度學習的技術最大的優勢是能夠根據不一樣的應用進行鍼對性的設計和訓練,可針對性的對主觀或客觀指標進行訓練。

從視頻壓縮角度來說,深度學習壓縮採用與H.26四、H.265和H.266不一樣的架構,使用卷積神經網絡爲主題進行設計,可更靈活地將現階段機器視覺領域中的光流估計等算法應用幀間關係建模中,設計高效視頻壓縮算法。

此外,咱們會結合超分辨等技術,對傳統算法進行進一步優化,下降通訊帶寬。


圖2 TNG 主觀和客觀訓練模型與其餘算法對比示意圖

自編碼的壓縮算法,現階段最大的優點能針對特定的指標進行優化,可對重建圖的主觀效果有顯著提高。

GAN(對抗生成)網絡對主觀性能、視覺效果提高有好處,但客觀質量並很差,通常用GAN網絡設計的算法,會生成些與原始數據不一致的細節。現階段咱們將客觀質量(PSNR)的提高放在首位,同時主觀質量也取得不錯的效果。

將來咱們會根據不一樣應用需求,考慮是否採用GAN網絡。雖然咱們現階段的重點在客觀性能的提高上,實驗中也發現客觀質量越好,與原始圖片差別越小,主觀質量也會有相應的提高,同時發現結合MSE和MS-SSIM能獲取很是好的MS-SSIM性能。

如圖2所示,使用MS-SSIM爲損失函數訓練出的模型(TNG subjective),獲得的MS-SSIM指標明顯優於使用MSE做爲損失函數訓練的模型(TNG objective)。

TNG subjective 在相同的主觀MS-SSIM指標下,所消耗的碼字是BPG的一半,流量節省了50%;相比JPEG,TNG僅消耗原來流量的25%-30%。


總結

壓縮算法目前的市場需求量很大,加速了新一代壓縮算法的研究步伐;可是由於市場需求各不相同,致使新一代的壓縮算法推行難度大!目前 TNG採用的是 變分自編碼網絡 的方法,且並無將 GAN網絡加進來。這是由於,咱們的首要需求是客觀質量。前文提到了咱們在這種設計下達到的效果是:TNG壓縮效果是BPG的壓縮效果的2倍,是JPEG的壓縮效果的3.5—4倍。你們在平常的實踐中,能夠根據本身具體的壓縮需求,進行設計合適的圖像壓縮算法。
相關文章
相關標籤/搜索