葛延良, 孫笑笑, 張 喬, 王冬梅, 王肖肖
(東北石油大學 電氣信息工程學院, 黑龍江 大慶 163318)
作為圖像風格遷移的一個重要分支, 人臉素描合成(face sketch synthesis, FSS)目前得到廣泛的關注[1]. 人臉素描合成是指將人臉轉化為相對應的素描圖像[2], 其在生活、 刑事偵查、 數字娛樂、 漫畫制作[3]及電影制作等領域應用廣泛.
圖像的風格遷移方法主要有兩種: 基于圖像迭代和基于模型迭代[4]. 圖像迭代方法主要包括基于最大均值差異、 基于Markov隨機場和基于深度圖像類比. 模型迭代方法在圖像風格遷移方面有較大優勢, 特別是卷積神經網絡[5]和生成對抗網絡的不斷發展[1], 極大提高了人臉素描合成的圖像質量. 其中基于卷積神經網絡的圖像風格遷移[6], 實現了局部連接、 權值分擔、 特征提取和封裝, 缺點是遷移缺乏泛化能力, 可能導致圖像模糊甚至失真[7]. 生成對抗網絡(generative adversarial networks, GAN)很好地解決了上述問題. Goodfellow等[8]首次提出了生成對抗網絡, 極大提高了生成圖像的速度和清晰度[9], 同時降低了網絡的復雜度, 但整個過程是全監督學習, 而全監督網絡要求訓練人臉到素描風格遷移模型有較大的成對數據集, 準備成對數據集既困難又昂貴, 同時具有時間和空間的局限性; Gulrajani等[10]提出了ImprovedGAN, 對GAN進行了結構更改和訓練, 主要集中于半監督學習和更好的圖像生成, 訓練結構穩定的GAN[11]; Isola等[12]提出了“Pix2pix”網絡模型, 風格遷移效果顯著, 但要求圖片必須成對; 在此基礎上, Zhu等[13]提出了循環生成對抗網絡(cycle-generative adversarial networks, CycleGAN), 在該網絡中提出基于對稱GAN模型, 其在損失函數中加入周期一致性損失, 使輸入圖像在不配對的情況下生成不同風格的圖像, 完成無監督學習的高質量風格傳遞任務. 本文使用循環生成對抗網絡框架, 將其應用于人臉素描合成, 實驗得到了更優質的素描圖片.


圖1 CycleGAN生成模型結構Fig.1 Generative model structure of CycleGAN
本文定義兩個相同的PatchGAN[12]作為鑒別器. 鑒別器采用四組卷積層+正則化+Leaky ReLU激活函數形式和一組卷積層+譜歸一化+Leaky Relu激活函數形式, 每個卷積層的卷積核大小均為4, 步長為2, 通道數依次為64,128,256,512, 最后一層每個分割塊通過Sigmoid輸出為真的概率, 然后用BCE損失函數計算得到最終的損失[12]. PatchGAN對于圖像風格遷移后的圖片保持高細節的清晰化. 鑒別器網絡結構如2所示.

圖2 鑒別器網絡結構Fig.2 Discriminator network structure
循環生成對抗網絡的生成器采用卷積神經網絡學習圖像特征, 本文受文獻[14]的啟發, 將U-Net結構應用于生成器中. U-Net結構本質上是一個編碼器-解碼器網絡, 在完全對稱的編碼器和解碼之間進行常規的跳躍連接, 以結合圖像高級和低級語義[15]. 本文以VGG16模塊組成U-Net的結構作為生成器主框架,X(i,m)表示位于U-Net網絡層不同位置的VGG16模塊, 其中i表示模塊位于第i行,m表示模塊位于第m列, 其結構如圖3所示.

圖3 U-Net結構模型Fig.3 Structural model of U-Net
常見的圖像分割算法通常使用池化層和卷積層增加感受野, 特征圖縮小再放大的過程會導致精度損失, 因此本文引入空洞卷積(dilated convolution)[16], 可在增加感受野的同時保持特征圖的尺寸不變, 如圖4(A)所示. 圖4是標準的 3×3 卷積(擴張率為1), 該卷積的感受野是卷積核覆蓋3×3區域. 當擴張率為2時, 感受野RFn可利用
RFn=RFn-1+(i-1)×d
(1)
計算, 其中RFn-1表示上一層的感受野,i表示卷積核大小,d表示步長.圖像特征提取過程中, 在保證特征圖一定分辨率的前提下, 獲得較大的圖像特征感受野.由圖4(B)可見, 此時的卷積核大小為2×(3-1)+1=5, 與圖4(A)疊加得到圖4(C)的感受野相當于7×7網格所覆蓋的區域.

圖4 空洞卷積感受野示意圖Fig.4 Schematic diagram of dilated convolution receptive field
由于目前的網絡結構在圖像特征提取過程中存在均勻分布的特點, 而卷積運算將圖片進行局部分割, 在進行深層特征提取與遷移時, 局部與整體會有差異. 本文受文獻[17]工作的啟發, 通過自注意力機制建立像素之間的關聯, 提高對圖像高頻信息和圖像風格保持的能力. 本文引用通道自注意力模塊(channel self-attention module, CSAM)和空間自注意力模塊(spatial self-attention module, SSAM). CSAM結構如圖5所示. SSAM通過每個位置特征的加權總和, 選擇性地聚集每個位置的特征, 其結構如圖6所示.

圖5 通道自注意力模塊的結構Fig.5 Structure of channel self-attention module

圖6 空間自注意力模塊的結構Fig.6 Structure of spatial self-attention module
本文設計多尺度特征聚合模塊(MFFB), 結構如圖7所示. 將圖像特征并行輸入通過3個3×3的空洞卷積[16], 分別以2,4,8的采樣率并行采樣, 同時將輸入與一個全局平均池化(GAP)相乘, 將得到的4個不同尺度的特征在通道維度上疊加到一起, 最后再通過1×1的卷積進行特征融合和通道數恢復.

圖7 多尺度特征聚合模塊Fig.7 Multi-scale feature fusion block
本文上采樣模塊和下采樣模塊設計采用相同的結構, 如圖8所示. 分別在下采樣保持最大池化提取特征和反卷積上采樣的同時, 與一個3×3的卷積層進行并聯, 并在通道維度上進行特征疊加, 最后通過Relu激活函數達到快速收斂, 使采樣過程增加對圖像細節特征信息的獲取.

圖8 上采樣和下采樣模塊Fig.8 Up sampling module and down sampling module
本文建模像素自注意力模塊(pixel self-attention module, PSAM)通過自注意力機制建立像素之間的關聯, 以提高對圖像高頻信息和圖像風格保持的能力, 如圖9所示. 輸入的圖像特征表示為3維C×H×W, 其中C表示通道維度,H×W表示位置維度.對于輸入特征為C×H×W的特征A, 先在空間維度上進行壓縮,A通過重塑后特征圖與A重塑和轉置的特征圖進行矩陣相乘后通過Softmax函數得到像素大小為C×C通道注意圖G; 同理使轉置后的G與轉置后的A進行矩陣乘法, 并乘以尺度系數β, 再次轉置后與A逐元素相加得到特征圖M,β初始化為0, 并逐漸學習分配更多的權重.得到特征圖M后在通道維度上進行壓縮, 首先, 分別通過3個卷積層得到分割后的特征圖B,C,D, 然后分別重塑成C×N,N=H×W表示像素的大小; 其次, 特征圖B通過轉置后與重塑后的C進行矩陣相乘后, 通過Softmax函數得到像素大小為N×N的空間注意圖E; 同理使轉置后的E與轉置后的D進行矩陣乘法, 并乘以尺度系數α, 再次轉置后與M逐元素相加得到特征圖F,α初始化為0, 并逐漸學習分配更多的權重.

圖9 像素自注意力模塊Fig.9 Pixel self-attention module
通過CSAM與SSAM進行級聯組成像素自注意力模塊, 不僅捕捉了任意兩個通道特征圖之間的通道依賴關系, 還挖掘了任意兩個位置之間的空間依賴性, 通過訓練網絡自主學習兩個位置之間的特征相似性權重.
人力資源:截至目前為止,西礦企業在冊員工達一萬五千多人,但在公司職工中碩士學位以上的有147人,高級職稱以上的有184人,其中享受國務院政府特殊津貼專家、青海省優秀專家等有18人,在全員中的占比較小,仍然缺乏高學歷高技術人才,在人力資源方面競爭優勢不大,所以公司應通過績效管理、薪酬福利等方式吸引優秀人才為公司服務。
本文在CycleGAN生成器網絡基礎上進行改進, 結構如圖10所示. 首先, 用VGG16模塊組成U-Net網絡代替生成器中的全卷積神經網絡, 模型中使用改進后的上采樣和下采樣模塊, 使網絡下采樣采用最大池化和上采樣反卷積時, 能減少圖像特征的損耗; 其次, 在編碼器與解碼器進行常規跳躍連接過程中添加MFFB, 可在保持一定圖像特征分辨率的情況下, 具有較大的感受野, 多尺度的捕捉上下文信息, 使得U-Net結構的每個解碼器層都融合了來自編碼器中的小尺度和同尺度的特征圖, 減少圖像細節信息的損失, MFFB不僅改善了網絡對圖像邊界細節信息的提取, 并且可從圖像特征中提取有用信息; 再次, 在解碼器端進行多尺度密集跳躍連接, 通過解碼器端的X(1,5)與X(3,3),X(4,2),X(5,1)模塊進行密集跳躍連接; 同理X(2,4)與X(4,2),X(5,1)及X(3,3)與X(5,1)模塊都采用密集跳躍連接的方式, 使得U-Net結構內部形成多尺度的密集跳躍連接, 對圖像的不同尺度特征信息進行多次的復用和提取, 以提高網絡淺層特征利用率及深度特征的兼容性, 從而成功地捕捉圖像的幾何特征和細節紋理信息, 使U-Net結構的每個解碼器層都融合了來自編碼器中的小尺度和同尺度的特征圖; 最后, 圖像信息的提取集中在第五層的X(5,1)模塊, 此時通道數最多, 使X(5,1)和X(1,5)模塊進行級聯操作, 在該過程中建模PSAM, 實現方法是通過網絡訓練, PSAM自動學習使不同的圖像特征獲得與之匹配的權重, 從而完成對原始特征的重新標定, 實現多層次交叉模態特征融合, 并降低了低質量圖像特征的冗余和噪聲.

圖10 生成器合成過程網絡結構Fig.10 Network structure of generator synthesis process
CycleGAN學習從X→Y的映射, 如果映射關系設為G, 則學習到的圖像即為GX, 然后用鑒別器判斷是否是真實圖像, 從而形成生成對抗網絡.其損失函數為
LGAN(GX,DY)=EY[logDY(y)]+EX[log(1-DY(GX(x)))],
(2)
其中GX計劃生成與目標域中的圖像完全無法區分的假圖像GX(x), 而DY試圖區分真假圖像.對于映射函數GY:Y→X和鑒別器DX, 本文定義一個類似的對抗性損失LGAN(GY,DX).
基于CycleGAN中兩個GAN的對稱性, 所有X都可由G映射到Y空間的圖像上, 反之亦然.所以為避免損失無效, 本文不能直接使用該損失進行訓練.因此重新定義一種損失函數, 其假設生成的圖像可以被合成回原域.對于X域的圖像, 本文訓練的目的是X→GX(x)→GY(GX(x))≈X; 對于Y域的圖像, 本文訓練的目的是Y→GY(y)→GX(GY(y))≈Y.CycleGAN模型的關鍵是使用循環一致性損失的監督, 其損失函數表示為
Lcyc(GX,GY)=EX[GY(GX(x))-x1]+EY[GX(GY(y))-y1].
(3)
CycleGAN結構還加入了本體映射損失(identity loss). CycleGAN使用Identity loss的目的是在遷移過程中保持原色調, 約束生成器更接近真映射, 本文引入的損失函數表示為
Lil(GX,GY)=EX[GX(x)-x1]+EY[GY(y)-y1].
(4)
從而在整個CycleGAN網絡中的總目標損失函數表示為
L(GX,GY,DX,DY)=LGANX+LGANY+λcycLcyc+λilLil,
(5)
其中λcyc和λil是控制循環損失和本體映射損失的參數.
為驗證本文人臉素描合成網絡框架的性能, 本文在包含人臉手繪素描和人臉照片的數據集CUFS[18]和CUFSF[19]上進行訓練. 數據集CUFS包含606對彩色人臉照片, 用于研究人臉草圖合成和人臉素描識別, 其包括來自香港中文大學(CUHK)學生數據庫的188對面孔, 其中88對用于訓練, 100對用于測試; 來自AR數據庫的123對面孔, 60對用于訓練, 63對用于測試; 來自XM2VTS數據庫中的295對人臉面孔, 其中150對用于訓練, 145對用于測試. 數據集CUFSF分別包括1 194對黑白人臉照片和素描, 其中挑選400對用于訓練, 694對用于測試, 因為草圖更抽象化及與原始照片沒有很好的對齊, 增加了實驗的復雜性. 實驗環境為Ubuntu操作系統計算機, NVIDIA 1080 Ti顯卡, Pytorch1.9環境下運行.
由于受實驗設備條件限制, 在實驗過程中訓練集的人臉圖像被裁剪成256×256大小, batch_size為5, 實驗迭代次數為200次, 生成器和鑒別器使用Adam算法進行優化, 優化學習率為0.000 2, 為減少網絡的震蕩, 存儲幾張生成圖像作為緩沖更新鑒別器.
為驗證本文實驗對人臉素描合成的有效性, 在相同的硬件環境下, 本文對比了FCN算法[20]、 MWF算法[21]、 CycleGAN算法[13]、 CA-GAN算法[22]和本文算法分別在數據集CUFS和CUFSF上生成的人臉素描圖像.
在客觀評價指標上, 采用的圖像質量評估指標分別為: 結構相似指數(structural similarity index measure, SSIM)[23], 其從亮度、 對比度和結構相似三方面衡量待評圖像的質量; 特征相似度測量(feature similarity index measure, FSIM), 其是在SSIM上的延伸, FSIM算法[23]能根據一張圖片中不同像素所占的百分數不同而給予合適的權重指數, 與肉眼的視覺感知一致性較高, 聚焦合成素描圖像的低層次特征與手繪圖像的區別; 結構共現紋理的測試(Scoot Measure)[24], 其針對類視覺系統具有快速評估兩張面部素描之間感知相似性的能力, 空間結構和共線紋理是面部素描合成中兩個普遍適用的感知特征, 結構共線紋理測試同時考慮空間結構和共線紋理, 指標數值越大, 說明與手繪素描圖相似度越高, 重構的人臉素描與手繪素描之間的差異越小, 效果越好. 不同網絡架構在數據集CUFS和CUFSF上生成的素描圖像進行測評的結果分別列于表1和表2.

表1 不同網絡架構在數據集CUFS上素描圖像評估結果對比

表2 不同網絡架構在數據集CUFSF上素描圖像評估結果對比
由表1可見, 本文算法相比于FCN,MWF,CycleGAN,CA-GAN算法訓練得到的人臉素描圖像, 其各項指標均有提高. 本文算法與效果相對較好的CA-GAN網絡訓練得到的人臉素描圖像相比, 其SSIM和FSIM值分別提高0.011 2和0.002 5, Scoot Measure提高0.009 3. 由表2可見, 本文算法與效果相對較好的CA-GAN網絡訓練得到的素描圖像相比, 其SSIM和FSIM值分別提高0.010 4和0.016 2, Scoot Measure提高0.025 6. 實驗結果證明了本文算法在人臉素描圖像合成方面的有效性.
下面從主觀視覺上對比實驗結果. 各算法在數據集CUFS和CUFSF上測試生成的人臉素描圖片如圖11所示. 由圖11可見, 不同算法的重建素描效果圖在主觀視覺上, MWF和FCN算法重建的圖像主觀上能辨析人臉 , 但其紋理模糊; CycleGAN算法重建的圖像線條更豐富, 但邊緣較模糊; CAGAN算法重建的素描圖像面部表情稍微失真, 但整體輪廓更清晰; 本文算法重建的人臉素描圖像能恢復出更好的輪廓邊緣信息, 且線條含有更多的細節信息, 發絲和五官輪廓更清晰, 呈現出筆繪的線條感. 實驗結果表明, 本文算法基于人臉照片重建的素描圖像取得了最好的素描風格重現, 感官視覺和客觀指標上均優于對比算法.

圖11 在數據集CUFS和CUFSF上各算法的視覺對比結果Fig.11 Visual comparison results of each algorithm on CUFS data set and CUFSF data set
綜上所述, 針對在人臉素描圖像合成過程中存在人臉邊緣和細節紋理模糊、 面部表情失真等問題, 本文結合CycleGAN算法的優點, 提出了一種多尺度自注意機制的循環生成對抗網絡用于人臉素描圖像合成. 該網絡通過建模PSAM, 使網絡在對圖像特征進行提取時, 網絡自動學習圖像特征信息的權重, 通過學習不同特征通道之間的重要關系提升網絡性能, 使素描風格遷移獲得更好的表達; 該網絡采用U-Net結構的生成器, 并改進內部連接方式和采樣結構, 在獲得較大感受野的情況下提取多尺度的特征信息, 利用空洞卷積設計MFFB. 將該網絡與其他經典算法進行實驗對比的結果表明, 本文算法不僅主觀上重建了較好的視覺效果, 進一步糾正了網絡生成的人臉素描圖像在細節紋理、 幾何特征和邊緣特征方面的表現能力; 在客觀評價指標上, 本文取得的較高的FSIM和Scoot Measure值, 也證明了本文算法在人臉素描圖像合成方面的有效性.