陳 偉
(咸寧職業教育<集團>學校 湖北 咸寧 437000)
隨著深度學習(deep learning,DL)的快速發展,圖像風格遷移作為計算機視覺領域的一個重要研究方向,受到了廣泛的關注。圖像風格遷移算法旨在通過將一個圖像的內容與另一個圖像的風格相結合,生成一個新的圖像,既保留了原始圖像的內容信息,又表現出了目標圖像的風格特征。這一技術在許多領域具有廣泛的應用,如藝術創作、圖像編輯及虛擬現實等[1-3]。
在過去的幾年里,基于DL的圖像風格遷移算法取得了顯著的進展。最初的方法是通過優化過程來實現圖像風格遷移,但這種方法計算復雜度高、速度慢,并且難以在實時應用中使用[4]。隨后,基于卷積神經網絡(convolutional neural networks,CNN)的方法被引入,通過將圖像表示為神經網絡的輸入,利用網絡中的特定層來提取內容和風格信息。這些方法通過訓練一個神經網絡模型,將圖像風格遷移問題轉化為一個優化問題,并且取得了顯著的改進[5-6]。
目前,圖像風格遷移算法仍存在一些挑戰和限制。例如,一些算法在處理具有復雜紋理和結構的圖像時表現不佳,難以保持細節和內容的一致性。此外,現有的方法對于用戶指定的風格約束的處理還不夠靈活,難以實現精確的風格控制。
因此,擬通過引入Mask約束改進基于CNN的圖像風格遷移算法,以解決上述問題。主要內容包括以下4個方面:(1)回顧圖像風格遷移算法的研究背景和發展歷程。(2)詳細介紹基于CNN的圖像風格遷移算法的原理和方法。(3)提出一種基于Mask約束的改進算法,通過對特定區域的風格信息進行約束,以實現更精細的風格遷移效果。(4)通過實驗驗證所提算法的有效性,實驗表明,該方法達到了良好的圖像風格遷移效果。
本文所提出的一種基于Mask約束的CNN圖像風格遷移框架如圖1所示。該框架的關鍵是利用Mask約束生成掩碼圖像,以獲取局部目標,并通過CNN實現局部目標的風格遷移。

圖1 圖像風格遷移框架
輸入圖像分為內容圖像和風格圖像。內容圖像包含要保留的圖像內容信息,而風格圖像則包含了所需的風格特征。通過使用Mask約束,可以選擇性地將風格應用于內容圖像的特定局部區域,實現局部的風格遷移。為了生成掩碼圖像,定義一個二值掩碼,用于指定應用風格的目標區域。掩碼圖像與內容圖像具有相同的尺寸,并且在目標區域內的像素值為1,其他區域的像素值為0。該框架中使用語義分割網絡來生成掩碼圖像。使用CNN來實現局部目標的風格遷移。將CNN訓練為一個端到端的模型,把接受內容圖像和風格圖像作為輸入,并生成包含遷移風格的輸出圖像。網絡的結構通常包括卷積層、池化層和反卷積層。通過在網絡中的不同層中提取特征,可以同時保留內容和風格的信息,并將風格應用于目標區域。
在進行局部目標的風格遷移時,將掩碼圖像與內容圖像和風格圖像進行逐像素的融合。融合的方式可以是簡單的元素級相乘,其中掩碼圖像的像素值為1的地方采用風格圖像的對應像素值,像素值為0的地方則采用內容圖像的對應像素值。這種融合方式可以將風格有選擇地應用于特定的目標區域,實現局部的風格遷移。
全卷積網絡(fully convolutional network,FCN)是一種用于語義分割的CNN,它能夠將輸入圖像像素級別地分類為不同的語義類別[7]。其核心思想是將傳統的全連接層替換為全卷積層,以實現對輸入圖像的像素級分類。傳統的全連接層將圖像特征映射到一個固定大小的向量上,而全卷積層則將特征映射到與輸入圖像相同大小的特征圖上。這樣做的好處是可以保留圖像的空間信息,使得網絡能夠輸出與輸入圖像相同分辨率的語義分割結果。
設輸入圖像為X,FCN由多個卷積層和上采樣層(通常是反卷積層)組成。首先通過卷積層對輸入圖像進行一系列的卷積操作,得到一系列的特征圖。設第i個卷積層的輸出為Ci,通過上采樣層將特征圖的尺寸調整為輸入圖像的尺寸。設第i個上采樣層的輸出為Si,通過逐像素分類的卷積操作將上采樣層的輸出映射為與輸入圖像相同尺寸的語義分割結果。設最終的輸出為Y。FCN的數學原理可以表示為式(1):
Ci=fi(Ci-1),i=1,2,…,n
(1)
式(1)中:fi為第i個卷積層的卷積操作;Ci-1為第i-1個卷積層的輸出;C0為輸入圖像。
Si=gi(Si-1),i=1,2,…,n
(2)
式(2)中:gi為第i個上采樣層的上采樣操作;Si-1為第i-1個上采樣層的輸出;S0為Cn,即最后一個卷積層的輸出。
我院惡性腫瘤住院患者營養狀態與營養干預情況調查…………………………………………………… 魯良秀等(10):1416
Y=h(Sn)
(3)
式(3)中:h為逐像素分類的卷積操作;Sn為最后一個上采樣層的輸出。為了生成Mask,可以使用FCN進行語義分割,并將感興趣的目標區域標記為特定的語義類別。
通過將Mask、內容圖像和風格圖像作為CNN的輸入來實現圖像風格轉換。CNN是一種廣泛應用于計算機視覺領域的神經網絡。它可以通過多個卷積層和池化層來提取圖像的特征,并通過全連接層將這些特征映射到輸出類別。在圖像風格轉換中,將CNN作為特征提取器,并通過特定的損失函數來實現風格和內容的融合。
設輸入的Mask為M,內容圖像為C,風格圖像為S,CNN的輸出為G。將內容損失(content loss)和風格損失(style loss)分別作為損失函數的組成部分。內容損失用于確保G能夠準確地重現C的內容,風格損失用于確保G與S的風格相似。內容損失為式(4):
(4)

(5)
式(5)中:L為CNN中的最后一層;wl為第l層的權重系數;El(G,S)為CNN在第l層輸出的特征表示與風格圖像在第l層特征表示之間的Gram矩陣的平均歐幾里得距離。Gram矩陣用于度量特征表示之間的相關性。通過最小化內容損失和風格損失之和,可以得到生成的圖像G。其數學表達式為式(6):
(6)
式(6)中,α和β分別為內容損失和風格損失的權重系數。
實驗環境是進行模型測試和評估的基礎,包括硬件和軟件方面的設置。下面將介紹實驗環境的硬件和軟件配置。
本實驗采用的硬件配置如下:處理器使用Intel Core i7-8700K,主頻為3.7 GHz;顯卡采用NVIDIA GeForce RTX 2080 Ti,具備11 GB顯存和CUDA支持;內存容量為32 GB。本實驗使用的軟件配置如下:操作系統為Ubuntu 18.04 LTS;DL框架選擇使用TensorFlow 2.4.0和PyTorch 1.9.0;圖像處理和數據預處理使用Python編程語言及其相關庫,如NumPy和OpenCV;實驗代碼使用Python 3.7進行開發和運行。
為了保證實驗的可重復性和可比性,對實驗環境進行了嚴格的版本控制,并在實驗過程中遵循了標準的實驗流程。在實驗過程中,使用了公開可用的PASCAL VOC 2012數據集做實驗[8],該數據集是PASCAL Visual Object Classes Challenge(PASCAL VOC)競賽的一部分,共包含約1.1萬張訓練圖像和1.4萬張測試圖像,來自20個不同類別的圖像,涵蓋了常見的物體和場景,如人、汽車、飛機、動物等。每個圖像都有精確的像素級別的標注,其中包括每個對象的邊界框標注和對象的語義分割標注。
在訓練階段,遵循以下方法:
(1)數據準備:準備訓練數據集,包括內容圖像、風格圖像和相應的Mask圖像。確保數據集具有正確的標注和對應的Mask圖像。
(2)模型搭建:構建基于Mask約束的CNN模型。定義卷積層、上采樣層和逐像素分類的卷積操作,以及內容損失和風格損失的計算方式。
(3)損失函數定義:定義損失函數,包括內容損失和風格損失。根據實際需求設置內容損失和風格損失的權重系數。
(4)開始訓練:通過將內容圖像、風格圖像和Mask圖像輸入模型,使用反向傳播算法進行訓練。在每個訓練迭代中,計算損失函數,并根據損失函數的梯度更新模型的參數。
在測試階段:
(1)數據準備:準備測試數據集,包括內容圖像和風格圖像。
(2)模型加載:加載訓練好的模型參數。
(3)開始測試:通過將內容圖像、風格圖像和Mask圖像輸入模型,進行前向傳播計算。獲取生成的圖像結果。
在實驗中,使用FCN對內容圖像[(圖2(a)]做語義分割可得Mask圖像[圖2(b)],用Mask圖像與內容圖像直接相乘得到目標區域[圖3(a)]。將Mask圖像、目標區域和風格圖像[圖3(b)]輸入CNN中做圖像風格遷移得到遷移后的目標區域[圖3(c)]。

圖2 圖像語義分割效果

圖3 目標區域的圖像風格遷移效果
在上述實驗中,使用了基于Mask約束的CNN架構來進行圖像風格轉換任務。該架構在訓練過程中通過學習內容圖像和風格圖像之間的特征表示,以及Mask圖像的局部目標信息。經過訓練后,該網絡能夠根據輸入的內容圖像、風格圖像和Mask圖像,生成具有融合風格的目標圖像。實驗結果表明,該架構實現了內容圖像的語義分割和目標區域的風格轉換,并取得了良好的效果。
綜上所述,本論文研究了基于DL的圖像風格轉換算法,并提出了一種基于Mask約束的CNN架構。通過該架構,在訓練過程中結合了FCN語義分割網絡和CNN風格遷移網絡,實現了內容圖像的語義分割和目標區域的風格轉換。該算法能夠通過Mask約束生成局部目標,利用CNN將內容圖像的目標區域和風格圖像進行融合,生成具有融合風格的目標圖像。實驗結果表明,該算法能夠準確提取內容圖像的語義信息,實現目標區域的風格轉換,并生成具有良好效果的圖像。該研究增強了對圖像風格轉換任務更深入的理解,并提出了一種有效的框架。未來的研究可以進一步優化模型的性能和效果,擴展算法的適用范圍,并探索更多應用場景和任務的實現。