【论文解读】Cross-domain Correspondence Learning for Exemplar-based Image Translation
論文題目:Cross-domain Correspondence Learning for Exemplar-based Image Translation
論文主頁:https://panzhang0212.github.io/CoCosNet/
論文鏈接:https://arxiv.org/abs/2004.05571
代碼鏈接:https://github.com/microsoft/CoCosNet
用于基于示例的圖像翻譯的跨域語義對應(yīng)學(xué)習(xí)
?
Task
本文所針對的任務(wù)是基于示例的圖像翻譯,不同于普通的圖像翻譯,不僅提供了input,還提供了包含風(fēng)格的示例,相當(dāng)于提供了語義圖像和風(fēng)格圖像,對生成圖像有了更多約束但也提供了更多信息。
這個任務(wù)的難點有兩個:
如何解決跨域語義對應(yīng)
如何生成高質(zhì)量的對應(yīng)圖像
這兩個問題不需要完全分離,它們可以是兩個相輔相成的過程。正確的語義對應(yīng)有助于指導(dǎo)網(wǎng)絡(luò)參考范例的顏色及紋理,從而提高最終圖像質(zhì)量;反之,生成高質(zhì)量圖片的目標(biāo)會反過來要求子模塊找到合理的對應(yīng)。
?
CoCosNet網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)包含兩個部分:跨域?qū)R網(wǎng)絡(luò)和圖像生成網(wǎng)絡(luò)
大致流程:
-
跨域?qū)R網(wǎng)絡(luò):把兩個域的圖像映射到一個中間域,在中間域上找到二者的匹配關(guān)系,然后利用匹配關(guān)系扭曲示例圖像。
-
圖像轉(zhuǎn)換網(wǎng)絡(luò):利用多層卷積和扭曲的示例圖像逐步生成高質(zhì)量的目標(biāo)域圖像。
?
Cross-domain correspondence network 跨域?qū)R網(wǎng)絡(luò)
這一部分網(wǎng)絡(luò)包含兩個步驟:
步驟一:
輸入圖像XA是A域的,示例YB是B域的,把他們映射到同一個中間域S的話就可以較為方便地找到他們之間的語義對應(yīng)關(guān)系,作者這里使用的映射方式是用FPN提取兩張圖像的特征圖,再都轉(zhuǎn)換為S域中的表示XS和YS,這里的F就是整個的轉(zhuǎn)換關(guān)系,theta是需要學(xué)習(xí)的參數(shù)。
這一步對應(yīng)的loss叫域?qū)R損失,(XB是XA在B域中對應(yīng)的圖像,類似于ground truth,但嚴(yán)格來說不是),如果這個中間域找的好的話,這里好的定義就是語義對齊,那么XA和XB轉(zhuǎn)換到S域應(yīng)該是完全對齊的,因為他們本來就是相同場景的不同域圖像,是包含相同語義的。
Domain alignment loss
步驟二:
都轉(zhuǎn)換到S域之后就要找到他們之間的語義相關(guān)性,首先計算一個S域中他們倆的相關(guān)矩陣,其中這個hat指的是在通道維度均值歸0后的值,然后通過softmax加權(quán)選擇YB中最相關(guān)的像素,這樣就得到了一張直接通過輸入圖像把示例圖像扭曲過來的圖像。
跟這一步相對應(yīng)的loss叫對應(yīng)關(guān)系正則損失,對于這個扭曲后的示例圖像是沒有強(qiáng)監(jiān)督的,所以作者這里是通過一個循環(huán)一致性來約束的,就是通過同樣的方法把扭曲后的圖像按照原示例圖YB扭曲回去,得到的應(yīng)該是YB原圖。
Correspondence regularization loss
這里提前放一下關(guān)于這兩個loss的消融實驗
如果沒有第一個域?qū)R損失,會造成兩個域沒有實現(xiàn)對應(yīng),扭曲圖片會出現(xiàn)過度平滑;如果沒有第二個對應(yīng)正則損失,將會產(chǎn)生不正確的對應(yīng),導(dǎo)致最后生成的圖像質(zhì)量不好。
?
Translation network
接下來是它的圖像生成網(wǎng)絡(luò),從一個固定的常量z開始,通過逐步卷積逐步注入扭曲圖像的風(fēng)格信息,每一次注入風(fēng)格都是通過Positional normalization和Spatially-adaptive denormalization, positional normalization是指在每一個像素點進(jìn)行歸一化操作,SPADE指的是去正則化時的Alpha和Beta不是學(xué)來的,而是從風(fēng)格參考圖像中得來的,而且也是每一個像素不同,這里得到Alpha和Beta的操作也是通過卷積。
經(jīng)過七層這樣的操作,最終得到輸出圖片。
除了之前說到的兩個跨域?qū)R損失,還有一些跟圖像生成有關(guān)的loss
第一個是偽參考圖像對損失,這里再一次用到了XB,XB在這里是真正作為ground truth,XB’是對XB做了一些隨機(jī)變形,裁剪或是翻轉(zhuǎn)之類的,如果把它作為示例圖像,XA作為輸入圖像,生成的應(yīng)該是XB才對,這里的Phi l是VGG-19的第l層激活。
feature matching loss
第二個是參考圖像轉(zhuǎn)換損失,其中包含兩項,perceptual loss和contextual loss,感知損失用的是高層語義信息,也就是VGG-19比較靠后的一層特征,為了使生成圖像XB hat和XB擁有較高的語義一致性;感知損失約束的是全局高頻特征的相似性,上下文損失約束的是局部的特征,所以這里用到的是包含更豐富風(fēng)格信息(例如顏色、紋理)的幾個低層特征,為了使XB hat和YB在風(fēng)格上相似。contextual loss來自另一篇論文“The contextual loss for image transformation with non-aligned data”,想要詳細(xì)了解可以搜索一下。
perceptual loss
contextual loss
最后一項是對抗損失,與一般GAN的損失函數(shù)類似,主要是為了讓生成的圖片屬于B域,提升圖片質(zhì)量。
Adversarial loss
綜上最后總的損失函數(shù)就是這6項的加權(quán)和。
1. 偽參考圖像對損失,2. 語義約束損失,3. 風(fēng)格約束損失,4. 生成對抗損失,5. 領(lǐng)域?qū)R損失,6. 相似度矩陣正則化損失
?
實驗結(jié)果
還有一些定量結(jié)果,評價指標(biāo)包含三部分:生成圖像是否像真的,語義信息是否像input,風(fēng)格是否像exemplar。FID和SWD都是圖像生成的評價指標(biāo),FID表示生成圖像分布和真實圖像分布的距離;SWD表示將生成圖像改變?yōu)檎鎸崍D像需要移動的最短距離。都是越低越好。具體的結(jié)果大家可以看論文中,這里不再貼圖。此外還包括用戶判斷實驗和每一項loss的消融實驗,作者的實驗做的很全面。
?
Limitation
one-to-many and many-to-one mappings
示例圖像中的紅黑兩輛汽車同時與input中的汽車相對應(yīng),導(dǎo)致生成圖像中的汽車一半黑一半紅,與現(xiàn)實不符;下面一行中枕頭只是簡單地復(fù)制,丟失了多樣性。
2. 第二個不足在于相關(guān)矩陣等計算非常占用GPU內(nèi)存,使得這個方法很難用在高分辨率的圖像上。
參考文獻(xiàn):
Zhang, Pan, Bo Zhang, Dong Chen, Lu Yuan, and Fang Wen. “Cross-domain Correspondence Learning for Exemplar-based Image Translation.” arXiv preprint arXiv:2004.05571 (2020).
總結(jié)
以上是生活随笔為你收集整理的【论文解读】Cross-domain Correspondence Learning for Exemplar-based Image Translation的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android隐藏系统ui_如何启用An
- 下一篇: Windows10 应用商店打不开问题,