司周永 王軍號
摘 要:CycleGAN的優(yōu)勢就是在沒有成對訓(xùn)練集的情況下將圖像從原目標區(qū)域遷移到目標區(qū)域,但其泛化能力較弱,針對CycleGAN無法在圖像風格遷移時僅對所需目標進行遷移和DeepLabv3+模型和參數(shù)量過大的問題,本文提出了一種結(jié)合改進DeepLabv3+網(wǎng)絡(luò)和CycleGAN的局部圖像遷移方法。先使用DeepLabv3+網(wǎng)絡(luò)對圖像進行語義分割,再將分割出來的目標與遷移圖像進行匹配,將得到的遷移圖像轉(zhuǎn)回到原圖像中,實現(xiàn)對局部圖像的遷移。在DeepLabv3+模型中使用MobileNetV2代替主干網(wǎng)絡(luò),使用WASP網(wǎng)絡(luò)代替ASPP網(wǎng)絡(luò)降低了模型體積,減少了參數(shù)量,提高檢測速度。采用相似性SSIM與峰值信噪比PSNR作為遷移圖像評估指標,對遷移后的效果進行評估。實驗表明,使用改進DeepLabv3+網(wǎng)絡(luò)和CycleGAN的局部圖像遷移方法能夠提高風格遷移質(zhì)量,擁有更好的視覺效果。
關(guān)鍵詞:圖像風格遷移;循環(huán)一致性生成對抗網(wǎng)絡(luò);DeepLabv3+;輕量級卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391? 文獻標識碼:A? 文章編號:1673-260X(2024)04-0001-06
近年來,機器學(xué)習(xí)、深度學(xué)習(xí)等技術(shù)在許多領(lǐng)域都取得了突破性進展,尤其是深度學(xué)習(xí)的持續(xù)迭代,已具備了強大的感知、識別、理解人類話語的能力。像GhatGPT等最近在社會上成為一個令人興奮的話題,甚至超越了人工智能和計算機科學(xué)領(lǐng)域。風格轉(zhuǎn)換是這方面的一項熱門任務(wù),旨在將參考圖像的顏色和紋理等風格模式應(yīng)用于給定的內(nèi)容圖像,同時保留內(nèi)容的語義結(jié)構(gòu)。這種技術(shù)在許多領(lǐng)域中已得到應(yīng)用,包括但不限于圖像編輯,域適配,以及領(lǐng)域泛化等[1]。
在深度學(xué)習(xí)時代,2015年Gatys等人[2]開創(chuàng)性地引入了以迭代的方式最小化VGG特征空間中的內(nèi)容和風格損失,利用Gram矩陣實現(xiàn)對圖像任意風格特征進行提取,產(chǎn)生了極佳的效果,但對于每種內(nèi)容風格的在線優(yōu)化計算開銷很大。為了緩解這個問題,Johnson等人[3]建議優(yōu)化前饋網(wǎng)絡(luò)以實現(xiàn)風格轉(zhuǎn)換,實現(xiàn)了實時的風格遷移,一旦被訓(xùn)練,網(wǎng)絡(luò)可以實時地對任何輸入內(nèi)容圖像進行風格轉(zhuǎn)換,對于單個網(wǎng)絡(luò)來說,在推斷期間將任何樣式的參考圖像傳送到內(nèi)容圖像都是可行的,它們被稱為任意風格轉(zhuǎn)換方法,已成為風格轉(zhuǎn)換研究的主流。2017年,Zhu等人[4]繼續(xù)提出一種無監(jiān)督對抗網(wǎng)絡(luò)CycleGAN,為實現(xiàn)雙向的域轉(zhuǎn)換,使用兩對生成對抗網(wǎng)絡(luò),通過引入循環(huán)一致性損失使域之間的配對約束被消除,能更好地保留圖像的內(nèi)容屬性。2021年,Liu等人[5]提出自適應(yīng)注意力歸一化AdaAttN(Adaptive Attention Normalization),在計算注意力權(quán)重時考慮到了淺層和深層的特征,以基于每點的方式使內(nèi)容特征與風格特征的注意力加權(quán)均值和方差對齊,另外使用局部特征損失來幫助模型提升遷移質(zhì)量。
1 相關(guān)工作
如圖1所示,通過這些方法對圖像進行風格遷移,在嘗試將小鳥遷移為不同的風格時,雖然取得了不錯的遷移效果,但是在遷移對象完成風格遷移的同時圖片背景的顏色和紋路也發(fā)生了改變,為了完成對于局部實例圖像的遷移我們提出了改進DeepLabv3+與CycleGan的遷移方法,滿足了對于圖像中單獨實例的遷移。
1.1 生成對抗網(wǎng)絡(luò)
傳統(tǒng)的生成對抗網(wǎng)絡(luò)GAN(Generative Adversarial Networks)于2014年提出。GAN由一個生成器G和一個判別器D組成,生成器可以將給定的一些輸入噪聲生成更真實的圖像,而判別器則是用來判別圖像的真?zhèn)?,兩個競爭網(wǎng)絡(luò)相互博弈最終達到動態(tài)平衡。生成器和判別器的對抗損失函數(shù)如式(1)所示:
其中,E表示關(guān)于下標中指定分布的期望值,x~Pm是來自輸入數(shù)據(jù)的樣本,y~Pn是隨機噪聲樣本,D(x)為判別函數(shù),G(y)為圖像的生成樣本。
1.2 循環(huán)一致性對抗網(wǎng)絡(luò)
循環(huán)一致性對抗網(wǎng)絡(luò)CycleGAN(Cycle-consistent GAN)于2017年由Zhu等人提出,該方法利用兩個GAN構(gòu)成的環(huán)狀網(wǎng)絡(luò),通過兩個生成器和兩個判別器來實現(xiàn)x和y的互映射,從而避免了傳統(tǒng)的一對一的訓(xùn)練,CycleGAN的生成器架構(gòu)采用了ResNet,而判別器架構(gòu)采用了PatchGAN分類器。
CycleGAN的網(wǎng)絡(luò)結(jié)構(gòu)F和G分別表示兩個逆映射生成器。逆映射是指就是將y域的原始圖像由生成器G變換成Y域的虛假圖像后,再由生成器F將該虛假圖像變換回到源域X。對抗損失DX和DY是圖像域X和Y相關(guān)聯(lián)的對抗判別器。如式(2)所示該損失函數(shù)是將原圖像映射到目標域:
由于F和G是隨機函數(shù),不能保證期望的輸出。因此,引入循環(huán)一致性損失,如式(3)所示,保證了循環(huán)變換能夠使圖像恢復(fù)到原始狀態(tài),進一步縮小可能映射函數(shù)的空間,以獲得更好的結(jié)果:
1.3 DeepLabv3+模型
DeepLabv3+[6]是2018年由Chen等人提出的一種基于編碼器-解碼器結(jié)構(gòu)的網(wǎng)絡(luò)結(jié)構(gòu),最早提出的DeepLabv1[7]網(wǎng)絡(luò)是通過在骨干網(wǎng)絡(luò)VGG-16中引入空洞卷積,然后對得到的特征圖與條件隨機場(CRF)相結(jié)合,在增大模型感知野的同時,增強模型對結(jié)構(gòu)信息的捕獲能力。隨后DeepLabv2[8]采用ResNet-101替代骨干網(wǎng),提高模型的特征提取能力,又提出了一種基于空洞空間的金字塔池化(ASPP)方法,利用具有不同空洞率的空洞卷積,實現(xiàn)多尺度特征的有效抽取。DeepLabv3[9]網(wǎng)絡(luò)在ASPP模型基礎(chǔ)上,加入批標準化(BN),并引入全局平均池,使其能更好地獲取全局信息。DeepLabv3+網(wǎng)絡(luò)以DeepLabv3架構(gòu)作為編碼器,同時,還設(shè)計了一個高效的解碼器,將主干網(wǎng)絡(luò)提取的底層特征和經(jīng)過ASPP模塊后的高層語義特征展開融合,通過一步一步解碼,恢復(fù)出圖像像素,達到更好的分割效果。
如圖2所示,該網(wǎng)絡(luò)結(jié)構(gòu)主要包括骨干網(wǎng)、空洞卷積、ASPP模塊、編碼解碼器結(jié)構(gòu)等。編碼器首先通過骨干網(wǎng)絡(luò)Xception從原始輸入圖像中提取特征,并保留圖像的語義信息。然后將這些提取到的特征輸入到空間金字塔池化模塊(Atrous SpatialPyramid Pooling, ASPP)中,利用ASPP模塊中的1×1卷積和空洞率分別為6、12、18的空洞卷積以及全局平均池化操作可以從不同的感受野大小中提取多尺度特征,然后將這些特征進行融合,得到更豐富的語義信息[10]。最后,利用1x1卷積對增強后的特征進行通道壓縮,從而得到編碼后的圖像高層語義特征。在解碼器中,先對從骨干網(wǎng)絡(luò)中抽取的低層特征采用1x1卷積對其進行降維,然后對最后的編碼器輸出進行4次上采樣,再對降維后的低層特征在通道維度上進行拼接。再用2次3x3卷積對拼接后的圖像進行3x3卷積,最后通過一次4倍上抽樣,將圖像還原為原始圖像大小,從而獲得最終的預(yù)測結(jié)果。
2 局部圖像風格遷移算法改進
2.1 算法框架
本文結(jié)合DeepLabv3+和CycleGAN的局部圖像分格遷移的整體網(wǎng)絡(luò)架構(gòu)如圖3所示。
先使用DeepLabv3+網(wǎng)絡(luò)對圖像進行語義分割得到標簽圖像,使用CycleGAN對圖像進行風格遷移,再將分割出來的目標與遷移圖像進行匹配,將得到的遷移圖像轉(zhuǎn)回到原圖像中,實現(xiàn)了對局部圖像的遷移。匹配的過程使用圖像矩陣的Hadamard積[11],如式(5)所示:
將分割的標簽矩陣除了目標對象以外的標簽全部變?yōu)?,再與風格遷移后的標簽矩陣通過Hadamard積得到遷移后的目標圖像替換回原圖,得到輸出結(jié)果。
2.2 DeepLabv3+改進
盡管DeepLabv3+的性能優(yōu)于其他最先進的模型,但其模型本身非常復(fù)雜,并且在訓(xùn)練中計算時間長。通過優(yōu)化DeepLabv3+中的骨干網(wǎng)絡(luò)Xception和ASPP層來提高時間效率,如圖4所示。
2.2.1 骨干網(wǎng)絡(luò)改進
改進前的DeepLabv3+主干網(wǎng)絡(luò)采用的是Xception,Xception的核心思想是使用深度可分離卷積(Depthwise Separable Convolution),以降低模型的參數(shù)量和運算復(fù)雜度。但對于復(fù)雜多樣、信息量大的圖像,隨著模型訓(xùn)練的進行,網(wǎng)絡(luò)參數(shù)量會逐漸加大,速度大量降低,為提升特征提取的速度,本文使用MobileNetv2[12]代替Xception作為主干網(wǎng)絡(luò)。
在MobileNetv2網(wǎng)絡(luò)中,倒殘差結(jié)構(gòu)和線性瓶頸層共同構(gòu)成線性倒殘差結(jié)構(gòu),如圖5所示,其中倒殘差結(jié)構(gòu)里采用逐點卷積和深度卷積,在進行卷積時,首先用1×1的逐點卷積來提升維度,然后用3×3的深度卷積來對每條通道做一個獨立的卷積,最后用1×1的逐點卷積來降低維度。為了避免在降維后,Relu函數(shù)會失去瓷磚缺陷處的特征信息,在倒殘差結(jié)構(gòu)的最后一個1×1逐點卷積上,使用線性瓶頸層代替之前的Relu激活函數(shù),對其進行降維,從而大大降低了低維特征信息的損失,增加了信息的維度,極大地減少了參數(shù)量。
2.2.2 空間金字塔池化模塊改進
DeepLabv3+是一個基于FCN架構(gòu)的先進網(wǎng)絡(luò)結(jié)構(gòu)。本文著重介紹了一個基于atrous卷積的編碼器-譯碼器網(wǎng)絡(luò),從而加快運算速度,并得到更加準確清晰的物體邊界。
DeepLabv3+已經(jīng)證明了其在編碼器模塊中使用其提出的Atrous Spatial Pyramid Pooling(ASPP)層產(chǎn)生更清晰的對象邊界的能力,并將信息發(fā)送到解碼器以恢復(fù)邊緣信息。更具體地說,對于圖像分類任務(wù),輸出步幅(輸入圖像空間分辨率與最終輸出分辨率的比率)通常為32。然而,在語義分割中,為了準確地提取出目標的邊緣,必須借助特征圖譜上的高密度像素信息。所以,DeepLabv3+采用了16或8的輸出步長來構(gòu)成一個編碼器。其次,在解碼過程中,對解碼特征采用4倍的上采樣,再將其與對應(yīng)的低級特征串聯(lián)起來,保證譯碼過程中有充足的空間信息。
受級聯(lián)架構(gòu)和多尺度方法的啟發(fā),ASPP層提出了一種新的“瀑布”配置,以克服ASPP的復(fù)雜性和內(nèi)存問題,稱為瀑布式Atrous空間池(WASP)[13]。下面的圖6顯示了ASPP模塊和WASP模塊之間的區(qū)別。ASPP模塊對分支采用并行架構(gòu),其間沒有共享和連接的參數(shù);而WASP體系結(jié)構(gòu)使用類似瀑布的方式將中間結(jié)果順序地轉(zhuǎn)發(fā)到下一個分支。通過使用這種結(jié)構(gòu),可以在網(wǎng)絡(luò)中提供更大的感受野,并且只需要更少的7個參數(shù)。根據(jù)實驗,使用建立在WASP基礎(chǔ)上的WASPNet,成功地減少了參數(shù),提高了模型效率。
2.2.3 損失函數(shù)改進
在傳統(tǒng)圖像分割任務(wù)中,都是利用二分類交叉熵(binary cross entropy loss)損失函數(shù)[14]作為衡量真實標簽與預(yù)測值之間的相似度,如式(6)所示:
式中,γ(i,j)表示像素點(i,j)的真實標簽,p(i,j)表示目標圖像預(yù)測概率,γ(i,j))log(-p(i,j)對應(yīng)目標圖像損失,(1-γ(i,j))log(-p(i,j))對應(yīng)背景部分的損失。
但由于分類過程中存在不平衡的正負樣本,二分類交叉熵損失對每個像素預(yù)測時匹配的權(quán)重相同,而圖像中目標像素樣本與背景像素樣本有較大差距時,使用二分類交叉熵損失函數(shù)就達不到預(yù)期效果,所以引入Dice Loss函數(shù)[15]。Dice Loss最先由V-Net提出,目的是為了增強網(wǎng)絡(luò)對于圖像中細小結(jié)構(gòu)的分割能力,解決在學(xué)習(xí)過程中損失函數(shù)陷入局部最小值,導(dǎo)致前景區(qū)域特征丟失的問題,如式(7)所示:
其中S為Dice系數(shù),是一種度量集合相似度的函數(shù),通常用于計算兩個樣本的相似度,取值范圍在[0,1],|x∩y|是X和Y集合交集的元素個數(shù), |x|+|y|分別表示X和Y的元素個數(shù)。為避免分母中重復(fù)計算X和Y之間的共同元素在分子加上分子系數(shù)2,避免了分子被0除同時減少過擬合,在分子分母上同時加一個常數(shù)ε。Dice越大則表示兩個集合的元素之間越相似,也就說明模型訓(xùn)練得越好。
總損失函數(shù)如式(8)所示:
其中λ,α分別表示二分類交叉熵損失LBCE和Dice損失LDice的權(quán)重系數(shù),由于二分類交叉熵的損失梯度小于Dice的損失梯度所以取α>λ。
3 實驗結(jié)果及分析
3.1 實驗環(huán)境和結(jié)果
本實驗使用計算機配置為CPU3.42GHz,16GB顯存,顯卡NVIDIA GTX1050,實驗在Windows操作系統(tǒng)下,基于深度學(xué)習(xí)框架PyTorch。在CycleGAN訓(xùn)練過程中,從維基藝術(shù)數(shù)據(jù)集分別選用3000張油畫作為風格數(shù)據(jù),再選取400張作為測試集,從ImageNet數(shù)據(jù)集中選用1000張動物和建筑圖像,150張圖像用作測試集。在DeepLabv3+訓(xùn)練過程中,從PASCAL Visual Object Classes(VOC)數(shù)據(jù)集選用模型1000張船和動物圖像作為訓(xùn)練集,驗證集選取200張圖片。為了方便處理,所有的圖像都被調(diào)整為256×256設(shè)置batchsize=1,總epoch=210。
為了驗證本文改進的模型輕量化優(yōu)勢,對改進的DeepLabv3+的模型大小和參數(shù)量進行對比,本文提出的生成器模型大小僅50M,參數(shù)量為16M,相比較DeepLabv3+模型的生成器參數(shù)量具有明顯的降低,具體如下表1所示。
3.2 主觀評價
實驗結(jié)果如圖7所示,其中前兩行為CycleGAN方法,后兩行為DeepLabv3+局部風格遷移方法。圖中使用蒙克風格和畢加索風格的油畫進行風格遷移,第一列為內(nèi)容圖片,第二列為蒙克風格的遷移結(jié)果,第三和第四列為畢加索風格的遷移結(jié)果。圖7中所有的遷移圖片的背景均發(fā)生了遷移并且會變得模糊不清,為了使圖片在遷移時只對我們所需要的實例進行遷移,在對船只和小鳥進行風格遷移時,水面和小鳥所站立的樹枝并沒有發(fā)生改變。從實驗的整體對比發(fā)現(xiàn),同樣迭代次數(shù)的情況下,本文局部圖像的遷移效果也更加逼真。
3.3 客觀評價
為了驗證本文方法的可行性,使用客觀數(shù)據(jù)對本文方法與CycleGAN方法進行比較是很有必要的,本文使用結(jié)構(gòu)相似性SSIM(Structural Similarity Index)和峰值信噪比PSNR(Peak Signal to Noise Ratio)對圖像遷移結(jié)果進行比較[16]。結(jié)構(gòu)相似性SSIM反映了圖像之間的相似度,數(shù)值越大圖像越相似,峰值信噪比PSNR越大圖像失真越少。從表2的方法對比中可以看出本文所使用的方法SSIM和PSNR均為高于CycleGAN方法,本文方法所得到的圖象在結(jié)構(gòu)上最接近原始圖象,而且圖象質(zhì)量更好。從客觀評價指標中可以看出,在圖片風格遷移上,本文提出的各個客觀評價指標的數(shù)據(jù)以及圖片的視覺效果也更好,說明本文提出的方法是有效的。
4 結(jié)論
CycleGAN是一種無監(jiān)督的圖像遷移框架,它的優(yōu)勢就是在沒有成對訓(xùn)練數(shù)據(jù)集的情況下將圖像數(shù)據(jù)從原目標區(qū)域遷移到目標區(qū)域,針對CycleGAN無法在圖像風格遷移時僅對所需目標進行遷移的問題,本文提出了一種結(jié)合改進DeepLabv3+網(wǎng)絡(luò)和CycleGAN的局部圖像遷移方法。本文先使用DeepLabv3+網(wǎng)絡(luò)對圖像進行語義分割,再將分割出來的目標與遷移圖像進行匹配,將得到的遷移圖像轉(zhuǎn)回到原圖像中,實現(xiàn)了對目標對象的遷移而目標對象以外的背景信息則保持完整。在DeepLabv3+模型中使用MobileNetV2代替主干網(wǎng)絡(luò),使用WASP網(wǎng)絡(luò)代替ASPP網(wǎng)絡(luò)降低了模型體積,減少了參數(shù)量,提高檢測速度。通過對實驗結(jié)果的主觀和客觀評估可知,本文提出的改進DeepLabv3+網(wǎng)絡(luò)和CycleGAN的局部圖像遷移方法具有良好的效果。
參考文獻:
〔1〕唐稔為,劉啟和,譚浩.神經(jīng)風格遷移模型綜述[J].計算機工程與應(yīng)用,2021,57(19):32-43.
〔2〕L. A. Gatys, A. S. Ecker and M. Bethge,? ? "Image Style Transfer Using Convolutional Neural Networks," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, pp. 2414-2423.
〔3〕Johnson, Justin; Alahi, Alexandre; Fei-Fei, Li.Perceptual Losses for Real-Time Style Transfer and Super-Resolution[J]. COMPUTER VISION - ECCV 2016, PT II,2016,Vol.9906: 694-711.
〔4〕J. Y. Zhu, T. Park, P. Isola and A. A. Efros, "Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks," 2017 IEEE International Conference on Computer Vision (ICCV), Venice, Italy, 2017, pp. 2242-2251.
〔5〕S. Liu et al., "AdaAttN: Revisit Attention Mechanism in Arbitrary Neural Style Transfer," 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Montreal, QC, Canada, 2021, pp. 6629-6638.
〔6〕Chen, L., Zhu, Y., Papandreou, G., Schroff, F., & Adam, H. (2018). Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. European Conference on Computer Vision.
〔7〕Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos,Kevin Murphy 0002, Alan L. Yuille. Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs.[J]. CoRR,2014,abs/1412.7062.
〔8〕L. -C. Chen, G. Papandreou, I. Kokkinos, K. Murphy and A. L. Yuille, "DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, no. 4, pp. 834-848, 1 April 2018, doi: 10.1109/TPAMI.2017.2699184.
〔9〕Chen, L., Papandreou, G., Schroff, F., & Adam, H. (2017). Rethinking Atrous Convolution for Semantic Image Segmentation. ArXiv, abs/1706.05587.
〔10〕周迅,李永龍,周穎玥,等.基于改進DeepLabv3+網(wǎng)絡(luò)的壩面裂縫檢測方法[J/OL].清華大學(xué)學(xué)報(自然科學(xué)版):1-11[2023-06-15]
〔11〕Karkare, R., Paffenroth, R.C., & Mahindre, G.S. (2021). Blind Image Denoising and Inpainting Using Robust Hadamard Autoencoders. ArXiv, abs/2101.10876.
〔12〕M. Sandler, A. Howard, M. Zhu, A. Zhmoginov and L. -C. Chen, "MobileNetV2: Inverted Residuals and Linear Bottlenecks," 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 2018, pp. 4510-4520.
〔13〕G. Sunandini, R. Sivanpillai, V. Sowmya and V. V. Sajith Variyar, "Significance of Atrous Spatial Pyramid Pooling (ASPP) in DeepLabv3+ for Water Body Segmentation," 2023 10th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, 2023, pp. 744-749.
〔14〕M. R. Rezaei-Dastjerdehei, A. Mijani and E. Fatemizadeh, "Addressing Imbalance in Multi-Label Classification Using Weighted Cross Entropy Loss Function," 2020 27th National and 5th International Iranian Conference on Biomedical Engineering (ICBME), Tehran, Iran, 2020, pp. 333-338.
〔15〕F. Milletari, N. Navab and S. -A. Ahmadi, "V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation," 2016 Fourth International Conference on 3D Vision (3DV), Stanford, CA, USA, 2016, pp. 565-571.
〔16〕I. A. Sabilla, M. Meirisdiana, D. Sunaryono and M. Husni, "Best Ratio Size of Image in Steganography using Portable Document Format with Evaluation RMSE, PSNR, and SSIM," 2021 4th International Conference of Computer and Informatics Engineering (IC2IE), Depok, Indonesia, 2021, pp. 289-294.