南京大學(xué)&港中文提出首個(gè)支持超高分辨率(10000x10000)圖像風(fēng)格遷移方案

paper:https://arxiv.org/abs/2103.11784
code:https://github.com/czczup/URST
本文是南京大學(xué)&港中文的路通&羅平等人在風(fēng)格遷移領(lǐng)域的一次突破性探索,提出了首個(gè)支持超高分辨率(比如10000x10000大小)圖像風(fēng)格遷移的方案URST。針對(duì)現(xiàn)有風(fēng)格遷移模型在圖像塊處理時(shí)存在的塊間不一致問(wèn)題,提出了一種新穎的“Thumbnail Instance Normalization”;與此同時(shí),針對(duì)高分辨率圖像風(fēng)格遷移存在的“small stroke size”問(wèn)題,提出了一種新穎的輔助損失。所提方案可以輕易與現(xiàn)有風(fēng)格遷移網(wǎng)絡(luò)組合并取得性能提升。
Abstract
本文提出一種非常簡(jiǎn)單的極限分辨率的風(fēng)格遷移框架URST,首個(gè)可以處理任意高分辨率(比如
)圖像的進(jìn)行風(fēng)格遷移的方案。當(dāng)處理超高分辨率圖像時(shí),受限于較大的內(nèi)存占用與small stroke size問(wèn)題,現(xiàn)有風(fēng)格遷移方法往往難以真正應(yīng)用。
URST通過(guò)以下兩種策略避免了超高分辨率圖像導(dǎo)致的內(nèi)存問(wèn)題:(1) 將圖像劃分成小的圖像塊進(jìn)行處理;(2)提出一種新穎的Thumbnail Instance Normalization (TIN)進(jìn)行塊級(jí)風(fēng)格遷移。具體來(lái)說(shuō),TIN可以提取縮略圖的規(guī)范化統(tǒng)計(jì)信息并應(yīng)用到小圖像塊上,確保了不同塊之間的風(fēng)格一致性。
總而言之,相比已有方案,本文所提URST具有這樣幾個(gè)優(yōu)點(diǎn):
-
通過(guò)將圖像拆分為小塊并采用TIN成功的對(duì)任意高分辨圖像進(jìn)行風(fēng)格遷移; -
受益于所提感知損失,所提方法在超高分辨率圖像上取得了超過(guò)其他SOTA方案的效果; -
所提URST可以輕易的嵌入到現(xiàn)有風(fēng)格遷移方案中,無(wú)需進(jìn)行訓(xùn)練即可提升其性能。
Introduction
超高分辨率圖像風(fēng)格遷移存在兩個(gè)關(guān)鍵性挑戰(zhàn):
-
超高分辨圖像需要非常大的內(nèi)存占用,甚至超出現(xiàn)有GPU的最大顯存; -
過(guò)小的筆畫(huà)描邊會(huì)導(dǎo)致不自然的紋理。
針對(duì)第一個(gè)問(wèn)題,現(xiàn)有方法往往采用輕量型網(wǎng)絡(luò)、模型剪枝、知識(shí)蒸餾等方法降低顯存占用。然而這些方法僅僅能起到緩和的作用,以上圖為例,隨著分辨率的提升,顯存的占用呈指數(shù)增長(zhǎng),很快超出了現(xiàn)有GPU的峰值。這就驅(qū)動(dòng)我們設(shè)計(jì)一種更有效的策略用于超高分辨率圖像的風(fēng)格遷移。
超高分辨率圖像的筆畫(huà)邊緣過(guò)小會(huì)呈現(xiàn)出不自然的現(xiàn)象,可參考上圖(b)。增大筆畫(huà)邊緣是一種廣泛采用的解決上述問(wèn)題的方法;此外擴(kuò)大風(fēng)格遷移網(wǎng)絡(luò)的感受野是另一種解決方案。然而這些方法并不適用于超高分辨率風(fēng)格遷移。
為解決上述問(wèn)題,本文提出了URST用于對(duì)任意高分辨率圖像在有限內(nèi)存約束下進(jìn)行風(fēng)格遷移,效果可參考上圖(d)。
Method
上圖給出了本文所提URST的整體框架示意圖。所提方案包含三個(gè)關(guān)鍵設(shè)計(jì)思想:
-
一種靈活的塊級(jí)風(fēng)格遷移,它可以將高計(jì)算量的風(fēng)格遷移任務(wù)拆分為多個(gè)地計(jì)算量的塊級(jí)風(fēng)格遷移; -
提出一種新穎的縮略圖實(shí)例規(guī)范化TIN,它可以提取縮略圖規(guī)范化統(tǒng)計(jì)信息并將其應(yīng)用到小圖像塊上以確保不同塊間的風(fēng)格一致性; -
精心設(shè)計(jì)了一種筆畫(huà)感知損失以聚焦于筆畫(huà)邊緣的感知差異,促使風(fēng)格遷移網(wǎng)絡(luò)生成大的筆畫(huà)邊緣。
受益于上述特性,本文所提URST可以輕易嵌入到現(xiàn)有風(fēng)格遷移方案中并進(jìn)行超高分辨率風(fēng)格遷移。所提URST以高分辨率圖像 作為輸入,URST的數(shù)據(jù)流包含三個(gè)階段:
-
dividing stage:我們首先對(duì)每個(gè)內(nèi)容圖像生成縮略圖 ,然后將內(nèi)容圖像拆分為多個(gè)小的圖像塊 ; -
stylization stage: 縮略圖 首先被送入到風(fēng)格遷移網(wǎng)絡(luò)以收集規(guī)范化統(tǒng)計(jì)信息;然后這些統(tǒng)計(jì)信息被用于對(duì)小圖像塊進(jìn)行風(fēng)格化并得到風(fēng)格化圖像塊 ; -
assembling stage: 所有的風(fēng)格化圖像塊集成得到一個(gè)超高分辨率風(fēng)格圖像 。
由于該方案中的風(fēng)格遷移網(wǎng)絡(luò)可以是任意方法(比如AdaIN、LinearWCT),為方便起見(jiàn),我們定義所選擇方法原始損失為 ,在訓(xùn)練過(guò)程中,我們首先采用原始損失基于縮略圖優(yōu)化風(fēng)格遷移網(wǎng)絡(luò)。
除了原始損失外,該URST還引入了一種輔助損失函數(shù),稱之為筆畫(huà)感知損失(stroke perceptual loss),用于進(jìn)一步改善超高分辨率風(fēng)格遷移的質(zhì)量。該損失的核心在于:對(duì)風(fēng)格塊 與上采樣塊 之間的筆畫(huà)邊緣進(jìn)行感知差異懲罰。
Patch-wise Style Transfer
為處理超高分辨率圖像,我們提出了塊級(jí)風(fēng)格遷移。給定超高分辨率內(nèi)容圖像 ,我們采用 滑動(dòng)窗口按照stride=S將其拆分為重疊塊 。考慮到GPU的內(nèi)存限制,這些圖像塊將以batch方式逐步送入到網(wǎng)絡(luò)中。在完成所有快處理后,我們?cè)賹⑺袎K合并為超高分辨率圖像 。
相比已有方法采用完整圖像作為輸入,所提框架可以靈活的處理任意高分辨率圖像,同時(shí)也可以輕易嵌入到現(xiàn)有風(fēng)格遷移方法(比如AdaIN、WCT、LinearWCT)中。正如前面所提到的,由于不同塊的統(tǒng)計(jì)特性獨(dú)立性,不同圖像塊的風(fēng)格化可能存在不一致性問(wèn)題。
Thumbnail Instance Normalization
IN是風(fēng)格遷移領(lǐng)域常用的一種規(guī)范化層,給定輸入 ,IN描述如下:
然而,我們發(fā)現(xiàn)IN并不適用于塊級(jí)風(fēng)格遷移,會(huì)導(dǎo)致塊間風(fēng)格不一致問(wèn)題,可參考下圖。
在上圖(a)中,我們對(duì)輸入作為整體進(jìn)行規(guī)范化;在上圖(b)中我們將輸入拆分為四塊分貝進(jìn)行規(guī)范化。這就導(dǎo)致最終的結(jié)果存在風(fēng)格不一致問(wèn)題。
基于上述分析,我們提出一種簡(jiǎn)單的IN變種,稱之為TIN。該以塊 和縮略圖 作為輸入,通過(guò)如下方式進(jìn)行處理:
通過(guò)這種方式,TIN可以確保不同塊間的風(fēng)格一致性間,上圖(c)。
Stroke Perceptual Loss
所提方法驅(qū)動(dòng)我們提出一種輔助損失增大筆畫(huà)邊緣,該損失定義如下:
注: 表示VGG第l層的輸出特征。因此,整體損失函數(shù)定義如下:
Experiments
為驗(yàn)證所提方法的有效性,我們將其與AdaIN、WCT等方法進(jìn)行了對(duì)比,見(jiàn)下圖。
從上圖可以看到:(1) IN導(dǎo)致了明顯的塊間風(fēng)格不一致問(wèn)題;(2) 所提方法取得了與全圖相似的效果且顯存占用更低。
與此同時(shí),我們還對(duì)比了所提損失函數(shù)的影響分析,見(jiàn)上圖。可以看到:基于所提損失引導(dǎo),這些模型可以生成更粗的線條與更稀疏的紋理,這有助于改善超高分辨率風(fēng)格遷移。
此外,我們還提供了不同風(fēng)格遷移方案在不同輸入分辨率輸入時(shí)的顯存占用對(duì)比。可以看到:大多方法甚至不能處理 的高分辨率圖像;而本文所提方法甚至可以處理 分辨率圖像且顯存占用不超過(guò)5GB。理論上,本文所提方法可以處理任意高分辨率圖像。
最后,我們提供一個(gè) 超高分辨率圖像風(fēng)格遷移效果圖作為結(jié)尾。
