每日最新頭條.有趣資訊

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

雷鋒網 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 這個數值,影像壓縮率會進一步提升。

(詳情可參見雷鋒網此前報導:用深度學習設計影像影片壓縮算法:更簡潔、更強大)

具體到 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

獲得更多的PTT最新消息
按讚加入粉絲團