Google 開源圖像壓縮演算法 Guetzli,圖片多也能咻咻咻迅速載好

【我們為什麼挑選這篇文章】圖片過多、圖片檔案過大一直以來都是造成網頁載入速度慢的元凶,如果壓縮圖片又會導致畫質降低、圖片失真,只能在網速慢與畫質低兩者之間取其一。最近 Google 釋出的開源圖像壓縮演算法 Guetzli 正好能解決這個問題,根據 The Verge 報導,Guetzli 可以讓圖片壓縮 35%但保持畫質不變。(責任編輯:曾宜婷)。

打開一個網站,發現網頁速度載入很慢,這可能不僅僅是你網路頻寬的問題,也可能是因為這個網站需要載入太多的影像檔。

而同等頻寬和網站的前提下,如果可以「無損」壓縮這個網站上的圖片大小,理所應當就會載入得更快。我們想擁有更快的網速,也珍惜寶貴的手機流量,Google 就決定在技術上做一個微小的貢獻,讓你瀏覽網頁時有更快的感受。

實際上,Google 最近開源了一個圖像壓縮演算法 Guetzli——Guetzli 能產生(壓縮)更小的 JPEG 文檔,同時盡可能的保持圖像品質,並且它能與現在的瀏覽器格式、影像處理應用程式和 JPEG 標準相容。也就是說,Google 提供了一種新的壓縮圖像的方法,這種方法可以提供類似的圖片顯示效果,但保持更小的檔大小。它可利用到很多的網站設計以及圖像工具上,進而實現降低全網的影像檔大小。

話不多說,先上圖看是不是有類似的效果:

兩張圖分別存在未壓縮的原圖、使用比較流行演算法的壓縮圖和 Google 的 Guetzli 演算法壓縮圖。如果我不提前說明,你能看出什麼樣的規律?

在第一張 20×24 圖元的貓眼圖中,我們實際上很難察覺出第一張和第二張內具體有什麼區別,但第三張看起來色彩更淡,而貓眼之外第三張比第二張區塊更少;而下面這張圖,其實是天空中的一根電話線,我們可以看到第一張圖最清晰,電話線本身很少有區塊,而第二張和第三張均出現了區塊,且線之外的天空裡第二張區塊更明顯。這些是基於我們人眼的判斷結果。

真相是,貓的眼睛縮放圖最左側是原始未壓縮的圖、中間的是經過 libjpeg 演算法的圖(libjpeg 是另外一個比較流行的圖像壓縮演算法,用來和 Guetzli 做對比)、最右側的是經過 Guetzli 演算法的圖;第二張 16×16 圖元電線圖的位置一樣。(在這樣的小圖裡對比馬賽克圖元,我想說貼一張大圖看多實在啊~)

對於這個技術本身,Google 並沒有在官方博客裡給出詳細的技術解讀,但已知的是這其實也是一個基於深度學習(RNN)的技術,主旨就是基於人們對於圖片的感知因素而判斷取捨。

JPEG 圖片的視覺品質和主流的圖像多級壓縮方式是直接相關的,主要是要遵從三個過程:色彩空間變換——離散餘弦變換——量化階段。前兩部分有些複雜,但並不是這個技術的核心,所以可以理解為在前兩項技術壓縮大小已經固定的情況下,優化最後一項量化階段。而量化階段的操作就有點類似很多影像處理軟體的「另存為」:選擇的視覺品質越小,它就損失越多,圖片就會被壓縮的小。但這個量化階段的重點是如何取捨圖像品質和圖像大小這些細節問題。

Guetzli 演算法就是在這個步驟引入了一個叫做 Butteraugli 的精神視覺模型——它用來決定保存哪些顏色或者細節、壓縮掉哪些細節,從而達到人們視覺上的最優,且影像檔更小。

但具體是如何做到的,Google Blog 中也沒有給到更詳細的解釋。但既然是一項基於圖像壓縮和人類感知的深度學習技術——或許如果把圖像庫資料打散成各種標籤,與人們視覺感知的結果作邏輯連接,提供人們視覺下的最優解做模型。在不斷地攝入眾多這樣的資料來源(圖像)後,是不是就可以形成可以支撐 Guetzli 演算法的「精神視覺」模型?而這個精神視覺模型已經學會了判斷在人們覺得什麼樣的圖片更好看以及圖片如何壓縮之間的最優解?嗯,可能比人更瞭解。

Google 拿這一結果與另一款比較流行的開源編碼器 libjpeg 進行了對比——「75%的用戶更偏好 Guetzli,這意味著 Butteraugli 的精神視覺性模型在高畫質感知取捨方面更接近於人類感知。」

Google 已經在 Github 上開源了這個 Guetzli JPEG 編碼器。可見這件事情也不只是針對 Google 網站或者公司本身,而是 Google 希望所有的網站開發人員、圖形設計師或是攝影師都可以使用到這樣的圖像壓縮演算法替代網路中傳統演算法下的 JPEG 圖片,進而大幅降低網路成本。

但 Google Blog 中也提到,因為 Guetzli 演算法涉及到更多的量化過程,也就是說壓縮過程比 libjpeg 更慢,但 Guetzli 相容現有的瀏覽器和設備。Google 希望更多的人使用 Guetzli 演算法壓縮圖片,而如果這一成就達成,相信我們會有更快的瀏覽體驗。

當然,也會節省你的手機流量。

延伸閱讀

TensorFlow 成 GitHub 上最夯機器學習開源項目,Google 要當機器學習開源界的老大哥
Google 布局大數據:發布開源平台 Apache Beam,兼容多個運行平台

(本文經合作夥伴品玩授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈知道該在哪「偷工減料」,Google 開源深度學習壓縮圖片技術 〉。首圖來源:Pixabay,CC Licensed)


321 倒數 ,2020 只剩 3 年,區塊鏈、5G、AI 技術將成熟到位。
從產業到社會,台灣沒剩多少時間準備。

12/9 TechOrange、BuzzOrange「CONNECT 2020」年度產業論壇,連結未來改革能量

點關鍵字看更多相關文章: