劉昌通 ,曹 林 ,杜康寧
1.北京信息科技大學 光電測試技術及儀器教育部重點實驗室,北京 100101
2.北京信息科技大學 信息與通信工程學院,北京 100101
色彩是圖像的重要屬性,人眼對彩色圖像的敏感程度高于灰度圖像。因此,通過灰度圖像著色,可以使觀察者從著色圖像中獲得更多的信息,提高圖像的使用價值。灰度圖像著色在視頻處理、影視制作、歷史照片還原等方面起著至關重要的作用,具有重要的研究價值。其中,人像著色是圖像著色的主要應用領域,本文針對人像著色展開了一系列的研究。
傳統的圖像著色方法主要有基于局部顏色擴展的方法[1-2]和基于顏色傳遞的方法[3-4]。基于局部顏色擴展的方法需要指定灰度圖像某一區域的彩色像素,將顏色擴散至整幅待著色圖像。這一類方法需要大量人為的工作,如顏色標注等,且圖像著色的質量過度依賴于人工著色技巧。基于顏色傳遞的方法消除了人為因素在圖像著色中的影響,通過一幅或者多幅顏色、場景相近的參考圖像,使顏色轉移至待著色圖像。傳統方法可以應用在人像著色中,但這類方法需要設定參考圖像,且著色的計算復雜度高。
為了減小著色過程中人工因素的影響,傳統的著色方法已逐漸被基于深度學習的方法所取代。其中,Iizuka等人[5]使用雙通道網絡,聯合圖像中的局部特征信息和全局先驗信息,可以將任意尺寸的灰度圖像自動著色。Larsson 等人[6]利用 VGG 神經網絡[7],提取圖像的特征,來預測每個像素的顏色分布。Zhang 等人[8-9]先后提出針對像素點進行分類和基于用戶引導的灰度圖像著色方法。這一類方法利用神經網絡提取特征,但在訓練過程中容易丟失局部信息,使特征表達不完整,限制了著色的效果。
近年來,生成對抗網絡(Generative Adversarial Network,GAN)[10]在圖像生成領域取得了巨大的成功,相比較傳統的神經網絡[11],GAN 生成的圖像質量更高。但GAN的訓練不穩定,容易出現模式崩潰。Zhu等[12]研究人員在文獻[13]的基礎上提出了循環生成對抗網絡(Cycle Generative Adversarial Network,Cycle-GAN),通過循環生成對抗的方式,提高訓練網絡的穩定性。
綜上所述,針對復雜背景下人像誤著色的問題,本文提出了聯合一致循環生成對抗網絡(Jonit Consistent Cyclic Generative Adversarial Network,JCCGAN)。該網絡在循環生成對抗網絡基礎上,聯合了一致性損失實現網絡整體的反向傳遞優化,其生成網絡改用U型網絡(UNet)[14],并加入最小二乘損失,作為著色的優化目標,提高圖像的生成細節。在判別網絡中,采用多層特征融合的方式提取圖像特征,使提取的特征表示更多圖像信息。最后在自建的CASIA-PlusColors 數據集上進行實驗,結果驗證了本文方法的有效性。
在色彩空間中,基于顏色合色的RGB空間,不適應人眼調色,只能比較亮度和色溫的視覺特性,不能直接反映圖像中光照信息的強弱。因此,大多著色方法中采用Lab色彩空間。
其中,著色的過程是通過網絡模型,輸入給定寬高W×H的亮度L通道圖像XL,映射至色度通道a和b,預測值分別為,將網絡模型的輸出和L通道灰度重新合成一個新的三通道圖像,即得到的著色圖像為因而,訓練著色模型最終的目標是獲得的一種最優映射關系。因此,本文將圖像從RGB 色彩空間轉換至基于人眼對顏色感覺的Lab色彩空間。
傳統的GAN 是單向生成,采用單一的損失函數作為全局優化目標,可能會將多個樣本映射為同一個分布,從而導致模式崩潰。CycleGAN 采用循環生成對抗的方式,有效地避免了傳統GAN 的這一不足。本文提出了聯合一致循環生成對抗網絡的人像著色方法。該方法在CycleGAN的基礎上,將兩個循環生成網絡重構的數據組合,計算其與真實彩色圖像的距離,實現一致性損失對整個網絡的反向傳遞,加強了原有網絡的穩定性。同時,為了提高生成圖像信息的完整性,本文采用了UNet 網絡來改進原有的生成網絡,并將多特征融合的方法引入到判別網絡中,使提取的特征更多表示圖像的細節。
2.2.1 著色網絡模型
本文的著色網絡模型包含四個子網絡,分別是:生成網絡G,負責將L通道灰度圖像映射至ab通道彩色分量XL→;生成網絡F,負責將ab通道彩色分量映射至L通道灰度圖像Xab→;判別網絡DX,用于判別區分L通道灰度圖像XL和生成網絡F生成的灰度圖像;判別網絡DY,用于區分真實的彩色圖像和生成的分量與L通道組合的彩色圖像 。該網絡的目標是通過訓練L通道分量{XL}i=1∈XL和ab通道彩色分量{Xab}i=1∈Xab,獲得最優對應關系G:XL→,即將L通道灰度圖像映射至ab通道彩色分量的最優關系。網絡結構如圖1所示。
以上的子網絡構成了一對循環生成網絡,其分別將輸入的樣本映射到中間域,然后將中間域的數據重構回原有的域中。例如,輸入L通道灰度圖像XL,最終會被映射回灰度圖像F[G(xL)],中間域數據是生成的ab通道彩色分量。同樣,輸入為ab通道彩色分量Xab時,最終也會被重構回原有的域中G(F(Xab)),其中間域是F網絡生成的灰度圖像。
在原始CycleGAN中,兩個循環生成網絡是相互獨立的,反向傳遞優化網絡時,循環生成網絡的一致性損失是分開計算的。如圖1所示,本文的著色模型將兩個循環生成網絡重構的數據結合,即將重構的ab通道彩色分量G(F(Xab))與灰度分量F[G(xL)]重新組合,得到重構的彩色圖像。然后計算其與輸入彩色圖像的L1距離作為網絡的聯合一致性損失,共同實現整個網絡的反向傳遞優化。

圖1 聯合一致循環生成對抗網絡結構圖
2.2.2 生成網絡
傳統GAN 中,生成網絡僅由簡單的卷積層和反卷積層構成,提取特征時容易丟失圖像的局部信息,限制網絡的著色效果。如圖2 所示,為了避免上述問題,本文的生成網絡采用U 型網絡(UNet),通過跳躍連接,將下采樣中每一層輸出的特征連接至對應的上采樣層。其目的是將淺層信息直接傳遞到相同高度的反卷積層,形成更厚的特征,提升圖像的生成細節。

圖2 生成網絡結構圖
生成網絡整體由上采樣和下采樣兩部分組成。其中下采樣部分共有5 層,濾波器的數量分別為[32,64,128,256,512]。如圖2所示,下采樣過程中,圖像特征每層經過兩次卷積,濾波器大小為3×3,其目的是提取圖像紋理結構等基本信息。卷積后連接批標準化(Batch Normalization,BN)層[15],目的是調整卷積后的數據分布,使卷積的輸出分布在激活函數近原點鄰域內,降低梯度彌散率,避免梯度消失的問題。激活層本文采用帶泄露的線性整流函數(Leaky Rectified Linear Unit,LReLU),代替原本的線性激活函數(Rectified Linear Unit,ReLU)[16],其目的是減少計算的復雜度,且不會導致負值區域的神經元全為0。在上采樣過程中,采用了與下采樣相對稱的5層反卷積,將深層特征恢復至一定尺寸的大小。生成網絡的目的是將輸入映射至目標域空間的分布,例如根據嘴唇形狀特征對應至著紅色的過程。
2.2.3 判別網絡
傳統判別網絡采用單層特征表達整個圖像,容易丟失圖像的細節信息。因此本文在判別網絡中引入多特征融合的方式,如圖3所示。采用融合后的特征可以增強對圖像的細節信息,提高圖像分類的準確率。同時,為了避免維度災難,本文在特征融合層后添加編碼網絡對特征進行降維。

圖3 判別網絡模型
生成的分量同L通道組合后構成一幅著色圖像,判別網絡DY對其與真實的彩色圖像之間進行判別區分。由于二者之間存在相關性,判別器可以通過卷積神經網絡進行學習,獲取更加有效的圖像特征,對兩類圖像進行正確分類。對于判別網絡DY,首先輸入三通道256×256 大小的彩色圖像,然后經過帶有步伐(Stride)的6次卷積后,輸出256個4×4的特征圖。特征提取的卷積核尺寸為5×5,卷積步長2,每一個卷積層的特征圖個數分別是8、16、32、64、128、256。卷積后融合特征,分別對第四層和第五層進行4×4、2×2的平均值池化,生成448 個4×4 大小的特征圖。然后將融合后的特征圖拉伸至11 264維長度的向量,使用多層全連接將特征的維度降低至1 024維。為了進一步防止特征降維過程中,出現過擬合的現象,在全連接層后面加上Dropout層,概率值設置為0.7。最后,將壓縮過的特征向量輸入至Sigmoid 函數,判別生成圖像是否符合真實圖像的分布。對于判別網絡DX,輸入圖像為單通道的灰度圖像,模型結構與判別網絡DY相同。
傳統GAN 只采用生成對抗損失函數,存在多余的映射空間。本文方法結合生成對抗損失和聯合一致性損失共同監督訓練網絡,有效避免了這一問題。同時,為了減小生成圖像與決策邊界的距離,本文采用最小二乘損失LLSGAN改進原有的生成對抗損失函數,提高圖像生成的質量。
2.3.1 生成對抗損失
生成對抗性損失應用在輸入圖像映射為中間域圖像的過程。原始的交叉熵損失如式(1)所示,使得生成器無法進一步優化被判別器識別為真的生成圖像,可能導致網絡生成圖像的質量不高。受Mao等人[17]的啟發,本文采用最小二乘損失作為生成對抗損失。相比較原始損失函數,最小二乘損失會對遠離決策邊界并且判決為真的生成樣本進行處理,將遠離決策邊界的生成樣本重新放置在決策邊界附近。即通過使距決策邊界不同的距離度量構建出一個收斂快、穩定,并且生成圖像質量高的對抗網絡。

其中,x~Pdata(x)、y~Pdata(y)分別為樣本X、Y服從的概率分布。Ex~Pdata(x)和Ey~Pdata(y)是各自樣本分布的期望值。
因此,對于生成網絡G:X→Y及其判別網絡DY,生成網絡G將X域數據生成符合Y域分布的目標,判別網絡DY用于區分真實的Y域數據{y}和生成樣本{G(x)}。本文最小二乘生成對抗損失的函數定義如式(2)所示。

最小二乘生成對抗損失的目標如式(3)所示。訓練判別器時,損失函數目標是使判別器區分真實的樣本和生成的樣本,即最大化DY(y),同時使DY(G(x))最小;訓練生成器時,損失函數的目標是使生成數據接近真實數據,即使DY(G(x))最大化。

對于生成網絡F:Y→X及相應的判別網絡,同樣引入相同的生成對抗損失,損失函數目標如式(4)所示。

2.3.2 聯合一致性損失
傳統GAN 只使用了對抗性損失訓練網絡,學習輸入圖像和目標圖像的映射關系,但無法解決生成網絡中存在的多余映射問題。而循環生成網絡采用了循環一致性損失,來更好確保生成數據的穩定性,減少其他多余映射關系。本文在此思想的基礎上,提出了聯合一致性損失,將重構的數據重新組合,再計算其與輸入彩色圖像的L1損失。
式(5)和式(6)分別是網絡中兩個循環生成過程:

其中,xL和為真實的L通道分量和其重構的數據;xab和為真實的ab通道彩色分量和其重構的數據。

其中,x為輸入的樣本,F(G(xab))+G(F(xL))表示重構的彩色圖像。
完整的目標函數包括生成對抗損失和聯合一致性損失,如式(6)所示:

其中,λ參數用于調整最小二乘損失和聯合一致性損失的權重。網絡總訓練目標為:

目前公開的人像數據集有很多,如PubFig、CelebA等,主要應用在人臉識別等領域,人物圖像大多集中在人的面部區域,并且圖像質量不一致,直接用于著色模型的訓練,效果不好。為了解決數據庫的問題,本文在CASIA-FaceV5數據庫的基礎上,通過爬蟲技術,對數據集進行擴充,最終數據庫總共包含了9 500張多種姿態、各種背景下的人物彩色圖像,簡稱為CASIA-PC(CASIAPlusColor)。
CASIA-FaceV5 是中國科學院公布的數據庫,該數據庫是開放的亞洲人物數據集,其中包含了來自500人2 500 張高質量的彩色圖像。通過觀察發現,該數據庫的人物圖像大部分為單色背景下的正面照,缺少實際環境下的人像場景。
為了解決CASIA-FaceV5 數據庫缺乏真實場景人像的問題,本文在該數據庫的基礎上,使用爬蟲技術,完成了在互聯網中自動化、模塊化爬取圖片的任務,收集圖片,最后得到了7 000 張復雜背景下的不同姿態的彩色人像。
本文實驗采用了CASIA-PC數據集,所有圖片的大小調整為225×225像素,并將數據庫劃分為訓練集和測試集,訓練集由隨機選取的8 600張圖片組成;剩下的圖片作為測試集。數據集實例如圖4所示,其中圖4(a)選自CASIA 數據庫,圖4(b)選自互聯網中爬取的人像。由圖4可知,本文自建的數據集場景豐富,色彩鮮艷,增加了著色的難度。

圖4 數據集實例
為了客觀地評價生成圖像的質量,本文采用圖像質量評價標準結構相似性(Structural Similarity Index,SSIM)[18]和峰值信噪比(Peak Signal to Noise Ratio,PSNR)對著色圖像整體進行質量評估。PSNR用于評價生成圖像著色的真實程度,其值越大,表示失真越少;SSIM用于衡量目標間結構的相似程度,SSIM測量值越大,表示兩張圖像相似度越高。
(1)預處理。實驗的預處理階段,將每張圖像的顏色模型從RGB 轉為Lab 模型,并將彩色人像的L通道和ab通道彩色分量分離,將分離后的L通道和ab通道彩色分量作為網絡的輸入。
(2)參數設置。數據訓練過程中,生成網絡G和F,判別網絡DX和DY均采用初始學習率為0.000 2,動量為0.5 的Adam 優化器更新網絡的參數,同時采用線性衰減的方法逐漸降低學習率。經過不斷的迭代訓練使模型收斂,存儲整個網絡的參數。
(3)實驗過程。實驗流程如圖5 所示,可以分為兩個階段:第一階段使用8 600 個訓練樣本對整個網絡進行訓練,得到著色模型。為了避免網絡有過擬合的現象,本文在使用規模較大的數據集訓練網絡時,會出現數據質量不同,部分圖像存在顏色暗淡和圖像模糊等問題,會影響模型著色的效果。因此,第二階段本實驗在規模較大的原數據集中篩選出了質量相對較高的2 160個訓練樣本,微調網絡的參數。

圖5 模型訓練示意圖
本文將圖像的標準差和平均梯度值作為數據篩選的評價指標,具體如下:
標準差(Standard Deviation,SD)是指圖像灰度值相對于均值的離散程度,標準差越大說明圖像中灰度級分布越分散,圖像的顏色也更加鮮明。設待評估圖像為F,大小為M×N,則標準差的計算公式如下所示:

平均梯度(Mean Gradient,MG)反映了圖像細節和紋理的變化,在一定程度上可以表示圖像的清晰度,其值越大說明圖像整體的清晰度越高。圖像平均梯度的計算公式如下所示:

其中,ΔxF(i,j)、ΔyF(i,j)分別表示像素點(i,j)在x、y方向上的一階差分。
本文將標準差和平均梯度的閾值設置為54 和25時,篩選出的圖像質量較高。如圖6 所示,前兩列是篩選出的人像圖片,圖像顏色明亮,且清晰程度較高。后兩列是未選出的人像圖片,其中第三列人像的標準差低于閾值54,圖像亮度低,色彩偏暗,第四列人像的平均梯度值低于閾值25,圖像較為模糊。

圖6 人像篩選實例
實驗第一階段是模型預訓練的過程,為了使生成網絡G學習灰度圖像映射至ab通道彩色分量的對應關系;第二階段則是模型微調的過程,為了提高模型著色的效果。
4.2.1 著色效果提高
為了測試數據篩選對不同模型著色效果的影響,本文對三種不同的著色方法進行實驗,結果如圖7 所示。其中,第一列是灰度圖像;第二列是直接采用CASIA-PC訓練模型的結果;第三列是在第二列基礎上加入篩選人像微調模型的結果。對比后發現,采用篩選人像微調的方法均比直接訓練的著色效果好,主要表現在部分背景的色彩變得更加明亮。

圖7 人像篩選著色對比
本文在循環生成對抗網絡的基礎上,提出了基于聯合一致循環生成對抗網絡的人像著色方法。該方法改進了基礎網絡的模型結構、損失函數,并在訓練中采用了模型微調的方法。為了驗證上述方法對提高模型著色能力的影響,本文比較了不同改進方法的著色效果,如圖8 所示。其中,第一列是待著色灰度圖;第二列是基礎網絡模型的著色結果;第三列是訓練中采用模型微調后的著色結果;第四列是采用最小二乘損失訓練網絡的著色結果;第五列是模型采用聯合一致循環網絡的著色結果。
通過對比不同改進方法的著色結果,發現僅改進訓練方法對改善人像誤著色問題的效果不明顯,但部分區域顏色效果有所提升。如圖8(c)第二行中樹葉的顏色相比圖8(b)更明亮。而損失函數和著色模型的改進都可以改善人像誤著色的問題。其中,采用最小二乘損失訓練模型的著色準確率雖有提高,但部分區域仍有較明顯的誤著色,如圖8(d)中第一行所示,草色被誤著為紅色。而相比較下,改進網絡模型后的著色效果提升更為明顯,如圖8(e)中第一行所示,僅有少部分不明顯的誤著色。
4.2.2 著色人像對比實驗
不同方法的著色結果如圖9所示,第一列為L通道的灰度人像;第二列為真實的彩色人像;第三列為原始CycleGAN 的著色結果;第四列在第三列方法的基礎上僅將生成網絡結構改為UNet 網絡;最后一列是本文方法的著色結果。前兩行為相應模型在單色背景下的著色結果,其余為復雜背景下的著色結果。
根據圖9中不同模型著色的結果可以看出,使用原始CycleGAN 模型進行著色時,效果較為粗糙,顏色飽和度和著色準確率偏低,會出現誤著色和顏色溢出等問題。例如,圖9(c)的第三行中誤將原圖中綠色的樹葉生成為其他顏色,而圖9(c)的第五行中原本屬于人臉區域的顏色超出了自身的范圍,擴散至樹木、天空等四周。生成網絡采用UNet網絡的方法,該模型著色結果如圖9(d)的第二行所示,對于背景單一的圖像著色準確率有很大的提升。在復雜背景人像下的著色效果雖有一定提高,但依舊存在著誤著色的問題,其中圖9(d)第三行中較為明顯。相比之下,本文著色模型采用聯合一致循環網絡,著色結果更加準確、自然,即使在復雜背景的人像中,也能夠較為準確地賦予人像和背景真實的顏色,人像誤著色的問題有明顯的改善。并且本文方法可以正確區分出圖像中的不同目標,減少顏色溢出的現象,如圖9(e)所示。另外,第一行的著色結果值得注意,著色后服飾的顏色發生了改變,這是由于數據庫中缺乏相同服飾的樣本,或是相近的服飾多以灰黑色為主。這說明了訓練集對著色結果具有很大的影響。圖9(d)中第一行的著色結果相比采用本文方法的著色結果,其拉鏈部位的顏色更接近于原始的彩色圖像。這是由于該方法注重學習待著色目標的結構,著色時選擇模型學習到的特征中和它結構相近的顏色。而本文模型采用了聯合一致循環網絡,在學習圖像結構的同時,更注重人像著色的整體一致性。因此,拉鏈部位著色時會對應服裝的色彩,選擇與之相適應的顏色。

圖8 改進方法著色對比
本實驗在單色和復雜背景下,分別比較了三種模型的PSNR 和SSIM 平均指標,如表1、表2 所示。在客觀指標評定下,隨著三種模型網絡結構的豐富,著色效果在單色背景和復雜背景下依次有著提升。另外,由于單色背景圖像的結構和紋理相對比較簡單,著色相對更為容易,其表現在同一種模型中單色背景下圖像的平均指標,明顯高于在復雜背景下圖像的指標。

表1 復雜背景下不同方法平均SSIM、PSNR對比

表2 單色背景下不同方法平均SSIM、PSNR對比
另外,本文又與其他著色模型進行了比較,結果如圖10 所示。其中Iizuka 等[5]采用雙通道卷積網絡,著色結果顏色較為鮮艷,但著色準確率低。Larsson等[6]采用VGG網絡提取圖像特征,誤著色問題有所改善,但人像部分區域變得模糊。Zhang等[8]針對圖像中每個像素點進行分類,著色準確率較高且人像清晰,但顏色飽和度低。而本文方法的著色準確率高,不同目標的區分度較高,顏色也更加自然。但部分區域存在顏色分布不均勻的問題,仍未能達到理想的飽和度,如圖10第一行的著色結果。本文進一步比較了與其他著色模型不同場景中SSIM和PSNR指標均值,分別如表3和表4所示。在不同場景下,本文方法著色的圖像與原圖相比具有更高的SSIM、PSNR值,說明本實驗的結果與原圖相比較,結構更加相似,而且失真較小。

圖9 不同方法著色對比

圖10 不同模型著色對比

表3 單色背景下不同模型平均SSIM、PSNR對比

表4 復雜背景下不同模型平均SSIM、PSNR對比
針對復雜背景的灰度人像誤著色問題,本文提出了聯合一致循環生成對抗網絡的人像著色方法。該方法采用聯合的一致性損失,聯合重構的數據計算其與輸入彩色圖像的L1損失,實現整個網絡的反向傳遞優化。實驗證明了本文方法適用于單色和復雜背景的人像著色,著色精度有很大提高,并且對比同類的方法,本文方法在圖像顏色連續性和合理性等方面都有著出色的表現。