【翻译】Adaptive Convolutions for Structure-Aware Style Transfer
用于結(jié)構(gòu)感知的風(fēng)格遷移的自適應(yīng)卷積
文章目錄
- Abstract
- 1. Introduction
- 2. Related Work
- 3. 使用 AdaConv 進(jìn)行特征調(diào)制( Feature Modulation with AdaConv)
- 3.1. 概述
- 3.2. 用 AdaConv 進(jìn)行風(fēng)格轉(zhuǎn)換
- 3.2.1 Style Encoder
- 3.2.2 預(yù)測(cè)深度可分離卷積
- 3.3. Training
- 4. Results
- 4.1. Style Transfer
- 4.2. 生成模型的擴(kuò)展
- 5. 結(jié)論
Abstract
圖像之間的風(fēng)格轉(zhuǎn)移是CNN的一種藝術(shù)應(yīng)用,即把一個(gè)圖像的 "風(fēng)格 "轉(zhuǎn)移到另一個(gè)圖像上,同時(shí)保留了后者的內(nèi)容。神經(jīng)風(fēng)格轉(zhuǎn)移的技術(shù)現(xiàn)狀是基于自適應(yīng)實(shí)例歸一化(AdaIN),該技術(shù)將風(fēng)格特征的統(tǒng)計(jì)屬性轉(zhuǎn)移到內(nèi)容圖像上,并能實(shí)時(shí)轉(zhuǎn)移大量的風(fēng)格。然而,AdaIN是一個(gè)全局性的操作,因此在傳輸過(guò)程中,風(fēng)格圖像中的局部幾何結(jié)構(gòu)往往被忽略。我們提出了自適應(yīng)卷積法(AdaConv),這是AdaIN的一個(gè)通用擴(kuò)展,允許實(shí)時(shí)地同時(shí)轉(zhuǎn)移統(tǒng)計(jì)和結(jié)構(gòu)風(fēng)格。除了風(fēng)格轉(zhuǎn)移,我們的方法還可以隨時(shí)擴(kuò)展到基于風(fēng)格的圖像生成,以及其他已經(jīng)采用AdaIN的任務(wù)。
1. Introduction
近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)已被用于探索和操縱圖像的風(fēng)格。圖像風(fēng)格通常由圖像特征定義,如繪畫(huà)中的整體顏色和筆觸的局部結(jié)構(gòu),或生成性圖像應(yīng)用中的臉部姿勢(shì)和表情。風(fēng)格也是在不同的分辨率下定義的,因此既可以包括臉部的整體特征,也可以包括皮膚上雀斑的局部結(jié)構(gòu)。這一領(lǐng)域的研究隨著神經(jīng)風(fēng)格轉(zhuǎn)移的出現(xiàn)而獲得了很大的發(fā)展,最初是由Gatys等人提出的[8],其中一個(gè)CNN被訓(xùn)練來(lái)重現(xiàn)一個(gè)輸入圖像的內(nèi)容,但以另一個(gè)圖像的風(fēng)格來(lái)呈現(xiàn)。本著類似的精神,生成對(duì)抗網(wǎng)絡(luò)(GANs)被用來(lái)生成具有隨機(jī)矢量輸入定義的風(fēng)格的真實(shí)的同步圖像,例如在創(chuàng)建合成臉部圖像時(shí)[18]。
處理風(fēng)格的廣泛方法是通過(guò)自適應(yīng)實(shí)例歸一化(AdaIN),這是一種轉(zhuǎn)換圖像特征的平均值和方差的方法。例如,AdaIN經(jīng)常被用來(lái)將風(fēng)格圖像的特征統(tǒng)計(jì)數(shù)據(jù)轉(zhuǎn)移到內(nèi)容圖像上。自從Huang等人在2017年提出定義以來(lái)[13],這種操作已經(jīng)在基于CNN的圖像處理文獻(xiàn)中變得非常普遍。然而,AdaIN的一個(gè)主要缺點(diǎn)是,統(tǒng)計(jì)學(xué)計(jì)算是一個(gè)全局性的操作;因此,風(fēng)格中的局部空間結(jié)構(gòu)不能被有效捕捉和轉(zhuǎn)移。一個(gè)具體的例子見(jiàn)圖1(第1行),風(fēng)格圖像有明顯的特征,如黑白的圓和方。AdaIN的結(jié)果將該圖像的統(tǒng)計(jì)數(shù)據(jù)轉(zhuǎn)移到內(nèi)容圖像上,但結(jié)果缺乏任何風(fēng)格的結(jié)構(gòu)。類似的現(xiàn)象可以在第2行看到,對(duì)于不同的風(fēng)格圖像。
圖1:我們提出了自適應(yīng)卷積(AdaConv),這是自適應(yīng)實(shí)例歸一化(AdaIN)在圖像風(fēng)格轉(zhuǎn)移方面的一個(gè)擴(kuò)展,它能夠轉(zhuǎn)移統(tǒng)計(jì)和結(jié)構(gòu)風(fēng)格元素。AdaConv也可以應(yīng)用于生成模型,如StyleGAN,用于眾多數(shù)據(jù)集上的逼真圖像合成1。
在這項(xiàng)工作中,我們引入了對(duì)AdaIN的擴(kuò)展,稱為自適應(yīng)卷積(AdaConv),它允許同時(shí)適應(yīng)統(tǒng)計(jì)和結(jié)構(gòu)風(fēng)格。在風(fēng)格轉(zhuǎn)移的背景下,我們的方法不是從每個(gè)風(fēng)格特征中轉(zhuǎn)移一對(duì)簡(jiǎn)單的全局統(tǒng)計(jì)數(shù)據(jù)(平均值和標(biāo)準(zhǔn)差),而是從風(fēng)格圖像中估計(jì)完整的卷積核和偏置值,然后將其卷積在內(nèi)容圖像的特征上。由于這些內(nèi)核能更好地捕捉風(fēng)格中的局部空間結(jié)構(gòu),AdaConv能更忠實(shí)地將風(fēng)格圖像的結(jié)構(gòu)元素轉(zhuǎn)移到內(nèi)容圖像上,如圖1(第4和第7列)所示。
為深度學(xué)習(xí)任務(wù)預(yù)測(cè)卷積核的概念已經(jīng)在視頻幀插值[26, 27, 28]和變性[1, 35]等領(lǐng)域顯示了一些前景。在這里,我們利用這個(gè)想法來(lái)擴(kuò)展AdaIN,以實(shí)現(xiàn)更普遍的圖像風(fēng)格操作。AdaConv可以將AdaIN重新置于幾乎所有已經(jīng)采用AdaIN的應(yīng)用中,為基于CNN的圖像生成和風(fēng)格操作提供一個(gè)新的、通用的構(gòu)建模塊。為了說(shuō)明AdaConv的通用性,我們展示了它在風(fēng)格轉(zhuǎn)移和基于風(fēng)格的生成性面部建模(StyleGAN[18])中的應(yīng)用。
2. Related Work
本節(jié)回顧了與我們的工作更密切相關(guān)的神經(jīng)風(fēng)格轉(zhuǎn)移、生成模型中的調(diào)制層和內(nèi)核預(yù)測(cè)等領(lǐng)域的前期工作。
基于CNN的神經(jīng)風(fēng)格轉(zhuǎn)移最初是由Gatys等人[8]提出的。雖然他們的方法允許在圖像之間轉(zhuǎn)移任意的風(fēng)格,但它是基于一個(gè)緩慢的優(yōu)化過(guò)程。Johnson等人[17]通過(guò)引入感知損失來(lái)解決這個(gè)問(wèn)題,使優(yōu)化的速度大大加快,實(shí)現(xiàn)了實(shí)時(shí)結(jié)果。同時(shí),Ulyanov等人[33]提出了一種風(fēng)格轉(zhuǎn)移方法,通過(guò)評(píng)估特定風(fēng)格和預(yù)訓(xùn)練的前饋神經(jīng)網(wǎng)絡(luò),進(jìn)一步加快推理速度。在后續(xù)的工作中[34],他們還用實(shí)例規(guī)范化(IN)取代了批量規(guī)范化(BN)的鋪墊,以產(chǎn)生更高質(zhì)量的結(jié)果而不影響速度。為了改善對(duì)風(fēng)格轉(zhuǎn)移結(jié)果的控制,Gatys等人[9]隨后通過(guò)在基于優(yōu)化和前饋的方法中重新調(diào)整損失函數(shù),引入了明確的顏色、比例和空間控制[9]。在IN的基礎(chǔ)上,Dumoulin等人[7]提出了有條件的實(shí)例規(guī)范化(CIN),并將規(guī)范化層以風(fēng)格為條件,允許一個(gè)模型從32種預(yù)定義的風(fēng)格或其插值中的一種進(jìn)行風(fēng)格轉(zhuǎn)移。Ghiasi等人[11]進(jìn)一步擴(kuò)展了CIN,允許在訓(xùn)練時(shí)未見(jiàn)的任意風(fēng)格的轉(zhuǎn)換;這是用一個(gè)大型的風(fēng)格語(yǔ)料庫(kù)來(lái)訓(xùn)練一個(gè)編碼器,將風(fēng)格圖像轉(zhuǎn)換為條件潛伏向量。Cheng等人[6]提出了基于補(bǔ)丁的風(fēng)格互換方法,用于任意風(fēng)格的轉(zhuǎn)換。同時(shí),Huang等人[13]提出了一種任意風(fēng)格轉(zhuǎn)換的方法,通過(guò)有效地使IN適應(yīng)風(fēng)格特征的平均值和標(biāo)準(zhǔn)差,從而導(dǎo)致AdaIN。Li等人[22]通過(guò)對(duì)給定風(fēng)格的潛在特征進(jìn)行白化和著色來(lái)擴(kuò)展這一方法。這個(gè)想法被Sheng等人[31]用一個(gè)風(fēng)格裝飾模塊和多尺度風(fēng)格適應(yīng)來(lái)進(jìn)一步擴(kuò)展。其他的工作也研究了用于風(fēng)格轉(zhuǎn)換的元網(wǎng)絡(luò)[30],使用學(xué)習(xí)的線性變換的快速風(fēng)格轉(zhuǎn)換[21]和立體圖像的風(fēng)格轉(zhuǎn)換[4]。最近,Jing等人[15]注意到,直接用風(fēng)格特征的統(tǒng)計(jì)數(shù)據(jù)替換內(nèi)容特征的統(tǒng)計(jì)數(shù)據(jù)可能是次優(yōu)的;相反,他們的動(dòng)態(tài)實(shí)例歸一化(DIN)方法訓(xùn)練風(fēng)格編碼器輸出內(nèi)容特征的新統(tǒng)計(jì)數(shù)據(jù),同時(shí)還調(diào)整后續(xù)卷積層的大小和采樣位置。除了實(shí)例歸一化,Kotovenko等人[20]還探索了對(duì)抗性學(xué)習(xí),以更好地將風(fēng)格與內(nèi)容區(qū)分開(kāi)來(lái)。Jing等人[16]最近發(fā)表的評(píng)論文章中對(duì)其他神經(jīng)風(fēng)格轉(zhuǎn)移方法進(jìn)行了深入描述。我們工作的目的是進(jìn)一步擴(kuò)展AdaIN,根據(jù)風(fēng)格圖像預(yù)測(cè)整個(gè)卷積核和偏差,以轉(zhuǎn)移風(fēng)格的統(tǒng)計(jì)數(shù)據(jù)和局部結(jié)構(gòu)。
生成模型中的調(diào)制層也對(duì)風(fēng)格轉(zhuǎn)移之外的其他突破做出了貢獻(xiàn)。最值得注意的是,StyleGAN[18]使用了AdaIN的原始版本,但輸入的風(fēng)格統(tǒng)計(jì)是由一個(gè)MLP從高斯噪聲向量中預(yù)測(cè)出來(lái)的。為了減輕AdaIN造成的一些可見(jiàn)的假象,StyleGAN2[19]用一個(gè)權(quán)重解調(diào)層取代了它,它只對(duì)標(biāo)準(zhǔn)差進(jìn)行歸一化和調(diào)制,而不改變平均值。由于AdaIN及其變體只轉(zhuǎn)換全局統(tǒng)計(jì)數(shù)據(jù),它們對(duì)風(fēng)格中的局部空間語(yǔ)義不敏感。為了解決這一局限性,已經(jīng)提出了新的方法,從輸入的空間布局圖像中預(yù)測(cè)空間變化的標(biāo)準(zhǔn)化參數(shù)[29, 39, 15]。SPADE[29]用從輸入空間遮罩回歸的每像素變換取代了AdaIN的全局仿生變換。SEAN[39]通過(guò)考慮輸入布局遮罩的額外樣式向量進(jìn)一步擴(kuò)展了SPADE。SPADE和SEAN都為語(yǔ)義圖像生成的目的保留了調(diào)節(jié)空間布局;它們有效地控制了每個(gè)內(nèi)核在特定圖像位置的強(qiáng)調(diào)或壓制方式。相比之下,我們的Ada-Conv方法在測(cè)試時(shí)產(chǎn)生了全新的內(nèi)核。另外,SPADE和SEAN并不直接適用于風(fēng)格轉(zhuǎn)換的應(yīng)用,在這種情況下,必須保留內(nèi)容圖像的空間布局。
核預(yù)測(cè)在以前的工作中也有過(guò)探索。需要注意的是,上述所有的特征諾瑪化和調(diào)制方法都遵循一個(gè)類似的程序:它們定義了標(biāo)量仿射變換,獨(dú)立地應(yīng)用于每個(gè)特征通道。主要的區(qū)別在于:
(i) 變換參數(shù)是手工制作的,還是在訓(xùn)練中學(xué)習(xí)的,還是在測(cè)試時(shí)預(yù)測(cè)的;
(ii) 每個(gè)通道的變換是全局的還是空間變化的。
那些回歸全局變換的方法也可以理解為在測(cè)試時(shí)預(yù)測(cè)1×1的二維內(nèi)核。對(duì)于風(fēng)格轉(zhuǎn)換,Chen等人[3, 5]學(xué)習(xí)了針對(duì)風(fēng)格的濾波器組,這些濾波器組被卷積在內(nèi)容圖像的特征上。他們的方法僅限于在訓(xùn)練時(shí)學(xué)習(xí)的濾波器組;它不能為測(cè)試時(shí)給出的未見(jiàn)過(guò)的風(fēng)格生成新的內(nèi)核。Jing等人[15]聲稱能夠使用他們的通用DIN塊從輸入中回歸動(dòng)態(tài)卷積;然而,報(bào)告的實(shí)驗(yàn)結(jié)果僅限于1×1的反演。關(guān)于內(nèi)核預(yù)測(cè)的相關(guān)工作也超越了風(fēng)格轉(zhuǎn)換。Jia等人[14]提出了用于視頻和立體圖像預(yù)測(cè)的動(dòng)態(tài)解決方案,其中測(cè)試時(shí)間特征被重塑為新的過(guò)濾器,這些過(guò)濾器被卷積地應(yīng)用或以特定位置的方式應(yīng)用。最先進(jìn)的蒙特卡洛渲染去噪方法[1, 35, 10]使用神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)用于重建最終去噪幀的動(dòng)態(tài)濾波。也有人提出用神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)用手持相機(jī)以突發(fā)模式拍攝的自然圖像的去噪內(nèi)核[24, 36]。Niklaus等人[26]預(yù)測(cè)視頻的幀插值核;他們后來(lái)將這項(xiàng)工作擴(kuò)展到預(yù)測(cè)分離卷積參數(shù)[27, 28]。Xue等人[37]使用一個(gè)CNN來(lái)預(yù)測(cè)來(lái)自隨機(jī)高斯變量的運(yùn)動(dòng)核,用于合成可信的下一幀。Esquivel等人[38]預(yù)測(cè)自適應(yīng)內(nèi)核,用于減少在有限的計(jì)算資源下對(duì)圖像進(jìn)行準(zhǔn)確分類所需的層數(shù)。在本文的其余部分,我們探討了一個(gè)類似的想法,在測(cè)試時(shí)利用內(nèi)核預(yù)測(cè)來(lái)改善生成模型中的風(fēng)格轉(zhuǎn)移和基于風(fēng)格的調(diào)制。
3. 使用 AdaConv 進(jìn)行特征調(diào)制( Feature Modulation with AdaConv)
我們現(xiàn)在描述AdaConv和我們的內(nèi)核預(yù)測(cè)器,說(shuō)明AdaConv是如何概括和擴(kuò)展基于風(fēng)格的特征調(diào)制中典型的1×1仿射變換的。我們首先在風(fēng)格轉(zhuǎn)移的背景下與AdaIN相提并論,然后說(shuō)明AdaConv如何允許對(duì)局部特征結(jié)構(gòu)進(jìn)行更好的調(diào)節(jié),以更好地轉(zhuǎn)移空間風(fēng)格,同時(shí)也適用于風(fēng)格轉(zhuǎn)移之外的高質(zhì)量生成模型。
3.1. 概述
考慮通常的風(fēng)格表示{a, b}∈R2,其中a和b分別代表風(fēng)格的尺度和偏置項(xiàng)(例如,對(duì)于風(fēng)格轉(zhuǎn)換,a和b是風(fēng)格圖像特征的平均值和標(biāo)準(zhǔn)偏差)。給定一個(gè)數(shù)值為x∈R的輸入特征通道和所需的風(fēng)格,AdaIN對(duì)歸一化的輸入特征進(jìn)行風(fēng)格定義的仿射轉(zhuǎn)換,
其中μx和σx是特征通道的平均值和標(biāo)準(zhǔn)差。因此,AdaIN只改變了基于調(diào)節(jié)風(fēng)格參數(shù){a, b}的每個(gè)通道的全局統(tǒng)計(jì)數(shù)據(jù)。請(qǐng)注意,無(wú)論每個(gè)樣本x周?chē)奶卣髦档目臻g分布(結(jié)構(gòu))如何,整個(gè)通道都是被平等調(diào)制的。
因此,我們擴(kuò)展AdaIN的第一步是引入一個(gè)有條件的二維風(fēng)格濾波器f∈Rkh×kw,取代尺度項(xiàng)并產(chǎn)生擴(kuò)展的風(fēng)格參數(shù){f, b}。這個(gè)濾波器可以根據(jù)樣本x周?chē)泥徲騈(x)的局部結(jié)構(gòu),以空間變化的方式來(lái)調(diào)節(jié)特征通道,
請(qǐng)注意,這個(gè)深度AdaConv變體包含AdaIN,它是一個(gè)具有1×1過(guò)濾器f和N(x)={x}的特殊情況。
我們的第二個(gè)也是最后一個(gè)步驟是通過(guò)擴(kuò)大輸入風(fēng)格參數(shù)來(lái)擴(kuò)展這個(gè)深度變體,也包括一個(gè)可分離的、點(diǎn)式卷積張量p∈RC,用于具有C特征通道的輸入。這使得AdaConv能夠根據(jù)一種風(fēng)格進(jìn)行調(diào)制,這種風(fēng)格不僅能夠捕捉到全局統(tǒng)計(jì)數(shù)據(jù)和空間結(jié)構(gòu),而且能夠捕捉到不同輸入通道c中的特征xc之間的相關(guān)性,
AdaConv的輸入樣式{p, f, b}有效地包括一個(gè)深度可分的三維內(nèi)核[12],有深度和點(diǎn)卷積成分,以及每通道的偏置。用于調(diào)制輸入的深度和點(diǎn)卷積核的實(shí)際數(shù)量是一個(gè)設(shè)計(jì)選擇,可以是任意的大。正如我們?cè)诤竺娴牡?.2.2節(jié)中所描述的,這可以用深度可分離卷積層的組數(shù)ng來(lái)控制。
在下文中,我們?yōu)锳daConv提出了一個(gè)內(nèi)核預(yù)測(cè)框架,并展示了如何將其作為AdaIN的通用替代物,以便在風(fēng)格轉(zhuǎn)換和其他高質(zhì)量生成模型中實(shí)現(xiàn)更全面的基于風(fēng)格的調(diào)節(jié)。
3.2. 用 AdaConv 進(jìn)行風(fēng)格轉(zhuǎn)換
對(duì)于風(fēng)格轉(zhuǎn)移,我們從Huang等人[13]的原始架構(gòu)開(kāi)始,并在訓(xùn)練期間應(yīng)用相同的內(nèi)容和風(fēng)格損失。然而,我們并沒(méi)有使用AdaIN直接將全局風(fēng)格的統(tǒng)計(jì)數(shù)字映射到內(nèi)容特征上,而是使用我們新的內(nèi)核預(yù)測(cè)器和AdaConv來(lái)更全面地轉(zhuǎn)移風(fēng)格的不同屬性。圖2給出了我們的風(fēng)格轉(zhuǎn)移架構(gòu)的概述。
圖2:帶有我們新的內(nèi)核預(yù)測(cè)器和AdaConv的網(wǎng)絡(luò)架構(gòu),用于結(jié)構(gòu)感知的風(fēng)格轉(zhuǎn)移。
輸入的風(fēng)格和內(nèi)容圖像用預(yù)先訓(xùn)練好的VGG-19[32]編碼器進(jìn)行編碼,以獲得風(fēng)格S和內(nèi)容C的潛在特征。對(duì)于內(nèi)核預(yù)測(cè),風(fēng)格特征S由風(fēng)格編碼器ES進(jìn)一步編碼,以獲得全局風(fēng)格描述符W。這些預(yù)測(cè)被攝入到解碼器D的所有層中,并輸出風(fēng)格轉(zhuǎn)換的結(jié)果。
我們的風(fēng)格轉(zhuǎn)換架構(gòu)采用了4個(gè)內(nèi)核預(yù)測(cè)器,在解碼圖像的4個(gè)不同的分辨率下運(yùn)行,其內(nèi)核的維度不同。每個(gè)解碼層都有一個(gè)自適應(yīng)卷積塊(圖3),其中預(yù)測(cè)的縱深和點(diǎn)狀卷積在標(biāo)準(zhǔn)卷積之前。這些標(biāo)準(zhǔn)卷積層負(fù)責(zé)學(xué)習(xí)與風(fēng)格無(wú)關(guān)的內(nèi)核,這些內(nèi)核對(duì)重建自然圖像很有用,并且在測(cè)試時(shí)保持固定。編碼器ES、內(nèi)核預(yù)測(cè)器K和解碼器D被聯(lián)合訓(xùn)練,以最小化VGG-19潛在特征空間內(nèi)的內(nèi)容和風(fēng)格損失的相同加權(quán)和[13]。
3.2.1 Style Encoder
我們現(xiàn)在轉(zhuǎn)向從風(fēng)格特征S預(yù)測(cè)卷積核的目標(biāo),以便在我們的圖像解碼器的每個(gè)尺度上應(yīng)用于內(nèi)容特征C。在這里,一個(gè)中間步驟是計(jì)算一個(gè)風(fēng)格表征W,全面描述不同尺度的風(fēng)格圖像,同時(shí)以風(fēng)格轉(zhuǎn)移損失為指導(dǎo)。這一設(shè)計(jì)選擇也是通過(guò)與最先進(jìn)的生成模型[18, 19]進(jìn)行類比而產(chǎn)生的,其中術(shù)語(yǔ) "風(fēng)格 "表示圖像的全局和局部屬性。
預(yù)先訓(xùn)練好的VGG-19網(wǎng)絡(luò)在VGG-19 relu4 1層將尺寸為(通道、高度、寬度)的原始輸入風(fēng)格圖像翻譯成尺寸為(512、32、32)的風(fēng)格張量S。在這里,感受野并沒(méi)有覆蓋整個(gè)風(fēng)格圖像。因此,我們通過(guò)訓(xùn)練一個(gè)額外的編碼器組件ES,將S減少到我們的全局嵌入W,如圖3所示。
圖3:全局風(fēng)格編碼器ES、內(nèi)核預(yù)測(cè)器Ki和AdaConv塊中的結(jié)構(gòu)調(diào)制的架構(gòu),所產(chǎn)生的深度可分卷積核應(yīng)用于輸入內(nèi)容特征(右上)。
我們的風(fēng)格編碼器ES包括3個(gè)初始區(qū)塊,每個(gè)區(qū)塊都有一個(gè)3 x 3的卷積,一個(gè)平均池操作,以及一個(gè)泄漏的ReLU激活。然后,輸出被重塑并送入最后的全連接層,該層提供全局風(fēng)格描述符,反過(guò)來(lái)又被重塑為一個(gè)大小為(SD,SH,SW)的輸出張量W。這個(gè)嵌入的尺寸是超參數(shù),定義為要預(yù)測(cè)的內(nèi)核大小的一個(gè)因素。
由于使用了這個(gè)全連接層,我們的網(wǎng)絡(luò)被限制在與固定尺寸(3,256,256)的輸入風(fēng)格圖像的工作。然而,內(nèi)容圖像的尺寸不受限制,因?yàn)樗鹘?jīng)網(wǎng)絡(luò)的一個(gè)完全卷積部分。
3.2.2 預(yù)測(cè)深度可分離卷積
圖2中的每一個(gè)核預(yù)測(cè)器K都是一個(gè)簡(jiǎn)單的卷積網(wǎng)絡(luò),其輸入是風(fēng)格描述器W,而輸出是一個(gè)可深度分離的核。選擇預(yù)測(cè)深度可分的核[12]的動(dòng)機(jī)是希望保持核預(yù)測(cè)器的簡(jiǎn)單和計(jì)算效率,同時(shí)也使隨后的卷積更快。
一個(gè)標(biāo)準(zhǔn)的卷積層需要一個(gè)尺寸為(1, cin, h, w)的輸入圖像張量,并用一個(gè)尺寸為(cout, cin, kh, kw)的內(nèi)核張量進(jìn)行卷積,其中cin和cout是輸入和輸出通道的數(shù)量。每個(gè)通道的偏置也被添加到輸出中。因此,該層所需的權(quán)重?cái)?shù)量為cout × cin × kh × kw + cout。深度可分離卷積通過(guò)將輸入通道收集成n個(gè)獨(dú)立的組,并應(yīng)用單獨(dú)的空間和點(diǎn)式核,分別學(xué)習(xí)結(jié)構(gòu)和跨通道的相關(guān)性,從而減少了這個(gè)數(shù)字。所需的權(quán)重?cái)?shù)量減少為cout × cin /ng × kh × kw + cout。對(duì)于ng=cin的深度卷積層,輸入的每個(gè)通道都與它自己的cout/cin濾波器組進(jìn)行卷積。然后用1×1的核進(jìn)行點(diǎn)卷積,以擴(kuò)大輸出中的通道數(shù)量,在最終輸出中加入每個(gè)通道的偏置。
在這里,需要注意的是,我們的解碼器中的四個(gè)AdaConv 層的cin分別等于512、256、128和64,隨著空間分辨率的提高而減少。因此,最低空間分辨率的內(nèi)核預(yù)測(cè)器通常具有最高的參數(shù)數(shù)量。為了將我們的網(wǎng)絡(luò)能力均勻地分布在連續(xù)的復(fù)述層上,我們?cè)谳^低的分辨率上設(shè)置了較大的ng∈{cin, cin/ 2 , cin/ 4 , cin/ 8 },并在連續(xù)的層上逐漸減少,從而導(dǎo)致更好的結(jié)果(在補(bǔ)充中給出了與常數(shù)ng=cin的比較)。對(duì)于深度卷積核和點(diǎn)卷積核,ng的設(shè)置是相同的。
因此,每個(gè)內(nèi)核預(yù)測(cè)器K都會(huì)為解碼器的那個(gè)規(guī)模的深度卷積AdaConv層輸出必要的權(quán)重。這些權(quán)重包括:
(i) 大小為(cout, cin /ng , kh, kw)的空間核,
(ii) 大小為(cout, cout/ ng , 1, 1)的點(diǎn)式核,
(iii) 偏置項(xiàng)b∈Rcout。
每個(gè)核預(yù)測(cè)器K的輸入是大小為(SD, SH, SW)的全局風(fēng)格描述符W,它通過(guò)卷積層和匯集層來(lái)輸出目標(biāo)尺寸的空間核,圖3。這些層可以由標(biāo)準(zhǔn)卷積或轉(zhuǎn)置卷積組成,其參數(shù)在設(shè)計(jì)時(shí)確定,并取決于要預(yù)測(cè)的核的大小。為了預(yù)測(cè)點(diǎn)狀的1×1核,我們將W匯集成一個(gè)大小(SD,1,1),然后進(jìn)行1D卷積來(lái)預(yù)測(cè)cout點(diǎn)狀核。我們使用一個(gè)單獨(dú)的預(yù)測(cè)器來(lái)預(yù)測(cè)每個(gè)通道的偏差,與點(diǎn)式內(nèi)核的預(yù)測(cè)器類似。一旦內(nèi)核和偏置被預(yù)測(cè)出來(lái),它們就被用來(lái)調(diào)制一個(gè)輸入,如圖3的右半部分所示。
3.3. Training
為了與現(xiàn)有的風(fēng)格轉(zhuǎn)換技術(shù)進(jìn)行比較(見(jiàn)圖4),我們使用COCO數(shù)據(jù)集[23]作為內(nèi)容圖像,使用WikiArt數(shù)據(jù)集[25]作為風(fēng)格圖像來(lái)訓(xùn)練我們的方法。在其余與AdaIN的比較中,我們使用了一個(gè)由大約4000張人臉組成的自定義內(nèi)容數(shù)據(jù)集作為內(nèi)容圖像,并繼續(xù)使用WikiArt數(shù)據(jù)集作為風(fēng)格圖像。在使用人臉作為內(nèi)容的實(shí)驗(yàn)中,我們從頭開(kāi)始重新訓(xùn)練AdaIN和AdaConv,以進(jìn)行公平的比較。為了訓(xùn)練我們的方法,我們使用Adam優(yōu)化器,學(xué)習(xí)率為1e-4,批次大小為8。對(duì)于 AdaIN,我們使用與 [13] 中相同的設(shè)置。關(guān)于我們訓(xùn)練的其他細(xì)節(jié)在補(bǔ)充材料中介紹。
圖4:AdaConv的表現(xiàn)與目前最先進(jìn)的方法1,2相當(dāng)。我們的方法特別善于將風(fēng)格圖像的局部結(jié)構(gòu)轉(zhuǎn)換為內(nèi)容圖像。
4. Results
我們現(xiàn)在展示了使用AdaConv作為AdaIN的擴(kuò)展來(lái)進(jìn)行風(fēng)格轉(zhuǎn)換和生成式建模的結(jié)果。
4.1. Style Transfer
我們的工作主要是以圖像風(fēng)格轉(zhuǎn)移的應(yīng)用為動(dòng)機(jī),與最初的AdaIN[13]很相似。在本節(jié)中,我們所有的結(jié)果都是在風(fēng)格描述符大小sd=512和內(nèi)核大小3×3的情況下創(chuàng)建的。
定性比較。我們首先將AdaConv與幾種風(fēng)格轉(zhuǎn)換方法進(jìn)行比較,包括Huang和Belongie的AdaIN[13]、Chen和Schmidt[6]、Ulyanov等人[34]、Gatys等人[8]、Jing等人[15]、Li等人[22]、Sheng等人[31],以及Johnson等人[17]。圖4顯示,我們的方法與目前的技術(shù)水平相當(dāng),并且在保留風(fēng)格圖像的結(jié)構(gòu)方面有明顯的優(yōu)勢(shì)。例如,帆船圖像(第一行)中的水的結(jié)構(gòu)與風(fēng)格圖像中的頭發(fā)絲相似;藝術(shù)畫(huà)中的筆觸結(jié)構(gòu)被自然地轉(zhuǎn)移到內(nèi)容圖像上。
由于AdaConv擴(kuò)展了AdaIN,我們?cè)趫D5中進(jìn)行了更徹底的比較。在所有情況下,AdaConv渲染的內(nèi)容圖像更忠實(shí)于風(fēng)格圖像的結(jié)構(gòu)(局部空間分布),同時(shí)也傳遞了風(fēng)格的全局統(tǒng)計(jì)數(shù)據(jù)。AdaIN不能轉(zhuǎn)移風(fēng)格結(jié)構(gòu),只能轉(zhuǎn)移風(fēng)格的全局統(tǒng)計(jì)數(shù)據(jù)。
圖5:與AdaIN[13]相比,由于我們的內(nèi)核預(yù)測(cè)方法,我們的AdaConv擴(kuò)展在保持風(fēng)格圖像的結(jié)構(gòu)方面做得更好。
風(fēng)格旋轉(zhuǎn)。我們進(jìn)一步強(qiáng)調(diào)了Ada-Conv在保留風(fēng)格圖像結(jié)構(gòu)方面的好處,即在不同程度的旋轉(zhuǎn)下應(yīng)用同一風(fēng)格圖像。當(dāng)然,旋轉(zhuǎn)的風(fēng)格圖像實(shí)際上是一種不同的風(fēng)格。然而,當(dāng)使用AdaIN轉(zhuǎn)移風(fēng)格時(shí),這一概念在很大程度上消失了,因?yàn)槿痔卣鹘y(tǒng)計(jì)在旋轉(zhuǎn)下基本保持不變。我們?cè)趫D6中說(shuō)明了這一效果,我們將四種不同旋轉(zhuǎn)的風(fēng)格圖像轉(zhuǎn)移到同一內(nèi)容圖像上(取自圖5的最后一行)。我們可以看到,AdaConv成功地保留了轉(zhuǎn)移結(jié)果中風(fēng)格圖像的空間方向,而AdaIN的結(jié)果看起來(lái)基本與旋轉(zhuǎn)無(wú)關(guān)。我們鼓勵(lì)讀者在補(bǔ)充視頻中查看更多旋轉(zhuǎn)結(jié)果。
圖6:當(dāng)旋轉(zhuǎn)風(fēng)格圖像時(shí),使用AdaConv將風(fēng)格定向很好地轉(zhuǎn)移到內(nèi)容圖像上,而AdaIN的結(jié)果大多是旋轉(zhuǎn)不變的,因?yàn)槿纸y(tǒng)計(jì)數(shù)據(jù)在旋轉(zhuǎn)下變化不大。
風(fēng)格插值。與AdaIN一樣,我們也可以在風(fēng)格空間中插值,以產(chǎn)生混合多種輸入風(fēng)格的結(jié)果。在AdaConv的情況下,我們?cè)趦?nèi)核預(yù)測(cè)器之前對(duì)風(fēng)格特征編碼器的輸出進(jìn)行插值。插值后的風(fēng)格描述器產(chǎn)生內(nèi)核,改變解碼結(jié)果的結(jié)構(gòu)。因此,風(fēng)格圖像的結(jié)構(gòu)元素被平滑地插值到空間。這可以在圖7中觀察到,我們?cè)趦蓚€(gè)結(jié)構(gòu)非常不同的風(fēng)格圖像之間進(jìn)行插值,并將結(jié)果應(yīng)用于一個(gè)面部的內(nèi)容圖像。與AdaIN相比,AdaConv生成的插值結(jié)果的結(jié)構(gòu)也介于兩個(gè)風(fēng)格圖像的結(jié)構(gòu)之間。例如,人們可以很容易地看到像粗線這樣的結(jié)構(gòu)元素在使用AdaConv時(shí)從一個(gè)結(jié)果到另一個(gè)結(jié)果的實(shí)際變形和扭曲。
圖7:當(dāng)我們?cè)趦蓚€(gè)風(fēng)格的圖像之間插值時(shí),AdaConv的結(jié)果比AdaIN更平滑,我們可以通過(guò)AdaConv的方法在空間上變形時(shí)對(duì)個(gè)別結(jié)構(gòu)進(jìn)行跟蹤。
用戶研究。我們還進(jìn)行了一項(xiàng)用戶研究來(lái)比較AdaConv和AdaIN的結(jié)果。參與者評(píng)估了由AdaIN和AdaConv獲得的總共10個(gè)并排的風(fēng)格轉(zhuǎn)換結(jié)果,兩個(gè)結(jié)果以隨機(jī)的順序顯示。參與者被要求根據(jù)以下3個(gè)問(wèn)題選擇一個(gè)結(jié)果:(1)哪一個(gè)風(fēng)格轉(zhuǎn)換結(jié)果更好地保留了內(nèi)容圖像?(2) 哪一個(gè)風(fēng)格轉(zhuǎn)換結(jié)果更好地保留了風(fēng)格圖像中的風(fēng)格結(jié)構(gòu)?(3)哪種風(fēng)格轉(zhuǎn)移的結(jié)果在將風(fēng)格轉(zhuǎn)移到內(nèi)容圖像方面總體上做得更好?共有185名來(lái)自多個(gè)國(guó)家、年齡段和背景的參與者參加了我們的在線調(diào)查。不出所料,93.9%的參與者認(rèn)為AdaIN在內(nèi)容保存方面做得更好,而92%的參與者認(rèn)為AdaConv在風(fēng)格結(jié)構(gòu)方面抓得更好。總的來(lái)說(shuō),絕大多數(shù)的參與者(71.8%)表示AdaConv在風(fēng)格轉(zhuǎn)移方面做得更好。
視頻風(fēng)格轉(zhuǎn)換。最后,從補(bǔ)充視頻中可以看出,AdaConv對(duì)視頻序列進(jìn)行風(fēng)格轉(zhuǎn)換時(shí)具有良好的時(shí)間穩(wěn)定性,即使在對(duì)每一幀獨(dú)立應(yīng)用轉(zhuǎn)換時(shí)也是如此。通過(guò)將AdaConv與視頻風(fēng)格轉(zhuǎn)換的光學(xué)流技術(shù)相結(jié)合,可以提高時(shí)間穩(wěn)定性[2]。
4.2. 生成模型的擴(kuò)展
雖然AdaIN最初是為風(fēng)格轉(zhuǎn)移而提出的,但它已被發(fā)現(xiàn)應(yīng)用于許多領(lǐng)域,包括像StyleGAN[18]和StyleGAN2[19]這樣的生成模型,它被用來(lái)將 "風(fēng)格 "注入以對(duì)抗性方式訓(xùn)練的生成網(wǎng)絡(luò)中。由于AdaConv是AdaIN的擴(kuò)展,我們通過(guò)將其與我們的內(nèi)核預(yù)測(cè)器一起納入一個(gè)類似StyleGAN2的網(wǎng)絡(luò)來(lái)證明其對(duì)生成網(wǎng)絡(luò)的適用性。
在StyleGAN2發(fā)生器的每個(gè)刻度上,由MLP預(yù)測(cè)的每個(gè)通道的平均值和標(biāo)準(zhǔn)差(A)被用來(lái)用AdaIN調(diào)制卷積層的權(quán)重(圖8,左)。然而,請(qǐng)注意,內(nèi)核權(quán)重是在訓(xùn)練中學(xué)習(xí)的,只有在測(cè)試時(shí)才會(huì)調(diào)整其比例。相比之下,我們的AdaConv塊在測(cè)試時(shí)從輸入的風(fēng)格參數(shù)中預(yù)測(cè)全深度卷積核。因此,我們將StyleGAN2中的每個(gè)權(quán)重解調(diào)塊替換為AdaConv塊,對(duì)上一層的上采樣輸入進(jìn)行 "基于風(fēng)格 "的深度分離卷積(圖8,右)。噪聲向量也通過(guò)MLP轉(zhuǎn)換為每個(gè)Ada-Conv塊中的內(nèi)核預(yù)測(cè)器的輸入 "樣式 "W。由于深度卷積比標(biāo)準(zhǔn)卷積的直徑小,我們?cè)谕粔K中用標(biāo)準(zhǔn)的二維卷積進(jìn)行適應(yīng)性卷積。然后加入每個(gè)通道的偏置和高斯噪聲,輸出被送入下一個(gè)AdaConv塊。
圖8:StyleGAN2[19]中的解調(diào)塊和我們帶有AdaConv塊的替代網(wǎng)絡(luò)。
我們?cè)贔FHQ、CelebHQ、AFHQ-wild和AFHQ-dog數(shù)據(jù)集上以(256×256)的分辨率訓(xùn)練了這個(gè)改良的StyleGAN2生成器。我們修改后的生成器和StyleGAN2的判別器是用與[19]相同的超參數(shù)和損失函數(shù)訓(xùn)練的。我們?cè)趩蝹€(gè)Nvidia2080Ti GPU上訓(xùn)練了我們的生成網(wǎng)絡(luò),進(jìn)行了 300K 迭代(~1.2m 真實(shí)圖像),批次大小為4。我們?cè)趫D 9 中展示了一些合成面孔和野生動(dòng)物的示例。這些結(jié)果是在風(fēng)格描述符大小sd=128和內(nèi)核大小3×3的情況下產(chǎn)生的。在生成環(huán)境中使用AdaConv的其他結(jié)果見(jiàn)我們的補(bǔ)充材料。
圖9:AdaConv也可以應(yīng)用于生成性架構(gòu),如StyleGAN2[19],用于現(xiàn)實(shí)的圖像合成。
5. 結(jié)論
在這項(xiàng)工作中,我們提出了自適應(yīng)卷積(Ada-Conv)用于結(jié)構(gòu)感知的風(fēng)格操作。作為自適應(yīng)實(shí)例歸一化(AdaIN)的延伸,AdaConv預(yù)測(cè)卷積核和來(lái)自給定風(fēng)格嵌入的偏差,這可以被編織到圖像解碼器的層中,以便在測(cè)試時(shí)更好地調(diào)整其行為。在神經(jīng)風(fēng)格轉(zhuǎn)移的文本中,AdaConv不僅可以將全局統(tǒng)計(jì)數(shù)據(jù),而且可以將風(fēng)格圖像的空間結(jié)構(gòu)轉(zhuǎn)移到內(nèi)容圖像上。此外,AdaConv還可以應(yīng)用于基于風(fēng)格的圖像生成(如StyleGAN),我們已經(jīng)證明了這一點(diǎn),而且?guī)缀跛蠥daIN都被采用。它提供了一個(gè)新的、通用的構(gòu)建模塊,用于將條件輸入數(shù)據(jù)納入基于CNN的圖像生成和風(fēng)格操作。
總結(jié)
以上是生活随笔為你收集整理的【翻译】Adaptive Convolutions for Structure-Aware Style Transfer的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [能力提升][费曼学习法]学习方法
- 下一篇: array专题5