當前位置:
首頁 > 知識 > 一場深度學習引發的圖像壓縮革命

一場深度學習引發的圖像壓縮革命

雷鋒網 AI 研習社按,2012 年,AlexNet 橫空出世,以 15.4% 的低失誤率奪得當年 ILSVRC(ImageNet 大規模視覺識別挑戰賽)冠軍,超出亞軍十多個百分點。AlexNet 開啟了深度學習黃金時代,隨之而來是深度學習在圖像識別上的蓬勃發展:

2013 年,ZF Net? 以 11.2% 的低失誤率奪得 ILSVRC 冠軍;

2014 年,VGG Net 在?ILSVRC「分類及定位」比賽單項賽上的失誤率為 7.3%,同年,GoogLeNet?以 6.7% 的失誤率取得 ILSVRC 冠軍;

2015 年,Microsoft ResNet 在 ILSVRC 達到 3.6% 的失誤率;

……

除了在圖像識別上的一系列突破,深度學習也為圖像壓縮帶來革命性改變。

近日,圖鴨科技發布圖像壓縮技術 TNG(tiny network graphics),其採用深度學習卷積網路作為壓縮核心編碼。他們的合作對象主要集中在娛樂(在線抓娃娃機)、視頻社交(多人通信)、遊戲等領域,目前,該演算法即將投入商用。與傳統演算法相比較時,在壓縮效率上,TNG 相比 JPEG 提高了 120%,比 WEBP 提高了 30%。在同等壓縮率下進行壓縮視覺效果對比時,TNG 在紋理細節上比 JPEG2000 的效果要好得多。

圖 :在同等壓縮率下,對複雜圖像壓縮視覺效果對比。上圖為圖鴨所提出的演算法,下圖為 JPEG2000 演算法。可以看到上圖的細節效果更好。

圖:在低碼字情況下 TNG(上圖) 與 WebP(下圖) 壓縮效果對比。相比TNG,WebP 儘管保留了更多細節,但是其失真更多。TNG整體圖像效果優於WebP。

JPEG 是目前比較常見的圖像壓縮方式,在獲得極高壓縮率的同時能展現十分豐富生動的圖像,但是它採用有損壓縮格式,會丟失圖像中的重複或不重要的信息,因此容易造成圖像數據的損失。其主要採用 DCT(Discrete Cosine Transform)技術,將圖像信號在頻率域上進行變換,分離出高頻和低頻信息,然後再對圖像的高頻部分(即圖像細節)進行壓縮,以達到壓縮圖像數據的目的。

JPEG2000 作為 JPEG 的升級版,同時支持有損壓縮和無損壓縮,壓縮率比 JPEG 高約 30% 左右。它放棄了 JPEG 所採用的以離散餘弦轉換 DCT 為主的區塊編碼方式,而改采以小波轉換 (Wavelet transform) 為主的多解析編碼方式,來將影像的頻率成分抽取出來。

WEBP 是 Google 推出的新一代文件格式,期望代替 JPEG,在與 JPEG 相同圖片質量的情況下,可以大大縮小文件大小。WEBP 採用一種基於 VP8 編碼(已於 2010 年 5 月開源)的圖片壓縮器,利用預測編碼技術,達到減少數據量、加速網路傳輸的目的。

而 TNG 一改傳統的這些編碼技術,轉而乘上深度學習這艘大船。

據圖鴨科技 CEO 武俊敏介紹,他們從 16 年 8 月開始對 TNG 技術進行研發,歷經傳統演算法和深度學習演算法兩個階段。最初,他們在 H.265(HEVC)基礎上進行研究,但 H.265 已經是當時最優秀的編碼方法之一,基於這項技術進行傳統研發的新思路並不多。此時,另一條路擺在他們眼前,那就是深度學習。

方向的轉變並非一帆風順。「我們當時考慮把傳統方法里的思路與深度學習想結合。比如傳統方法有周圍像素預測,我們結合這種方法進行研究,但發現預測效果不好。之後我們還想到了傳統方法里的 DCT 變換,將其與深度學習融合之後,發現效果也不好。另外,雖然深度學習在當時很火,但彼時利用深度學習進行圖片壓縮,做出來的效果相比 H.265 的老版本 H.264 以及 JPEG 都差很多。」但他們認為,再往後,深度學習一定有機會超越 H.265。

他們開始由傳統演算法徹底轉向深度學習演算法。

隨後是一系列研發與創新。效果是顯著的,他們目前的深度學習圖像壓縮技術 TNG 比起 H.265,在指標上取得前所未有的突破,而且 TNG 網路壓縮過的圖片還具有濾波效果,對於一些在網路上失真的圖像,用 TNG 壓縮之後的視覺效果比起原始圖還要好一些。

圖:高碼字情況下 TNG(上圖)與 BPG(下圖)對比。在實際測試中,BPG 會出現圖中所示的塊狀,這是高頻失真導致的振鈴效應。振鈴效應是因為 BPG 在編碼壓縮時儘管圖片的不同塊內容不一樣,但採用了同一編碼參數,而導致的圖像退化中信息量的流失,尤其是高頻信息的丟失。

武俊敏對 AI 研習社說道,「TNG 壓縮不會因為多次壓縮導致主觀質量越來越差,還能恢復 JPEG 等方法帶來的部分失真。」他舉了如下例子:一些利用 HEVC 或 JPEG 壓縮的圖像存在塊效應(塊效應:基於塊的變換編碼在圖像壓縮編碼中得到廣泛應用,隨著碼率的降低,量化變得粗糙,在塊的邊界會出現不連續,形成重建圖像的明顯缺陷)。但用 TNG 網路處理後,塊效應就會消失。

可以看到,將深度學習技術應用於 TNG 中,帶來了非常強大的視覺效果。目前在圖片、視頻壓縮領域,使用最多的深度學習技術就是卷積神經網路(CNN),下面是利用卷積神經網路做壓縮的典型方法。

如圖所示,主要包括 CNN 編碼網路、量化、反量化、CNN 解碼、熵編碼等幾個模塊,其中編解碼網路可以用卷積、池化、非線性等模塊進行設計和搭建。

編碼網路的作用是將圖片轉換為壓縮特徵,解碼網路就是從壓縮特徵恢復出原始圖片。

下面是利用深度學習做壓縮的一系列科普:

以圖片舉例,將一張大小為 768 * 512 的三通道圖片送入編碼網路,進行前向處理後,會得到佔據 96 * 64 * 192 個數據單元的壓縮特徵。該數據單元中可放一個浮點數、整形數或者是二進位數。這之後就涉及到數據類型的選擇。

從圖像恢復角度和神經網路原理來講,如果壓縮特徵數據都是浮點數,恢復圖像質量是最高的。但一個浮點數佔據 32 個比特位,圖片的計算公式為(96 * 64 * 192 * 32)/(768 * 512)=96,壓縮後每個像素佔據比特從 24 變到 96,圖片大小反而增加了,顯然浮點數不是好的選擇。

而這裡,就涉及到其中的關鍵技術——量化。

量化的目的是將浮點數轉換為整數或二進位數,最簡單的操作是去掉浮點數後面的小數,浮點數變成整數後只佔據 8 比特,則表示每個像素要佔據 24 個比特位。同樣,在解碼端,可以使用反量化技術將變換後的特徵數據恢復成浮點數,如給整數加上一個隨機小數,這樣可以一定程度上降低量化對神經網路精度的影響,從而提高恢復圖像的質量。

即使壓縮特徵中每個數據佔據 1 個比特位,可是壓縮還是有可進步的空間。下面是 BPP 的計算公式。

假設每個壓縮特徵數據單元佔據 1 個比特,則公式可寫成:(96*64*192*1)/(768*512)=3,計算結果是 3 bit/pixel,從壓縮的目的來看,BPP 越小越好。在這個公式中,分母由圖像決定,這裡進行調整的只有分子:96、64、192,這三個數字與網路結構相關。所以,如果設計出更優的網路結構,這三個數字也會變小。

那 1 與哪些模塊相關?1 表示每個壓縮特徵數據單元平均佔據 1 個比特位,量化會影響這個數字,但它不是唯一的影響因素,它還與碼率控制和熵編碼有關。碼率控制的目的是在保證圖像恢復質量的前提下,讓壓縮特徵數據單元中的數據分布儘可能集中、出現數值範圍儘可能小,這樣我們就可以通過熵編碼技術來進一步降低 1 這個數值,圖像壓縮率會進一步提升。

(詳情可參見 AI 科技評論此前報導:用深度學習設計圖像視頻壓縮演算法:更簡潔、更強大)

具體到 TNG 網路,武俊敏表示,這一技術看起來很簡單,就是利用卷積神經網路,主要有變換,量化,濾波,熵編碼等技術。而這些技術的最終目的只有一個,那就是估計圖像的概率分布,這也是最困難的。

「我們不知道概率分布到底是什麼樣的,所以必須去設計網路,來擬合圖像的概率分布,進行學習。學完之後,還要考慮該如何壓縮圖片,讓圖片在質量和碼率上達到最優分布。」

他表示,雖然技術看起來很簡單,將其串聯起來也沒有什麼挑戰,但訓練演算法很複雜,而在這其中,他們踩的坑也有很多。

首先就是量化並不好建模,他們最初量化的時候想直接將數據進行截斷,再拿來建模,可是這樣存在一個問題——梯度傳不回去。通過不斷試驗,他們最後採用監督學習的方式解決這一問題。

而同時也存在效率的問題。他們一開始採用比較深的網路,但後來為了提升速度,降低網路複雜度,慢慢嘗試使用更小的 channel 以及更淺的網路。此外,在工程上,他們嘗試使用彙編優化等手段。

對於TNG的技術優勢,武俊敏總結為如下兩點:第一,TNG 圖片壓縮的 PSNR 值相比目前公開的 deep learning 壓縮在相同大小下高 2dB;第二,TNG 壓縮的圖片,在主觀質量上沒有方塊效應、振鈴效果等。「我們採用的是全圖直接壓縮,而一般圖片壓縮使用的是分塊壓縮。」

至於速度,武俊敏對 AI 研習社說道,目前來說,和 JPEG 相比,TNG 在 CPU 上壓縮的比較慢,但是,在 GPU 上,1000*1000 的圖像只需幾十毫秒就可以完成壓縮。

其實,除了圖像壓縮,他們目前在視頻壓縮上也有進展。武俊敏表示,他們目前的視頻壓縮已經和 x265(用於編碼符合高效率視頻編碼(HEVC/H.265)標準的視頻) 的 medium level 效果持平。下一階段,他們會繼續在圖像和視頻上取得突破,不斷改進。

對深度學習技術在圖像視頻壓縮領域的應用,武俊敏非常樂觀。他對 AI 研習社表示,兩三年之內,GPU 會大大普及,而 TNG 壓縮演算法在 GPU 上跑得特別好。此外,他還提到,TNG 壓縮的是圖片的特徵,這些特徵具有很強的表徵性能,未來可以利用這些特徵做一些多任務的處理。

「深度學習對於圖像視頻壓縮,絕對是革命性的。下一代的壓縮,不是 H.266,而是深度學習的壓縮。」武俊敏如是說道。

目前大家可以進入圖鴨官網體驗 TNG 演算法,地址如下:http://www.tucodec.com/picture/index

新人福利

關注 AI 研習社(okweiwu),回復1領取

【超過 1000G 神經網路 / AI / 大數據,教程,論文】

谷歌開源 JPEG 編碼器 Guetzli,壓縮 35% 也能生成高質量圖片


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

深度解密換臉應用 Deepfake
用Keras 實現的神經網路機器翻譯

TAG:AI研習社 |