趙 磊 張慧銘 邢 衛(wèi) 林志潔 林懷忠 魯東明 潘 洵 許端清
1 (浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 杭州 310027)
2 (浙江科技學(xué)院信息與電子工程學(xué)院 杭州 310023)
3 (浙江大學(xué)外語學(xué)院 杭州 310027)
(cszhl@zju.edu.cn)
跨域圖像轉(zhuǎn)換的目標(biāo)主要是學(xué)習(xí)能夠?qū)⒃从虻膱D像映射到目標(biāo)域?qū)?yīng)圖像的函數(shù),在跨域圖像轉(zhuǎn)換的研究場(chǎng)景下,源域和目標(biāo)域往往具有相同的內(nèi)容結(jié)構(gòu)和語義相關(guān)性,比如人臉圖像中的年輕域和年老域、室外場(chǎng)景的白天域和夜晚域. 跨域轉(zhuǎn)換后生成的圖像保持輸入的源域圖像的內(nèi)容結(jié)構(gòu),同時(shí)其圖像風(fēng)格應(yīng)具有目標(biāo)域特有的風(fēng)格屬性(如白天圖像轉(zhuǎn)換成夜晚圖像,轉(zhuǎn)換后的圖像應(yīng)該具有夜晚圖像的風(fēng)格). 跨域圖像轉(zhuǎn)換方向得到了深度學(xué)習(xí)和計(jì)算機(jī)視覺領(lǐng)域研究人員的廣泛關(guān)注,因?yàn)樗褟V泛應(yīng)用于圖像風(fēng)格轉(zhuǎn)換[1-2]、圖像編輯[3-5]、圖像超分辨率[6]和圖像彩色化[7]. 早期的跨域圖像轉(zhuǎn)換算法使用成對(duì)樣本以有監(jiān)督的方式訓(xùn)練條件深度神經(jīng)網(wǎng)絡(luò)模型[8-10]或簡(jiǎn)單回歸模型[11-12]. 這些算法在許多應(yīng)用場(chǎng)景中都是不切實(shí)際的,因?yàn)樗鼈冃枰蓪?duì)的數(shù)據(jù). 在沒有成對(duì)樣本可用的場(chǎng)景中,許多算法[13-19]以無監(jiān)督的方式成功地使用潛變量編碼(latent coder)和循環(huán)一致性約束來實(shí)現(xiàn)圖像跨域轉(zhuǎn)換. 文獻(xiàn)[1?19]算法雖然取得了直觀、逼真的轉(zhuǎn)換結(jié)果,但只能生成與實(shí)際情況不符的單一轉(zhuǎn)換結(jié)果. 當(dāng)給定源域圖像時(shí),有許多相應(yīng)的目標(biāo)域圖像滿足跨域圖像轉(zhuǎn)換要求. 為了生成多樣化的轉(zhuǎn)換結(jié)果,最近研究者已經(jīng)提出了許多算法,包括MUNIT[20]和DRIT[21]. 這些算法通常設(shè)計(jì)不同的網(wǎng)絡(luò)框架和損失約束來分離圖像的內(nèi)容和風(fēng)格,并將圖像內(nèi)容(來自源域)和參考圖像風(fēng)格(來自目標(biāo)域)結(jié)合起來形成不同的轉(zhuǎn)換結(jié)果. 不同的圖像轉(zhuǎn)換任務(wù)在源域圖像和對(duì)應(yīng)的目標(biāo)域圖像之間具有廣泛的形狀和紋理變化. 圖像轉(zhuǎn)換任務(wù)(如photo2 vangogh 和photo2portrait)的源域圖像和對(duì)應(yīng)的目標(biāo)域圖像之間形狀變化較小,而轉(zhuǎn)換任務(wù)(如selfie2 anime,apple2orange,cat2dog)的源域圖像和對(duì)應(yīng)的目標(biāo)域圖像之間形狀變化較大.
盡管目前的多樣化跨域圖像轉(zhuǎn)換算法在許多圖像轉(zhuǎn)換任務(wù)數(shù)據(jù)集上取得了令人印象深刻的結(jié)果,但它們很難同時(shí)考慮這2 種類型的圖像轉(zhuǎn)換任務(wù). 這些算法根據(jù)源域圖像和對(duì)應(yīng)的目標(biāo)域圖像之間形狀和紋理的變化量不同而呈現(xiàn)出不同的轉(zhuǎn)換性能.在本文中,并不試圖提高多樣化跨域圖像轉(zhuǎn)換算法的泛化性,以便它們能夠更好地執(zhí)行不同的跨域圖像轉(zhuǎn)換任務(wù). 本文提出的算法適用于電影后期制作、圖像風(fēng)格編輯等特殊領(lǐng)域,其要求轉(zhuǎn)換后的圖像內(nèi)容對(duì)轉(zhuǎn)換前的圖像內(nèi)容保持高度一致性,這就要求在圖像轉(zhuǎn)換過程中,源域圖像的內(nèi)容結(jié)構(gòu)(形狀)應(yīng)盡可能少地改變. 對(duì)于這種形狀變化很小或沒有變化的跨域圖像轉(zhuǎn)換任務(wù),目前的多樣化跨域轉(zhuǎn)換算法還存在2 個(gè)問題:
1) 轉(zhuǎn)換結(jié)果圖像的內(nèi)容結(jié)構(gòu)與輸入的源域圖像的內(nèi)容結(jié)構(gòu)存在顯著差異,無法滿足對(duì)圖像編輯前后結(jié)構(gòu)保持要求嚴(yán)格的應(yīng)用要求.
2) 轉(zhuǎn)換結(jié)果圖像和參考圖像(來自目標(biāo)域)之間的風(fēng)格差異導(dǎo)致顏色模式崩潰(僅學(xué)習(xí)一些顯著的顏色模式),這意味著轉(zhuǎn)換結(jié)果圖像的顏色內(nèi)容不夠豐富,沒有將參考圖像的色彩空間全部學(xué)習(xí)到.
為了解決這2 個(gè)問題,受自注意力機(jī)制[22]的啟發(fā),提出了一種稱為SSAL-GAN 的新算法,其中SSAL 代表自結(jié)構(gòu)注意力損失.自結(jié)構(gòu)注意力損失函數(shù)確保轉(zhuǎn)換圖像的內(nèi)容與源域圖像的內(nèi)容高度一致.此外,還設(shè)計(jì)了一個(gè)基于統(tǒng)計(jì)的顏色損失函數(shù),以提高轉(zhuǎn)換圖像的色彩豐富性. 在多個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,SSAL-GAN 算法能夠保持源圖像的內(nèi)容結(jié)構(gòu),并成功地將參考圖像的顏色空間映射到轉(zhuǎn)換圖像中. 綜上所述,提出的算法有3 方面的貢獻(xiàn):
1) 提出了一種自結(jié)構(gòu)注意力損失函數(shù)來改進(jìn)圖像跨域轉(zhuǎn)換中的內(nèi)容結(jié)構(gòu)保持. 該損失函數(shù)可以充分利用局部結(jié)構(gòu)之間的長(zhǎng)程依賴性,保持微結(jié)構(gòu)之間的相對(duì)關(guān)系,實(shí)現(xiàn)源域圖像與相應(yīng)轉(zhuǎn)換結(jié)果圖像內(nèi)容結(jié)構(gòu)的一致性.
2) 提出了一種基于統(tǒng)計(jì)的顏色損失函數(shù),主要統(tǒng)計(jì)參考圖像的顏色信息. 通過顏色損失函數(shù)約束,可以使轉(zhuǎn)換結(jié)果圖像的顏色分布與參考圖像的顏色分布保持一致,從而顯著緩解圖像轉(zhuǎn)換過程中的顏色模式崩潰問題.
3) 提出的框架可以實(shí)現(xiàn)圖像內(nèi)容和風(fēng)格的分離學(xué)習(xí).與MUNIT[20],DRIT[21],DSMGAN[23]等現(xiàn)有最先進(jìn)的算法相比,所提算法不需要循環(huán)一致性損失函數(shù)和其他復(fù)雜的損失函數(shù)約束.這些復(fù)雜的損失函數(shù)需要在訓(xùn)練過程中具有熟練的超參調(diào)優(yōu)能力.
對(duì)于有監(jiān)督學(xué)習(xí)算法而言,它所使用的訓(xùn)練集中的圖像是成對(duì)的,即對(duì)于每一個(gè)輸入圖像都有一個(gè)真實(shí)的輸出圖像與之對(duì)應(yīng),而有監(jiān)督的圖像跨域轉(zhuǎn)換算法的目標(biāo)即是學(xué)習(xí)將輸入的圖像轉(zhuǎn)換為與其對(duì)應(yīng)的真實(shí)圖像的映射函數(shù). Isola 等人[24]于2017 年提出條件對(duì)抗生成網(wǎng)絡(luò)模型,又稱為Pix2Pix,用以在成對(duì)圖像數(shù)據(jù)集之間進(jìn)行跨域轉(zhuǎn)換,該算法在從地圖標(biāo)簽生成真實(shí)圖像、邊緣圖生成真實(shí)圖等任務(wù)上都較為有效,成為了后續(xù)多種算法的基礎(chǔ)模型. Pix2Pix[24]以源域的圖像x作為條件輸入,即生成器將源域圖像x和噪聲z作為輸入而生成目標(biāo)域圖像y. 該算法的另一個(gè)貢獻(xiàn)是在生成器中使用了“U-Net”結(jié)構(gòu),將下采樣時(shí)的特征通過“跳躍連接”與上采樣時(shí)的特征拼接在一起,能夠在一定程度上克服瓶頸的限制,以更多的特征信息保持生成圖像的結(jié)構(gòu). 此外在判別器中使用了“PatchGAN”,使判別器對(duì)N×N大小的圖像塊(image patch)進(jìn)行判別,在最后取圖像塊分類結(jié)果的平均值作為最終結(jié)果,從而使判別器關(guān)注到圖像的局部信息以使生成圖像更為清晰.
Pix2PixHD[25]在Pix2Pix[24]的基礎(chǔ)上使用了多尺度生成器和判別器來實(shí)現(xiàn)高分辨率的圖像生成.Pix2PixHD 算法主要針對(duì)成對(duì)的語義圖到真實(shí)圖的轉(zhuǎn)換,采用了一種由粗到細(xì)(coarse-to-fine)方式將生成器分為全局生成網(wǎng)絡(luò)和局部增強(qiáng)網(wǎng)絡(luò),實(shí)現(xiàn)了低分辨率到高分辨率的遞進(jìn)式圖像生成. 由于高分辨率圖像的生成往往需要判別器擁有較大感受域,這會(huì)導(dǎo)致網(wǎng)絡(luò)容量增加進(jìn)而產(chǎn)生過擬合與內(nèi)存超限問題,為了解決這個(gè)問題,該算法使用3 個(gè)具有相同網(wǎng)絡(luò)結(jié)構(gòu)但在不同圖像尺度下工作的判別器,以引導(dǎo)生成器能夠生成全局一致且局部清晰的圖像.
在語義圖生成真實(shí)圖時(shí)使用傳統(tǒng)的歸一化層(normalization layer)會(huì)傾向于“抹除”語義信息,導(dǎo)致生成模型得到的是局部最優(yōu)解. 當(dāng)輸入的語義圖存在大片同樣標(biāo)簽值時(shí),極端情況下當(dāng)整張語義圖為天空或草地標(biāo)簽,現(xiàn)有的歸一化層將會(huì)使該層的輸入數(shù)據(jù)轉(zhuǎn)化為0. 為了解決這個(gè)問題,SPADE(GauGAN)[26]使用語義圖對(duì)歸一化層的輸入激活值進(jìn)行建模,即提出空間自適應(yīng)歸一化層,由語義圖經(jīng)由2 層卷積層學(xué)習(xí)到歸一化參數(shù),將學(xué)習(xí)到的歸一化參數(shù)應(yīng)用于原始的批歸一化層,能夠有效利用語義信息,提高生成圖像質(zhì)量.
BicycleGAN[27]是在Pix2Pix[24]的基礎(chǔ)上提出的一種為了實(shí)現(xiàn)輸出圖像多樣性的算法,其核心思路是加強(qiáng)隱變量z和生成圖像之間的聯(lián)系. BicycleGAN 通過將cVAE-GAN[28]和cLR-GAN[29]結(jié)合起來實(shí)現(xiàn)隱變量和輸出之間的轉(zhuǎn)換,其中cVAE-GAN(條件變分自編碼GAN)是一種通過VAE[30]學(xué)習(xí)輸出的隱變量分布進(jìn)而實(shí)現(xiàn)多模式輸出的算法. cVAE-GAN 利用KL散度對(duì)隱變量分布進(jìn)行正則化,使其接近標(biāo)準(zhǔn)正態(tài)分布,從而在推理過程中可以對(duì)隱變量進(jìn)行采樣;而cLR-GAN 是從隨機(jī)采樣的隱變量開始,由生成器產(chǎn)生一個(gè)輸出,這個(gè)輸出輸入編碼器應(yīng)該得到輸入的隱變量,從而實(shí)現(xiàn)隱變量的循環(huán)一致性. 這種雙向訓(xùn)練的方式能夠避免將多個(gè)隱變量映射為同一個(gè)輸出導(dǎo)致的模式坍塌問題,從而實(shí)現(xiàn)了跨域的多樣性.
有監(jiān)督的圖像跨域轉(zhuǎn)換算法目前已經(jīng)能取得令人較為滿意的效果,但這類算法必須使用成對(duì)的數(shù)據(jù)集,而構(gòu)建這種數(shù)據(jù)集是極為耗時(shí)耗力,甚至是不可能的,因此無監(jiān)督跨域轉(zhuǎn)換算法是目前主要的研究方向.
CycleGAN[31]提出了一種能夠解決無配對(duì)圖像數(shù)據(jù)集的圖像跨域轉(zhuǎn)換問題,它利用了一個(gè)假設(shè):將一個(gè)輸入圖像經(jīng)由源域到目標(biāo)域的轉(zhuǎn)換后再由目標(biāo)域轉(zhuǎn)回源域得到的輸出應(yīng)該和輸入圖像是一致的.CycleGAN 在無成對(duì)圖像間的跨域轉(zhuǎn)換中主要使用雙生成器和雙判別器來實(shí)現(xiàn)循環(huán)一致性. 生成器G,F分別是X到Y(jié)和Y到X的映射,2 個(gè)判別器DX,DY則對(duì)轉(zhuǎn)換后的圖像進(jìn)行判別. CycleGAN 將2 個(gè)GAN損失和循環(huán)一致性損失結(jié)合作為總的損失函數(shù),實(shí)現(xiàn)了在“無監(jiān)督”情況下的圖像跨域轉(zhuǎn)換,該算法能夠廣泛應(yīng)用于無成對(duì)圖像數(shù)據(jù)集的圖像跨域轉(zhuǎn)換任務(wù),但當(dāng)需要進(jìn)行幾何變化時(shí),該算法表現(xiàn)較差.
UNIT[32]從概率建模的角度分析圖像跨域轉(zhuǎn)換問題,最關(guān)鍵的挑戰(zhàn)在于學(xué)習(xí)不同域圖像的聯(lián)合分布.在無監(jiān)督的情況下,2 個(gè)數(shù)據(jù)集包含了來自不同域的只有邊緣分布的圖像,目標(biāo)是使用這些圖像推測(cè)聯(lián)合分布, 但從邊緣分布推測(cè)聯(lián)合分布是一個(gè)高度欠定問題. 為了解決這個(gè)問題,UNIT 做了一個(gè)共享隱變量的空間假設(shè),即假設(shè)一對(duì)來自不同域的圖像可以被映射為共享隱變量空間中的同一個(gè)表示. UNIT可廣泛應(yīng)用于多種無監(jiān)督的圖像跨域轉(zhuǎn)換任務(wù),能夠獲得較高質(zhì)量的圖像生成結(jié)果,但無監(jiān)督圖像跨域轉(zhuǎn)換本質(zhì)上是多模態(tài)的,UNIT 對(duì)其做了過于簡(jiǎn)單的假設(shè),將其建模為確定的1 對(duì)1 映射,因此它無法從給定的源域圖像中生成不同的輸出.
Huang 等人[20]在UNIT[32]的基礎(chǔ)上提出了多模態(tài)無監(jiān)督圖像跨域轉(zhuǎn)換算法MUNIT[20],該算法假設(shè)可以將圖像表示分解為共享的內(nèi)容空間和域特定的風(fēng)格空間,在進(jìn)行圖像跨域轉(zhuǎn)換時(shí),可以將源域的內(nèi)容隱變量與目標(biāo)域的風(fēng)格空間中采樣出的隨機(jī)風(fēng)格重新組合. 雖然風(fēng)格的先驗(yàn)分布是單模態(tài)的,但借助解碼器的非線性可以實(shí)現(xiàn)多模態(tài)的輸出,MUNIT 除了使用對(duì)抗生成網(wǎng)絡(luò)(GAN)損失函數(shù)和像素級(jí)的循環(huán)一致性損失函數(shù)之外,還使用內(nèi)容編碼和風(fēng)格編碼的重構(gòu)損失.
DRIT[21]與MUNIT[20]有著類似的實(shí)現(xiàn)思想,在提取2 個(gè)域所共有的內(nèi)容空間時(shí),DRIT 除了使用權(quán)重共享之外還使用了一個(gè)內(nèi)容判別器,該內(nèi)容判別器對(duì)2 個(gè)域的編碼器獲得的內(nèi)容特征進(jìn)行判別(實(shí)現(xiàn)時(shí)將域A的內(nèi)容編碼判別為0,域B的內(nèi)容編碼判別為1),以使2 個(gè)域獲得的內(nèi)容編碼的分布盡可能地接近.
盡管MUNIT 和DRIT 都實(shí)現(xiàn)了一定程度上生成結(jié)果的多樣性,但由于GAN 本身會(huì)傾向于忽略噪聲,導(dǎo)致多樣性受損. 為了解決這個(gè)問題,MSGAN[33]提出在損失函數(shù)上加入一個(gè)簡(jiǎn)單正則項(xiàng),其主要思想是最大化輸出圖像之間的距離與對(duì)應(yīng)的隱變量之間的距離的比值. 網(wǎng)絡(luò)的輸入噪聲zi采樣于隱變量分布Z,一般為高斯分布. 當(dāng)網(wǎng)絡(luò)發(fā)生模式坍塌時(shí),說明輸出圖像的多樣性相比真實(shí)數(shù)據(jù)降低了. MSGAN 的關(guān)鍵點(diǎn)在于計(jì)算輸出圖像之間的距離與對(duì)應(yīng)噪聲之間的距離的比值. 在發(fā)生模式坍塌的地方,圖片的多樣性較低,即圖像的距離會(huì)變小,導(dǎo)致這一比值會(huì)很小,而MSGAN 通過人為地加入一個(gè)正則項(xiàng)使這一項(xiàng)比值保持最大,能夠有效提高生成圖像的多樣性. 這一正則項(xiàng)可以輕易地加入到現(xiàn)有的許多框架中以提高網(wǎng)絡(luò)生成的多樣性,如Pix2Pix[24],BicycleGAN[27],DRIT[21]等.
在圖像跨域轉(zhuǎn)換任務(wù)中生成圖像會(huì)因?yàn)楸尘暗母蓴_而產(chǎn)生一些偽影,為了能夠在不改變背景的情況下將注意力集中到需要進(jìn)行改變的對(duì)象上去,AGGAN[34]使用注意力機(jī)制對(duì)跨域進(jìn)行指導(dǎo),具體是在CycleGAN[31]的基礎(chǔ)上增加了一個(gè)注意力網(wǎng)絡(luò),負(fù)責(zé)產(chǎn)生前景的掩膜. 注意力網(wǎng)絡(luò)生成的掩膜是[0,1]之間的連續(xù)值,這樣可以使損失函數(shù)是連續(xù)可微的,從而進(jìn)行訓(xùn)練,同時(shí)允許網(wǎng)絡(luò)學(xué)習(xí)如何組合邊緣,否則可能會(huì)使前景對(duì)象看起來“粘在”背景上. U-GATIT[35]也考慮使用注意力機(jī)制,與AGGAN[34]不同,它通過一個(gè)額外的分類器對(duì)特征進(jìn)行權(quán)重調(diào)整,該算法能夠在需要較大幾何變化的跨域任務(wù)中表現(xiàn)良好.此 外 U-GAT-I T 還提出一種AdaLIN (adapt layerinstance normalization),對(duì)LN(layer normalization)[36]和IN(instance normalization)[37]進(jìn)行結(jié)合來幫助其靈活地控制形狀和紋理的變化.
CUT[38]指出在圖像跨域轉(zhuǎn)換任務(wù)中使用循環(huán)一致性損失是一個(gè)過強(qiáng)的約束,它引入對(duì)比損失取代了循環(huán)一致性損失, 實(shí)現(xiàn)了單邊的圖像跨域轉(zhuǎn)換.CUT 將輸入圖像與生成圖像對(duì)應(yīng)區(qū)域的圖像塊作為正樣本,而將輸入圖像的其他部分的圖像塊作為負(fù)樣本,通過計(jì)算樣本之間的互信息作為對(duì)比損失函數(shù). CUT 只使用單張圖像對(duì),克服了對(duì)比損失需要較大顯存的限制,且能夠?qū)崿F(xiàn)單邊的圖像跨域轉(zhuǎn)換,有效節(jié)省了訓(xùn)練時(shí)長(zhǎng).
以上模型均只能解決一對(duì)一的問題,即一個(gè)域到另一個(gè)域的轉(zhuǎn)換. 當(dāng)有很多域需要互相轉(zhuǎn)換時(shí),對(duì)于每一對(duì)域轉(zhuǎn)換,都需要重新訓(xùn)練一個(gè)模型去解決,即現(xiàn)有的圖像跨域轉(zhuǎn)換模型為了實(shí)現(xiàn)在k個(gè)不同的風(fēng)格域上進(jìn)行轉(zhuǎn)換,需要構(gòu)建k×(k?1)個(gè)生成器.StarGAN[39]首先提出多域間的轉(zhuǎn)換,它將域信息和圖像一起作為輸入對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并在域標(biāo)簽中加入掩膜向量,可以對(duì)不同的訓(xùn)練集進(jìn)行聯(lián)合訓(xùn)練.StarGAN 提出的多域轉(zhuǎn)換模型與之前的2 域模型進(jìn)行多域轉(zhuǎn)換的模型對(duì)比. 為了實(shí)現(xiàn)多域間的圖像跨域轉(zhuǎn)換,StarGAN 加入一個(gè)域的控制信息,類似Pix2Pix的形式,判別器不僅需要學(xué)習(xí)判別樣本是否真實(shí),還需要判斷該樣本來自哪個(gè)域. StarGAN 的創(chuàng)新之處在于提出了一個(gè)域分類損失,即對(duì)于給定的輸入圖像x和目標(biāo)域標(biāo)簽c,網(wǎng)絡(luò)的目標(biāo)是將x轉(zhuǎn)換成輸出圖像y,而y能夠被分類為目標(biāo)域標(biāo)簽c,為了實(shí)現(xiàn)這一點(diǎn)就需要判別器有判別域的功能,所以StarGAN 在判別器的頂端額外加入了一個(gè)分類器,域分類損失函數(shù)在優(yōu)化生成器和判別器時(shí)都會(huì)用到它. 同時(shí)為了聯(lián)合訓(xùn)練多個(gè)數(shù)據(jù)集,StarGAN 加入一個(gè)掩膜向量,在訓(xùn)練時(shí)將該向量也輸入到生成器,即如果圖像來源于數(shù)據(jù)集S,則數(shù)據(jù)集T中的標(biāo)記全部設(shè)為0.StarGAN 使用單組GAN 實(shí)現(xiàn)了多域間的圖像跨域轉(zhuǎn)換和多域數(shù)據(jù)集聯(lián)合訓(xùn)練,極大地提升了圖像跨域轉(zhuǎn)換算法的泛化性. StarGANv2[40]對(duì)域的概念進(jìn)行了延伸,認(rèn)為每個(gè)域中包含多種風(fēng)格,提出使用風(fēng)格標(biāo)簽代替域標(biāo)簽實(shí)現(xiàn)生成圖像的多樣性.
盡管StarGAN[39]成功實(shí)現(xiàn)了多域間的跨域任務(wù),但圖像跨域轉(zhuǎn)換算法仍然受限于訓(xùn)練時(shí)需要大量的數(shù)據(jù)集以及訓(xùn)練好的模型不能很好地適用在其他數(shù)據(jù)集上,即之前的圖像跨域轉(zhuǎn)換算法需要在訓(xùn)練網(wǎng)絡(luò)時(shí)準(zhǔn)備含有充足圖像的數(shù)據(jù)集,同時(shí)在測(cè)試時(shí)只能使用與測(cè)試數(shù)據(jù)集同類的圖像,而不能測(cè)試一些未出現(xiàn)過的圖像. FUNIT[41]提出一種旨在基于少量樣本的數(shù)據(jù)集上進(jìn)行的跨域轉(zhuǎn)換,能夠?qū)崿F(xiàn)將源域中的圖像轉(zhuǎn)換為一些模型從未見過的目標(biāo)域中的圖像.FUNIT 的網(wǎng)絡(luò)結(jié)構(gòu)可以分為3 個(gè)部分:信息提取器、生成器和判別器,其中信息提取器由源域圖像的內(nèi)容編碼器和目標(biāo)域圖像的類編碼器組成. 與之前的跨域轉(zhuǎn)換算法不同,F(xiàn)UNIT 將1 張內(nèi)容圖像和1 組包含K張圖片的目標(biāo)域圖像作為輸入,從而生成相應(yīng)的跨域圖像. 判別器則設(shè)計(jì)為同時(shí)在多個(gè)類別上進(jìn)行對(duì)抗訓(xùn)練,用于判別當(dāng)前圖像是源域中的真實(shí)圖像還是生成的目標(biāo)域圖像. 當(dāng)存在S個(gè)源域圖像類別時(shí),判別器將對(duì)應(yīng)生成S個(gè)輸出,實(shí)驗(yàn)表明,該算法比利用判別器在S個(gè)多分類任務(wù)上表現(xiàn)更好.
在本節(jié)中,基于自相似性與對(duì)比學(xué)習(xí)的圖像跨域轉(zhuǎn)換算法主要包括模型結(jié)構(gòu)、損失函數(shù).
本文介紹的算法網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示. 網(wǎng)絡(luò)整體可以分為判別器和生成器2 個(gè)部分,其中判別器判斷當(dāng)前的輸入是來自真實(shí)數(shù)據(jù)還是生成數(shù)據(jù). 而生成器可以細(xì)分為3 個(gè)網(wǎng)絡(luò)模塊:編碼器模塊、模塊AdaIN和解碼器模塊. 生成器的輸入是1 張內(nèi)容圖像x和1 張風(fēng)格圖像y,生成器首先利用編碼器(VGG網(wǎng)絡(luò))提取x、y圖像的特征,分別對(duì)應(yīng)于內(nèi)容特征Fx和風(fēng)格特征Fy,F(xiàn)x、Fy經(jīng)由AdaIN模塊進(jìn)行融合,其后通過解碼器將融合后的特征解碼至圖像空間. 最終的輸出可以表示為:其中Φ表示VGG 編碼器,D表示解碼器.生成的圖像經(jīng)由編碼器(VGG 網(wǎng)絡(luò))提取的特征作為錨點(diǎn),而將風(fēng)格特征作為它的正樣本,內(nèi)容特征作為它的負(fù)樣本,從而使用對(duì)比學(xué)習(xí)損失[42]進(jìn)一步提升生成效果.除生成對(duì)抗損失和對(duì)比損失之外,該算法使用感知損失和自相似性損失對(duì)內(nèi)容進(jìn)行約束,同時(shí)使用寬松的最優(yōu)傳輸距離和基于統(tǒng)計(jì)量的損失對(duì)風(fēng)格進(jìn)行約束. 下面對(duì)每個(gè)部分進(jìn)行詳細(xì)介紹.
Fig.1 Network model diagram圖1 網(wǎng)絡(luò)模型圖
2.1.1 編碼器
本文算法使用預(yù)訓(xùn)練好的VGG 網(wǎng)絡(luò)作為編碼器,具體是使用在目標(biāo)檢測(cè)和定位任務(wù)上預(yù)訓(xùn)練的VGG-19 歸一化模型,該模型的網(wǎng)絡(luò)結(jié)構(gòu)如表1 所示.
本文算法使用VGG-19 的14 個(gè)卷積層和5 個(gè)最大池化層,每層的卷積核大小都固定為3×3,步長(zhǎng)為1,最大池化層的核大小為2×2,步長(zhǎng)為2,即利用最大池化層進(jìn)行下采樣. 分別提取內(nèi)容圖像和風(fēng)格圖像的ReLUX_L(X=1,2,3,4,5,L=1,2,3,4,5)層的特征,根據(jù)ReLUX_L不同的特點(diǎn),應(yīng)用于后續(xù)不同的模塊中.Gatys 等人[43]指出VGG 提取的淺層特征包含圖像較精確的像素信息,而深層特征包含圖像的內(nèi)容語義信息,所以本文算法中使用內(nèi)容圖像在ReLU3_1,ReLU4_1,ReLU5_1 層的激活輸出作為內(nèi)容特征,而使用風(fēng)格圖像在ReLU1_1, ReLU2_1, ReLU3_1,ReLU4_1, ReLU5_1層的激活輸出作為風(fēng)格特征,用于后續(xù)的模塊AdaIN進(jìn)行操作以及計(jì)算各項(xiàng)損失函數(shù). 為方便下文說明,此處將提取的內(nèi)容特征命名為X3,X4,X5,同時(shí)將提取的風(fēng)格特征命名為Y1,Y2,Y3,Y4,Y5. 在將特征解碼至圖像空間之前,首先將提取的圖像內(nèi)容特征和圖像風(fēng)格特征使用AdaIN模塊進(jìn)行融合. 為了能使生成圖像能夠更好地符合目標(biāo)域圖像的特點(diǎn)且更匹配引導(dǎo)(參考)圖像的風(fēng)格,將使用多層AdaIN融合獲得融合后的特征Fy~,如式(2)所示.
其中UP表示使用最近鄰算法進(jìn)行2 倍上采樣.AdaIN操作為:
其中i∈{3,4,5},μ(Xi)和δ(Xi)分別是特征Xi的均值和方差,同樣地有μ(Yi)和δ(Yi).將融合后的特征通過卷積層解碼至圖像空間,獲得最后輸出:
為了使特征之間更靈活地進(jìn)行組合,本文算法在解碼器中首先使用了2 個(gè)殘差模塊,如圖2 所示.其中⊕表示矩陣相加. 解碼器中使用“最近鄰上采樣+卷積”對(duì)特征進(jìn)行2 倍上采樣,取代轉(zhuǎn)置卷積所帶來的“棋盤格”效應(yīng)[44],以提升算法的生成效果. 解碼器的網(wǎng)絡(luò)結(jié)構(gòu)如表2 所示.
2.1.2 判別器
Fig.2 Residual block model圖2 殘差塊模型
算法使用Pix2Pix[24]提出的PatchGAN 作為判別器,它能夠克服L1損失或L2損失對(duì)圖像進(jìn)行平滑從而丟失高頻信息的缺點(diǎn). PatchGAN 將圖像分為N×N個(gè)圖像塊,分別判斷圖像塊是生成圖像還是真實(shí)圖像,最后對(duì)這N×N個(gè)結(jié)果求平均作為最后的結(jié)果,能夠鼓勵(lì)生成器生成具有銳利邊緣的高清圖像. 為了方便實(shí)現(xiàn),本文算法并不直接切割圖像以使其變?yōu)镹×N個(gè)圖像塊,而是使用3 個(gè)完全相同的判別器,對(duì)圖像下采樣從而使每個(gè)判別器的輸入為不同分辨率的圖像,故在判別器相同的情況下,圖像分辨率越小,判別器的感受域就相對(duì)越大,從而實(shí)現(xiàn)在不同尺度的圖像塊上進(jìn)行判別的效果. 其中第1 個(gè)判別器的輸入圖像分辨率為256×256,第2 個(gè)判別器為128×128,第3 個(gè)判別器為64×64. 篇幅所限,表3 只列出了最大尺度上的判別器的結(jié)構(gòu),另外2 個(gè)判別器在網(wǎng)絡(luò)組成上與表2 相同,但每次的輸入和輸出尺寸分別需要除以2 和除以4.
Table 2 Network Structure of Decoder表2 解碼器的網(wǎng)絡(luò)結(jié)構(gòu)
Table 3 Network Structure of Discriminator表3 判別器的網(wǎng)絡(luò)結(jié)構(gòu)
本文算法中使用了內(nèi)容損失、風(fēng)格損失、對(duì)比損失和對(duì)抗損失,下文將對(duì)每種損失函數(shù)進(jìn)行介紹.
2.2.1 內(nèi)容損失
由于生成圖像需要保持源域圖像的內(nèi)容結(jié)構(gòu),本文算法首先使用VGG-19 提取生成圖像和源域圖像x的ReLU4_1 和ReLU5_1 特征計(jì)算感知損失,即
其中norm表示將特征歸一化為標(biāo)準(zhǔn)正態(tài)分布,如式(6)所示.
同時(shí),本文算法還使用基于自相似性[45]的內(nèi)容損失函數(shù). 該損失函數(shù)也可稱為自結(jié)構(gòu)注意力損失函數(shù),人們通常通過圖像中一個(gè)物體周圍的外觀來確定該物體,也即是說圖像中物體的相對(duì)關(guān)系比它的絕對(duì)外觀更重要. 相比于對(duì)像素(特征)絕對(duì)值之間的約束,自相似性通過對(duì)像素(特征)之間相關(guān)性的約束可以更好地保持空間結(jié)構(gòu)和語義信息,也就是說自相似性在保持結(jié)構(gòu)的同時(shí)允許生成圖像的像素值與源域圖像中的像素值發(fā)生極大變化,從而提升跨域的效果. 本文算法中使用余弦距離衡量特征之間的相似性,取生成圖像的ReLU3_1 和ReLU4_1層的特征,記為類似地取內(nèi)容特征X3和X4,首先計(jì)算這些特征之間的余弦距離矩陣Dl,其中l(wèi)∈(3,4),如式(9)和式(10)所示.
其中 || ||為取模,I為單位矩陣. 然后對(duì)生成圖像和內(nèi)容圖像之間的余弦距離矩陣計(jì)算L1損失得到自相似性損失函數(shù),即
其中n為第l層的特征數(shù)量. 式(11)表明在生成圖像和源域圖像從相同的位置提取出的特征的歸一化余弦距離應(yīng)該是一個(gè)常數(shù).
2.2.2 風(fēng)格損失
最優(yōu)傳輸[46]用于描述分布變換的問題,即給定2 個(gè)度量空間XS,YS,以及它們對(duì)應(yīng)的空間分布u,v,期望能找到一種傳輸變換T:XS→YS將服從于u分布的隨機(jī)變量轉(zhuǎn)換為服從于v分布的隨機(jī)變量,其數(shù)學(xué)表達(dá)式為
其中C為傳輸所需要進(jìn)行的消耗矩陣,T?1(A)={x|x∈XS,T(x) ∈A}.
本文算法中將“風(fēng)格”定義為圖像的特征分布,則對(duì)內(nèi)容圖像進(jìn)行跨域轉(zhuǎn)換可以看作是將服從于內(nèi)容圖像的“風(fēng)格”分布的變量轉(zhuǎn)換為服從于風(fēng)格圖像的“風(fēng)格”分布. 首先提取生成圖像和風(fēng)格圖像在ReLU1_1,ReLU2_1,ReLU3_1,ReLU4_1,ReLU5_1 層的輸出特征,分別記作FY=(Y1,Y2, …,Yn),則風(fēng)格損失函數(shù)可以由和FY進(jìn)行最優(yōu)傳輸所耗費(fèi)的損失進(jìn)行度量,但由于原始的最優(yōu)傳輸損失的計(jì)算要求2 種分布的總質(zhì)量相同,為了簡(jiǎn)化起見,假定所有特征的質(zhì)量均是相同的,可得式(14).
其中T是2 種分布進(jìn)行傳輸?shù)霓D(zhuǎn)換矩陣,Cij是將中每個(gè)特征轉(zhuǎn)換為FY中的特征所需要的消耗,m和n是特征的尺寸. 根據(jù)式(14)計(jì)算最優(yōu)傳輸損失的時(shí)間復(fù)雜度為O(max(m,n)3),為了減少該損失函數(shù)的計(jì)算量,算法使用更為寬松的一種最優(yōu)傳輸形式,即只需滿足式(17)和式(18)中的一個(gè)約束.
則最優(yōu)傳輸損失可以使用式(17)和式(18)的較大值,即
本文算法同樣使用特征圖之間的余弦距離計(jì)算最優(yōu)傳輸中的消耗C,即
盡管使用基于最優(yōu)傳輸?shù)娘L(fēng)格損失能夠?qū)崿F(xiàn)較好的轉(zhuǎn)換效果,但該損失忽略了特征值的大小以至于會(huì)產(chǎn)生一些偽影,為了解決這個(gè)問題,本文算法使用矩匹配約束,同時(shí)作為風(fēng)格損失,具體使用了一階矩和二階矩的Lm損失,即
2.2.3 對(duì)比損失
對(duì)比學(xué)習(xí)是一種應(yīng)用于自監(jiān)督學(xué)習(xí)領(lǐng)域的重要算法,其特點(diǎn)在于不需要利用額外的人工標(biāo)注,而是直接利用數(shù)據(jù)本身作為監(jiān)督信息學(xué)習(xí)數(shù)據(jù)的特征表示. 即對(duì)于任意數(shù)據(jù)x,對(duì)比學(xué)習(xí)期望能學(xué)習(xí)一個(gè)編碼器f使式(22)成立.
其中x+是x的正樣本,二者應(yīng)該是相似的,而x?是x的負(fù)樣本,二者應(yīng)該是不相似的,score是用于度量樣本之間相似度的函數(shù). 本文算法將生成圖像標(biāo)記為錨點(diǎn),將風(fēng)格圖像標(biāo)記為正樣本,將內(nèi)容圖像標(biāo)記為負(fù)樣本,使用對(duì)比學(xué)習(xí)損失[44]拉近錨點(diǎn)和正樣本之間的距離,同時(shí)推遠(yuǎn)和負(fù)樣本之間的距離.在實(shí)現(xiàn)中使用VGG 在ReLU1_1,ReLU2_1,ReLU3_1 層的激活特征以L1距離計(jì)算對(duì)比損失Lcontra:
其中 ψi為每層特征之間對(duì)比損失的權(quán)重,是一個(gè)超參數(shù).
2.2.4 對(duì)抗損失
傳統(tǒng)的GAN 訓(xùn)練不穩(wěn)定,且易產(chǎn)生模式坍塌問題,LSGAN 使用最小二乘損失函數(shù)能夠有效避免此類情況,同時(shí)通過將距離策邊界較遠(yuǎn)的生成圖像拉向決策邊界而提高圖像的生成質(zhì)量,因此本文算法使用LSGAN 計(jì)算對(duì)抗損失,其中判別器的對(duì)抗損失函數(shù)如式(23)所示,生成器的對(duì)抗損失函數(shù)如式(24)和式(25)所示:
本文算法針對(duì)跨域任務(wù)中無形變數(shù)據(jù)集進(jìn)行研究,分別在summer2winter[47],monet2photo[47],night2day[48],MWI (multi-class weather image)[49]進(jìn) 行. summer2winter[47]是拍攝于約塞米蒂國家公園不同季節(jié)的風(fēng)景圖像數(shù)據(jù)集,圖像的分辨率為256×256,分為2 個(gè)域A、B,分別對(duì)應(yīng)于夏季和冬季,其中每個(gè)域中包含訓(xùn)練集和測(cè)試集. 域A的訓(xùn)練集包含1 232 張圖像,測(cè)試集包含310 張圖像;域B的訓(xùn)練集包含963 張圖像,測(cè)試集包含239 張圖像.
monet2photo[47]為莫奈繪畫和自然圖像的數(shù)據(jù)集,該數(shù)據(jù)集中的圖像分辨率不固定,在跨域任務(wù)中,首先將其縮放并裁剪至256×256. 該數(shù)據(jù)集分為2 個(gè)域A、B,分別對(duì)應(yīng)于莫奈畫作和自然圖像,每個(gè)域中都包含訓(xùn)練集和測(cè)試集. 域A的訓(xùn)練集包含1 072 張圖像,測(cè)試集包含121 張圖像;域B的訓(xùn)練集包含6 287張圖像,測(cè)試集包含751 張圖像.
night2day[48]為同一場(chǎng)景下夜間和白天的圖像,圖像的分辨率均為256×256. 該數(shù)據(jù)集是一個(gè)成對(duì)(paired)數(shù)據(jù)集,即對(duì)于每一張夜間的圖像,都存在一張內(nèi)容相同但光照不同的白天圖像,但本文算法忽略該數(shù)據(jù)集的對(duì)應(yīng)關(guān)系,即在該數(shù)據(jù)集上訓(xùn)練時(shí)不關(guān)心2 張圖像是否內(nèi)容相同. 該數(shù)據(jù)集分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,每個(gè)子集中的夜間圖像和白天圖像拼接在一起,為了將其更方便地應(yīng)用于無監(jiān)督算法中,將所有圖像進(jìn)行切割,使其包含夜間圖像子集和白天圖像子集,對(duì)應(yīng)于A,B這2 個(gè)域,同時(shí)合并原始的訓(xùn)練集和驗(yàn)證集使其成為新的訓(xùn)練集,最后得到的數(shù)據(jù)集為域A的訓(xùn)練集包含17 833 張圖像,測(cè)試集包含2 287 張圖像,域B的訓(xùn)練集包含17 833 張圖像,測(cè)試集包含2 287 張圖像. MWI[49]是一個(gè)包含cloudy,foggy,rain,snow,sunny 這5 種類別的數(shù)據(jù)集,MWI 不區(qū)分訓(xùn)練集和測(cè)試集,分別包含45 662,357,1 359,1 252,70 501 張圖像,圖像的分辨率不固定. 因?yàn)樵摂?shù)據(jù)集中cloudy 和rain 的特點(diǎn)難以分辨,因此本文算法中只使用sunny,foggy,snow,并將MWI 的90%作為相應(yīng)的訓(xùn)練集,10%作為測(cè)試集. 各個(gè)數(shù)據(jù)集 樣例如圖3 所示.
Fig.3 Example images of each data set圖3 各數(shù)據(jù)集樣例圖
實(shí)驗(yàn)分為訓(xùn)練階段和測(cè)試階段. 在訓(xùn)練階段,首先將源域圖像x和目標(biāo)域圖像y都縮放至286×286;然后再隨機(jī)裁剪至256×256 以使模型更加魯棒. 將x和y同時(shí)作為生成器的輸入,可以獲得生成圖像y~. 將y~和y~分別輸入判別器,由判別器判斷該輸入是虛假數(shù)據(jù)還是真實(shí)數(shù)據(jù),判別器和生成器交替進(jìn)行訓(xùn)練. 實(shí)驗(yàn)中使用Adam 優(yōu)化器對(duì)生成器和判別器進(jìn)行優(yōu)化,學(xué)習(xí)率為0.000 1,Momentum 參數(shù)分別為0.5 和0.999,由于顯存限制,批尺寸設(shè)置為2,損失函數(shù)中的超參數(shù)依次設(shè)置為1.0,1.0,1.0,0.1,1.0,0.1.在測(cè)試階段,只需要使用訓(xùn)練好的生成器模型,同樣地將源域圖像x和目標(biāo)域圖像y輸入生成器,即可獲得生成圖像y~.
首先在summer2winter 和monet2photo 數(shù)據(jù)集上對(duì)算法進(jìn)行了實(shí)驗(yàn),如圖4 所示,其中每行包含對(duì)應(yīng)于2 個(gè)數(shù)據(jù)集的1 組結(jié)果,每組結(jié)果從左至右依次為內(nèi)容圖像、風(fēng)格圖像和生成圖像. 從生成圖像的視覺效果上來看,本文算法在無形變的圖像跨域任務(wù)中有較為優(yōu)越的表現(xiàn),主要包含2 個(gè)方面:1)生成圖像的內(nèi)容結(jié)構(gòu)保持完整,即生成圖像相對(duì)于內(nèi)容圖像具有對(duì)應(yīng)的物體和正確的相對(duì)位置,同時(shí)各個(gè)物體的銳度較高,在monet2photo 中,莫奈的畫作相比自然界的真實(shí)圖像而言缺乏清晰的邊緣信息和各類細(xì)節(jié)信息,而本文算法能夠完成邊緣和細(xì)節(jié)的生成,以至于人眼無法區(qū)別生成圖像和真實(shí)圖像. 2)生成圖像的風(fēng)格與風(fēng)格圖像一致. 這種一致性除了指整體色調(diào)相同之外,還包括其他少量但豐富的色彩信息,而且這些信息不是簡(jiǎn)單地雜糅,而是帶有語義的進(jìn)行轉(zhuǎn)換,如圖中monet2photo 數(shù)據(jù)集上的第1 行,生成圖像的天空為藍(lán)色且有少量白云,而草地為鮮綠色,樹木為深綠色,帆船為白色,與風(fēng)格圖像呈現(xiàn)出較強(qiáng)的語義相關(guān)性.
Fig.4 Experimental results of our proposed algorithm on summer2winter and monet2photo圖4 本文算法在summer2winter 和monet2photo 上的實(shí)驗(yàn)結(jié)果
為了評(píng)估本文算法的泛化能力,使用夏天到冬天數(shù)據(jù)集上訓(xùn)練的模型在night2day 和MWI 上直接進(jìn)行測(cè)試,生成結(jié)果如圖5 所示,可以看出本文算法在未見過的風(fēng)景數(shù)據(jù)集上有較好的泛化能力,但生成效果有所降低,一方面是因?yàn)槟P驮趕ummer2winter數(shù)據(jù)集上訓(xùn)練,另一方面則由數(shù)據(jù)集本身的特點(diǎn)所決定:night2day 數(shù)據(jù)集中現(xiàn)代建筑物擁有較復(fù)雜的結(jié)構(gòu),但night 域圖像的內(nèi)容結(jié)構(gòu)不清晰,故轉(zhuǎn)換后的圖像結(jié)構(gòu)較模糊;在MWI 數(shù)據(jù)集上展示了sunny→foggy 和sunny→snow 的 結(jié)果,由于這2個(gè)子域與summer2winter 數(shù)據(jù)集在一定程度上相似,故生成效果較好. 如果在這2 個(gè)數(shù)據(jù)集上同時(shí)訓(xùn)練,其效果比單純?cè)趩我粩?shù)據(jù)集上的效果略差一些,但是比在一個(gè)數(shù)據(jù)集上訓(xùn)練而在另外一個(gè)數(shù)據(jù)集上測(cè)試的效果要好一些.
綜上可知,該算法在源域圖像具有清晰的內(nèi)容結(jié)構(gòu)和在目標(biāo)域具有豐富的色彩信息的情況下表現(xiàn)最好,它能夠如實(shí)地維持源域圖像的內(nèi)容且將其轉(zhuǎn)換為與目標(biāo)域圖像一致的風(fēng)格,且該風(fēng)格與樣例引導(dǎo)圖具有較強(qiáng)的語義聯(lián)系.
Fig.5 Experimental results of our proposed algorithm on night2day and MWI圖5 本文算法在night2day 和MWI 上的實(shí)驗(yàn)結(jié)果
為了更全面和準(zhǔn)確地評(píng)估本文算法的跨域生成效果,首先選取了近年來在多樣化的圖像跨域任務(wù)中表現(xiàn)較為優(yōu)秀的算法包括DRIT,MUIT,MSGAN,在2 個(gè)數(shù)據(jù)集summer2winter 和monet2photo 上進(jìn)行比較. 在對(duì)比實(shí)驗(yàn)中,首先展示了在樣例圖引導(dǎo)的情況下的生成結(jié)果,如圖6 和圖7 所示. 可以看出,本文算法相對(duì)于基線(baseline)算法能夠捕捉到風(fēng)格圖像更多的顏色模式,即DRIT,MUNIT,MSGAN 均只能學(xué)到風(fēng)格圖像整體的風(fēng)格,而忽略了其余少量卻豐富的風(fēng)格模式,且其中MUNIT 的生成結(jié)果存在“水洗”現(xiàn)象,即圖像的銳度較低,DRIT 和MSGAN則存在更多的“偽影”(artifacts).
Fig.6 Comparison of experimental results of different algorithms on summer2winter圖6 不同算法在summer2winter 上的實(shí)驗(yàn)結(jié)果對(duì)比
Fig.7 Comparison of experimental results of different algorithms on monet2photo圖7 不同算法在monet2photo 上的實(shí)驗(yàn)結(jié)果對(duì)比
為了進(jìn)一步評(píng)估本文算法對(duì)于多樣性的提升,展示了本文算法與baseline 在單張圖像的不同風(fēng)格結(jié)果,如圖8 和圖9 所示,分別對(duì)應(yīng)于summer2winter數(shù)據(jù)集和monet2photo 數(shù)據(jù)集. 可知,在多張擁有同樣內(nèi)容的生成圖像中,本文算法的多樣性最明顯,且相對(duì)于baseline 算法更加自然和真實(shí),比如在圖8(b)的倒數(shù)第2 列,4 個(gè)算法均生成了更加符合秋季特征.此外,計(jì)算了各個(gè)算法在這2 個(gè)數(shù)據(jù)集上的量化指標(biāo),包括弗雷謝開端距離(FID),感知圖像塊相似性(LPIPS),不同容器的數(shù)量(NDB),簡(jiǎn)森·香農(nóng)散度距離(JSD),…如表4 和表5 所示,表中結(jié)果為10 次計(jì)算的均值和方差. 量化結(jié)果與各個(gè)算法在視覺上的表現(xiàn)保持了一致,證明了本文算法在無形變的圖像跨域轉(zhuǎn)換中在不損失圖像質(zhì)量的前提下提升了生成結(jié)果的多樣性.
Fig.8 Comparison images of diversity results of different algorithms on summer2winter圖8 不同算法在summer2winter 上的多樣性結(jié)果對(duì)比圖
Fig.9 Comparison images of diversity results of different algorithms on monet2photo圖9 不同算法在monet2photo 上的多樣性結(jié)果對(duì)比圖
Table 4 Quantitative Metrics of Different Algorithms on summer2winter表4 不同算法在summer2winter 上的量化指標(biāo)
Table 5 Quantitative Metrics of Different Algorithms on monet2photo表5 不同算法在monet2photo 數(shù)據(jù)集上的量化指標(biāo)
Fig.10 Result images of ablation experiment圖10 消融實(shí)驗(yàn)結(jié)果圖
為了證明本文算法中所使用的各個(gè)損失函數(shù)的有效性,分別對(duì)內(nèi)容損失、風(fēng)格損失和對(duì)比損失在summer2winter 數(shù)據(jù)集上做了消融實(shí)驗(yàn),其中內(nèi)容損失包括感知損失和自相似性損失,風(fēng)格損失包括最優(yōu)傳輸損失和矩匹配損失,實(shí)驗(yàn)結(jié)果如圖10 所示. 為了更直觀地對(duì)比,圖10(a)(b)(c)中的第1 行標(biāo)出了效果比較明顯的部位,其中紅框表示內(nèi)容的對(duì)比,綠框表示風(fēng)格對(duì)比. 首先觀察內(nèi)容損失的2 個(gè)對(duì)比實(shí)驗(yàn):由紅框中的內(nèi)容可知,不使用感知損失的生成結(jié)果中的山尖背后存在一些內(nèi)容圖像中未出現(xiàn)的云彩,在6 組生成圖像中不使用感知損失的內(nèi)容保持效果最差,而不使用自相似性損失的生成圖像在生成時(shí)忽略了內(nèi)容圖像中的精細(xì)細(xì)節(jié). 然后觀察風(fēng)格損失的2 個(gè)對(duì)比實(shí)驗(yàn):由綠框中的內(nèi)容可知,不使用最優(yōu)傳輸損失的生成結(jié)果只學(xué)到了風(fēng)格圖像的整體色調(diào),存在嚴(yán)重的風(fēng)格模式缺失;不使用矩匹配損失的生成圖像中學(xué)到了多種風(fēng)格模式,但忽略了每種風(fēng)格在風(fēng)格圖像中的量的大小. 最后觀察不使用對(duì)比損失的效果,對(duì)比損失實(shí)際是風(fēng)格損失和內(nèi)容損失的一種變形組合,能夠加強(qiáng)二者在模型上的表現(xiàn),故在經(jīng)過同樣輪次的訓(xùn)練后,不使用對(duì)比損失的模型效果較弱.為了更準(zhǔn)確地評(píng)估每個(gè)損失對(duì)算法的提升程度,計(jì)算了每種情況下模型在summer2winter 數(shù)據(jù)集上的量化指標(biāo),如表6 所示,為了方便展示,只記錄了10次計(jì)算結(jié)果的均值,而省略了方差.
Table 6 Quantitative Metrics of Ablation Experiment表6 消融實(shí)驗(yàn)的量化指標(biāo)
跨域圖像轉(zhuǎn)換過程中為了更好地保留源域圖像的內(nèi)容結(jié)構(gòu)以及引導(dǎo)(參考)圖像的風(fēng)格,減少源域圖像內(nèi)容結(jié)構(gòu)的損失以及引導(dǎo)圖像的顏色模式坍塌問題,本文提出了一種自結(jié)構(gòu)注意力損失函數(shù)來改進(jìn)圖像跨域轉(zhuǎn)換中的內(nèi)容結(jié)構(gòu)保持. 該損失函數(shù)可以充分利用局部結(jié)構(gòu)之間的長(zhǎng)程依賴性,保持微結(jié)構(gòu)之間的相對(duì)關(guān)系,實(shí)現(xiàn)源域圖像與相應(yīng)轉(zhuǎn)換結(jié)果圖像內(nèi)容結(jié)構(gòu)的一致性. 利用一種基于統(tǒng)計(jì)的顏色損失函數(shù),主要統(tǒng)計(jì)參考圖像的顏色信息. 通過顏色損失函數(shù)約束,可以使轉(zhuǎn)換結(jié)果圖像的顏色分布與參考圖像的顏色分布保持一致,從而顯著緩解圖像轉(zhuǎn)換過程中的顏色模式崩潰問題. 本文提出的框架可以實(shí)現(xiàn)圖像內(nèi)容和風(fēng)格的分離學(xué)習(xí). 與現(xiàn)有最先進(jìn)的算法相比,本文提出的算法不需要循環(huán)一致性損失函數(shù)和其他復(fù)雜的損失函數(shù)約束. 未來,將引入Transformer 的架構(gòu)來更好地學(xué)習(xí)引導(dǎo)圖像和源域圖像的長(zhǎng)范圍的內(nèi)容和風(fēng)格依賴,進(jìn)一步提高跨域圖像轉(zhuǎn)換的質(zhì)量和效果.
作者貢獻(xiàn)聲明:趙磊負(fù)責(zé)論文思路的提出、整體架構(gòu)設(shè)計(jì);張慧銘負(fù)責(zé)整個(gè)模型實(shí)現(xiàn)與代碼編寫、系統(tǒng)的調(diào)參與優(yōu)化、論文初稿的撰寫;邢衛(wèi)負(fù)責(zé)論文整體思路的討論提升;林志潔負(fù)責(zé)論文中的實(shí)驗(yàn)結(jié)果與分析部分的提升修改;林懷忠負(fù)責(zé)論文整體修改與優(yōu)化;魯東明負(fù)責(zé)整體的架構(gòu)調(diào)整與優(yōu)化;潘洵參與了實(shí)驗(yàn)結(jié)果數(shù)據(jù)討論與分析;許端清負(fù)責(zé)對(duì)論文寫作優(yōu)化.