国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于條件生成對抗網(wǎng)絡的高感知圖像壓縮方法

2022-07-08 08:14張雪峰許華文楊棉子美
關(guān)鍵詞:編碼器卷積損失

張雪峰, 許華文, 楊棉子美

(東北大學 理學院, 遼寧 沈陽 110819)

隨著多媒體技術(shù)及計算機硬件性能的跨越式發(fā)展,圖像在信息傳遞過程中發(fā)揮著愈來愈重要的作用.同樣的信息,文字表達篇幅冗長,圖像往往更為生動形象和直觀.為了高效地存儲圖像,有損圖像壓縮算法在許多實際場景都有應用.

最廣泛使用的有損圖像編解碼算法之一是JPEG[1].它把圖像分割成小塊,并且使用離散余弦變換對圖像數(shù)據(jù)進行編碼.然后將得到的系數(shù)進行縮放、量化和熵編碼以形成最終的比特流.對于比較新的編碼格式,工業(yè)界在諸多不同的方向進行了探索研究,如使用其他變換——JEPG2000[2]中的小波或內(nèi)部預測,而BPG(better portable graphics)[3]和WebP[4]則是使用了來自視頻編解碼器HEVC(high efficiency video coding)[5]的環(huán)內(nèi)過濾.

近些年來,深度學習工具在計算機視覺領(lǐng)域得到了比較廣泛的應用,基于深度學習的有損壓縮算法不斷地被提出.這些模型不需要人工設(shè)計編解碼器的各個組成部分,而是可以從圖像數(shù)據(jù)中深度學習得到一個最佳的非線性變換,然后以端到端的方式將熵編碼成比特流,人們在其中直接使用神經(jīng)網(wǎng)絡來進行優(yōu)化香農(nóng)提出的比特率-失真權(quán)衡.早期的研究依賴于循環(huán)神經(jīng)網(wǎng)絡[6-7],而后續(xù)的研究則是基于自動編碼器[8-10].為了降低存儲圖像所需的比特率,人們嘗試使用各種方法來更精確地建模自動編碼器隱藏層的概率密度,以實現(xiàn)更有效的算術(shù)編碼.采用的方法包括使用分層先驗、具有各種上下文形狀的自動回歸或?qū)⒍呓Y(jié)合[11-14].目前,最新的模型在峰值信噪比(PSNR)指標上優(yōu)于BPG,例如Minnen等[15]的研究.

自從Goodfellow等[16]提出生成對抗網(wǎng)絡后,它在無條件和有條件的圖像生成方面均快速發(fā)展.現(xiàn)今最先進的生成對抗網(wǎng)絡可以生成高分辨率的逼真圖像[17-19].相較于傳統(tǒng)的方法[20-21],生成對抗網(wǎng)絡在圖像分割[22]、圖像去噪[23]等應用中也取得了進展.此外,生成對抗損失也被用來改善神經(jīng)網(wǎng)絡壓縮算法的視覺質(zhì)量[14,24-26].Rippel等[14]在全分辨率壓縮算法中使用生成對抗損失作為損失函數(shù)的一個組成部分,但是并沒有系統(tǒng)地最小化這類損失,也沒有研究這類損失對于壓縮質(zhì)量的影響.Tschannen等[24]和Blau等[25]則側(cè)重于以概念上合理的方式將生成對抗損失納入比特率-失真指標當中.具體而言,Tschannen等[24]提出使用分布約束來作為比特率-失真指標的一部分,以確保壓縮圖像的分布在所有比特率下都與原始圖像的分布相吻合;Blau等[25]則提出并研究了比特率-失真-感知之間的三重權(quán)衡.Agustsson等[26]提出了使用生成對抗網(wǎng)絡來防止壓縮偽影,還驗證了在很低的比特率下使用基于生成對抗網(wǎng)絡的壓縮算法可以節(jié)省兩倍于傳統(tǒng)算法的比特率.他們提出的壓縮模型可以在極低的比特率下生成視覺感知上十分細膩的壓縮重建,但壓縮所得的圖像往往只保留高級的語義,與原始圖像有較大的偏差.

針對上述問題,本文提出一種基于條件生成對抗網(wǎng)絡的圖像壓縮算法,使用條件生成對抗網(wǎng)絡來優(yōu)化深層卷積神經(jīng)網(wǎng)絡.生成器中采用通道歸一化層替代實例歸一化,對各個通道進行歸一化處理,有助于緩解暗化偽影的問題[27].在損失函數(shù)方面,使用預訓練好的VGG-16網(wǎng)絡激活前的特征值來計算感知損失,以實現(xiàn)壓縮圖像的細膩紋路細節(jié)重建.最后,在訓練過程中加入生成對抗損失,以提升壓縮精度.

1 基于條件生成對抗網(wǎng)絡的圖像壓縮

1.1 圖像壓縮模型

給定原始圖像x,希望對其進行壓縮,而不是存儲原始的RGB數(shù)據(jù).首先需要對其進行編碼,為此需要設(shè)計一個編碼器E,記編碼后的隱變量為y=E(x),接著需要對編碼的y進行存儲,而存儲則是經(jīng)由概率模型P和熵編碼(如算術(shù)編碼)實現(xiàn),忽略熵編碼增加的比特率,記無損存儲y的比特率為r(y)=-log(P(y)).為了得到壓縮后的圖像x′,需要設(shè)計一個解碼器G對y進行解碼,記為x′=G(y).原始圖像與壓縮重建圖像之間的差異記為失真d(x,x′).將E,G,P參數(shù)化為卷積神經(jīng)網(wǎng)絡,那么本文的目標轉(zhuǎn)換訓練網(wǎng)絡使得以下比特率-失真權(quán)衡最小化:

LEG=Ex~pX[λr(y)+d(x,x′)].

(1)

其中λ為控制參數(shù).

在上述基于神經(jīng)網(wǎng)絡的有損壓縮算法的基礎(chǔ)上,本文引入條件生成對抗網(wǎng)絡[28]進行優(yōu)化,其由有約束的生成器G(也就是解碼器)和判別器D組成.生成器試圖將編碼量化的數(shù)據(jù)變換為逼近原始圖像的壓縮重建圖像,而判別器則試圖區(qū)分壓縮重建圖像與原始圖像之間的差異.總體模型框架如圖1所示.

圖1 HIPC模型結(jié)構(gòu)圖Fig.1 The architecture of HIPC

1. 2 各個網(wǎng)絡結(jié)構(gòu)設(shè)置

1.2.1 編碼器架構(gòu)和概率模型及量化

編碼器、生成器、判別器的架構(gòu)借鑒自文獻[26,29],其中編碼器的架構(gòu)如圖2所示.卷積核除圖中特殊說明以外,均采用3×3的大小.Conv60表示卷積層中濾波器的數(shù)量或者輸出空間的維數(shù)為60,其余類似解讀.↓2表示進行卷積步長為2的下采樣,而Norm表示通道歸一化(channel normalization),有關(guān)歸一化詳見1.2.3節(jié),ReLU是常用的激活函數(shù)(后同).編碼器首先采用了5個各異的卷積層進行圖像特征的提取,之后本文在編碼器最后一層引入一個瓶頸層ConvCy以避免過擬合.對于概率模型,本文使用文獻[11]中提出的超先驗概率模型,用于剔除圖像壓縮過程中的冗余信息.對于待壓縮圖像,無法知道其實際分布,只知道它的分布是存在統(tǒng)計依賴關(guān)系的.為了模擬目標變量之間的依賴關(guān)系,該模型引入一組額外的隨機變量進行描述.具體來說,將邊信息視為熵模型參數(shù)的先驗信息,從而使它們成為潛在表示的先決條件.提取邊信息z來建模y的分布以便于存儲,并在超編碼器當中以及估計p(y|z)使用均勻噪聲U(-1/2,1/2)來模擬量化.但是,當將y輸入到G時,本文使用四舍五入代替了噪聲,這確保了生成器在訓練過程中量化噪聲是相同的.

圖2 編碼器架構(gòu)Fig.2 The architecture of encoder

1.2.2 生成器及判別器架構(gòu)

生成器的架構(gòu)如圖3所示,↑2表示進行卷積步長為2的上采樣.與編碼器相比較,本文在生成器中引入了殘差模塊.對于編碼量化后的隱變量y,采用了9層殘差層進行解碼,其后提取其中的特征用于壓縮重建圖像的生成,與編碼器類似,最后加入了瓶頸層防止過擬合.

圖3 生成器架構(gòu)Fig.3 The architecture of generator

判別器的架構(gòu)如圖4所示,NN↑16表示進行16×16的上采樣調(diào)整.部分卷積層中采用的激活函數(shù)LReLU,其中參數(shù)取α=0.2.最后一層采用1×1的卷積核并施加Sigmoid激活函數(shù)以得到判別結(jié)果.文獻[26,29]中都使用了多尺度馬爾科夫判別器,但本文僅使用單一尺度,并且本文使用了譜歸一化(spectral normalization)取代實例歸一化(instance normalization).譜歸一化的具體實現(xiàn)如下:

圖4 判別器架構(gòu)Fig.4 The architecture of discriminator

譜歸一化即為參數(shù)矩陣W除以W的譜范數(shù).若想求得W的譜范數(shù),需計算得到矩陣的奇異值,但計算量較大,所以使用“冪迭代法”近似計算.先隨機生成高斯初始化向量.再按從上到下的順序計算下式:

不斷重復迭代上兩式,直到循環(huán)k次結(jié)束迭代.σ(W)表示矩陣W的最大奇異值,最后得到σ(W)=(uk)TWvk.

在迭代次數(shù)足夠多時,uk為W最大奇異值的相應的特征矢量,所以有WWTu=σ(W)u,即可求得矩陣W的最大奇異值.

1.2.3 歸一化

在文獻[26]中,編碼器和生成器也使用了實例歸一化,但文獻[27]發(fā)現(xiàn)當在分辨率與訓練裁剪大小不同的圖像上使用該模型時,會產(chǎn)生明顯的暗化偽影.他們假設(shè)這是由于實例歸一化的空間平均引起的,并且采用通道歸一化緩解了這個問題.基于此,本文使用通道歸一化,它可以對各個通道進行歸一化.假設(shè)輸入的是一批C×H×W維卷積輸出層fchw,使用學習得到的每通道偏移量αc,βc,則可以將其歸一化為

(2)

其中:

(3)

(4)

1.2.4 損失函數(shù)

條件生成對抗網(wǎng)絡可以學習得到符合條件分布pX|S的生成模型,其中每個數(shù)據(jù)點x與附加信息s(例如類標簽或語義映射)相關(guān)聯(lián),x,s通過未知的聯(lián)合分布px,s相關(guān)聯(lián).與標準的生成對抗網(wǎng)絡類似,在這種情況下,本文訓練兩個相互博弈的網(wǎng)絡: 一個條件生成器G,其將樣本y從一個固定的已知分布pY映射到pX|S; 一個判別器D,它的作用是將輸入(x,s)映射到pX|S的一個樣本概率,而不是生成器的輸出概率.生成器的目標是使判別器相信它的樣本是真實的,也就是說,來自于pX|S.固定s,可以優(yōu)化“非飽和”損失函數(shù)[16]:

LG=Ey~pY[-log(D(G(y,s),s))] ,

(5)

LD=Ey~pY[-log(1-D(G(y,s),s))]+
Ex~pX|S[-log(D(x,s))].

(6)

本文采用DISTS[30]作為感知失真dP=DISTS,其靈感來自于感知失真指標LPIPS[31].x為原圖像,z為失真后的圖像,通過卷積核f:n→r,把x和z分別映射到和和分別表示x和z輸入VGG中第i層的的第j個卷積核卷積的輸出,其中和分別表示和的均值和方差αij和βij為學習的參數(shù).dP的具體定義如下[30]:

由于模型的高感知特性,本文將其命名為高感知圖像壓縮算法HPIC(high perceptual image compression).文獻[27]驗證了采用VGG的損失函數(shù)有助于模型的訓練,DISTS正是基于文獻[30]的VGG-16網(wǎng)絡所得.因此本文將DISTS與MSE組合到一起作為失真損失:

d=kMMSE+kPdP.

(7)

其中,kM,kP是超參數(shù).結(jié)合神經(jīng)網(wǎng)絡的損失函數(shù)式(1),在式(5)和式(6)中令y=E(x)以及s=y.利用式(7)先訓練編碼器得到初始模型,再引入對抗生成網(wǎng)絡,其中式(8)和式(9)分別用來訓練生成器和判別器.在訓練其中一個時,固定另外兩個的參數(shù)生成,使用相應的損失函數(shù),交替進行訓練,即如果訓練生成器時,固定編碼器和判別器的參數(shù).判別器分別輸入解碼得到的x′,編碼得到的y和原圖像x,y得到D(x′,y)和D(x,y).本文所采用的損失函數(shù)如下:

LEGP=Ex~pX[λr(y)+d(x,x′)-
βlog(D(x′,y))] ,

(8)

LD=Ex~pX[-log(1-D(x′,y))]+
Ex~pX[-log(D(x,y))] .

(9)

2 實驗結(jié)果與分析

2.1 實驗參數(shù)設(shè)置

本文采用微軟的COCO[32]數(shù)據(jù)集作為訓練集,訓練中將這些圖像隨機裁剪到256×256像素.模型訓練完成后,本文利用獨立于訓練數(shù)據(jù)集的基準數(shù)據(jù)集Tecnick[33]對所得到的模型進行評估與比較,以驗證本文模型的效果.

當采用式(1)作為損失函數(shù)來訓練模型時,式中只有一項失真d(x,x′)與比特率項r(y)有沖突,此時模型的最終(平均)比特率可以只通過變化來控制.但考慮到本文所采用的損失函數(shù)式(8)中,MSE,dP=DISTS以及l(fā)og(D(x′,y))均與比特率項不一致.對于固定的或者不同的超參數(shù)kM,kP,將會導致模型具有不同的比特率,使得比較變得困難.為了緩解上述情況,本文引入一個“目標比特率”超參數(shù)rt,并將式(8)中的參數(shù)λ替換為自適應項λ′,引入兩個超參數(shù)λ(a),λ(b)將其定義如下:

(10)

其中,λ(a)>>λ(b),這使得訓練所得模型的比特率接近“目標比特率”rt.此外,本文使用Adam優(yōu)化器進行訓練.本文中模型使用的參數(shù)以及訓練策略如表1和表2所示.

表1 固定參數(shù)設(shè)置Table 1 Fixed parameter settings

表2 變化參數(shù)設(shè)置Table 2 Change parameter settings

為了使模型能更好地接近目標比特率,在初始訓練時采用更高的比特率(相應的自適應項參數(shù)也調(diào)整為目標比特率的兩倍)進行訓練,到達一定的步長后再調(diào)整為目標比特率.對于學習率而言,損失函數(shù)下降到局部最優(yōu)值之后進行裁剪來優(yōu)化訓練過程.

為了驗證加入生成對抗網(wǎng)絡的效果,本文訓練了一個無生成對抗網(wǎng)絡的基準模型,也采用MSE和DISTS作為損失函數(shù).此外,本文與文獻[11]中的bmshj2018模型以及文獻[15]中的mbt2018模型進行了對比,后者與本文采用相同的超先驗概率模型.而為了得到本文的高感知模型,首先訓練一個初始模型,采用MSE和DISTS作為損失函數(shù).之后的高感知模型基于上述模型進行初始化,加入生成對抗網(wǎng)絡的損失函數(shù),而不是從0開始初始化,具體的訓練策略如表3所示,其中k表示1 000.

表3 訓練策略Table 3 Training strategies

2.2 模型評價指標

本文計算訓練得到的各個模型的PSNR以及感知失真DISTS和MS-SSIM,并且采用FID[34]和KID[35],LPIPS作為感知質(zhì)量指標.峰值信噪比PSNR是圖像處理領(lǐng)域最常用的評價指標,而多尺度結(jié)構(gòu)相似性MS-SSIM是評估(和訓練)神經(jīng)網(wǎng)絡壓縮算法最廣泛使用的失真指標.DISTS與LPIPS類似,它可以測量最初訓練用于圖像分類的深層神經(jīng)網(wǎng)絡的特征空間中的距離,但也適用于預測壓縮像素塊的相似性,其經(jīng)過驗證可以預測這些形變的視覺感知得分[30].

FID是一種廣泛使用的指標,用于評估圖像生成(尤其是生成對抗網(wǎng)絡)中的樣本質(zhì)量和多樣性.與PSNR,MS-SSIM和LPIPS分別測量單個圖像對之間的相似度不同,FID則是評估原始圖像分布與生成的或失真的圖像分布之間的相似性.這種相似性是在為圖像分類所訓練的 Inception 網(wǎng)絡的特征空間中測量的,方法是對特征進行高斯擬合,并計算參考圖像的概率分布函數(shù)與生成圖像的概率分布函數(shù)之間的 Wasserstein 距離.Heusel 等[34]驗證了FID與失真的增長及用戶感知是一致的.此外,經(jīng)過驗證它還可以用來檢測常見的生成對抗網(wǎng)絡失效模式,如模式下降和模式崩潰.KID 與FID是類似的,但不同之處在于KID是無偏的,并且不對特征空間中的分布做任何假設(shè).

2.3 可視化結(jié)果

本文訓練的模型效果如圖5所示,將所得到的模型與相同比特率的mbt2018模型、BPG模型以及兩倍比特率的BPG模型進行了比較.當采用BPG模型進行壓縮時采用最高的 PSNR 設(shè)定,即無色度二次采樣和“慢速”模式.可以看到,基于生成對抗網(wǎng)絡的模型生成了非常接近輸入的高感知壓縮重建,包括毛發(fā)與皮膚紋理,而BPG則出現(xiàn)了塊狀偽影,如圖6所示,而且這些偽影是以兩倍的比特率出現(xiàn).

圖5 各模型壓縮效果Fig.5 Compressed images of each model(a)—原圖; (b)—HIPC(0.15 bpp); (c)—BPG(P.30 bpp); (d)—mbt2018(0.14 bpp); (e)—bmshj2018(0.16 bpp).

圖6 壓縮細節(jié)對比Fig.6 Comparing of texture detail(a)—原圖; (b)—HIPC(0.15 bpp); (c)—BPG(P.30 bpp); (d)—mbt2018(0.14 bpp); (e)—bmshj2018(0.16 bpp).

在測試數(shù)據(jù)集上采用了上文所敘述的6個指標作為縱坐標,以每像素比特率bpp(bits per pixel)作為橫坐標,在圖7和圖8中分別畫出了比特率-感知和比特率-失真曲線(其中↓表示指標越小越好,↑表示指標越大越好).將本文的模型與基準模型(無生成對抗網(wǎng)絡)、mbt2018模型、bmshj2018模型以及BPG模型進行了對比.

如圖7所示,正如預想中的那樣,本文的高感知模型HPIC在所有感知質(zhì)量指標中處于領(lǐng)先,但 PSNR指標和MS-SSIM指標相對較差.把具有相同的失真的基準模型(無生成對抗網(wǎng)絡)與HPIC進行比較,結(jié)果表明增加生成對抗網(wǎng)絡損失的效果與理論相符,所有感知指標都得到了改善.而且HPIC在所有感知指標上的表現(xiàn)都要優(yōu)于以往的模型.

圖7 各模型的比特率-感知曲線Fig.7 Bit rate-distortion curves of each model(a)—比特率-FID曲線; (b)—比特率-KID曲線; (c)—比特率-DISTS曲線; (d)—比特率-LPIPS曲線.

從圖8基于MS-SSIM和PSNR指標的比特率-失真曲線可以觀察到,與DISTS等感知指標相比,基準模型與HPIC在這兩個失真指標中的表現(xiàn)各異.加入生成對抗網(wǎng)絡使得模型的PSNR稍微變差,但MS-SSIM卻略有提高,這與參數(shù)設(shè)定有關(guān).而與bmshj2018和mbt2018模型相比,HPIC模型的PSNR指標都有一定程度下降,但如圖7所見,HPIC模型的所有感知指標相較于前兩者得到了大幅提升,這說明犧牲一定的數(shù)據(jù)保真度以換取更好的人類視覺感知質(zhì)量是可行的.上述結(jié)果促使本文在進行靈敏度分析時使用KID等感知指標,只需要在固定失真的損失函數(shù)以及整體訓練設(shè)定的條件下進行對比.

圖8 各模型的比特率-失真曲線Fig.8 Bit rate-perception curves of each model(a)—比特率-MS-SSIM曲線; (b)—比特率-PSNR曲線.

總體而言,基于Blau等[25]提出的“比特率-失真-感知”權(quán)衡理論,在一個固定的比率下,更好的感知質(zhì)量總是意味著更糟糕的失真.相反,當最小化失真時就會使得感知質(zhì)量變得較差.本文通過引入生成對抗網(wǎng)絡,使得輸入分布和壓縮重建分布之間的差異盡量減少,以取得更好的感知質(zhì)量,但三者仍是不可兼得的.實驗結(jié)果表明本文的方法相較于以往的方法而言,在三者之間取得了較好的平衡,且實現(xiàn)了高感知質(zhì)量的圖像壓縮.

3 結(jié) 論

1) 本文針對圖像設(shè)計了一個將條件生成對抗網(wǎng)絡和卷積神經(jīng)網(wǎng)絡相結(jié)合的壓縮算法框架,在圖像壓縮的損失函數(shù)中加入感知失真指標,在感知上接近輸入的情況下實現(xiàn)了具有高感知的圖像壓縮.

2) 本文使用了一組不同的失真、感知度量指標來評估所得的圖像壓縮模型,并且運用比特率-失真-感知優(yōu)化理論對實驗結(jié)果進行了分析.結(jié)果表明,即使傳統(tǒng)圖像壓縮算法BPG采用兩倍于本文模型的bpp,本文的壓縮效果也優(yōu)于它們.

猜你喜歡
編碼器卷積損失
洪澇造成孟加拉損失25.4萬噸大米
基于全卷積神經(jīng)網(wǎng)絡的豬背膘厚快速準確測定
基于ResNet18特征編碼器的水稻病蟲害圖像描述生成
WV3650M/WH3650M 絕對值旋轉(zhuǎn)編碼器
WDGP36J / WDGA36J編碼器Wachendorff自動化有限公司
一種基于卷積神經(jīng)網(wǎng)絡的地磁基準圖構(gòu)建方法
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
一種并行不對稱空洞卷積模塊①
基于Beaglebone Black 的絕對式編碼器接口電路設(shè)計*
兩敗俱傷