999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于循環生成對抗網絡的圖像風格遷移*

2020-05-04 06:54:00彭晏飛王愷欣梅金業訾玲玲
計算機工程與科學 2020年4期
關鍵詞:方法

彭晏飛,王愷欣,梅金業,桑 雨,訾玲玲

(遼寧工程技術大學電子與信息工程學院,遼寧 葫蘆島 125105)

1 引言

圖像風格遷移技術的發展可以追溯到圖像紋理生成技術,由于當時科研水平有限,需要繁瑣的公式和復雜的數學模型來學習如何生成紋理,且數學模型的建立耗時耗力,因此圖像風格遷移的發展十分緩慢[1]。Gatys等人[2]在2015年提出了基于神經網絡的圖像風格遷移算法,該算法是將圖像的內容和風格分開的算法。算法通過計算Gram矩陣得到圖像的風格特征,再通過卷積神經網絡給圖像的內容和紋理建模,然后再計算圖像的內容特征,約束輸入圖像與目標域圖像的內容特征保持一致。利用梯度下降,通過誤差反向傳播的方式訓練輸入的圖像完成圖像的風格化,得到經過風格遷移的圖像,這種算法雖然可以得到輸出,但生成的圖像并不清晰。Gatys等人[2]提出的算法使用一對一映射方法,訓練時需要大量成對圖像,圖像的類型需要涵蓋各個方面,例如將黑夜的圖像轉換為白天的圖像,需要來自相同位置的大量的黑夜和白天的圖像,耗費了大量的時間和精力,輸出的圖像存在噪聲、分辨率低等問題,因此該算法在實際中應用的范圍很窄。基于神經網絡的遷移方法在迭代上也存在問題,每生成1幅質量高的圖像需要經過多次迭代,程序運行速度十分緩慢,占用了極大的內存,還可能導致程序崩潰等問題[3]。基于以上的問題,本文使用生成對抗網絡GAN(Generative Adversarial Networks )[4]來完成圖像風格的遷移。

自提出以來,GAN在自然語言處理[5]、文本到圖像的生成[6]、圖像分割[7]、圖像風格遷移[8]和圖像超分辨率[9]等領域得到了廣泛應用,但還存在訓練不穩定、梯度消失、模式崩潰問題。Zhu等人[10]結合GAN和對偶學習的思想,提出了循環生成對抗網絡CycleGAN(Cycle Generative Adversarial Networks)的無監督學習方法,其基本思想是使用生成器和判別器完成圖像不同域之間的轉換,再添加循環一致項保留圖像的內容信息。L1正則化可以產生稀疏權值矩陣,即產生一個稀疏模型,可以用于特征選擇,在一定程度上還可以防止過擬合,因此,Luan等人[11]在CycleGAN中加入L1正則化,進一步提高了生成圖像的質量。雖然工作取得了一定的進展,但也存在提取的圖像內容忽略了很多細節,輸出的圖像存在噪聲等問題。為了更好地解決以上問題,本文提出了結合LBP算法和改進損失函數的方法,將LBP算法加入CycleGAN的生成器中,可以更好地提取原圖像的內容特征。同時,本文改進了CycleGAN的損失函數,在損失函數中加入Total Variation Loss來約束噪聲。實驗結果表明,本文提出的圖像風格遷移方法生成的圖像質量更好。

2 相關理論

2.1 生成對抗網絡

Goodfellow等人[4]提出的GAN是一種比較好的無監督學習模型,具有很強的建模能力,可以獲得高維且真實的數據分布。GAN的結構由生成器和判別器組成,其中生成器輸入的是隨機噪聲,通過隨機噪聲生成圖像,判別器用來判斷生成器生成的圖像是否和真實樣本接近或者相似,判斷出的結果反饋給生成器,然后再訓練生成器,使其能生成更好的圖像,達到以假亂真的效果。生成器提高生成能力,判別器提高判別能力,二者同時訓練,一代一代地進化,最后達到一種動態平衡[12]。具體過程如圖1所示。其中,NN GeneratorVn是一代一代不斷進化的生成器,DiscriminatorVn是一代一代不斷進化的判別器。

GAN的生成器G與判別器D之間的關系如式(1)所示:

EZ~PZ(Z){log[1-D(G(Z))]}

(1)

其中,Pdata(x)是真實數據分布,PZ(Z)是用于Z采樣的先驗分布。

判別器D的損失函數如式(2)所示:

JD=-∑x~Pdata(x)[logD(x)]-

EZ~PZ(Z){log[1-D(G(Z))]}

(2)

生成器G的損失函數如式(3)所示:

JG=-EZ~PZ(Z){logD[G(Z)]}

(3)

Figure 1 Process diagram圖1 過程示意圖

GAN存在訓練不收斂、不穩定、周期長、訓練損失與訓練的關聯性不強,需要判斷生成器和判別器何時達到動態平衡來防止梯度消失等問題。針對這些問題,本文使用比GAN效果更好的模型CycleGAN來完成圖像風格遷移。

2.2 CycleGAN

CycleGAN是在2017年由Zhu等人[13]提出的,它是由2個鏡像對稱的生成對抗網絡組合形成的環形網絡,分別由2個生成器和2個判別器組成。CycleGAN的訓練過程簡單,采用無監督的學習方法,只需使用生成器和判別器完成圖像域的轉換,然后用循環一致性來約束和保證圖像的內容信息,因此CycleGAN不需要一對一地訓練,只需要訓練2類圖像就可以訓練出1個模型,應用十分廣泛。

Figure 2 Structure of CycleGAN圖2 CycleGAN結構圖

Figure 3 Schematic diagram of LBP principle圖3 LBP原理示意圖

CycleGAN的工作原理如圖2所示,存在2個域:風景圖像所在的域是源域X域,油畫風格產生的圖像所在的域是目標域Y域。圖2是由X域轉換為Y域的X2Y生成對抗模型。其中,Input_X是輸入X域的圖像,Generate_Y是生成的Y域圖像,Cyc_X是循環一致性生成的圖像;GeneratorGX2Y和GeneratorGY2X分別是生成X域到Y域和生成Y域到X域圖像的生成器;Discriminator是判別器,Decision[0,1]是判別器的判別結果。

CycleGAN的作用是實現圖像不同域的轉換,先學習從X域到Y域的一種映射關系,這個映射關系的含義是生成器GX2Y可以將圖像轉換為Y域的圖像Generate_Y,生成完圖像后需要把圖像放進判別器DY來判斷生成的圖像是否是真實的圖像。

同理,CycleGAN在訓練中也需要把Y域的圖像轉換為X域的圖像,過程也與上述描述過程類似,反向工作原理圖也與圖2類似,只需交換X和Y字母。這樣的循環就形成了一個環形的網絡[14]。

2.3 LBP算法

局部二值模式LBP是由Ojala等人[15]提出的一種提取圖像紋理特征的算法,該算法簡單有效且具有旋轉不變性等優點。

LBP算法是在3*3的窗口內定義的,它以窗口中心像素灰度值為閾值,將其與相鄰的其他8個像素的灰度值進行比較。如果相鄰像素的灰度值小于最中心像素的灰度值,該位置就被標記為0;如果相鄰像素值大于中心像素灰度值,該位置就被標記為1。運用這個原理可以得到一個8位的二進制數。然后再將二進制數轉換為十進制數,得到LBP值(LBP碼一共有256種),將得到的LBP值作為3*3窗口中心像素的LBP值,以反映3*3區域的紋理信息。具體原理示意圖如圖3所示[16]。

因為LBP算法記錄的是中心像素和與它相鄰的8個像素的灰度值差值,該值只是固定尺寸區域內的值,所以當圖像的尺寸發生變化時,LBP算法可能出現錯誤,不能正確地體現相鄰像素點的紋理信息[17]。因此,本文選擇使用圓形LBP算法來實現圖像風格遷移。

3 本文方法

3.1 圓形LBP算法

為了更好地提取圖像的紋理特征,滿足旋轉不變性的要求,Ojala等人[18]對LBP算法進行了改進,將固定的3*3空間改進為任意空間,用圓形來代替傳統的正方形,改進后的LBP算法允許在半徑為R的圓形空間內存在多個像素點。圓形LBP算法特征點如圖4所示,其中,R為采樣半徑,P為采樣數目。

Figure 4 Feature points of circular LBP algorithm圖4 圓形LBP算法特征點

因為光照、旋轉、噪聲等因素的影響,圓形LBP算法把中心像素和它相鄰像素的差值分成符號分量和梯度分量,即CLBP_S和CLBP_M,再將得到的結果相乘。CLBP_M分量的值是連續的,為了與CLBP_S分量的編碼統一,需要將CLBP_M分量計算出來的值化為二進制編碼[19]。CLBP_M編碼如式(4)~式(6)所示:

(4)

(5)

其中,mp為中心像素灰度值,c是自適應閾值。這里的c是取整幅圖像的mp的均值。p個采樣點的坐標為:

(6)

Figure 5 Flow chart of circular LBP algorithm圖5 圓形LBP算法流程圖

Figure 6 Generator structure圖6 生成器結構

中心像素代表該局部區域的灰度級和灰度判別信息,為了使CLBP_M和CLBP_S更好地結合,對整幅圖像進行平均編碼,如式(7)所示:

CLBP_C=t(gc,cI)

(7)

其中,gc表示中心像素的灰度值,cI表示整幅圖像中像素灰度的平均值(通過比較中心像素和整幅圖像平均像素值的大小進行二進制編碼)[20]。

圓形LBP算法的流程圖如圖5所示,其中LDSMT為局部差分處理器,可以通過串聯、并聯或者串并聯其直方圖的形式來對3個特征值CLBP_S、CLBP_M和CLBP_C進行融合[21]。

3.2 網絡結構

3.2.1 生成器結構

本文的生成器結構如圖6所示,是由LBP算法、4個卷積層(Conv1~Conv4)、9個殘差模塊層(ResNet1~ResNet9)和2個轉置卷積層(Deconv1、Deconv2)組成的。生成器的工作步驟:先經過LBP算法提取輸入圖像的紋理信息;再經過3個卷積層提取圖像的其它特征,經過9個殘差模塊層進行圖像轉換,即圖像風格的遷移,經過1個轉置卷積還原圖像的低級特征 ,再經過1個卷積層生成圖像;最后再輸出圖像。本文生成器輸入和輸出的圖像大小都是256*256像素。

每個殘差模塊層都由2個卷積層組成。殘差模塊層的工作就是將上一個卷積層的一部分輸出作為輸入和一部分經過殘差模塊層的輸入一起添加到殘差模塊層的輸出中,具體結構如圖7所示。使用殘差模塊層可以更好地保護原始圖像信息的完整性,解決傳統神經網絡的網絡層越深梯度消失越明顯的問題,網絡隨深度的增加而不退化,可加快模型的訓練速度,改善模型的訓練效果[22]。

Figure 7 Structure of residual network layer圖7 殘差模塊層結構

3.2.2 判別器結構

本文的判別器結構如圖8所示,是由5個卷積層(Conv1~Conv5)組成的。判別器首先用前4個卷積層提取輸入圖像的特征,然后用第5個卷積層將其轉換為一維特征向量后輸出,實現判別的目的。

Figure 8 Discriminator structure圖8 判別器結構

生成器和判別器互相博弈,先由判別器訓練生成器,目的是訓練CycleGAN的生成器使其能生成更清晰且真實的圖像。然后由生成器訓練判別器,目的是讓判別器不斷地提高判別能力,然后再根據循環一致性得到的圖像來驗證生成器是否能生成更真實的圖像[23]。

當模型訓練完成后,輸入1幅圖像,生成器就能提取圖像的特征,生成具有其他風格的圖像,也就是將X的圖像風格轉換成Y的圖像風格。CycleGAN是一個環形的網絡,也存在反向的將Y的圖像風格還原成X的圖像風格的輸出結果,但出于縮短模型訓練時間等的實際需要,本文只保存了X向Y轉換的輸出結果。實驗表明,經過這樣的循環,最終能實現圖像的風格遷移。

3.3 損失函數

CycleGAN的損失函數由3部分組成:X域到Y域的損失函數、Y域到X域的損失函數和循環一致性的損失函數。

Rudin等人[24]發現受噪聲污染的圖像的總變分比沒有噪聲的圖像的總變分大,最小化Total Variation Loss就可以最小化噪聲,如式(8)所示:

(8)

其中,xi,j為每個像素的坐標,xi,j+1為縱向下一個像素的坐標,xi+1,j為橫向下一個元素的坐標,β為權值,取值為2.75。通過計算像素的坐標可以得到圖像相鄰像素的差異,這樣就可以降低函數值,降低Total Variation Loss。

Total Variation Loss可以去除噪聲,使圖像平滑,和其他損失函數配合使用可以約束噪聲,常用于圖像處理中[25]。因此,本文在CycleGAN的損失函數中加入了Total Variation Loss來減小生成圖像的噪聲。

對于X域到Y域的映射,CycleGAN的損失函數如式(9)所示:

LG(GX2Y,DY,X,Y)=Ey~pdata(y)[logDY(y)]+

Ex~pdata(x)[1-logDY(GX2Y(x))]+RVβ

(9)

其中,X,Y為源域X域和目標域Y域;x和y分別是X域圖像和Y域圖像,GX2Y(x)為X域到Y域映射的生成器 ,DY為判別X域到Y域生成的圖像判別器。

對于Y域到X域的映射,CycleGAN的損失函數如式(10)所示:

LG(GY2X),DX,X,Y)=Ey~pdata(x)[logDX(y)]+

Ey~pdata(y)[1-logDX(GY2X(y))]+RVβ

(10)

其中,GY2X(y)為Y域到X域映射的生成器 ,DX為判別Y域到X域的判別器。

CycleGAN同時訓練2個映射,一個是X域的圖像x經過生成器GX2Y生成Y域圖像,一個是生成的Y域圖像經過反向生成器GY2X能變回X域的圖像x。后一個映射如式(11)所示:

GY2X(GX2Y(x))≈x

(11)

同理,Y域的圖像y可經過生成器GY2X生成X域圖像,生成的X域圖像經過反向生成器GX2Y能變回Y域的圖像y,如式(12)所示:

GX2Y(GY2X(y))≈y

(12)

式(11)和式(12)就是CycleGAN中循環一致性的體現。

循環一致性的損失函數如式(13)所示:

Lcyc=(GX2Y,GY2X,X,Y)=

Ex~X[‖GY2X(x)-x‖1]+

Ey~Y[‖GX2Y(y)-y‖1]

(13)

CycleGAN由2組生成器和判別器構成(圖2只給出正向X域到Y域的結構,反向Y域到X域的結構與之類似只需交換X、Y字母)。損失函數中每組GAN的生成網絡和判別網絡的損失類似, 公式相同。總損失函數是整個網絡的損失函數,包括生成網絡和判別網絡,由生成器的損失函數(Total Variation Loss在生成器損失函數內)、判別器的損失函數和循環一致的損失函數組成。本文方法的總損失函數如式(14)所示:

L=LG(GX2Y,DY,X,Y)+LG(GY2X,DX,X,Y)+

Lcyc(GX2Y,GY2X,X,Y)

(14)

4 實驗結果與分析

4.1 實驗設置

實驗所使用的計算機配置:處理器為Intel?CoreTMi7-8565U CPU @ 1.80 GHz,運行內存為8 GB,顯卡為NVIDIA GeForce MX250。開發環境是TensorFlow,數據集的處理在PyCharm平臺上實現。

本文選取的是scenery2painting數據集,風景圖像和油畫圖像2種類別作為實驗對象,最終使用的風景圖像2 000幅,油畫圖像400幅,其中訓練集中風景圖像1 900幅,油畫圖像300幅,測試集中的風景圖像100幅,油畫圖像100幅。

實驗圖像的尺寸均為256*256像素,訓練使用Adam優化器,學習率設置為0.000 2,保持學習率不變的epoch數量為200。

4.2 主觀評價

CycleGAN常用于實現圖像遷移,因此為了驗證本文方法的有效性,實驗選取基于CycleGAN的圖像風格遷移、在CycleGAN上加入L1正則化的圖像風格遷移方法進行對比實驗,使用相同的數據集,訓練和測試的圖像完全相同,對進行多次迭代后得出的結果進行比較。

由于油畫圖像數量有限,風景圖像和油畫圖像的數量不可能相同,所以實驗中如果風景圖像的訓練圖像數量大于油畫圖像的訓練圖像數量,就從油畫數據集中隨機選取圖像進行訓練,實驗結果如圖9所示。

Figure 9 Contrast diagram before and after style conversion圖9 風格轉換前后對比圖

由圖9可以看出,CycleGAN雖然完成了圖像風格的轉換但得到的圖像十分模糊,加入L1正則化的CycleGAN雖然可以得到清晰的圖像輪廓,也能完成基本的圖像風格遷移,但是效果不是最好的,而本文方法可以實現圖像風格的轉換,效果清晰,質量明顯高于其他2種對比方法。

4.3 客觀評價

為了進一步驗證本文方法的有效性,客觀評價CycleGAN、加入L1正則化的CycleGAN與本文方法之間的差異,本文使用對比度、結構相似性SSIM(Structural Similarity Index)、信息熵、峰值信噪比PSNR(Peak Signal to Noise Ratio)和均方誤差MSE(Mean Square Error)進行評估。

對比度反映了一幅圖像中明暗區域之間的不同亮度層級,如式(15)所示:

C=∑δδ2(i,j)Pδ(i,j)

(15)

其中,δ(i,j)=|i-j|,表示相鄰像素之間的灰度差;Pδ(i,j)表示相鄰像素的灰度差為δ的像素的分布概率。對比度值越大代表對比度越大,圖像更生動、更豐富。

結構相似性SSIM反映了2幅圖像的相似度,如式(16)所示:

(16)

信息熵是信息含量的量化指標,如式(17)所示:

(17)

其中,xi表示第i幅圖像,XC表示圖像的集合;p(xi)表示輸出為xi的概率函數,n為圖像數量。信息熵值越大代表包含的信息越多,圖像更生動更豐富。

PSNR是圖像處理中信號重建質量的測量評價指標,通常會通過均方誤差(MSE)來定義。MSE是參數估計值與參數真值的差的期望值,如式(18)所示:

(18)

PSNR是峰值信噪比,是信號最大功率和影響信號精度噪聲功率的比值,是到達噪音比率頂點的信號,如式(19)所示:

(19)

其中,MAXI表示圖像點顏色的最大數值。PSNR的值越大,說明圖像失真越小,圖像的重建質量越好。

評估結果如表1所示。

Table 1 Evaluation results of each method表1 各方法評估結果

由表1可以看出,CycleGAN的對比度值最小,說明CycleGAN遷移效果最差;而本文方法的對比度高于其他2種方法的,說明使用本文方法產生的圖像內容更生動、更豐富。從SSIM來看,本文方法生成的圖像與原圖像的結構最相似,這是因為本文方法可以充分學習和融合樣本的有效信息。由信息熵的數據可以看出,CycleGAN產生的圖像信息量是最低的,本文方法產生的圖像包含的信息量要高于其他方法的。由PSNR和MSE可以看出,本文方法與CycleGAN相比,PSNR值提高了1.2,MSE值減小了296.3,說明本文方法產生的圖像質量高于其他方法的。

通過以上客觀評價指標可以看出,本文方法在圖像風格遷移上的各項客觀評價指標的數據要優于對比方法,產生的圖像優于對比方法產生的圖像,驗證了本文方法的可行性。

5 結束語

針對CycleGAN遷移后的圖像紋理不清晰問題,本文提出了在CycleGAN的生成器中加入LBP算法來進一步提取圖像的紋理特征的方法。針對生成圖像存在噪聲的問題,本文提出了在損失函數中加入Total Variation Loss來約束噪聲的方法。實驗的結果表明,本文方法生成的圖像具有一定的實用性,可以滿足基本的要求,但也存在訓練時間太長、油畫圖像數據集數量不能滿足風景圖像數據集的需要等問題。

因此,在未來的工作中,將尋求一種新的算法來提高運行速度,采用更多的數據集進行訓練和測試,使產生的圖像內容更生動、更豐富,質量更高。

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 九九九久久国产精品| 日本不卡在线视频| 国产va在线观看| 亚洲欧美一区二区三区蜜芽| 91精品国产综合久久香蕉922| 亚洲愉拍一区二区精品| 免费高清毛片| 久久免费精品琪琪| 国产高清不卡| 在线国产资源| 五月天婷婷网亚洲综合在线| 青青草原国产精品啪啪视频| 99国产在线视频| 国产一级一级毛片永久| 不卡视频国产| 欧洲av毛片| 一级毛片网| 亚洲精品无码抽插日韩| 老司机精品一区在线视频| 亚洲男人的天堂在线观看| 91在线日韩在线播放| a亚洲视频| 亚洲床戏一区| 国产精品对白刺激| 呦女精品网站| 妇女自拍偷自拍亚洲精品| 久久综合AV免费观看| 国产在线精品网址你懂的| lhav亚洲精品| 在线免费看片a| 国产经典免费播放视频| 亚洲高清无码精品| 国产精品美人久久久久久AV| 亚洲天天更新| 免费在线国产一区二区三区精品| 91精品久久久久久无码人妻| 特级做a爰片毛片免费69| 99视频在线精品免费观看6| 亚洲αv毛片| 欧美人与牲动交a欧美精品| 又黄又湿又爽的视频| 日本国产精品| 国产午夜在线观看视频| 国产91丝袜在线观看| 国产精品无码久久久久久| 久久国产毛片| 孕妇高潮太爽了在线观看免费| 国产一级毛片高清完整视频版| 亚卅精品无码久久毛片乌克兰| 国产18页| 麻豆国产精品一二三在线观看| 人人艹人人爽| 欧美第二区| 一区二区三区国产| 国产欧美日韩91| 久久久久人妻一区精品| 国产一区二区精品高清在线观看 | 992tv国产人成在线观看| 国产精品视频公开费视频| 91精品国产丝袜| 免费不卡在线观看av| 精品伊人久久大香线蕉网站| 欧美亚洲一区二区三区导航| 久久天天躁狠狠躁夜夜2020一| 国产在线啪| 国产小视频免费| 中文字幕日韩久久综合影院| 亚洲欧洲日韩综合色天使| 毛片网站在线播放| 国产成人久视频免费| 国产h视频在线观看视频| a在线观看免费| 国产日韩精品一区在线不卡| 精品福利视频导航| a欧美在线| 一级黄色片网| 亚洲欧美日本国产专区一区| 四虎免费视频网站| 人妻丰满熟妇αv无码| 制服丝袜一区二区三区在线| 伊人色在线视频| 麻豆国产精品一二三在线观看|