CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

微軟研究院AI頭條發表於2020-04-16

編者按:影像翻譯是近年來的研究熱點,類比於自然語言翻譯,它將輸入影像的表達轉化為另一種表達,在影像創作、影像風格化、影像修復、域自適應學習等領域有著廣泛應用。然而現有技術通常僅能產生合理的目標域影像,其具體風格並不可控。為此,微軟亞洲研究院視覺計算組近期提出基於範例的影像翻譯技術 CoCosNet,建立原域圖與目標域範例影像的密集對應,使生成圖片精細匹配範例圖片風格。

CoCosNet 方法在一系列任務(語義分割->自然影像、輪廓->人臉圖片、關鍵點->姿態圖片)中,生成質量大幅領先現有方法,且影像風格精細可控。此外,我們利用弱監督學習得到跨域圖片之間的密集對應,實現如影像編輯、人像批次上妝等有趣應用。這項成果將發表於 CVPR 2020 oral 論文“Cross-domain Correspondence Learning for Exemplar-based Image Translation”。

只需寥寥數筆,影像翻譯助你成為神筆馬良。作為生成對抗模型的研究分支,影像翻譯(image translation)技術近年來取得了一系列突破。它將圖片從一種域(domain)的表達形式轉換為另一種表達,而域可以定義得很廣泛:如將域按照性別劃分,那麼網路將學習人像性別轉換;如域表徵為不同畫風,那麼網路將學到畢加索到莫奈的創作風格遷移;當域定義為草圖或風景圖,網路則從草圖生成風光大片。簡而言之,影像翻譯技術需要兩個域的圖片作為訓練資料,域內的圖片共享相同的屬性,而域間有著共同的屬性區別,網路則學習兩種資料分佈之間的對映。我們甚至可以用這項神奇的技術,將人像中戴有的 N95 口罩一鍵去除,生成靚麗自拍,一掃疫情帶來的心情陰霾

影像翻譯技術可謂百花齊放,而它的發展也沿著一條清晰的脈絡。CVPR 2017 上首先提出的 Pix2Pix 需要配對監督,之後的無監督影像翻譯工作 CycleGAN 大大擴充了應用範圍;針對它們僅能生成單張目標域結果的問題,隨後的 BiCycleGAN、UNIT/MUNIT、DRIT 等工作進一步支援多模態(multi-modal)影像的生成。此後,影像翻譯朝著更高解析度(Pix2PixHD),更高質量(GauGAN),影片(Vid2Vid),小樣本適應(FUNIT)等方向擴充套件 [1]。

然而,兩個問題依舊有待解決:1)儘管最近的工作支援多模態影像生成,但其結果是從隱空間中取樣得到的生成結果,生成圖風格不可預知,使用者無法指定具體例項的樣式(如紅色的法拉利、橘紅的天空);2)現有方法的圖片往往有較明顯的瑕疵,影響使用者體驗

技術路線

我們認為基於範例(exemplar-based)的技術路線能較好地解決上述問題。具體地,網路接受輸入域圖片的同時,接受一張目標域的範例圖片,該範例圖片與輸入圖有相似的語義且具有使用者期望的目標風格。網路同時以輸入圖和範例圖做條件(condition),學習輸出符合指定風格的圖片。值得注意的是,一些先前工作也支援範例輸入,但這些方法將範例圖片編碼為一維風格編碼(如長度為512維的向量),但我們認為這樣的一維編碼不足以刻畫細緻的例項風格,因而這些方法僅能大致地影響整體圖片風格。

因此,我們提出建立兩個域圖片(輸入圖及範例圖)之間的密集語義對應(dense correspondence),進而依賴這樣的對應,定位輸入圖在範例中相應位置的顏色、紋理資訊,使得生成圖片風格精細匹配範例中相同語義的物體(例如,草圖的生成結果中,眼睛應該採用範例中的人眼細節)。同時,這樣的方法也有助於降低網路學習難度、提高輸出圖片質量——這是因為網路可以更多地參考範例圖中的細節,而無需預測物體的紋理細節。

於是,我們的生成任務歸結於,如何精準地找到輸入及範例之間的語義對應。這裡有兩大挑戰:一是輸入圖和範例來自不同的域,它們的影像塊(image patch)有著巨大的圖片域差異(domain gap),因而我們無法用某種預先定義的距離指標(如顏色的歐氏距離)直接對應兩類圖片的影像塊;另一方面,我們很難取得這樣的標註資訊,即不同域圖片之間的語義對應,來作為網路訓練的監督資訊。如圖1,建立自然人臉與油畫人像之間的密集對應,事實上是困難的,而這樣的跨域語義對應(cross-domain semantic correspondence)問題也是首次被提出。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像圖1:左,建立跨域圖片的語義對應。右,影像生成

那麼如何解決跨域語義對應,並利用好對應關係實現影像生成呢?我們注意到,兩個任務有著相輔相成的聯絡(圖1):正確的語義對應,有助於指示網路參考範例的顏色及紋理,從而提高最終影像質量;反之,如果網路包含跨域對應的子模組,那麼生成高質量圖片的目標會反過來要求子模組找到合理的對應。基於這個想法,我們提出CoCosNet(CrOss-domain COrreSpondence network for image translation) 聯合訓練跨域對應和影像生成,其中跨域對應透過弱監督學習(weakly supervised learning)的方式得以建立。如圖2所示,我們的方法精確匹配使用者給定的範例風格的同時,大幅提升了影像質量。在複雜資料集 ADE20k 上,FID(Fréchet inception distance)由此前的33.9降低至26.4。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像圖2:CoCosNet 生成圖。我們在三個任務上進行了實驗,在語義分割蒙版->場景影像(1-2行)、輪廓->人臉圖片(3-4行)、骨骼關鍵點->姿態圖片(5-6行),均取得了迄今為止最高的生成質量。

具體方法

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像圖3:CoCosNet 網路框架

我們提出的 CoCosNet 框架如圖3所示。原域 A 中的輸入圖表示為 x_A,目標域 B 中的範例圖表示為 y_B,我們希望網路學習得到輸入圖在 B 域中的對應 x_B=G(x_A, y_B)。

整個網路由兩個子網路構成。第一部分為跨域對應(cross-domain correspondence)子網路,其用於找到輸入 x_A 與範例 y_B 之間的密集對應。然而,與一般的語義對應方法(如 SFNet [2])不同的是,這兩種輸入來自於不同的域——如圖3中 x_A 是語義分割,y_B 是一張自然室內場景,而我們無法用預先訓練的分類特徵提取器(如 pretrained VGG/ResNet)來提取兩種輸入的特徵。於是,我們想到利用訓練集中 x_A 和它在目標域的配對 x_B,來訓練兩個域的特徵提取器 (F_(A→B) 和 F_(B→A)),使得他們提取到的特徵可以適應到一個對齊的隱空間,我們定義域自適應損失函式為:

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

當輸入 x_A 與 y_B 時,我們有理由相信,他們同樣被適應到共有空間中,該空間保留了兩張圖片的語義特徵。我們可以在這個特徵空間中算兩張圖兩兩位置間的相似度矩陣 M,其中矩陣元素 M(u,v) 表示 x_A(u) 與 y_B(v) 之間的語義相似性。這個相似度矩陣也可以理解為注意力機制,因而 x_A 的對應點實際上是 y_B 中每個點的加權和,其權重取決於他們之間的語義相似度。因此,如果學習得當,我們將得到變形的 y_B(記為 r_(y→x),也就是圖3中的 warped exemplar),該圖與輸入 x_A 語義對齊。這裡,我們引入一個對應關係正則項,要求 r_(y→x) 經過反向形變後可以重建範例圖片:

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

網路的第二部分為影像轉換子網路(translation network)。這個網路嘗試從輸入 x_A 和與它對齊的範例 r_(y→x) 生成最終影像。這裡我們採用改進的空間自適應去正則化層(spatially-variant denormalization layer)[3]:利用簡單變換將 x_A 和 r_(y→x) 對映為正則化層的調製係數,透過調製正則化層來實現對生成圖片的風格調製。這也類似於 StyleGAN [4]利用條件正則化層(BN)來改變生成風格,而我們做法區別在於,條件輸入 x_A 和 r_(y→x) 為二維影像,正則化統計量(μ_(h,w),σ_(h,w))、去正則化係數(α_(h,w),β_(h,w))都是空間自適應的:

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

空間自適應在我們的任務中非常重要,它有助於將範例影像中的風格精細遷移到最終生成圖片中,且透過反傳,前面的跨域對應子模組能學到精細的語義對應。

為了學到正確的對應關係,我們對輸出影像施加以下約束。1)特徵匹配損失(perceptual loss):輸出影像必須符合輸入圖片的語義約束,因此,我們要求它們經過預訓練 VGG19 後的高層特徵——Relu4-2層——應保持一致;2)上下文損失(contextual loss)[5]:輸出影像應和範例圖的對應物體風格相一致,為此我們在 VGG19 的低層特徵圖(Relu2-1, …. Relu5-2,更多的包含顏色,紋理資訊)上匹配二者的統計分佈。3) 對抗損失函式(adversarial loss):我們聯合訓練判別器 D,使得最終的輸出圖片難以與真實圖片區分開來;4)特徵匹配(feature matching):我們將 x_B 做形變增強,構造為 x_A 的偽範例,這樣的偽範例對(pseudo exemplar pair)的輸出應能完美重建 x_B,這裡我們採用 VGG 特徵匹配損失函式。

綜上,總的訓練目標為:

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像實驗結果


我們在 ADE20k、CelebA-HQ 以及 Deepfashion 資料集上進行了驗證,這三個資料集的任務分別為:語義分割->自然影像、輪廓->人臉圖片、骨骼關鍵點->姿態圖片。我們和之前的最好方法進行了多方面比較,首先是定性比較結果:

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像圖4:不同方法的定性比較結果

如圖4,對於最後一列表徵所用到的範例圖片,我們的結果(倒數第二列)相較之前方法取得明顯的質量提升,且生成風格精細匹配範例圖片。定量結果也進一步驗證了我們的優勢:如表1所示,我們的方法在三個任務中 FID 及 SWD 兩個指標均顯著降低。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像表1:圖片質量的定量比較。我們採用 FID 和 SWD 兩種指標,在不同任務中均取得明顯優勢

更多的定量比較請詳見我們的論文。這裡我們展示更多的結果(圖5-7)。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像圖5:  複雜資料集 ADE20k 上語義分割->自然場景的影像翻譯結果

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

圖6:CelebA-HQ 資料集上人臉輪廓->人像影像翻譯結果

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

圖7:Deepfashion 資料集上姿態關鍵點->人體姿態圖片的影像翻譯結果

我們的方法首次建立了跨域圖片的密集對應關係,而這種對應關係完全透過弱監督學習得到。在圖8中,我們手工選擇了若干關鍵點,他們均在自然圖片中找到了準確的對應。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像圖8:我們的方法利用與影像生成聯合訓練的方法,在弱監督訓練下建立了穩定的跨域對應關係

更多應用與 Demo

在可控影像翻譯外,得益於跨域對應關係,我們的方法可以擴充至更多的應用。首先,我們實現了圖片編輯:使用者首先得到輸入圖片的語義分割,接著用 UI 修改語義構圖。原輸入圖片視為範例,我們的方法將得到新構圖下的圖片結果。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

圖9:影像編輯。使用者可以簡單地透過修改語義分割圖(中),實現對輸入圖片(左)的增刪改(輸出結果為右圖)

這一方法還可以用於人像批次上妝。使用者可以選擇在給定的一張人像用 PS 上妝,這個上妝過程往往是筆刷塗抹,利用人像之間的對應關係,我們可以批次將筆刷應用到其他人像上。下圖中我們為一批圖片加上煙燻妝。第一列為手工 PS,後面幾列均為演算法遷移結果。鑑於程式設計師審美與 PS 技術有限,相信專業人士能用我們的演算法得到更出眾的結果。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

圖10:我們的演算法將使用者上妝的 PS 筆刷一鍵遷移到其他人像

最後,受到之前工作的啟發,我們從 Flicker 上獲取了5萬張風景圖片作為訓練資料,讓使用者能夠透過手工描畫語義分割一鍵生成風景大片。與之前的工作相比,我們生成的質量更高,且允許使用者透過選擇範例圖來指定風景照風格。下圖是我們得演算法生成的風景大片。

CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像

圖11:演算法可以按照使用者手繪的語義構圖生成風景圖

結語

本文介紹了基於範例的精細可控影像翻譯,CoCosNet 方法在多個任務上大幅提高現有影像翻譯的生成質量,且具有風格可控的特性。我們注意到,近期的 StarGAN v2 [6] 同樣支援基於範例的影像翻譯。與其相比,我們相信顯性地建立跨域對應有助於提高生成質量,之後也會進行更詳細地對比。下一步,我們會將 CoCosNet 方法擴充至更高畫質圖片生成領域。

程式碼即將開源,更多的演算法細節請見論文。

論文原文:  Cross-domain Correspondence Learning for Exemplar-based Image Translation

論文連結:https://arxiv.org/abs/2004.05571

專案網址:  https://panzhang0212.github.io/CoCosNet/

參考文獻

[1] Wu, Xian, et al. "A survey of image synthesis and editing with generative adversarial networks." Tsinghua Science and Technology 22.6 (2017): 660-674.

[2] Lee, Junghyup, et al. "SFNet: Learning object-aware semantic correspondence." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.

[3] Park, Taesung, et al. "Semantic image synthesis with spatially-adaptive normalization." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.

[4] Karras, Tero, et al. "A style-based generator architecture for generative adversarial networks." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.

[5] Mechrez, et al. "The contextual loss for image transformation with non-aligned data." Proceedings of the European Conference on Computer Vision (ECCV). 2018.

[6] Choi, Yunjey, et al. "StarGAN v2: Diverse Image Synthesis for Multiple Domains." arXiv preprint arXiv:1912.01865 (2019).

相關文章