緒論
傳統圖像壓縮往往經過可逆變換、量化、熵編碼、反轉變換實作近似的重構圖像。其中熵編碼是無損編碼(如哈夫曼、算術編碼等),量化的目的是為産生熵編碼可處理離散信号。
傳統方法往往對各個部分分别優化,本文在圖像壓縮領域提出一個端到端優化的架構。
分析變換将圖像向量
轉化到編碼域(隐層變量),
,将
量化得到
,之後經過合成變換傳回到信号域得到重構圖像
。其中分析變換和合成變換都是可微分的。
編碼率(rate)通過離散機率分布
的熵來評估(熵代表資訊量的大小,直覺來看,經過量化之後的離散分布要經過熵編碼,機率越大的熵編碼長度越短,反之越長,是以熵
可以衡量平均編碼長度),失真(distortion)通過
和
間的MSE或者PSNR來衡量。本論文提出使用感覺變換
,将信号域變換到感覺域,提供比PSNR更好的主觀視覺失真近似。
優化架構
優化目标通過調整分析、合成變換以最小化率失真(rate-distortion)函數:
目标可優化(反向傳播)依賴于架構中操作的可微性,其中量化操作不可微,它的導數處處為0或者無窮大。使用在訓練的時候将量化替換為加均勻噪聲、推理的時候使用round量化的方法解決這個問題。
标量量化器為:
,邊緣分布如下:
其中
為狄拉克函數(積分為1,在0處無限高,其他處為0)。
是第
個量化區間的機率(量化區間
曲線包圍的面積),*代表卷積,rect是在
上的均勻分布。
給
添加均勻噪聲:
,滿足
,
和
在整數位置上相同,并且提供了連續的中間值 :
使用優化可微分的熵
替代離散熵
。為了優化這一項,還需要有對
的估計,這個估計不需要任意精确,因為
被與rect的卷積所限制(band-limited),這裡使用無參數、分段線性函數(一階樣條插值)作為熵模型估計
。總體優化目标如下:
含參變換的選擇
傳統壓縮中分析變換和合成變換是線性的而且互逆,通常來說,這一點并不需要嚴格滿足,隻要能夠最小化率失真函數就行。
分析變換與合成變換分别使用泛化分裂歸一化GDN和它的近似逆IGDN,對于感覺變換,使用歸一化的拉普拉斯金字塔NLP。
A. GDN描述如下:
其中
代表線性變換(該工作中貌似使用全連接配接,之後的工作使用卷積層作為線性分解)。分析變換模型參數
B. 基于一輪定點疊代的方法得到IGDN,描述如下:
(之後在端到端圖像壓縮中一般将GDN當做非線性元件來用,其中線性變換
用卷積層代替)
C. NLP描述如下(之後的工作中少有人用):
使用拉普拉斯金字塔分解圖像,該金字塔減去多個尺度下平均亮度的局部估計。然後将每個金字塔系數除以局部幅度估計(常數加上鄰居絕對值的權重總和)。通過評估此感覺域中參考和重建之間差異的範數來評估感覺品質。參數(用于幅度的常數和權重)經過優化,以最适合 TID2008 資料庫中的感覺資料,其中包括因塊變換壓縮産生的僞影而損壞的圖像。這種簡單的失真測量提供了近線性适合資料庫中的人類感覺判斷,優于廣泛使用的 SSIM 和 MS-SSIM品質名額。
實驗結果
考慮使用
的DCT、線性變換(
和
各自包含
個濾波器系數)、
的GDN變換進行比較。分别針對MSE和NLP域範數優化,評價使用PSNR與NLP兩種名額。在下面的圖像中,對于端到端模型,曲線每一個點,對應一個模型,不同模型需要通過調整
獲得。實驗結果如下圖: