1. 程式人生 > >10.A Neural Algorithm of Artistic Style

10.A Neural Algorithm of Artistic Style

藝術風格的神經網路演算法

在精細工藝中,尤其是繪畫方面,人類已經掌握了通過在影象的內容和樣式之間複雜的相互作用來創造獨特的視覺體驗的技巧。到目前為止,這個過程的演算法基礎是未知的,並且沒有一個具有類似功能的人工系統。然而,在視覺感知的其他關鍵領域,如物體和人臉識別等,最近通過一種被稱為“深層神經網路”的生物啟發視覺模型來證明【1,2】。這裡我們介紹一個基於深層神經網路的人工系統創造了藝術影象高感知的質量。這個系統使用神經網路表徵來分離、重新組合任意影象的內容和樣式,提供一個神經網路創造藝術形象的演算法。此外,考慮到效能優化的人工神經網路和生物視覺之間驚人的相似之處【3-7】,我們的工作為我們提供了一條通往演算法的道路,讓我們瞭解人類是如何創造和感知藝術影象的。

在影象處理任務中最強大的深層神經網路被稱為卷積神經網路。卷積神經網路由多層小的計算單元組成,它以一種前饋的方式處理視覺資訊。每一層單元都可以被理解為影象過濾器的集合,每一層都從輸入影象中提取出特定的特徵。因此,給定層的輸出由所謂的特性對映組成:輸入影象的不同過濾版本。

當卷積神經網路被訓練在物件識別上時,它們會發展出一種影象的表示,使物件資訊在處理層次結構中變得越來越清晰【8】。因此,沿著網路的處理層次,輸入影象被轉換為表示,與其詳細的畫素值相比,該表示越來越關注影象的實際內容。我們可以直接從該層的特徵對映中重構影象,從而直接將每個層包含的資訊視覺化【9】(圖1 ,內容重構,檢視如何重建影象的詳細資訊)。網路中的較高層根據物件及其在輸入影象中的排列捕獲高階內容,但不限制重建的確切畫素值。(圖1 ,內容重構)。相比之下,底層的重構只是複製了原始影象的精確畫素值(圖1,內容重構)。因此,我們將網路的較高層中的特徵響應稱為內容表示。

為了獲得輸入影象風格的表示,我們使用一個最初設計用於捕獲紋理資訊的特徵空間【8】。 此功能空間構建在網路的每個層中的過濾器響應之上。 它由特徵圖空間範圍內不同過濾器響應之間的相關性組成(詳見方法)。 通過涵蓋多個層的特徵相關性,我們獲得輸入影象的靜態多尺度表示,其捕獲其紋理資訊而不是全域性佈置。

同樣,我們可以通過構造一個與給定輸入影象的風格表示相匹配的影象(圖1、樣式重構)來視覺化這些樣式特性空間所捕獲的資訊【10,11】。實際上,從風格特徵的重建產生了輸入影象的紋理化版本,其在顏色和區域性結構方面捕獲其一般外觀。此外,來自輸入影象的區域性影象結構的大小和複雜性也隨著層級結構的增加而增加,這一結果可以用越來越多的接受域大小和特徵複雜性來解釋。我們把這種多尺度的表示稱為風格表示。

本文的關鍵發現是,卷積神經網路中內容和風格的表示是可分離的。也就是說,我們可以獨立地操縱這兩個表述,以產生新的、有知覺的影象。為了演示這一發現,我們生成了將內容和樣式表示從兩個不同的源影象混合在一起的影象。特別地,我們將以一幅描繪德國圖賓根的“Neckarfront”的照片作為內容表示,從不同時期藝術作品中獲得的幾件著名藝術品的風格表現(圖2)。

通過查詢同時匹配照片的內容表示和相應藝術品的樣式表示的影象來合成影象(參見方法的詳細資訊)。在保留原始照片的全域性佈局的同時,由藝術品提供構成全域性風景的顏色和區域性結構。 實際上,這使得照片以藝術品的風格呈現,使得合成影象的外觀類似於藝術作品,即使其顯示與照片相同的內容。

如上所述,樣式表示是包括神經網路的多個層的多尺度表示。在我們在圖2中示出的影象中,樣式表示包括來自整個網路層次結構的層。 通過僅包括較少數量的較低層,也可以更區域性地定義樣式,從而導致不同的視覺體驗(圖3,沿著行)。 當將樣式表示匹配到網路中的更高層時,區域性影象結構在越來越大的範圍內匹配,從而導致更平滑和更連續的視覺體驗。因此,通常通過將樣式表示匹配到網路中的最高層(圖3,最後一行)來建立視覺上最吸引人的影象。

當然,影象內容和風格不能完全解開。當合成將​​一個影象的內容與另一個影象的樣式組合的影象時,通常不存在同時完全匹配兩個約束的影象。然而,我們在影象合成期間最小化的損失函式分別包含兩個部分的形式,即內容和樣式,它們是完全分離的(參見方法)。因此,我們可以順利地調整重構內容或風格的重點(圖3,沿著列)。對樣式的強調將導致影象與藝術品的外觀相匹配,有效地給出了紋理版本,但幾乎沒有顯示任何照片的內容(圖3,第一列)。當強調內容時,可以清楚地識別照片,但繪畫的風格不是很匹配(圖3,最後一欄)。對於特定的一對源影象,可以調整內容和樣式之間的權衡以建立視覺上吸引人的影象。

在這裡,我們提出了一種人工神經系統,它實現了影象內容與風格的分離,從而允許以任何其他影象的風格重構一個影象的內容。我們通過創造新的藝術影象來展示這一點,這些影象將幾種著名繪畫的風格與任意選擇的照片的內容相結合。特別地,我們從對物件識別訓練的高效能深層神經網路的特徵響應中,推匯出影象的內容和樣式的神經表示。據我們所知,這是第一次在整個自然影象中分離內容與風格的影象特徵。之前關於將內容與風格分離的研究,是在不太複雜的感官輸入上進行的,比如不同筆跡或臉部影象的字元,或者不同姿勢的小圖形【12,13】。

在我們的演示中,我們以一系列著名的藝術作品的風格呈現一張特定的照片。這個問題通常在計算機視覺的一個分支中被稱為非寫實的渲染(最近的回顧【14】)。概念上最接近的是使用紋理轉移來實現藝術風格轉移的方法【15-19】。然而,這些以前的方法主要依賴於非引數技術來直接操縱影象的畫素表示。與此相反,通過使用在物件識別上訓練的深層神經網路,我們在特徵空間中進行操作,明確地表示影象的高水平內容。

受過物體識別訓練的深度神經網路的特徵以前用於風格識別,以便根據創作時間對藝術品進行分類【20】。在那裡,分類器在原始網路啟用之上進行訓練,我們稱之為內容表示。 我們推測,轉換為靜態特徵空間(例如我們的樣式表示)可能會在樣式分類中實現更好的效能。

一般來說,我們合成影象的方法,將內容和風格從不同的來源混合,提供了一種新的、令人著迷的工具來研究藝術、風格和內容獨立的形象外觀的感知和神經表徵。我們可以設計新穎的刺激,引入兩種獨立的、有知覺的變異源:影象的外觀和內容。我們設想這對於從心理物理學到功能成像甚至電生理學神經記錄的視覺感知的廣泛實驗研究是有用的。實際上,我們的工作提供了一種演算法理解,即神經表示如何獨立地捕獲影象的內容及其呈現的樣式。重要的是,我們的風格表徵的數學形式產生了一個清晰的,可測試的假設,即關於影象外觀到單個神經元水平的表示。樣式表示簡單地計算網路中不同型別神經元之間的相關性。提取神經元之間的相關性是生物學上合理的計算,例如,通過主要視覺系統(V1)【21】中的所謂複雜細胞來實現。我們的結果表明,沿著腹側流在不同處理階段執行類似複雜細胞的計算將是獲得視覺輸入外觀的與內容無關的表示的可能方式。

總而言之,一個神經系統,它被訓練來執行生物視覺的核心計算任務,它會自動學習影象的表示,使影象內容與風格分離。解釋可能是,當學習物件識別時,網路必須對保留物件身份的所有影象變化保持不變。將影象內容的變化及其外觀變化分解的表示對於該任務是非常實用的。因此,我們從風格中抽象內容的能力,以及我們創造和享受藝術的能力,可能主要是我們視覺系統強大推理能力的卓越特徵。

 

-----------------------------方法------------------------------------

主要文字中提出的結果是在VGG網路的基礎上生成的【22】,VGG網路是一種卷積神經網路,可以在一個共同的視覺物件識別基準任務上與人類表現相媲美【23】,被引入並進行了廣泛的描述【22】。我們使用了由19層VGG網路的16個卷積層和5個池層。我們不使用任何全連線層。該模型是公開的,可以在caffe框架中進行探索【24】。對於影象合成,我們發現用平均池替換最大池操作改善了梯度流,並且獲得了更有吸引力的結果,這就是為什麼所示影象是用平均池生成的。

 

 
 


通常,網路中的每個層定義非線性濾波器組,其複雜度隨著網路中層的位置而增加。因此,通過對該影象的濾波器響應,在CNN的每個層中編碼給定的輸入影象x。 具有Nl個不同過濾器(卷積核)的層具有每個大小為M1的Nl個特徵對映,其中M1是高度乘以特徵對映的寬度。因此,層l中的響應可以儲存在矩陣F1∈RN1*Ml中,其中F1ij是層1中位置j處的第i個濾波器的啟用。為了視覺化在層次結構的不同層處編碼的影象資訊(圖1,內容重建),我們對白噪聲影象執行梯度下降以找到與原始影象的特徵響應匹配的另一影象。 因此,讓p和x是原始影象和生成的影象,並且P1和F1是它們在層l中的相應特徵表示。然後我們定義兩個特徵表示之間的平方誤差損失

 

 

 
 


相對於層l中的啟用,該損失的導數等於

 

從中可以使用標準誤差反向傳播來計算關於影象x的梯度。因此,我們可以改變初始隨機影象x,直到它在CNN的某一層中產生與原始影象p相同的響應。 圖1中的五個內容重建來自層'conv1 1'(a),'conv2 1'(b),'conv3 1'(c),'conv4 1'(d)和'conv5 1'(e) 最初的VGG網路。

 

 
 


在網路的每一層中的CNN響應之上,我們構建了一種樣式表示,其計算不同濾波器響應之間的相關性,其中,期望是在輸入影象的空間擴充套件上獲得的。這些特徵相關性由Gram矩陣G1∈RN1*Nl給出,其中Glij是層l中的向量化特徵對映i和j之間的內積:

 

為了生成與給定影象的樣式匹配的紋理(圖1,樣式重建),我們使用來自白噪聲影象的梯度下降來找到與原始影象的樣式表示匹配的另一影象。 這是通過最小化來自原始影象的Gram矩陣的條目與要生成的影象的Gram矩陣之間的均方距離來完成的。 因此,讓~a和~x是原始影象和生成的影象,Al和G1分別是圖層l中的樣式表示。 那麼該層對總損失的貢獻就是

 

 
 

 

 

 

 
 


總體損失是

 

 

 

 
 


其中wl是每層對總損失的貢獻的加權因子(參見下面我們的結果中w1的具體值)。 關於層l中的啟用的E1的導數可以通過分析計算:

 

 

可以使用標準誤差反向傳播容易地計算E1相對於網路的較低層中的啟用的梯度。 圖1中的五種樣式重建是通過匹配圖層'conv1 1'(a),'conv1 1'和'conv2 1'(b),'conv1 1','conv2 1'和'conv3 1'上的樣式表示來生成的。 '(c),'conv1 1','conv2 1','conv3 1'和'conv4 1'(d),'conv1 1','conv2 1','conv3 1','conv4 1'和'conv5 1'(e)。

 

 
 


為了生成將照片內容與繪畫風格混合的影象(圖2),我們共同最小化白噪聲影象與網路的一層中的照片的內容表示的距離以及該影象的樣式表示。 在CNN的多個層中繪畫。 所以,讓我們成為照片,然後是藝術品。 我們最小化的損失函式是

 

 

其中α和β是內容和風格重建的權重因素。對於圖2中所示的影象,我們匹配層'conv4-2'上的內容表示和層'conv1-1','conv2-1','conv3-1','conv4-1'和'conv5-1'(在這些層上wl=1/5,在其他層上,wl=0)上的樣式表示。α/β的比值為1*10-3(圖2,B,C,D)或者為1*10-4(圖2,E,F)。圖3顯示了內容和樣式重建損失(沿著列)的不同相對權重的結果,以及僅在層'conv1 1'(A),'conv1 1'和'conv2 1'(B)上匹配樣式表示的結果, 'conv1 1','conv2 1'和'conv3 1'(C),'conv1 1','conv2 1','conv3 1'和'conv4 1'(D),'conv1 1','conv2 1' ,'conv3 1','conv4 1'和'conv5 1'(E)。 因子w1總是等於1除以具有非零損失權重w1的有源層的數量。

-------------------------感謝---------------------------------