曹建芳,靳夢燕,李朝霞,陳澤宇,馬 尚
(1.太原科技大學 計算機科學與技術學院,山西 太原 030024;2.忻州師范學院 計算機系,山西 忻州 034000)
敦煌唐代壁畫由于年代久遠,出現變色、褪色等問題。傳統的人工修復方法依賴于科研工作者對史料的全面了解和豐富的修復經驗。隨著計算機技術的發展,數字圖像處理為壁畫修復提供了強大支持,降低了修復難度,減少了對人工修復的依賴。近年來,壁畫數字修復技術迅速發展,Pan等[1]提出從壁畫高光譜圖像捕獲從可見光到近紅外光光譜范圍的圖像,有效提取了褪色壁畫圖案,但當壁畫圖像不夠清晰完整時,該方法的精度較低。Cao等[2]利用高光譜成像技術,提出一種基于暗通道先驗和Retinex雙邊濾波的灰暗壁畫修復方法,但對于復雜壁畫圖像的細節處理仍有待改進。楊筱平等[3]首次采用GrabCut分割算法[4],對壁畫圖像進行分割和色彩轉移自動取樣,實現了壁畫圖像色彩修復。張豪遠等[5]在壁畫圖像中提取局部分割區域的特征,并在多尺度空間中提取紋理特征以確定最佳匹配塊,對破損的壁畫進行虛擬修復,但無法為大面積破損的壁畫圖像匹配最合適的特征塊,修復效果較差。Liu等[6]使用部分卷積對非規則化破損區域進行修復,但一些結構稀疏的圖像會修復失敗。焦莉娟等[7]提出一種改進的塊匹配修復算法,克服了Criminisi算法[8-9]中的錯誤填充問題,但只適用于修復跨度較小的破損區域。Li等[10]提出一種基于方向擴散的二階雙曲偏微分方程模型,能有效防止圖像階梯效應的產生,并且保持圖像的邊緣和細節。
傳統修復算法存在語義一致性差、邊緣模糊及偽影、難以捕捉高級語義信息等問題,而生成對抗網絡(generative adversarial network,GAN)[11]為解決壁畫修復問題提供了新的思路。Pathak等[12]首次將神經網絡算法引入到無監督的視覺特征學習中,運用卷積神經網絡和生成對抗網絡,以圖像缺失部分的上下文信息作為推理依據,提出一種兼顧整幅圖像理解與合理推斷的上下文編碼器算法,為圖像的視覺修復、語義還原提供了全新的解決辦法,為后續研究提供了理論借鑒。徐志剛等[13]提出基于雙重約束卷積神經網絡方法,以解決石窟壁畫褪變色問題,但僅適用于結構較為簡單的壁畫。Song等[14]將壁畫圖像轉換到色彩空間,然后對各分量圖像進行高低帽運算,構造多結構形態濾波器平滑圖像中的噪聲,將融合后的掩膜圖像與原始壁畫進行融合,提出一種改進的生成式對抗網絡結構。朱欣娟等[15]針對文物表面暗舊、圖像褪色等問題,提出一種生成式對抗網絡的文物圖像超分辨率模型,在重建圖像紋理時能在一定程度上對褪色圖像色彩進行修復,但很難修復表面信息不完整的壁畫圖像。Cao等[16]提出增強一致性生成對抗網絡算法,可對紋理結構強、缺失區域較大的壁畫圖像缺失部分進行修復,但該算法對數據的質量要求較高。Li等[17]提出一種基于人工智能算法的生成鑒別網絡模型,能有效修復具有圓點狀損傷和復雜紋理結構的壁畫。隨著深度學習技術的不斷深入,利用神經網絡技術實現圖像的風格轉移,為壁畫圖像色彩修復提供新途徑。Zhu等[18]提出循環生成對抗網絡(CycleGAN),首次采用GAN[11]進行圖像風格遷移,可以轉換無配對圖像。Arjovsky等[19]提出WGAN算法,利用Wasserstein距離來代替JS散度和KL散度,從根本上解決了GAN的梯度消失問題。Johnson等[20]提出利用感知損耗函數對前饋網絡進行訓練,實現了實時風格轉換和超分辨率重建。現有的基于深度學習的圖像修復方法,對早期訓練樣本的精度和完整性要求很高,但找到高質量的實際壁畫圖像需要很高的成本,且很多待修復的壁畫圖像根本不完整。
現有的壁畫修復技術大致可以分為兩類:一類為傳統的圖像修復,另一類為基于深度學習的圖像修復。傳統修復算法存在語義一致性差、邊緣模糊及偽影等問題,而基于深度學習的圖像修復方法多需要高精度數據集。本研究以CycleGAN算法[18]為基礎,提出一種基于循環生成對抗網絡和多尺度融合協調注意力機制的壁畫色彩修復算法(multi-scale fusion coordinated attention mechanism CycleGAN,MFCA-CycleGAN),創新之處有:在網絡的循環一致性損失中添加同一映射損失改進網絡,使生成的壁畫圖像更加真實可靠;改進協調注意力機制,引入多尺度融合思想,在生成器中加入多尺度融合的協調注意力機制,提高生成壁畫圖像的協調性和質量。
CycleGAN包含兩個判別器和兩個生成器,無需預先匹配,就可以進行數據之間的轉換。在此基礎上,內容圖像通過生成網絡和判別網絡,生成風格化圖像。CycleGAN主要包含兩部分損失,分別為對抗損失和循環一致損失。
1) 對抗損失
GAN是CycleGAN的基礎,利用對抗損失不斷優化生成器和判別器。CycleGAN也利用此對抗損失優化網絡,通過判別器對生成樣本和真實數據進行鑒別,生成器希望生成樣本被判定為真,而判別器要識別出圖像是真實的還是生成的。對于生成器G:X→Y,其判別器DY的損失函數為:
LGAN(G,DY,X,Y)=Ey~Pdata(y)[lnDY(y)]+Ex~Pdata(x)[ln(1-DY(G(x)))]。
(1)
式中:X、Y為兩個圖像域;x、y為兩個域中的圖像;DY(y)為圖像y屬于域Y的概率;Ey~Pdata(y)為y取自Y的期望;Ex~Pdata(x)為x取自X的期望。
對于生成器F:Y→X,其判別器DX的損失函數為:
LGAN(F,DX,Y,X)=Ex~Pdata(x)[lnDX(x)]+Ey~Pdata(y)[ln(1-DX(F(y)))]。
(2)
式中:F為域Y向域X的映射函數;DX(x)為圖像x屬于域X的概率。
2) 循環一致性損失
CycleGAN同時進行G、F映射,將圖片轉換后還可以進行還原,有效避免了所有X圖像轉換為Y圖像域中的同一圖像的情況。循環一致性損失為:
(3)
式中:Ex~Pdata(x)[]為域X中圖像x經生成器G作用后生成G(x),G(x)再由生成器F作用變為F(G(x)),F(G(x))應與圖像x近似。Ey~Pdata(y)同理。
CycleGAN的基本原理如圖1所示。網絡的所有損失相加即為CycleGAN的目標損失

圖1 CycleGAN原理圖
L(G,F,DX,DY)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)。
(4)
式中,λ為控制各損失間相對重要程度的加權因子。
注意力機制被廣泛用于提高現代深層神經網絡的性能。Hou等[23]基于擠壓和激勵網絡(squeeze-and-excitation networks,SENet)[21]和卷積塊注意力模塊(convolutional block attention module,CBAM)[22],將位置信息嵌入通道中,使移動網絡能夠在大范圍內關注,同時避免了巨大的計算量。位置信息嵌入通道注意,將一個二維的池化操作轉換為兩個一維的池化操作,沿著兩個方向聚合特征,生成的特征映射被分別編碼成方向感知和位置敏感的注意映射,用于提高感興趣對象的輸入特征的表示。具體地,為了激勵注意力模塊以精確的位置信息在空間上捕獲遠程交互,給定輸入x,分別從水平與垂直方向進行重要特征提取,高度h上的第c個信道的輸出[23]
(5)
式中:x來自具有固定內核大小的卷積層,W為圖像的寬度。類似地,寬度w處第c個信道的輸出可寫為:
(6)
式中,H為圖像的高度。
給定式(5)、式(6)生成的聚合特征圖,首先進行拼接,然后利用一個共享的1×1卷積變換函數F1,得到
f=δ(F1([Zh,Zw]))。
(7)
式中:δ為非線性激活函數;f∈RC/r×(H+W)為水平、垂直方向編碼空間信息的中間特征圖;r為縮減比,用來控制塊大小,然后將f分為兩個獨立張量fh∈RC/r×H和fw∈RC/r×W。利用另外兩個1×1卷積變換Fh和Fw將fh和fw變換為與輸入X具有相同信道數的張量,得到:
gh=σ(Fh(fh)),
(8)
gw=σ(Fw(fw))。
(9)
式中,σ為sigmoid函數。使用適當的縮減率r以減少f的信道數,然后將輸出gh和gw分別展開用作注意力權重,則坐標注意力塊Y的輸出為:
Y=X×gh×gw。
(10)
循環一致性損失將還原圖像F(G(x))與真實圖像x、還原圖像G(F(y))與真實圖像y的損失考慮在內,然而這種端到端的損失未能詳盡考慮其轉化過程中的風格損失,因此本研究在CycleGAN循環一致性損失函數中添加同一映射損失。而協調注意力機制從橫向和縱向兩個角度對輸入圖像進行注意力篩選,缺少綜合周圍語義信息的有效手段,因此為協調注意力機制添加多尺度融合策略,使得網絡模型能夠從多方面的特征信息中篩選最為有效的特征信息。從邏輯層面來說,本研究方法使用多尺度融合的協調注意力機制對CycleGAN生成模塊中的上采樣區域進行特征篩選,在訓練過程中利用同一映射損失降低圖像轉化過程中的風格損失,經過多次循環訓練使得CycleGAN最終實現良好的風格遷移。
CycleGAN算法的循環一致性損失函數將圖像還原之后計算與原始輸入圖像的差值并求和,在一定程度上可以計算出原始圖像與還原圖像的差異,但是未考慮生成圖像G(x)與真實圖像y的損失和生成圖像F(y)與真實圖像x的損失。以原始圖像x到生成圖像G(x)再到還原圖像F(G(x))為例(其中,真實圖像x與真實圖像y為不成對圖像),由原始圖像x到生成圖像G(x)的生成損失較生成圖像G(x)到還原圖像F(G(x))的損失更為重要,如果生成圖像與真實圖像y的風格損失很大,后續的生成圖像G(x)到還原圖像F(G(x))的變換也不會成功。本研究基于此改進了循環一致性損失函數,在原始循環一致性損失的基礎上加入同一映射損失,即
Lcyc(G,F)=Ex~Pdata(x)[(1-λ1)‖F(G(x))-x‖1+λ1‖G(x)-y‖1]+
Ey~Pdata(y)[(1-λ2)‖G(F(y))-y‖1+λ2‖F(y)-x‖1]。
(11)
式中:λ1為x→G(x)≈y過程中的損失權重,(1-λ1)為F(G(x))≈x過程的損失權重,整個過程中損失之和為1。同理,λ2為y→F(y)≈x過程損失權重,(1-λ2)為G(F(y))≈y過程損失權重。
圖2為算法模型的訓練流程框架。以正向循環為例,具體訓練過程為:首先將真實未修復唐代壁畫圖像x輸入,由生成器G生成修復的唐代壁畫圖像G(x);然后利用判別器DX判斷生成圖像是否為真,并將輸出反饋到生成器G進行對抗博弈;最后通過生成器F還原為驗證的未修復唐代壁畫圖像F(G(x)),利用循環一致性損失和同一映射損失,確保最終驗證壁畫圖像與真實壁畫圖像盡可能相似。

圖2 模型訓練框架圖
協調注意力機制只考慮橫縱兩個方向的重要性,未從整體上考慮周圍語義信息的重要性程度,本研究對協調注意力機制網絡結構進行改進,加入多尺度特征融合思想,構成多尺度融合的協調注意力機制。首先對輸入圖像分別進行卷積核大小為1×1、3×3、5×5、7×7的多尺度卷積運算,得到不同感受野大小的特征信息;然后對四個通道進行特征融合,從橫縱兩個方向進行適應性平均池化、維度拼接與卷積操作,以及批量歸一化與非線性激活;隨后分別在橫縱兩個方向使用Sigmoid函數進行重要性程度判別,對特征圖進行權重賦值;最后通過在生成器G的上采樣區第2層引入多尺度融合的協調注意力機制,建立圖像各個位置像素間關聯關系,提高生成圖像的協調性和質量。
改進后的生成器G由三部分組成,分別為:由卷積神經網絡組成的下采樣區域,從輸入圖像和風格圖像提取特征表達;由殘差網絡組成的中間區域進行圖像轉換;由反卷積神經網絡與多尺度融合的協調注意力機制組成的上采樣區域。具體生成模塊結構見圖3。

圖3 生成模塊結構圖
常見的算法描述方法有自然語言、結構化流程圖、偽代碼等,本研究參考文獻[7]采用自然語言方法對算法進行形式化定義。
MFCA-CycleGAN算法的輸入包括未修復壁畫圖像x與已修復壁畫圖像y,輸出為利用風格遷移方法色彩修復后的壁畫圖像G(x)。具體步驟為:首先,對于輸入的未修復壁畫圖像x與已修復壁畫圖像y,經過生成網絡G生成已修復壁畫圖像G(x)與還原的已修復壁畫圖像G(F(y)),再經過生成網絡F生成未修復壁畫圖像F(y)與還原的未修復壁畫圖像F(G(x));然后,將生成網絡梯度設置為0,利用式(11)計算同一映射損失Lcyc(G,F)對生成網絡進行反向傳播,計算生成網絡G、F的梯度并更新權重參數,再使用均方根誤差計算判別器DX、DY的梯度并更新權重參數;最后,重復上述步驟,迭代n次得到最優模型,輸出本研究算法(以下簡稱本算法)色彩修復后的壁畫圖像。
本算法模型需要迭代n次,數據集包含m條數據。m條數據經過前向傳播生成對應的風格圖像、梯度函數計算等均需要經過n×m次循環迭代來更新網絡模型參數,因此本算法時間復雜度為O(nm)。
使用Python 3.8和Pytorch 1.8.1搭建實驗網絡驗證本算法對壁畫圖像色彩修復的有效性。其中,硬件環境為Intel i5-9400F處理器、NVIDIA GeForce RTX 2060 SUPER顯卡、16 GB內存,軟件環境為Windows 10操作系統、Pycharm集成開發環境。
實驗使用圖像數據集為《中國敦煌壁畫全集》電子資源畫冊的唐代未修復壁畫圖像和人工修復的唐代壁畫圖像的截圖。其中,未修復壁畫圖像692張、人工修復壁畫圖像572張。
3.3.1 模型訓練
將未修復壁畫圖像和人工修復壁畫圖像按照8∶2的比例進行劃分。其中,訓練集包括已修復壁畫圖像458張和未修復壁畫圖像554張,測試集包括已修復壁畫圖像114張和未修復壁畫圖像138張。初始學習率設置為0.000 2,Epoch設置為100,網絡中的超參數設置為10,Batchsize設置為8。λ1與λ2為自優化超參數,初始設置均為0.2。圖4為原始壁畫圖像,圖5為100次迭代訓練之后的壁畫修復效果。

圖4 原始壁畫

圖5 修復壁畫
從圖5可以明顯看出,修復后的壁畫色彩更加鮮艷,色彩飽和度更高,基本延續了原始壁畫的色彩,并對原始壁畫的色彩進行了很好的視覺效果增強,具有較高的可信度。
3.3.2 局部褪色壁畫圖像修復對比實驗
將人工修復的壁畫圖像裁剪為224×224像素大小的壁畫圖像,并對裁剪后的壁畫圖像進行矩形區域隨機去色處理,獲得局部褪色的壁畫圖像數據集。分別應用文獻[18-20]算法和本算法進行壁畫局部色彩修復實驗,結果如圖6所示。

圖6 局部褪色壁畫圖像的不同算法實驗結果
文獻[18]算法修復后的壁畫圖像整體模糊,如圖6(c)第2張,雖將壁畫圖像褪色部分進行了修復,但修復效果不佳。文獻[19]算法修復后的壁畫圖像在色彩細節上與原始壁畫圖像差異較大,如圖6(d)第4張。文獻[20]算法修復后的壁畫圖像效果均不理想。
本算法整體效果較好,但在局部壁畫色彩修復方面存在不理想的情況。經分析,出現這種情況是由于在同一映射損失函數計算過程中,x→G(x)≈y和y→F(y)≈x損失的存在,弱化了原始CycleGAN中的循環損失函數,圖像生成時更加關注整體圖像風格的遷移,使部分區域未能得到有效修復,但從實驗效果可以看出,相較其他算法,采用本算法修復的局部褪色壁畫圖像效果最好。
3.3.3 壁畫圖像整體色彩修復對比實驗
分別應用文獻[18-20]算法以及本算法進行壁畫圖像色彩修復對比實驗,實驗結果如圖7所示。本研究利用結構相似性(structural similarity,SSIM)、圖像峰值信噪比(peak signal to noiseratio,PSNR)、學習感知圖像塊相似度(learned perceptual image patch similarity,LPIPS)、Frechet Inception距離得分(Frechet Inception distance score,FID)以及用戶調研評價(user study,US)對色彩修復后的壁畫圖像進行評價。一般情況下,PSNR越高,對應的圖像修復效果越好;SSIM取值為[0,1],其值越高圖像相似度越高;LPIPS與人類感知情況更為相似,當數值較低時,兩幅圖片的相似性會更大;FID是一種專門用來評估生成對抗網絡性能的方法,將生成的壁畫圖像與真實的壁畫圖像進行對比計算“距離值”,該值越小,圖像質量越好。不同算法的定量指標對比如表1所示。

表1 不同網絡的定量指標對比

圖7 整體壁畫圖像色彩修復不同算法實驗結果
從SSIM和PSNR看,本算法在4組圖像中最高,分別達到90.60%和22.515 dB;從LPIPS和FID看,本算法4組圖像中最低,分別為0.150 2和119.31。對比實驗結果可以看出,本算法可以獲得更加清晰可靠的色彩修復圖像,節省了修復時間,提高了修復質量,達到更真實的視覺效果。與其他方法相比,本算法的修復效果更合理、主觀視覺更順暢,在整體顏色重建上有很好的效果。
通過調研100名視力正常的用戶,78%的用戶認為本算法修復的壁畫圖像是最佳圖像。為了證明本算法修復的壁畫圖像在主觀評價上更具有普遍性,采用評分法對該100名用戶進行以人眼主觀感知為評價標準的主觀評價,得到對4種算法修復的壁畫圖像清晰度及色彩飽和度的打分結果(評分為5分制:優,5分;良,4分;中,3分;差,2分;劣,1分),并對打分結果分別求平均值,得到的評分結果如圖8所示。評分結果顯示,本算法修復的壁畫圖像評分均較高,與其他算法相比,在主觀評價上效果更好。

圖8 不同算法無參照主觀評分對比圖
3.4.1 權重系數實驗分析
以文獻[18]中原始代碼為基礎進行消融實驗,測試原始CycleGAN與本算法所設置參數壁畫色彩修復效果,實驗結果如圖9所示。表2為采用經典PSNR和SSIM定量評價指標,對色彩修復后的壁畫圖像進行評價。

表2 消融實驗定量指標對比

圖9 消融實驗結果圖
從圖9可以明顯看出,原始CycleGAN修復后的壁畫圖像色彩效果較差,在部分壁畫圖像中出現了明顯的棋盤效應。而當λ1=λ2=0.2時,壁畫的色彩修復效果最好,色彩過渡更加自然,且無明顯棋盤效應。此外,從PSNR和SSIM看,使用參數λ1=λ2=0.2修復的壁畫圖像較原始CycleGAN分別提高0.97%和17.06%。
3.4.2 多尺度融合協調注意力機制實驗分析
在3.4.1節權重系數實驗的基礎上,對多尺度融合的協調注意力機制進行消融實驗,實驗結果如圖10所示。
實驗表明,使用多尺度融合的協調注意力機制善于捕獲全局細節,對于圖像修復效果起到至關重要的作用。如圖10(c)中壁畫圖像較原壁畫圖像色彩更加鮮艷,引入多尺度融合的協調注意力機制有明顯的效果提升,對壁畫圖像顏色的還原起到良好作用。從評價指標看,添加多尺度融合協調注意力機制修復的壁畫圖像與僅添加權重系數修復的壁畫圖像相比,PSNR和SSIM分別提高3.105%和2.50%。
為了分析本算法與其他方法的復雜性,參考文獻[24],選用參數量、運算量與單次訓練耗時作為算法模型復雜度評價指標。其中,參數量指網絡的總參量,與空間復雜度相對應;運算量指網絡中浮點運算總量,與時間復雜度相對應;單次訓練耗時為對應網絡模型迭代一次所需平均時間。實驗結果見表3。

表3 模型復雜度分析
與文獻[18]相比,本算法模型復雜度僅與同一映射損失函數以及多尺度融合的協調注意力機制有關。而在同一映射損失函數的計算過程中,相關變量無需重復計算,故對模型復雜度的影響微乎其微。因此,多尺度融合的協調注意力機制對本算法復雜度的影響最大。參照表3可知,在與文獻[18]參數量、運算量和單次訓練耗時大致相當的條件下,本算法模型在實際壁畫色彩修復中取得最佳效果。從單次訓練耗時來看,本算法的速度明顯快于文獻[19]和文獻[20],滿足速度要求。
此外,本算法雖然在運算量上與文獻[19]存在較大差距,但是從實際修復效果來看,本算法色彩修復后的壁畫圖像色彩更加鮮明且真實細膩。相比于其他3種算法,本算法從主、客觀層面都取得了較為理想的效果,性能有較好提升。
針對敦煌唐代壁畫色彩難以較好修復的問題,提出基于循環生成對抗網絡和多尺度融合協調注意力機制的壁畫色彩修復算法。首先將同一映射損失加入到循環一致性對抗損失函數中,然后在生成器中引入多尺度融合的協調注意力機制,得到最優的壁畫色彩修復網絡模型。對比文獻[18-20]的3種算法,SSIM分別提高16.59%、25.57%、46.47%,達到90.60%;PSNR分別提高4.075、7.992、8.848 dB,達到22.515 dB;LPIPS分別降低0.136 0、0.123 3、0.382 2,為0.150 2;FID分別降低61.24、95.54、90.7,為191.31。采用無參照主觀評價驗證表明,改進后的算法在壁畫圖像色彩的修復上具有有效性和卓越性。最后,通過對權重系數及多尺度融合的協調注意力機制進行消融實驗,驗證本算法可以在不依賴專家知識的情況下恢復褪色壁畫圖像的顏色,節省了壁畫修復時間。