馬赫 張濤 盧涵宇
摘要:隨著深度學(xué)習(xí)的不斷發(fā)展與應(yīng)用,圖像到圖像的風(fēng)格遷移成了計算機視覺領(lǐng)域的研究熱點之一。該文運用Cycle-GAN網(wǎng)絡(luò)對圖像進(jìn)行風(fēng)格遷移,能夠在無匹配的源圖像和風(fēng)格圖像的情況下進(jìn)行。使得CycleGAN網(wǎng)絡(luò)中的生成器由編碼器、轉(zhuǎn)換器及解碼器組成,能起到保留原始圖像特征和轉(zhuǎn)換圖像數(shù)據(jù)的作用。該文嘗試通過Inception與ResNet進(jìn)行結(jié)合,并與原CycleGAN網(wǎng)絡(luò)進(jìn)行對比訓(xùn)練,結(jié)果表明,修改后的CycleGAN能夠比CycleGAN訓(xùn)練后得到更加逼真的圖像,具有更佳的視覺效果。
關(guān)鍵詞:CycleGAN;圖像風(fēng)格遷移;轉(zhuǎn)換器;ResNet模塊;深度學(xué)習(xí)
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)27-0018-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
隨著計算機技術(shù)和人工智能技術(shù)的發(fā)展,深度學(xué)習(xí)應(yīng)用越來越廣,其中計算機圖形學(xué)與深度學(xué)習(xí)的結(jié)合,產(chǎn)生了許多優(yōu)秀的算法,并在后來的圖像風(fēng)格遷移、圖像分割、自然語言生成等諸多領(lǐng)域得到廣泛應(yīng)用[1-4]。
隨著GAN網(wǎng)絡(luò)的應(yīng)用也產(chǎn)生了一系列如難以收斂、訓(xùn)練不穩(wěn)定、模型不可控等問題,促使了大量學(xué)者對該類問題的研究,如MARTIN等[5]針對GAN網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定的問題,提出了WGAN(Wasserstein GAN),該方法使用Earth-Mover距離代替JS散度作為判別器D的目標(biāo)函數(shù),使得訓(xùn)練穩(wěn)定性得到有效提升。Zhu等[6]人為解決GAN網(wǎng)絡(luò)的一些限制,提出了循環(huán)一致性對抗網(wǎng)絡(luò)(CycleGAN)網(wǎng)絡(luò),該網(wǎng)絡(luò)能夠根據(jù)不成對的數(shù)據(jù)集訓(xùn)練出能夠滿足不同風(fēng)格的圖像的轉(zhuǎn)換;隨后,劉哲良等[7]針對采用CycleGAN網(wǎng)絡(luò)進(jìn)行圖像風(fēng)格遷移中,表現(xiàn)出泛化能力差等問題,提出了一種FCN-CycleGAN的圖像風(fēng)格遷移方法,結(jié)論證明該方的網(wǎng)絡(luò)在穩(wěn)定性法具有較好的表現(xiàn)能力。杜振龍等[8]針對GAN網(wǎng)絡(luò)進(jìn)行圖像風(fēng)格遷移中收到數(shù)據(jù)集限制的問題,對CycleGAN進(jìn)行了改進(jìn),通過利用DenseNet來代替Cycle-CAN網(wǎng)絡(luò)中的ResNet,改進(jìn)、收斂速度及對減少數(shù)據(jù)集的限制等方面都有很大進(jìn)步。
本文運用CycleGAN網(wǎng)絡(luò)對圖像進(jìn)行風(fēng)格遷移,通過Incep-tion與ResNet進(jìn)行結(jié)合,并與原CycleGAN網(wǎng)絡(luò)進(jìn)行對比訓(xùn)練,結(jié)果表明,修改后的CycleGAN得到更加逼真的圖像,具有更佳的視覺效果。
1 圖像風(fēng)格轉(zhuǎn)換
圖像風(fēng)格轉(zhuǎn)換(又稱作圖像風(fēng)格遷移)是深度學(xué)習(xí)領(lǐng)域內(nèi)一中新興的技術(shù)。由于圖像風(fēng)格概念非常抽象,計算機對圖像的處理過程中僅是一些像素點,不能像人類一樣對不同風(fēng)格進(jìn)行分辨,所以人們期望通過對圖像進(jìn)行風(fēng)格特征的提取來解決這一問題。隨著深度學(xué)習(xí)的發(fā)展,現(xiàn)已可以使用深度神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)圖像里面的抽象風(fēng)格特征。
Gatys等人開啟了深度學(xué)習(xí)方法應(yīng)用于圖像風(fēng)格遷移的先例,其論文中采用卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行風(fēng)格提取,雖然相對于傳統(tǒng)非參方法來說能夠?qū)Φ蛯有畔⑦M(jìn)行提取,但是對于高層的抽象特征而言并沒有取得良好的效果。直到CAN網(wǎng)絡(luò)的引入,該類問題得到很大的改進(jìn),該類方法能夠?qū)W習(xí)到大量樣本之間的風(fēng)格及其特征。比如實際應(yīng)用中將黑白圖像轉(zhuǎn)為對應(yīng)的彩色圖像、蘋果與橘子之間的轉(zhuǎn)換等問題,需要對大量樣本進(jìn)行訓(xùn)練提取其中的風(fēng)格,然后完成不同圖像風(fēng)格的轉(zhuǎn)換。
2 網(wǎng)絡(luò)結(jié)構(gòu)
CycleCAN模型是從GAN網(wǎng)絡(luò)發(fā)展而來,其原理是基于對偶思想的圖像風(fēng)格轉(zhuǎn)換,該方法不需要對成對的數(shù)據(jù)集進(jìn)行訓(xùn)練,就能完成對風(fēng)格的遷移。
2.1 GAN
GAN由兩個相互競爭的神經(jīng)網(wǎng)絡(luò)組成:一個是神經(jīng)網(wǎng)絡(luò)是生成器網(wǎng)絡(luò)( Generator,G),用于生成樣本圖像;另一個神經(jīng)網(wǎng)絡(luò)是判別器網(wǎng)絡(luò)( Discriminator,D),用于區(qū)分真實樣本和生成樣本。CAN網(wǎng)絡(luò)其核心思想來源于博弈論的納什均衡,該網(wǎng)絡(luò)由生成器G和判別器D組成,其中G網(wǎng)絡(luò)是通過將一個噪聲矢量包裝為與真實數(shù)據(jù)高度相似的樣本,D網(wǎng)絡(luò)是對輸入的數(shù)據(jù)進(jìn)行判斷其來自真實樣本還是通過G網(wǎng)絡(luò)所生成的假數(shù)據(jù);它們之間是一個動態(tài)的過程。圖1展示了其基本原理,圖中X表示是真實圖片的概率。GAN網(wǎng)絡(luò)的優(yōu)化問題其實是一個極小一極大化問題,即先將生成器G進(jìn)行固定,優(yōu)化判別器D,使得D的判別準(zhǔn)確率最大化;然后固定判別器D,優(yōu)化生成器G,使得判別器準(zhǔn)確率最小;當(dāng)兩者相等時,達(dá)到全局最優(yōu)。其目標(biāo)函數(shù)如公式(1)所示:
2.2 Cycle GAN
CycleCAN使用兩個生成器與兩個判別器網(wǎng)絡(luò)來實現(xiàn)對兩個圖片X與Y之間的相互映射,其原理圖如圖2所示。本質(zhì)上是兩個鏡像對稱的GAN所構(gòu)成的環(huán)形網(wǎng)絡(luò)。模型設(shè)計了兩對生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò),通過訓(xùn)練后可以將不同的圖像之間進(jìn)行轉(zhuǎn)換,但是在這個過程中要求循環(huán)的一致性,故而在其中設(shè)置了一個循環(huán)損失函數(shù)(Cyclic loss)。CycleGAN模型有兩個生成網(wǎng)絡(luò)和兩個判別網(wǎng)絡(luò),共4個生成損失函數(shù)。
上圖中表示X通過映射G實現(xiàn)X中的圖片x到Y(jié)中圖片G(x)的映射關(guān)系,對應(yīng)生成判別器為Dy,由于CycleGAN是基于對偶思想的原理,故而Y需要通過一個映射F實現(xiàn)Y中的圖片y映射到X中的F(y)的映射關(guān)系,對應(yīng)生成判別器為Dx;如果G(F(x))≈x和F(G(y))≈y則CycleGAN模型的轉(zhuǎn)換過程就完成。
2.3 CycleGAN的改進(jìn)
原CycleGAN生成器中采用殘差網(wǎng)絡(luò),通過全卷積連接,由編碼器、轉(zhuǎn)換器和解碼器組成。殘差網(wǎng)絡(luò)在圖像識別領(lǐng)域尤其是目標(biāo)檢測方面具有很大的優(yōu)勢,但是更大的優(yōu)勢需要在很深的網(wǎng)絡(luò)結(jié)構(gòu)中才能夠展現(xiàn),而傳統(tǒng)的CycleGAN網(wǎng)絡(luò)其生成器網(wǎng)絡(luò)對于大小為256X256的圖像采用的是9層的殘差模塊,并未有很深的網(wǎng)絡(luò)。