1. 程式人生 > >深度-影象風格變換【二】

深度-影象風格變換【二】

深度卷積神經網路影象風格變換

Taylor Guo, 2017年4月23日 星期日 - 4月27日星期四

摘要

本文介紹了深度學習方法的影象風格轉換,處理各種各樣的影象內容,保持高保真的參考風格變換。我們的方法構建於最近繪畫風格變換基礎上,用神經網路的不同網路層從影象內容上將風格分離。然而,這個方法並不適用於寫實風格變換。即使輸入影象和參考影象都是真實照片,輸出影象仍然像衣服變舊扭曲的繪畫。我們的貢獻是將從輸入影象到輸出影象的變換約束在色彩空間的區域性仿射變換中,將這個約束表示成一個完全可微的引數項。我們發現這種方法成功地抑制了影象扭曲,在各種各樣的場景中生成了滿意的真實影象風格變換,包括一天中時間變換,天氣,季節和藝術編輯風格變換。

1.  簡介

影象風格轉換是一個經久不衰的話題,將參考風格影象的風格轉換到另一個輸入影象中。比如,選擇一種參考風格影象,可以將在不同光照,不同時段,不同季節拍攝的照片,藝術化地轉換成不同的風格。目前,現有的技術有侷限性,只能處理它們可以處理的特定場景和變換。本文介紹深度學習的影象風格變換,可以在更寬泛的時間和更豐富的影象內容上精確地轉換成參考風格。我們的方法基於論文5的卷積網路風格變換。但是,如圖1所示,輸入圖片和參考風格影象都是拍攝好的影象,輸出的影象卻像是一幅繪畫,比如直線彎曲,紋理扭曲。我們的貢獻是去除這些像手繪的空間扭曲,將變換操作只作用在色彩空間上。我們用一個色彩空間上的區域性仿射變換模型解決這個問題,用拉普拉斯摳圖矩陣表示一個完全可微項。這種方法成功地抑制了影象扭曲,對風格變換影響非常小。另外一個主要貢獻是對變換過程中由於輸入影象和參考影象的內容不同而導致的不相關內容不在預期範圍內的變換的出現提供瞭解決方案。比如,一個輸入影象的天空內容比較少,風格變換可能會忽略掉內容上的差異而導致天空風格“溢位”到影象的其他部分。我們用輸入影象和參考影象的語義分割來處理這一問題。我們證明了這個方法的有效性,滿足各種各樣的場景下逼真的風格轉移,包括時間、天氣、季節和藝術編輯的轉移。

圖1:給定一個參考風格影象(a)和一個輸入影象(b),我們可以生成和輸入影象相同場景的輸出影象,但風格是參考影象風格。Neural Style演算法(c)成功地轉移了顏色,但也產生了扭曲使輸出影象看起來像一幅畫,並不是影象風格轉移中需要的內容。對比之下,我們的結果(d)轉移參考風格影象的顏色比較好,保留的輸出影象的寫實性。右邊(e),我們顯示了(b),(c),(d)的3個子集。縮小後對比結果。

1.1  挑戰和貢獻

從實踐的角度來看,我們的貢獻了一個有效的演算法,適用於許多應用的攝影風格轉移,如改變圖片中一天的時間或天氣,或將藝術風格編輯從一個照片轉移到另一個。為了實現這個結果,我們必須解決兩個基本的問題。

結構保留。這在我們的目標中,有一種內在的矛盾。一方面,我們想要獲得非常強烈的區域性效果,比如,開啟摩天大樓上的某個窗戶的燈光,如圖1所示。另外一方面,這些效果不應該扭曲邊緣和規則的圖案,例如,視窗仍然保持網格對齊。形式上,我們尋找一種可以強烈改變影象顏色,卻沒有任何幾何變化的效果,比如沒有移動或扭曲。Reinhard最初用全域性顏色變換解決這一挑戰。但是,根據定義,這一變換不能對空間變化的影響進行建模,因此只能處理特定的風格。更多需要空間變化效果的表現力時,就會進一步增加防止空間失真的挑戰。有一些技術可以處理特定場景,但通用的情況仍然無法解決。我們的工作是承接這一挑戰提供了第一個解決方案,將方案空間限制到逼真影象上,從而處理了從繪畫中分辨影象的基本問題。

語義精度和轉移保真度。現實世界場景的複雜性提出了另一個挑戰:轉移應尊重場景的語義。例如,在城市景觀中,建築物的外觀應該與建築物相匹配,天空和天空相匹配;不能讓天空看起來像建築物。一個合理的方法是用風格影象中最相似的區域匹配每個輸入神經區域,以儘量減少不準確轉移的可能性。這個策略本質上是卷積網路和馬爾科夫隨機場方法,如論文10。儘管很有道理,但我們發現它往往導致一些結果,很多輸入影象區域會和同一風格影象區域匹配,其他整個風格影象區域會被忽略,生成的輸出影象和預期的風格匹配很差。

這個問題的一個解決方法是用神經網路反饋克萊姆矩陣的參考風格影象轉移完整的“風格分佈”。這個方法可以成功地防止任何區域被忽略。然而,可能有些場景元素比參考影象中的被更多(或更少)地表示在輸入影象中。在這種情況下,參考風格影象中的大規模元素的風格就會“溢位”到輸入影象的沒有匹配的元素上去,產生一些錯誤比如建築的紋理放在的天空中。我們的工作的一個貢獻是將輸入影象和風格影象的語義標註整合到整個轉移過程中,這樣在相同語義的次區域間和每個次區域上進行風格轉移,對映就會趨向均勻。正如我們將看到的,該演算法保留了所需的風格的豐富性,並防止溢位效應。這些問題如圖2所描述。

圖2:給定輸入影象(a)和參考風格影象(e),Neural Style結果(b)和CNNMRF結果(c)與我們的結果(d)對比時,由於強烈的扭曲表現出人為的痕跡。在f,g,h中,我們計算了輸出影象和參考風格的對應關係,對每個畫素,我們對參考風格影象中最近的XY座標進行編碼,顏色值為(R,G,B)=(0, 255×Y/height,255×X/width)。與CNNMRF相似,用VGG-19 conv3_1上的神經反饋的L2正規化查詢最近的神經區域。Neural Style計算參考風格影象的全域性統計資料,在f圖的對應關係中,生成的紋理不匹配,比如輸出影象的天空部分被映射了參考風格影象中的建築部分。CNNMRF在參考風格影象上執行了最近鄰搜尋,如圖g所示出現了多對一的對映,比如,建築物。相比之下,我們的結果(d)阻止了扭曲,正確地匹配了紋理,如圖(h)中的對應關係。

1.2  相關工作

全域性風格變換演算法用空間不變的轉換方法處理影象。這些方法非常有效可以處理簡單的變換,比如全域性顏色變換(比如,sepia)和色調曲線(比如,高低對比度)。比如,Reinhard將輸入影象和參考風格影象轉換成無相關關係的色彩空間後匹配它們之間的均值和標準差。Pitie用一系列的1維直方圖轉換成3維彩色直方圖。在後面我們會看到,這些方法在複雜風格匹配上都有侷限性。

區域性風格轉移演算法基於空間色彩對映,更有效,也能處理各種不同類別的應用,比如一天的色彩變換,藝術風格編輯的轉移,天氣和季節改變,繪畫風格化。我們的工作和Gatys的工作相關,採用區別訓練的深度卷積神經網路的特徵對映,如VGG-19在繪畫風格轉移中實現的突破性效能。與這些技術的主要差別是我們是影象的真實風格變換,如之前討論的,主要矛盾是區域性變化和全域性一致性。在這個方面,我們的演算法是和影象處理演算法相關的。與這些專用場景的技術不同,我們的方法通用,可以處理更多各種各樣的影象風格。

2.  方法

我們的演算法使用2張影象:一個輸入影象,就是一般的普通照片;一個風格化參考影象,即參考風格影象。將參考影象風格轉移到輸入影象中,同時保持結果的真實性。我們的方法引入了2個核心思路,增強了論文5的演算法:

  • 我們提出了一種優化過程中目標函式的影象寫實正則化引數項,約束重構影象用輸入影象的區域性仿射色彩變換防止扭曲。

  • 基於輸入影象的語義分割,針對風格轉移過程,我們引入了一個可選的指南以避免內容無法匹配的問題,極大地增強了結果的影象寫實性。

背景。為了完整性,總結一下論文5的神經網路風格演算法,將參考風格影象S轉移到輸入影象I上,用最小化目標函式生成一個輸出影象O:

其中,L是卷積層總數量,l是深度卷積神經網路的第l層卷積層。每層都有Nl個濾波器每個是大小為Dl的向量特徵地圖。是特徵矩陣,(i,j)是序號,

克萊姆矩陣

定義為向量特徵地圖之間的內積。αl和βl是配置層偏置的權重,Γ是平衡影象內容(等式1b)和影象風格之間取捨關係的權重。

影象寫實正則化。下面描述如何規範化優化流程以保留輸入影象的結構,生成寫實風格的影象輸出。這個策略不是直接在輸出影象上新增約束來表示,而是在作用到輸入影象的變換上。描述寫實影象的特徵空間是一個還沒有解決的問題。如果使用的輸入影象本來就是寫實的話,就不需要處理這個問題了。我們的策略是在風格轉移的過程中,通過給等式1a新增一個與影象扭曲相關的懲罰項,確保不會丟失其屬性。我們的方案是尋找一個色彩空間的影象區域性仿射變換,也就是,對於每一個輸出區塊,存在一個仿射函式將輸入影象的RGB值對映到對應的輸出對應的位置上去。每個區域的仿射函式都不同,隨空間變化。直覺上,可以考慮使用邊緣檢測區塊。RGB通道的仿射合併會生成一組變數,但邊緣不會移動,因為它在所有通道上都在相同的位置上。

論文9的拉普拉斯摳圖演算法已經演示瞭如何表示灰度摳圖,我們在輸入影象RGB通道的區域性仿射合併上構建拉普拉斯摳圖演算法。他們使用了一個最小二乘懲罰函式, 這個懲罰函式可以用輸入影象I的矩陣ΜI(建議檢視論文的推導細節。注意給定一個有N個畫素的輸入影象I,MI是N×N矩陣)表示的標準線性系統最小化。定義是輸出影象O的(N×1)向量版本,定義如下的正則項懲罰不能很好地用區域性仿射變換解釋的輸出:

在梯度處理器中使用這個項需要計算輸出影象的導數。MI是對稱矩陣,則

語義分割增強風格損失函式。等式1c中影象風格項的限制是從整幅影象中計算克萊姆矩陣。克萊姆矩陣將組成向量組織成等距向量,隱式地對神經反應的精確分佈進行編碼,限制了其適應語義內容變化的能力,導致“溢位”。我們用與Neural Doodle和Deeplab語義分割相似的方法對帶有一組通用標籤(天空,建築,水等)的輸入影象和參考影象生成影象分割遮罩。我們將遮罩新增到輸入影象上作為另一個通道,通過傳播語義分割通道增強神經網路風格演算法,用如下函式更新風格損失:

其中,C是語義分割遮罩中的通道數量,是第l層的語義分割遮罩的通道c,是與對應的克萊姆矩陣。在卷積神經網路的每層,對遮罩降取樣以匹配特徵地圖空間大小。

為了避免輸入影象上出現“孤兒語義標籤”,強制輸入影象語義標籤從參考風格影象的標籤上選擇。選擇的標籤通常都和內容一致,比如“湖”和“海”,但從語義觀點看這可能導致錯誤標籤。最終的輸出影象被正則化項限制,可以看到分割不需要在畫素級別那麼精準。

方法。將3部分組合起來形成寫實風格轉移目標函式:

其中L是卷積層總數,l是深度神經網路的第l個卷積層。Γ是控制風格損失的權重。αl和βl是配置層選項的權重。λ是控制寫實正則化的權重。

是內容損失(等式1b)。

是增強的風格損失(等式3a)。

是影象寫實正則化(等式2)。

3  實現細節

本章實現了方法的細節。採用預先訓練的VGG-19作為特徵提取器。選擇conv4_2(這層αl=1,其他所有層αl=0)作為內容表示, conv1_1, conv2_1, conv3_1, conv4_1, conv5_1(這些層βl=1/5,所有其他層βl=0)作為風格表示。這些層的取值和引數Γ=102 ,λ=104作用於所有結果。λ的取值效果演示如圖3所示。

圖3:將差別比較大的參考風格影象(a圖的左下)轉移到一個普通的水平影象中(a)是非常具有挑戰性的。我們用不同的λ引數生成了結果。太小的λ值不能阻止扭曲,結果看起來就不太寫實,如圖(b,c)。相反,太大的λ會抑制風格的轉移而生成一個看上去半轉移的風格,如圖(e,f)所示。我們發現最好的引數λ=104是最好的值,生成我們的結果(d),還有本文中的其他結果。

我們使用論文9作者之前的matlab實現計算拉普拉斯摳圖矩陣,修改了神經網路風格演算法的開源torch實現。照片寫實正則化項的導數用cuda實現,用於梯度優化。

我們用增強風格損失(等式3a)的神經網路風格演算法的輸出(等式1a)初始化優化演算法,優化演算法初始化時使用一個隨機噪聲。這種2步優化比等式4效果更好,由於強大的影象寫實正則化,它可以防止對恰當的區域性色彩轉移的抑制。

我們用論文3的DilatedNet分割輸入影象和參考風格影象。這個技術識別了150個分類,我們發現這種精細的分類沒有必要,這是導致演算法不穩定的一個來源。我們合併了相似的分類,比如,湖、河、海洋和水,這些在我們的應用中是一樣的,可以生成一組精簡的分類,可以產生更清晰,更簡單的分割,最終會生成更好的輸出。合併後的標註,如附件詳細說明。程式碼如下:https://github.com/luanfujun/deep-photo-styletransfer。

4.  結果與對比

我們做了一系列的實現來驗證我們的方法。在報告結果之前,先討論一下之前的工作。

圖4:我們方法與Neural Style和CNNMRF對比。Neural Style和CNNMRF合成的影象上都有很強的扭曲。Neural Style在風格轉移的過程完全忽略了語義內容。CNNMRF使用最鄰近搜尋,會忽略參考風格影象上的大部分問題。我們的方法不會扭曲,匹配語義紋理。

如圖4,我們在一系列室內和室外場景上對比了我們的方法和論文5神經網路風格變換與論文10 CNNMRF的方法。兩種技術都會產生像繪畫的扭曲,是在影象風格轉移中不希望得到的。神經網路風格變換還受到溢位的影響,比如,天空用了地面的風格。如之前討論的CNNMRF經常生成部分風格轉移,而忽略了風格影象的主要部分。對比之下,我們的影象寫實風格正則化和語義分割防止這些人為情況發生,我們的結果看上去更令人滿意。

圖5:我們的方法和論文12Reinhard和論文11Pitie方法對比。我們的方法在轉移空間變化色彩改變時更具彈性,比之前方法提供更好的結果。

圖5中,我們對比了我們的方法和不會扭曲影象的全域性風格轉移方法。兩種技術都使用了全域性色彩對映匹配輸入影象和風格影象之間的色彩統計,在轉移需要空間變化色彩變換時,確保結果高保真。我們的轉移是區域性的,可以處理對內容敏感的色彩變化。

圖6:我們的方法和論文15Shih的方法生成視覺上滿意的結果。然而,我們的演算法只需要單張風格影象,而不是一整個耗時的視訊,而且它還可以處理其他一天內變化的場景。

在圖6中,我們與論文15Shih對比了一天中光照變化的場景。兩個結果看起來非常不同因為我們的演算法直接複製了參考風格影象,Shih的方法只是一種模擬技術,轉換視訊中的色彩變化。兩個結果視覺上都令人滿意,哪個更有用取決於應用。從技術角度看,我們的方法更實際,因為只需要在輸入影象上新增一張風格照片,Shih的變換需要一個視訊,更少的媒介更多的儲存空間。除了一天中光照的變換,我們的演算法還能處理更多的場景。

圖7:手動分割可以處理不同的任務,比如轉移火球(b)到一個香水瓶上(a)生成一個火光的樣子(c),或者在不同蘋果間切換紋理(d,e)。

圖7中,只需要提供語義遮罩就可以簡單地控制轉移結果。這種使用案例可以應用於藝術照片應用場合,它還可以應用於語義標籤不起作用的極端情況,比如將透明香水瓶和火球匹配。

圖8:極端不匹配時的失效案例。

圖8顯示了極端不匹配情況下的失效案例。可以使用手動分割進行修復。

我們提供更多的結果與論文19比較,結果是語義分割或影象寫實正則化單獨分開的,在補充資料中有處理帶噪聲或高解析度的輸入影象的方案。所有生成的結果都是用NVidia Titan X GPU上用2步優化方法在3~5分鐘內優化的。

使用者研究。我們用兩種使用者研究來驗證我們的工作。首先,評估了幾種影象寫實方法:我們的,論文11Pitie的直方圖轉移方法,CNNMRF方法,Neural Style方法。要求使用者對影象進行打分從1到4來評“肯定不是真實影象”到“肯定是真實影象”。4個方法每個使用了8種不同場景,共計32個問題。每個問題平均收集了40個反饋。圖9a是CNNMRF和Neural Style生成的非寫實結果,這些技術都生成了繪畫一樣的扭曲。儘管我們的得分低於直方圖轉移方法,但它其實生成了寫實的影象輸出。受這個結果的影響,我們第二次研究了風格轉移技術的保真度。我們發現全域性方法可以在各種不同等級風格保真度下一致性地生成不扭曲的結果。在第二次研究中,我們對比了幾種不同的全域性方法:Reinhard論文12的統計轉移,Pitie論文11的直方圖轉移和Photoshop Match Color。給使用者展示一張風格影象和4個轉移輸出,3個之前提到的全域性方法和我們的(隨機提供以避免偏差),使用者被要求選擇和參考風格影象風格最相似的影象。我們故意不提供輸入影象,這樣使用者就專注於輸出影象。我們展示了20個對比,平均每個問題收集了35個反饋。研究表明我們的演算法生成的保真度最高超過80%(如圖9b)。我們在補充資料中提供了使用者研究的網站。

圖9:使用者研究結果表明我們的演算法生成寫實的和高保真的結果。

5.  結論

我們介紹了一種深度學習方法,可以在不同的影象內容上從參考風格影象上高保真的轉移風格。使用了拉普拉斯摳圖變換約束從色彩空間上從輸入到輸出的區域性仿射變換。語義分割可以轉移更多有意義的風格生成令人滿意的寫實影象,應用於多種場景,包括轉移一天內的不同時間段,天氣,季節和藝術編輯。

歡迎勾搭  

TaylorGuo @ Shanghai EJU

2017年4月23日星期日 - 4月27日星期四

參考文獻

 [1] S. Bae, S. Paris, and F. Durand. Two-scale tone management for photographic look. In ACM Transactions on Graphics (TOG), volume 25,pages 637–645. ACM, 2006. 2, 4

crfs. arXiv preprint arXiv:1606.00915, 2016. 2, 4, 5

[4] J. R. Gardner, M. J. Kusner, Y. Li, P. Upchurch,K. Q. Weinberger, K. Bala, and J. E. Hopcroft. Deepmanifold traversal: Changing labels with convolutional features. CoRR, abs/1511.06421, 2015. 2

[5] L. A. Gatys, A. S. Ecker, and M. Bethge. Image style transfer using convolutional neuralnetworks. InProceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages2414–2423, 2016. 1, 2, 3, 5

[6] A. Hertzmann, C. E. Jacobs, N. Oliver, B. Curless,and D. H.Salesin. Image analogies. In Proceedings of the 28th annual conferenceon Computer graphics and interactive techniques, pages 327–340. ACM, 2001. 2

[7] J. Johnson. neural-style.https://github.com/jcjohnson/neural-style, 2015. 4

[9] A. Levin, D. Lischinski, and Y.Weiss. A closed-form solution to natural image matting. IEEE Transactions on Pattern Analysis and MachineIntelligence, 30(2):228–242, 2008. 2, 4

[11] F. Pitie, A. C. Kokaram, and R. Dahyot. N-dimensional probability density function transferand its application to color transfer. In Tenth IEEE International Conference on ComputerVision (ICCV’05) Volume 1, volume 2, pages 1434–1439. IEEE, 2005. 2, 5, 7

[12] E. Reinhard, M. Adhikhmin, B. Gooch, and P.Shirley. Color transfer between images. IEEE Computer Graphics and Applications, 21(5):34–41,2001. 2, 5, 7

[13] A. Selim, M. Elgharib, and L. Doyle. Paintingstyle transfer for head portraits using convolutional neural networks. ACM Transactionson Graphics (TOG), 35(4):129, 2016. 2

[14] Y. Shih, S. Paris, C. Barnes, W. T. Freeman, andF. Durand. Style transfer for headshot portraits. 2014. 2

[17] K. Sunkavalli, M. K. Johnson, W. Matusik, and H.Pfister. Multi-scale image harmonization. ACM Transactions on Graphics (TOG),29(4):125, 2010. 2

[18] E. W. Weisstein. Gram matrix. MathWorld–A WolframWeb Resource. http://mathworld.wolfram.com/GramMatrix.html

[19] F. Wu, W. Dong, Y. Kong, X. Mei, J.-C. Paul, andX. Zhang. Content-basedcolour transfer. In Computer Graphics Forum, volume 32, pages 190–203.Wiley Online Library, 2013. 5, 8