編者按:也許你曾從櫥柜里翻出家人們壓箱底的老照片,而它們已經(jīng)泛黃發(fā)脆,甚至有些褪色;也許你在拍照時(shí)不慎手抖,只好把糊成一片的照片都丟進(jìn)“最近刪除”。而微軟亞洲研究院在計(jì)算機(jī)視覺頂會(huì) CVPR 2020 發(fā)表的兩項(xiàng)黑科技——基于紋理 Transformer 模型的圖像超分辨率技術(shù),和以三元域圖像翻譯為思路的老照片修復(fù)技術(shù),將能讓這些照片奇跡般地恢復(fù)如初。同時(shí),圖像超分別率技術(shù)將于近期上線 PowerPoint,未來也將有更多圖像修復(fù)技術(shù)集成進(jìn)微軟 Office 產(chǎn)品中。 從古老的膠片照相機(jī)到今天的數(shù)碼時(shí)代,人類拍攝和保存了大量的圖片信息,但這些圖片不可避免地存在各種不同程度的瑕疵。將圖片變得更清晰、更鮮活,一直是計(jì)算機(jī)視覺領(lǐng)域的重要話題。而無論是塵封多年的泛黃老照片、舊手機(jī)拍攝的低清晰度照片,還是你不慎手抖拍糊的照片,微軟亞洲研究院在計(jì)算機(jī)視覺頂會(huì) CVPR 2020 發(fā)表的兩項(xiàng)黑科技,都能讓它們重現(xiàn)光彩。 第一項(xiàng)技術(shù)是圖像超分辨率技術(shù),即從低分辨率圖像中恢復(fù)出自然、清晰的高分辨率圖像。與先前盲猜圖片細(xì)節(jié)的方法不同,我們引入一張高分辨率參考圖像來指引整個(gè)超分辨率過程。高分辨率參考圖像的引入,將圖像超分辨率問題由較為困難的紋理恢復(fù)/生成轉(zhuǎn)化為了相對簡單的紋理搜索與遷移,使得超分辨率結(jié)果在指標(biāo)以及視覺效果上有了顯著的提升。 進(jìn)一步,我們提出老照片修復(fù)技術(shù)。與其他圖片修復(fù)任務(wù)相比,這是一項(xiàng)更為困難的任務(wù)——老照片往往同時(shí)含有多種瑕疵,如褶皺、破損、膠片噪聲、顏色泛黃,也沒有合適的數(shù)據(jù)集來模擬如此復(fù)雜的退化。為此,我們將問題規(guī)劃為三元域圖片翻譯,訓(xùn)練得到的模型可以很好地泛化到實(shí)際老照片,并取得驚艷的修復(fù)效果。 Transformer 結(jié)構(gòu)被廣泛應(yīng)用于自然語言處理任務(wù),取得了顯著的成果,然而其在圖像生成領(lǐng)域中鮮有應(yīng)用。針對于圖像超分辨率問題,微軟亞洲研究院創(chuàng)新性地提出了一種基于紋理 Transformer 模型的圖像超分辯率方法(TTSR),取得了顯著的效果。該模型可以有效地搜索與遷移高清的紋理信息,最大程度地利用了參考圖像的信息,并正確地將高清紋理遷移到生成的超分辨率結(jié)果當(dāng)中,解決紋理模糊和紋理失真的問題。 紋理 Transformer 模型 如圖1所示,微軟亞洲研究院提出的紋理 Transformer 模型包括:可學(xué)習(xí)的紋理提取器模塊(Learnable Texture Extractor)、相關(guān)性嵌入模塊(Relevance Embedding)、硬注意力模塊(Hard Attention)、軟注意力模塊(Soft Attention)。以下分別針對上述四個(gè)模塊展開介紹。 圖1:本文提出的紋理 Transformer 模型 可學(xué)習(xí)的紋理提取器。對于紋理信息的提取,目前主流的方法是將圖像輸入到預(yù)訓(xùn)練好的 VGG 網(wǎng)絡(luò)中,提取中間的一些淺層特征作為圖像的紋理信息。然而,這種方式有明顯的缺陷。首先,VGG 網(wǎng)絡(luò)的訓(xùn)練目標(biāo)是以語義為導(dǎo)向的圖像類別標(biāo)簽,其高層級的語義信息與我們所需要的低層級的紋理信息有著很大的差異。因此,以 VGG 模型中間層的特征作為紋理特征是值得商榷的。其次,對于不同的任務(wù),所需要提取的紋理信息是有差別的,使用預(yù)訓(xùn)練好并且固定權(quán)重的 VGG 網(wǎng)絡(luò)是缺乏靈活性的。對此,我們在紋理 Transformer 中提出了一種可學(xué)習(xí)的紋理提取器。該紋理提取器是一個(gè)淺層的卷積神經(jīng)網(wǎng)絡(luò),隨著 Transformer 的訓(xùn)練,該提取器也在訓(xùn)練過程中不斷更新自己的參數(shù)。該設(shè)計(jì)使得我們的紋理特征提取器能夠提取到最適合圖像生成任務(wù)的紋理信息,為后面的紋理搜索與遷移提供了很好的基礎(chǔ),進(jìn)而更加有利于高質(zhì)量結(jié)果的生成。 相關(guān)性嵌入模塊。如圖1所示,與傳統(tǒng)的 Transformer 一樣,本文提出的紋理 Transformer 同樣具有 Q、K、V 要素。其中 Q 為 Query,代表從低分辨率提取出的紋理特征信息,用來進(jìn)行紋理搜索;K 為 Key,代表高分辨率參考圖像經(jīng)過先下采樣再上采樣得到的與低分辨率圖像分布一致的圖像的紋理信息,用來進(jìn)行紋理搜索;V為 Value,代表原參考圖像的紋理信息,用來進(jìn)行紋理遷移。對于 Q 和 K,本文提出了一個(gè)相關(guān)性嵌入模塊來建立低分辨率輸入圖像和參考圖像之間的關(guān)系。具體的,該模塊將 Q 和 K 分別像卷積計(jì)算一樣提取出特征塊,然后以內(nèi)積的方式計(jì)算 Q 和 K 中的特征塊兩兩之間的相關(guān)性。內(nèi)積越大的地方代表兩個(gè)特征塊之間的相關(guān)性越強(qiáng),可遷移的高頻紋理信息越多。反之,內(nèi)積越小的地方代表兩個(gè)特征塊之間的相關(guān)性越弱,可遷移的高頻紋理信息越少。相關(guān)性嵌入模塊會(huì)輸出一個(gè)硬注意力圖和一個(gè)軟注意力圖。其中,硬注意力圖記錄了對 Q 中的每一個(gè)特征塊,K 中對應(yīng)的最相關(guān)的特征塊的位置;軟注意力圖記錄了這個(gè)最相關(guān)的特征塊的具體相關(guān)性,即內(nèi)積大小。這兩個(gè)圖分別會(huì)應(yīng)用到硬注意力模塊和軟注意力模塊中。 硬注意力模塊。在硬注意力模塊中,我們利用硬注意力圖中所記錄的位置,從 V 中遷移對應(yīng)位置的特征塊,進(jìn)而組合成一個(gè)遷移紋理特征圖 T。T 的每個(gè)位置包含了參考圖像中最相似的位置的高頻紋理特征。T 隨后會(huì)與骨干網(wǎng)絡(luò)中的特征進(jìn)行通道級聯(lián),并通過一個(gè)卷積層得到融合的特征。 軟注意力模塊。在軟注意力模塊中,上述融合的特征會(huì)與軟注意力圖進(jìn)行對應(yīng)位置的點(diǎn)乘。基于這樣的設(shè)計(jì),相關(guān)性強(qiáng)的紋理信息能夠賦予相對更大的權(quán)重;相關(guān)性弱的紋理信息,能夠因小權(quán)重得到抑制。因此,軟注意力模塊能夠使得遷移過來的高頻紋理特征得到更準(zhǔn)確的利用。 跨層級特征融合 傳統(tǒng) Transformer 通過堆疊使得模型具有更強(qiáng)的表達(dá)能力,然而在圖像生成問題中,簡單的堆疊很難產(chǎn)生很好的效果。因此,本文為了進(jìn)一步提升模型對參考圖像信息的提取和利用,有針對性地提出了跨層級的特征融合機(jī)制。我們將所提出的紋理Transformer 應(yīng)用于 x1、x2、x4 三個(gè)不同的層級,并將不同層級間的特征通過上采樣或帶步長的卷積進(jìn)行交叉融合。通過上述方式,不同粒度的參考圖像信息會(huì)滲透到不同的層級,從而使得網(wǎng)絡(luò)的特征表達(dá)能力增強(qiáng),提高生成圖像的質(zhì)量。 圖2:多個(gè)紋理 Transformer 跨層級堆疊模型 訓(xùn)練損失函數(shù) 本文的訓(xùn)練損失函數(shù)由三部分組成,分別為重建損失,對抗訓(xùn)練損失和感知損失,具體如下式所示: 重建損失。本文選取 L1 作為重建損失函數(shù),相對于 L2,L1 可以得到更加清晰的結(jié)果圖像,具體如下式所示: 對抗訓(xùn)練損失。相對于重建損失函數(shù)要求生成圖像逐像素與原始圖像一致,對抗訓(xùn)練損失函數(shù)相對約束較弱,僅要求生成圖像與原始圖像分布一致,進(jìn)而能生成更加清晰、真實(shí)的紋理,其具體計(jì)算過程如下式所示: 感知損失。感知損失是施加在特定的預(yù)訓(xùn)練網(wǎng)絡(luò)的特征空間中的一種特殊的“重建損失”。本文的感知損失分為兩部分,第一部分選取了 VGG 網(wǎng)絡(luò)作為結(jié)果圖像與原始圖像的特征提取網(wǎng)絡(luò);另一部分,選取了文中訓(xùn)練得到的紋理提取器網(wǎng)絡(luò)作為結(jié)果圖像的特征提取網(wǎng)絡(luò),與遷移特征T進(jìn)行約束,具體如下式所示: 實(shí)驗(yàn)結(jié)果與分析 本文在 CUFED5、Sun80、Urban100、Manga109 數(shù)據(jù)集上針對文中提出的方法(TTSR)進(jìn)行了量化的比較,具體如表1所示。 表1:本文提出的 TTSR 與現(xiàn)有方法在不同數(shù)據(jù)集上的量化比較結(jié)果 另一方面,本文還進(jìn)行了用戶調(diào)查,證實(shí)我們提出的方法在超過 90% 數(shù)據(jù)上取得了更好的結(jié)果,進(jìn)一步證實(shí)了本文提出方法的有效性,具體如圖3所示。 圖3:用戶調(diào)查結(jié)果 圖4展示了本文提出的方法(TTSR)與現(xiàn)有的方法在不同數(shù)據(jù)集上的視覺比較結(jié)果,可以發(fā)現(xiàn)本文提出的方法顯著領(lǐng)先于其他方法的結(jié)果。 圖4:本文提出的 TTSR 與現(xiàn)有方法在不同數(shù)據(jù)集上的視覺比較結(jié)果 關(guān)于本文更多的技術(shù)細(xì)節(jié),歡迎關(guān)注我們在 CVPR 2020 上發(fā)表的論文 “Learning Texture Transformer Network for Image Super-Resolution”。相關(guān)的代碼和預(yù)訓(xùn)練模型將于近期公布在 GitHub 上。 論文鏈接:https:///abs/2006.04139 最近,一段由 AI 修復(fù)的清朝北京影像在社交平臺(tái)大火,視頻修復(fù)后的老北京街頭栩栩如生,讓人仿佛置身于那個(gè)年代。相比于此前簡單的依次應(yīng)用去噪、去模糊等修復(fù)方法,微軟亞洲研究院的研究員們提出了專門針對老照片或電影修復(fù)的端到端的神經(jīng)網(wǎng)絡(luò)處理方法,達(dá)到了目前最高質(zhì)量的照片修復(fù)效果。該研究成果將在 CVPR 2020 發(fā)表口頭報(bào)告。 圖5:常見的老照片瑕疵非常復(fù)雜,包括破損、折痕、模糊、膠片噪聲、泛黃等等。 與一般圖像修復(fù)不同的是,老照片中往往包含多種瑕疵(如圖5),且不同年代的圖片由于攝影技術(shù)的不同,其畸變類型有著顯著差異。這使得在合成數(shù)據(jù)集上訓(xùn)練得到的模型難以適應(yīng)于實(shí)際老照片的修復(fù)。與常見圖片修復(fù)依賴配對監(jiān)督信號不同,我們將老照片修復(fù)問題定義為在三個(gè)圖片域之間的圖片翻譯(triplet domain translation):實(shí)際待修復(fù)老照片(X)、合成圖像(R)以及無瑕疵高質(zhì)量目標(biāo)域圖片(Y) 分別視為三個(gè)圖片域,我們希望學(xué)習(xí)得到 X→Z 的映射(如圖6)。其中,合成圖片與目標(biāo)域圖片形成配對關(guān)系。 ![]() 圖6:三元域圖像翻譯框架(triplet domain translation)。X 為真實(shí)老照片域,R 為合成圖片, Z 為無瑕疵高質(zhì)量圖片。 若直接利用合成數(shù)據(jù)集以及目標(biāo)域圖片的配對關(guān)系,訓(xùn)練得到的模型難以泛化到對真實(shí)老照片的處理。于是我們提出,將老照片與合成照片映射到同一個(gè)隱空間當(dāng)中(Z_X ≈Z_R),之后通過學(xué)習(xí)隱空間映射 T_Z,將畸變圖片映射到目標(biāo)域圖片的隱空間,即 Z_Y。該三元域圖片翻譯框架對于我們的真實(shí)照片修復(fù)有著若干優(yōu)勢。首先,合成圖片視覺上與真實(shí)老照片較為接近,二者的分布有著一定重疊,因而我們可以較容易地將它們映射到同一隱空間。在共有隱空間做圖像修復(fù),可以大大提高修復(fù)網(wǎng)絡(luò)對于真實(shí)照片的泛化能力。其次,相較于 CycleGAN 等無監(jiān)督翻譯方法,我們的半監(jiān)督學(xué)習(xí)圖片修復(fù)充分利用了合成數(shù)據(jù)集的配對監(jiān)督,從而實(shí)現(xiàn)對真實(shí)老照片的高質(zhì)量修復(fù)。 我們采用如圖7的網(wǎng)絡(luò)結(jié)構(gòu)來實(shí)現(xiàn)三元域圖像翻譯。具體地,我們提出用兩個(gè)變分自編碼器(variational autoencoder,VAE)來分別得到兩個(gè)隱空間 Z_X(≈Z_R)和Z_Y。第一個(gè)自編碼器(VAE1)學(xué)習(xí)重建真實(shí)圖片與合成圖片,并在中間用一個(gè)對抗學(xué)習(xí)的判別網(wǎng)絡(luò)將兩種輸入的隱空間對齊到同一空間。這里我們采用變分編碼器而不是普通的自編碼器,這是因?yàn)樽兎志幋a器假設(shè)隱空間滿足高斯先驗(yàn)(Gaussian prior),因而圖片的隱空間編碼更為緊湊,兩種輸入域的分布更容易被拉近。 類似的,我們用第二個(gè)自編碼器 VAE2 得到高質(zhì)量目標(biāo)圖片的隱空間編碼。之后,我們固定兩個(gè) VAE 的編解碼器,利用合成圖片與目標(biāo)圖片的顯式配對關(guān)系(標(biāo)識為紅色框),學(xué)習(xí)一個(gè)額外的隱空間映射(藍(lán)色虛線),以實(shí)現(xiàn)對圖片的修復(fù)。 ![]() 圖7:老照片修復(fù)網(wǎng)絡(luò)框架 此外,我們注意到老照片的瑕疵可以歸類為局部損傷以及廣泛性損傷。局部損傷有照片破損、污漬、劃痕、褶皺等等,往往照片含有內(nèi)容上的損壞,需要網(wǎng)絡(luò)利用全局語義信息來實(shí)現(xiàn)修復(fù);廣泛性損傷指圖片模糊、膠片噪聲、顏色泛黃等整張照片均勻程度受到影響,修復(fù)僅需圖片局部信息。因而,我們的隱空間修復(fù)網(wǎng)絡(luò)采用局部-全局視野融合,其中全局支路采用 nonlocal 模塊大大增強(qiáng)處理視野。我們對局部破損圖片建立了數(shù)據(jù)集,訓(xùn)練網(wǎng)絡(luò)預(yù)測破損區(qū)域,該破損區(qū)域顯式的送入 nonlocal 模塊,并設(shè)置模塊感受野為非破損區(qū)域(論文中稱為 partial nonlocal 模塊)。 至此,網(wǎng)絡(luò)可以像修復(fù)合成圖片一樣,高質(zhì)量的復(fù)原實(shí)際老照片。在我們的方法中,我們另外摳出照片中人臉部分,在人臉數(shù)據(jù)集上訓(xùn)練網(wǎng)絡(luò)進(jìn)一步優(yōu)化人臉的細(xì)節(jié)。 ![]() 圖8:與不同種基線方法的對比 下面我們呈現(xiàn)更多的照片處理結(jié)果,該方法針對不同年代的圖片均有理想的修復(fù)效果。 ![]() 我們也收集了一些好萊塢影星的老照片進(jìn)行了修復(fù)處理,讓大家一睹明星們年少時(shí)的風(fēng)采。 ![]() ![]() 更多老照片修復(fù)的技術(shù)細(xì)節(jié)請?jiān)斠娢覀兊?CVPR 2020 論文 “Bringing Old Photo Back to Life” 。 論文鏈接:https:///abs/2004.09484 微軟亞洲研究院有著更多類似的有趣的技術(shù)。在此前的 CVPR 論文中,我們就曾提出黑白視頻的自動(dòng)上色技術(shù)。下面是一段對電影的上色結(jié)果。 論文鏈接:https:///abs/1906.09909 ![]() 本文介紹的圖像超分別率技術(shù)將于近期上線 PowerPoint,未來也將會(huì)有更多圖像修復(fù)相關(guān)的技術(shù)集成進(jìn)微軟 Office 的多項(xiàng)產(chǎn)品之中。相信我們在圖片修復(fù)方面的努力,以及這一系列技術(shù)的融合將為我們感知的世界賦予更多的美好。 |
|