您的位置:首頁>正文

基於神經網路的圖像壓縮技術

更多騰訊海量技術文章, 請關注雲+社區:https://cloud.tencent.com/developer

本文由軟體工程師 Nick Johnston 和 David Minnen 發佈

在互聯網之中, 資料壓縮技術可以說無處不在 —— 您線上觀看的視頻, 分享的圖片, 聽到的音樂, 甚至是您正在閱讀的這篇博客。 壓縮技術使得您可以快速且高效地分享內容。 如果沒有資料壓縮, 我們在獲取所需的資訊時, 時間與頻寬的開銷會高得難以接受!

在 “基於遞迴神經網路的全解析度圖像壓縮 ” (https://arxiv.org/abs/1608.05148)一文中, 我們對以往使用神經網路進行資料壓縮的研究進行了拓展, 以探索機器學習是否能像在圖像識別與文本摘要領域中的表現一樣,

提供更好的圖像壓縮效果。 此外, 我們也正通過 TensorFlow 來發佈我們的壓縮模型(https://github.com/tensorflow/models/tree/master/research/compression), 以便您可以嘗試使用我們的網路來壓縮您自己的圖像。

當前我們提出了一種使用殘差門控迴圈單元(RGRU, Residual GRU)的架構, 這種單元是門控迴圈單元(GRU, Gated Recurrent Unit, 一種允許單元保存啟動和處理序列的 RNN 類型)的一個新型變體。 我們的 RGRU 是將原本的 GRU 與文章 “深度殘差學習圖像識別 ” (https://arxiv.org/abs/1512.03385)中引入的殘差連接相結合, 以實現在給定的壓縮率下獲得更顯著的圖像品質增益。 我們訓練了兩組神經網路 —— 一組用於根據圖像進行編碼(即作為編碼器), 另一組則是從編碼中解析出圖像(即解碼器)。 而這兩組神經網路則代替了目前圖像壓縮技術中主要使用的, 採用 DCT(Discrete Cosine Transform, 離散余弦變換) 來生成新的比特表示的壓縮方案。

我們的系統通過反覆運算的方式提煉原始圖像的重構, 同時編碼器和解碼器都使用了 RGRU 層, 從而使得附加資訊在多次反覆運算中傳遞下去。 每次反覆運算都會在編碼中增加更多的比特位數, 從而實現更高品質的重構。

從概念上來說, 該網路的工作流程如下:

初始殘差 R[0] 對應於原始圖像 I, 即 R[0] = I。

為第一次反覆運算設置 i = 1。

第 i 次反覆運算以 R[i-1] 作為輸入, 並運行編碼器和二進位化器將圖像壓縮成 B[i]。

第 i 次反覆運算運行 B[i] 上的解碼器以生成重建的圖像 P[i]。

計算第 i 次反覆運算的殘差:R[i] = I - P[i]。

設置 i = i + 1 並轉到步驟 3(直到達到了所需的反覆運算次數為止)。

殘差圖像展示了當前版本的壓縮圖像與原始圖像的差異。

而該圖像隨後則作為輸入提供給神經網路, 其目的是剔除下一版本的壓縮圖像中的壓縮錯誤。 現在壓縮的圖像則是由 B[1] 至 B[N] 的連接表示。 N 值越大, 解碼器就能獲得更多有助於減少錯誤, 同時又可以生成更高品質的原始圖像的重構的資訊。

為了理解該演算法是如何運作的, 請考慮如下圖所示的, 圖像壓縮網路前兩次反覆運算的示例。 我們以一座燈塔的圖像作為原始資料。 當它第一次通過網路時, 原始圖像作為輸入進入(R[0] = I)。 P[1] 是重建的圖像。 原始圖像和編碼圖像之間的差異即是殘差 R[1], 它表示了壓縮中出現的誤差。

左圖:原始圖像, I = R[0]。 中圖:重建的圖像, P[1]。 右:表示由壓縮引入的錯誤的殘差 R[1]。

在第二次通過網路時, R[1] 則作為網路的輸入(如下圖)。 然後更高品質的圖像 P[2] 就生成了。 那麼問題來了, 系統是如何根據輸入的殘差 R[1] 重新創建出這樣一個更好的圖像(P[2], 下圖中部)的呢?這是由於模型使用了帶有記憶功能的迴圈節點, 因此網路會保存每次反覆運算中可用於下一次反覆運算的資訊。

它在第一次反覆運算中學習到了關於原始圖像的一些東西, 這些東西同 R[1] 一起用於從 B[2] 中生成更好的 P[2]。 最後, 通過從原始圖像中減去 P[2] 就產生了新的殘差 R[2](右)。 由於本次我們重建得到的圖像和原始圖像之間的差異較小, 因此殘差也較小。

第二遍通過網路。 左圖:R[1] 作為輸入。中圖:更高品質的重建,P[2]。右圖:通過從原始圖像中減去 P[2] 生成更小的殘差 R[2]。

在之後的每次反覆運算中,網路將獲得更多由於壓縮而引入的誤差的資訊(通過殘差圖像捕獲到的資訊)。如果我們可以用這些資訊來預測殘差,那麼就能得到更優重建結果。我們的模型能夠在一定程度上利用多餘的部分資訊。我們可以看到收益是遞減的,並且在某個時候,網路的所表現出來的能力就會被用盡。

為了演示檔大小和品質之間的差異,我們可以拍攝一張日本狆 Vash 的照片,並生成兩種壓縮圖像,一個 JPEG 和一個 RGRU。兩幅圖像都以 0.9 MS-SSIM 的感知相似度為目標,如果是兩張完全相同的圖像,它們之間的感知相似度就是 1.0。我們的學習模型在同樣品質的情況下,生成了比 JPEG 小 25% 的最終圖像。

左圖:1.0 MS-SSIM 的原始圖像(1419 KB PNG)。中圖:0.9 MS-SSIM 的 JPEG(33 KB)。右圖:0.9 MS-SSIM 的 RGRU(24 KB)。相比之下,圖像資料量要小25%

觀察它的鼻子和嘴巴,我們可以看到,我們的方法沒有造成在 JPEG 圖像中看到的中間部分的洋紅色塊和噪音。這是由於 JPEG 壓縮的方塊效應而產生的,而此處我們的壓縮網路對整個圖像同時處理。然而,這是經過了權衡的 —— 在我們的模型中,晶須和紋理的細節丟失了,但是它在減少方塊效應方面展現出了強大能力。

左圖:原始圖像。中圖: JPEG。右圖:RGRU。

雖然今天我們常用的轉碼器依舊表現良好,但我們的工作已經表明,使用神經網路來壓縮圖像可以生成品質更高且資料量更小的壓縮方案。如果想瞭解更多關於我們的研究的細節,以及與其他迴圈架構的比較,請查看我們的論文(https://arxiv.org/abs/1608.05148)。在未來的研究中,我們將著重於獲得更好的壓縮品質以及設計更高效的模型,敬請期待!

翻譯人:StoneDemo,該成員來自雲+社區翻譯社

原文連結:https://research.googleblog.com/2016/09/image-compression-with-neural-networks.html?utm_campaign=Artificial%2BIntelligence%2BWeekly&utm_medium=web&utm_source=Artificial_Intelligence_Weekly_49

原文作者:Posted by Nick Johnston and David Minnen, Software Engineers

左圖:R[1] 作為輸入。中圖:更高品質的重建,P[2]。右圖:通過從原始圖像中減去 P[2] 生成更小的殘差 R[2]。

在之後的每次反覆運算中,網路將獲得更多由於壓縮而引入的誤差的資訊(通過殘差圖像捕獲到的資訊)。如果我們可以用這些資訊來預測殘差,那麼就能得到更優重建結果。我們的模型能夠在一定程度上利用多餘的部分資訊。我們可以看到收益是遞減的,並且在某個時候,網路的所表現出來的能力就會被用盡。

為了演示檔大小和品質之間的差異,我們可以拍攝一張日本狆 Vash 的照片,並生成兩種壓縮圖像,一個 JPEG 和一個 RGRU。兩幅圖像都以 0.9 MS-SSIM 的感知相似度為目標,如果是兩張完全相同的圖像,它們之間的感知相似度就是 1.0。我們的學習模型在同樣品質的情況下,生成了比 JPEG 小 25% 的最終圖像。

左圖:1.0 MS-SSIM 的原始圖像(1419 KB PNG)。中圖:0.9 MS-SSIM 的 JPEG(33 KB)。右圖:0.9 MS-SSIM 的 RGRU(24 KB)。相比之下,圖像資料量要小25%

觀察它的鼻子和嘴巴,我們可以看到,我們的方法沒有造成在 JPEG 圖像中看到的中間部分的洋紅色塊和噪音。這是由於 JPEG 壓縮的方塊效應而產生的,而此處我們的壓縮網路對整個圖像同時處理。然而,這是經過了權衡的 —— 在我們的模型中,晶須和紋理的細節丟失了,但是它在減少方塊效應方面展現出了強大能力。

左圖:原始圖像。中圖: JPEG。右圖:RGRU。

雖然今天我們常用的轉碼器依舊表現良好,但我們的工作已經表明,使用神經網路來壓縮圖像可以生成品質更高且資料量更小的壓縮方案。如果想瞭解更多關於我們的研究的細節,以及與其他迴圈架構的比較,請查看我們的論文(https://arxiv.org/abs/1608.05148)。在未來的研究中,我們將著重於獲得更好的壓縮品質以及設計更高效的模型,敬請期待!

翻譯人:StoneDemo,該成員來自雲+社區翻譯社

原文連結:https://research.googleblog.com/2016/09/image-compression-with-neural-networks.html?utm_campaign=Artificial%2BIntelligence%2BWeekly&utm_medium=web&utm_source=Artificial_Intelligence_Weekly_49

原文作者:Posted by Nick Johnston and David Minnen, Software Engineers

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示