?

基于卷積神經網絡的高效風格遷移

2023-12-27 05:05張海紅黃練基
新鄉學院學報 2023年12期
關鍵詞:損失卷積神經網絡

張海紅,黃練基

(廣東工商職業技術大學a.藝術學院;b.計算機學院,廣東 肇慶 526000)

圖像風格遷移是將內容圖像與風格圖像融合形成具有藝術風格的新圖像[1]。 在利用神經網絡開始研究圖像風格遷移的方法之前, 所有的研究都是先對一種風格的圖像進行分析, 再給這種風格建立一個數學統計模型,然后改變內容圖像,使之符合風格已經構建好的模型[2]。 這種方法有一個很大的缺點:運行一個程序只能生成一種圖像風格。 故對于圖像風格遷移的實際應用極少[3]。 近年來,深度神經網絡在大規模圖像分類上表現出優異性能, 加之其強大的多層次圖像特征提取和表示能力,不但使上述問題得到了解決,而且性能也有了明顯提高[4]。 Gatys 等[5]提出了一種關于圖像藝術風格的神經算法, 它可以分離和重組圖像的內容和風格,生成具有高感知質量的新圖像。但在圖像進行風格遷移過程中, 每次都要經過整個訓練迭代的過程,導致風格遷移的速度非常緩慢[6]。 J. Johnson 等[7]提出另一種網絡結構, 通過利用輸出圖像和原圖像之間逐個像素的損失來訓練前饋卷積神經網絡, 這種結構使風格遷移過程僅需要完成一次模型訓練。另外,運用從預訓練的網絡中提取的高級特征來定義和優化感知損失函數,可以生成高質量圖像[8–9]。為了讓輸出圖像在內容和風格上均與原圖更相似,本文通過訓練具有感知損失函數的前饋變換網絡, 將圖像變換和優化的圖像生成方法的優點結合起來, 利用感知損失來訓練圖像風格,提高細節和邊緣質量,優化圖像風格遷移的速度。

1 基于深度學習的圖像風格遷移

1.1 圖像風格轉換

圖像風格轉換部分的網絡結構分為訓練和運行2個部分[10]。訓練部分:將選定的風格圖像輸入到轉換網絡中,換成輸出圖像,通過計算最小化損失值確定輸出圖像特征。 運行部分:將輸入圖像傳遞到訓練網絡中,得到遷移結果。圖1 為風格轉換部分的網絡結構。其右側是損失網絡(loss network),在訓練過程中是保持不變的,例如訓練好的卷積神經網絡VGG-16[11];其左側fw為轉換網絡(image transform net),用來將輸入圖像轉換為輸出圖像。

(1)轉換網絡。本文所使用的轉換網絡是一個深度殘差網絡[9],但是上采樣和下采樣是通過步幅卷積或微步幅卷積來完成的,而不是使用池化層。本文中的轉換網絡包含5 個殘差塊[11],除了激活函數(rectified linear units,RELU)的非線性層和最末層使用了一個縮放的雙曲正切函數(Tanh)將輸入轉換為區間(-1,1),所有的非殘差卷積層都有一個空間性的批處理規范(batch-normalization)用于防止過擬合。 除了第一層和最后一層的卷積核(kernel)是9×9,其他卷積層選擇使用的卷積核均為3×3。

(2)損失網絡。 損失網絡包含內容損失(content loss)和風格損失(style loss)兩部分,用來衡量圖像在內容和風格上的差距。 圖像風格遷移網絡中的損失函數的作用是使用預先訓練好的用于圖像分類的卷積神經網絡,計算預測值與真實值之間的差異。本文使用一個提前訓練好的用來給圖像分類的網絡來定義整個網絡結構的損失函數。 本文中訓練卷積轉換網絡采用的也是深度卷積網絡的損失函數。

1.2 內容與風格特征提取

牛津大學的團隊Visual Geometry Group (VGG)開發的VGG 網絡包含了16 個卷積層, 網絡中所有的特征在卷積層中都使用3×3 的卷積核, 在池化層中都使用2×2 的池化。 本文中使用的是VGG-19 模型, 包括16 個卷積層和3 個全連接層[9],中間經過5 個池化層,最后經過歸一化指數函數層。 在內容與風格特征提取方面,定義了一個列表(list)接收特征。 特征提取需求得形狀元組(batch_shape)的值,形狀元組在Tensflow軟件里有標準格式(B,h,w,c)。 其中:B為一次迭代圖片的數量;h和w分別為圖片的寬和高,文中都定義為256;c為圖片的色彩通道,對彩色圖片c值為3。

將傳進來的圖片經過preProcess 函數預處理,再將處理后的圖片信息和下載路徑作為參數代入迭代函數net()中進行迭代,最終得到一個網絡。 利用Python軟件中numpy 模塊下的array()函數對風格圖片進行格式轉換,并提取出特征。因為對比的不是每一層的特征圖(卷積層目標圖像顏色、形狀、紋理特征的輸出結果)上的數值之間的差異,而是比較特征圖之間的差異值,所以還需要對特征進行變換。 本文通過numpy 模塊下的reshape()函數得到變換后的特征。 將變換后的特征的轉置乘上它自身,所得結果傳入matmul()函數中,將每個特征圖的元素矩陣相乘,得到gram 值(gram值用來代表style 的一個特征),最后再傳入初始的list集合中并返回,完成特征提取。

1.3 內容和風格的損失與評價

(1)內容損失。本文通過VGG-19 模型進行圖像分類,計算并提取內容圖像的圖像特征,采用兩種構造損失函數分別用來衡量兩張圖片之間內容及風格特征的差別。 損失量的計算公式為[9]

圖像遷移的結果如果使用底層的特征損失, 會使圖像內容失真,體現不了風格圖像的風格。本文選擇了高層重建,這樣既可以保留圖像內容和整體空間結構,又不影響具體的顏色、紋理和形狀。實驗中圖像轉換網絡的訓練用的是一個損失網絡, 這能讓輸出圖像更加接近目標圖像。

(2)風格損失。當輸出圖像與目標圖像的內容偏離時,內容損失函數(輸出圖像與原圖像之間的MSE 損失)就會對輸出圖像進行重建。 實現重建風格差異,需要用風格重建的損失函數。 令為輸入是x的網絡的第j層, 其形狀就是的特征映射。 將gram 矩陣定義為矩陣[11],這樣即使輸出圖像和目標圖像y具有不同的尺寸, 也會將輸出和目標調整為相同的形狀。 由于設定了gram 矩陣,風格重建損失是確定的。

(3)結構相似度。 結構相似度(SSIM)是衡量兩幅圖像相似程度的重要指標。 它越接近1 則原圖像與風格插值后圖像的結構越相似。 其計算方法為

式中:x為內容圖像,y為風格圖像,為x平均值,為y平均值,為協方差,C1和C2為常數,和分別為x和y的方差。

2 實驗結果分析

2.1 數據來源

(1)圖像風格模板。實驗采用了4 種不同的風格圖像如圖2 所示:圖2a 為The Scream,該畫為彩蠟木板畫;圖2b 是布面油畫《繆斯》(The Muse);圖2c 為《神奈川沖浪里》;圖2d 為一幅懷舊油畫。

圖2 4 種風格的圖像

(2)圖像數據集合。本文的風格轉換網絡是在MSCOCO 數據集上訓練而成的。 該數據集是由微軟公司提出的用來收集、識別檢測和分析圖像的數據集。 其中包含了91 種類型的照片, 共有3.28×103個影像和250 萬個標記實例[10]。 本文將12 張訓練圖像都調整為256×256, 令一次迭代圖片的數量B=4, 迭代次數為40 000 次。 使用Adam 優化,將學習率定義為1×10-3,通過交叉驗證集和strength 函數介于1×10-6到1×10-4之間的全變量正則化來對輸出圖像進行調整。 在這個過程中不使用權重衰減或者隨機失活, 防止出現過擬合現象。 運行平臺:Windows 10,Intel Core i5 12400 CPU 2.5 GHz,顯卡Nvidia RTX 3060,RAM 32G DDR4。

2.2 定性評價結果

實驗選取了3 張圖片, 分別為五十六個民族的同學在校門口的合影、建筑及肖像[圖3(a)],分別用4種風格對圖片進行變換。 經過The Scream風格變換后的圖片不僅有The Scream的色彩和構圖風格,內容與原圖也很接近,能夠看到每一位同學的站姿和服飾,甚至能夠看清楚“大連民族”的字樣[圖3(b)]。 而其他幾種風格的效果則不大令人滿意,例如圖3(d)。 經過多次實驗發現,當內容圖像內容過于復雜時,在使用某些風格進行圖像遷移時,圖像的內容就會變得不明顯。例如圖3(e)中經過《繆斯》的風格遷移后的圖像中幾乎看不見人物??梢?,并不是每一張圖像在風格遷移后都能夠得到令人滿意的結果。

圖3 不同內容圖像風格遷移結果

2.3 定量評價結果

為了定量評價基于卷積神經網絡[CNN(VGG-19)]的圖像風格遷移效果, 以結構相似度和風格化時間為測試指標, 以上述4 種圖像作為風格圖像, 隨機選取12 張MS-COCO 數據集中的圖像作為內容圖像進行風格插值測試,并采用Ours 和Inception V3 模型[5]進行對比分析。 結果如表1 所示。

表1 不同風格遷移效果的定量比較

從表1 可以看出,在遷移效果方面,用The Muse風格遷移后的圖像結構相似度最高,為0.481 3;海浪風格遷移后的圖像結構相似度最低,為0.362 5。 這主要是因為The Muse風格圖像的顏色模塊化區分明顯,遷移效果明顯,沒有破壞圖像內容結構。用The Scream風格遷移圖像的風格化時間最長,為76.85 s,其次是The Muse的風格化時間為74.26 s;海浪的風格化時間最短,為71.08 s。 這主要是因為基于卷積神經網絡采用卷積和池化的方式獲取風格圖像的顏色,The Scream的顏色種類與亮度層次最豐富,故風格化時間最長。與Ours 和Inception V3 模型對比,基于卷積神經網絡[CNN(VGG-19)]的風格遷移效果更好,這主要是因為[CNN(VGG-19)]沒有使用池化層,而采用步幅卷積或微步幅卷積來進行網絡內的上采樣或者下采樣,只進行了顏色采集,沒有破壞內容結構。

3 結論

圖像風格遷移技術可以讓計算機分別提取出圖像的內容和風格。 深層神經網絡的作用就是找出這些像素中更高層、更復雜、更有趣的圖像特性。本文在Gatys和Johnson Justin 等的研究基礎上,研究通過用感知損失函數來訓練前饋網絡進行圖像風格遷移的方法。 本文中的神經網絡沒有使用池化層而是采用步幅卷積或微步幅卷積來進行網絡內的上采樣或者下采樣。 5 個殘差塊中,除了具有非飽和特點的RELU 的非線性層,最末層使用了具有飽和特點的Tanh 縮放函數將輸入轉換為區間(-1,1)。 所有的非殘差卷積層都帶有一個空間性的批非標準化(batch-normalization)。 實驗結果表明:圖像風格轉換的測試結果較好,且風格轉換速度大大提高。

猜你喜歡
損失卷積神經網絡
基于3D-Winograd的快速卷積算法設計及FPGA實現
胖胖損失了多少元
神經網絡抑制無線通信干擾探究
從濾波器理解卷積
玉米抽穗前倒伏怎么辦?怎么減少損失?
基于傅里葉域卷積表示的目標跟蹤算法
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
一般自由碰撞的最大動能損失
損失
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合