圖鴨發佈圖片壓縮TNG ,將節省55%帶寬

在社交網絡上,用戶天天都要使用、分享和下載圖片,可是不少高清圖片因爲存儲和帶寬的壓力被人爲下降了畫質。web

伴隨着2K手機和4K顯示屏逐漸成熟並走向市場,用戶對高清畫質的要求也在逐漸增長。可是高清顯示一直缺少內容,成爲行業發展的痛點。因此將低分辨圖片轉化爲高清版本,並在各大設備上進行查看和分享,已成爲市場的巨大需求。算法

今天,圖鴨發佈黑科技——Tiny Network Graphics(TNG),將解決這一痛點。網絡

何爲TNG?

TNG是圖鴨科技在2018年推出的一款圖像壓縮技術,旨在在保持圖片的質量下,儘量下降圖片的大小,使用戶在帶寬受限的網絡狀況下,仍然能夠看到高清的圖像;同時幫助圖片類企業節約大量的帶寬成本。框架

相比目前市面上的圖像壓縮技術,圖鴨TNG採用了深度學習卷積網絡(CNN)的編碼方式,與JPEG相比,壓縮率提高了122%;與WebP相比,壓縮率提升了30% 。並且相比BPG/HEIF等圖片格式,TNG採用了CNN技術而非HEVC編解碼器,在保證圖片質量的同時,避免了高昂的專利費用。函數

TNG採用了何種方式

TNG採用的算法是深度學習技術中的卷積神經網絡(CNN)。卷積神經網絡是一種前饋神經網絡,它的人工神經元能夠響應一部分覆蓋範圍內的周圍,適合大型圖像處理。學習

圖片描述

上圖是卷積神經網絡的示意圖,咱們看圖能夠發現,它就像搭積木同樣,一個卷積神經網絡由卷積、池化、非線性函數、歸一化層等模塊組成。最終的輸出根據應用而定,如在人臉識別領域,咱們能夠用它來提取一串特徵來表示一幅人臉圖片。而後經過比較特徵的異同進行人臉識別。測試

如圖2所示,完整的深度學習圖片壓縮框架包括CNN編碼器、量化、反量化、CNN解碼器、熵編碼、碼字估計和碼率-失真優化等幾個模塊。編碼器的做用是將圖片轉換爲壓縮特徵,解碼器就是從壓縮特徵恢復出原始圖片。其中編碼網絡和解碼器,能夠用卷積、池化、非線性等模塊進行設計和搭建。優化

圖片描述
(圖2:用深度學習進行圖片壓縮示意圖)編碼

如何評判壓縮算法?

目前評判一個壓縮算法的重要指標有三個:PSNR(Peak Signal to Noise Ratio)、BPP(bit per pixel)和MS-SSIM(multi-scaleSSIM index)spa

咱們知道,任何數據在計算機內都是以比特形式存儲,所需比特數越多則佔據的存儲空間越大。PSNR用來評估解碼後圖像恢復質量,BPP用於表示圖像中每一個像素所佔據的比特數MS-SSIM值用來衡量圖片的主觀質量,簡單來講在同等的Rate/BPP下PSNR更高,壓縮效果更好,MSSIM更高,主觀感覺更好

如何用深度學習作壓縮?

 談到如何用深度學習作壓縮,咱們以圖片來舉例。將一張大小 768 512 的三通道圖片送入編碼網絡,進行前向處理後,會獲得佔據 96 64 * 192 個數據單元的壓縮特徵。有計算機基礎的讀者可能會想到,這個數據單元中可放一個浮點數,整形數,或者是二進制數。那到底應該放入什麼類型的數據呢?

從圖像恢復角度和神經網絡原理來說,若是壓縮特徵數據都是浮點數,恢復圖像質量是最高的。但一個浮點數佔據32個比特位,圖片的計算公式爲( 96 64 192 32)/(768512)=96,壓縮後反而每一個像素佔據比特從24變到96!圖片大小非但沒有壓縮,反而增長了,這是一個糟糕的結果,很顯然浮點數不是好的選擇。
 
因此爲了設計靠譜的算法,可使用一種稱爲量化的技術,它的目的是將浮點數轉換爲整數或二進制數,最簡單的操做是去掉浮點數後面的小數,浮點數變成整數後只佔據8比特,則表示每一個像素要佔據24個比特位。與之對應,在解碼端,可使用反量化技術將變換後的特徵數據恢復成浮點數,如給整數加上一個隨機小數,這樣能夠必定程度上下降量化對神經網絡精度的影響,從而提升恢復圖像的質量。

即便壓縮特徵中每一個數據佔據1個比特位,但是壓縮仍是有可進步的空間。那如何進一步優化算法?再看下BPP的計算公式。

假設每一個壓縮特徵數據單元佔據1個比特,則公式可寫成:(96641921)/(768512)=3,計算結果是3 bit/pixel,從壓縮的目的來看,BPP越小越好。在這個公式中,分母由圖像決定,咱們進行調整的只有分子:9六、6四、192,這三個數字與網絡結構相關。因此,若是咱們設計出更優的網絡結構,這三個數字也會變小。

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

用深度學習作視頻壓縮,能夠看做是在深度學習圖片壓縮基礎上的擴展,可結合視頻序列幀間的光流等時空信息,在單張壓縮的基礎上,進一步下降碼率。

深度學習圖片壓縮的優點

圖鴨科技經過深度學習技術研發的圖片壓縮TNG在內部的測試上已經超過webp與BPG,下圖是在kodak24標準數據集上測評結果,分別是PSNR值與MS-SSIM值。
圖片描述

圖片描述
圖 3 圖4在kodak24標準數據集上測評結果,上圖爲PSNR結果,下圖爲MS-SSIM的結果

熟悉圖像壓縮的朋友能夠直接經過PSNR和MS-SSIM值看出:TNG的PSNR值與MS-SSIM值明顯高於WebP、jpeg2000和jpeg;且TNG在高碼字的狀況下PSNR值高於BPG,且其MS-SSIM值基本一致高於BPG

在低碼字狀況下TNG與WebP壓縮效果對比

圖片描述

圖片描述
圖5圖6 低碼字狀況下TNG與WebP壓縮效果對比。上圖TNG,下圖Webp

相比TNG,WebP儘管保留了更多的細節,可是其失真更多,不利於後期恢復。而TNG採用了保邊濾波的方法,讓其失真更少,總體圖像效果優於WebP。

在高碼字狀況下TNG與BPG對比

圖片描述

圖片描述
圖7圖8 高碼字狀況下TNG與BPG壓縮效果對比,上圖TNG下圖BPG

上面兩幅圖是高碼字的狀況,在實際的測試中,BPG會出現上圖所示的顏色失真狀況;而反觀TNG其基本不會出現這類的失真情況。

這是由於BPG在編碼壓縮時儘管圖片時,其YUV通道是分開進行編解碼,產生了一些色差。
而TNG在編碼時考慮到了總體圖片的狀況,採用了同一編碼,也就避免了上述的狀況。

在低碼字的狀況下TNG與BPG的對比

圖片描述

圖片描述
圖9圖10低碼字狀況下TNG與BPG壓縮效果對比,上圖TNG下圖BPG

在低碼字的狀況下,BPG壓縮圖片中出現了僞輪廓和塊效應等問題,整個圖片的連續性比較差;而TNG的圖片連續性和物體的輪廓保持的更好。

總結

 
整體而言,藉助於深度學習設計圖像壓縮算法是一項很是具備前景但也很是具備挑戰性的技術。目前,其已經在人臉識別等領域證實了它的強大能力,將來圖像壓縮領域的深度學習技術介入可使你們在全面高清屏的時代有更優質的視覺體驗同時在遊戲、空間圖像傳感等領域,深度學習圖像壓縮算法的應用也將帶來更高分辨率,更小存儲空間,更少帶寬成本

這裏附上TNG的測試連接,你們能夠自行進行測試:http://www.tucodec.com/pictur...

相關文章
相關標籤/搜索