吳麗丹,薛雨陽,童 同,4*,杜 民,高欽泉,4
(1.福州大學物理與信息工程學院,福州 350108;2.福建省醫(yī)療器械與醫(yī)藥技術重點實驗室(福州大學),福州 350108;3.筑波大學計算機科學學院,筑波3058577,日本;4.福建帝視信息科技有限公司,福州 350001)
灰度圖像著色技術是指通過一種指定的規(guī)則,對灰度圖賦以顏色,還原、增強或改變圖像的色彩信息[1],該技術在動漫制作領域、老照片修復、藝術創(chuàng)作等方面有著廣泛的應用前景。目前圖像著色算法基本分為三類:
第一類是帶有用戶提示的輔助著色方法。在圖像著色算法早期,由于數(shù)據(jù)和算力的不足,使用人類輔助著色方法才能取得較好的著色效果。Levin 等[2]提出了基于顏色涂抹的方法,利用用戶在局部區(qū)域涂抹的顏色,通過凸優(yōu)化方法,實現(xiàn)對灰度圖像進行著色,但實際上該模型并沒有學習到特定類別的顏色信息;Heu 等[3]提出了基于優(yōu)先級的色彩轉(zhuǎn)移方法,用戶在圖像的一組源像素上涂抹顏色,通過優(yōu)先級識別算法,把顏色轉(zhuǎn)移到鄰近像素上,得到了更可靠的著色性能。
第二類是基于參考的著色方法。Welsh 等[4]最早提出了基于彩色參考圖像的灰度圖著色方法。該模型獲取灰度圖像和參考圖像之間的色彩映射信息,引導灰度圖的著色效果向參考圖靠近;Chang 等[5]提出基于色彩調(diào)色盤的顏色重建方法,包括從彩色圖像創(chuàng)建調(diào)色盤的算法,以及一個新的色彩傳輸算法;Chen等[6]提出基于語言參考的圖像著色方法,給定灰度圖和自然語言描述即可生成目標圖像。
第三類是全自動圖像著色方法。深度學習算法的發(fā)展、高性能圖像處理器的出現(xiàn)以及大規(guī)模數(shù)據(jù)集的建成和開源為圖像著色方法開辟了新方向。該類方法使用卷積神經(jīng)網(wǎng)絡搭建不同的網(wǎng)絡架構,通過激活函數(shù)得到非線性模型,提高模型學習能力,輸入大量數(shù)據(jù)訓練,讓模型學習灰度圖與彩色圖之間的顏色映射。Cheng等[7]提出的自動著色技術,通過使用超大規(guī)模的數(shù)據(jù)集,結合基于聯(lián)合雙邊濾波的后處理方法和自適應圖像聚類技術來整合圖像全局信息,得到了優(yōu)于最新算法的著色效果;Zhang 等[8]使用VGG 神經(jīng)網(wǎng)絡將著色任務轉(zhuǎn)化為分類任務,解決了著色中的顏色不確定性問題,為著色算法研究提供了一個新思路;Zhao 等[9]為了增強圖像的語義理解,提出利用由像素構成的對象來指導圖像著色,網(wǎng)絡包括像素化語義嵌入部分和像素化語義生成器部分,分別學習對象是什么和對象對應的顏色;張娜等[10]提出基于密集神經(jīng)網(wǎng)絡的灰度圖形著色算法,利用密集神經(jīng)網(wǎng)絡信息提取的高效性,構建了一個端到端的自動著色模型,能有效改善著色過程中漏色和對比度低等問題。
綜上所述,為了充分強調(diào)圖像前景的顏色信息、提高圖像著色的整體質(zhì)量,本文搭建的網(wǎng)絡包括兩個網(wǎng)絡,分別為前景子網(wǎng)和全景子網(wǎng)。前景子網(wǎng)為全景子網(wǎng)提供多個前景目標的特征信息,兩個網(wǎng)絡采用生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)。實驗結果表明,本文算法與傳統(tǒng)算法相比,能明顯改善前景部分著色效果。
實例分割算法的任務是機器自動從圖像中用目標檢測方法框出不同實例,再用語義分割方法在不同實例區(qū)域內(nèi)進行逐像素標記。Mask R-CNN[11]在實例分割任務上取得了非常好的效果。首先,其模型架構中的backbone 使用了一系列的卷積用于提取圖像的feature maps,根據(jù)網(wǎng)絡越深得到的效果會更加好的觀點,選用ResNet101[12]可以構建更深的網(wǎng)絡,同時根據(jù)深度殘差網(wǎng)絡特性,不會使網(wǎng)絡退化;其次是特征金字塔網(wǎng)絡(Feature Pyramid Network,F(xiàn)PN)的提出,融合了底層到高層的feature maps,在提取出較強語義信息的同時,還保留了位置信息和分辨率信息;接下來是區(qū)域推薦網(wǎng)絡(Region Proposal Network,RPN),用于幫助網(wǎng)絡推薦感興趣的區(qū)域;最后作者提出了ROI Align,是一種區(qū)域特征聚集方式,很好地解決了ROI Pooling操作中兩次量化造成的區(qū)域不匹配問題。
由于Mask R-CNN良好的檢測特性,本文將訓練數(shù)據(jù)輸入到Mask R-CNN 中,得到圖像中每個對象bounding box 的坐標,根據(jù)坐標裁剪出所需區(qū)域,作為前景子網(wǎng)的訓練數(shù)據(jù)。
Duta 等[13]提出的IResNet(Improved Residual Network)是殘差網(wǎng)絡ResNet 的改進版,網(wǎng)絡結構模塊如圖1,該方法通過以下三點改進措施得到了更高的準確性和更好的持續(xù)學習收斂性:1)改進信息流。作者提出了一種分段的組織結構,根據(jù)stage 不同的位置,安排每個ResBlock 都有不同的設計。2)改進快捷連接上的特征映射。在特征空間映射上使用最大池化操作,選擇激活度最高的元素,減少信息的損失,在特征通道映射上使用1×1的卷積層和批歸一化層,能減少空間背景信息丟失;3)分組構建塊。主要表現(xiàn)為增加3×3卷積層的參數(shù)量,使得3×3卷積層有更多的通道和更高的空間模式學習能力。
圖1 IResBlock的結構Fig.1 Structure of IResBlock
GAN[14]的基本思想源自博弈論的二人零和博弈,包括預測數(shù)據(jù)分布的生成器,以及估計樣本來自訓練數(shù)據(jù)的概率的判別器,通過對抗學習的方式來訓練。GAN 作為一個優(yōu)秀的生成模型,在圖像風格轉(zhuǎn)換、超分辨率、圖像著色、圖像生成等任務上廣泛使用。
原始GAN 存在訓練不穩(wěn)定、梯度消失或爆炸問題,并且沒有指導訓練進程的指標。Arjovsky 等[15]提出的WGAN(Wasserstein Generative Adversarial Network)將GAN 中等價優(yōu)化兩個分布距離的衡量方法由JS 散度改為Wasserstein 距離,實現(xiàn)穩(wěn)定訓練和損失函數(shù)的變化可作為訓練進程指標,表現(xiàn)為損失函數(shù)數(shù)值越小,表示真實分布與生成分布的Wasserstein 距離越小,GAN 訓練得越好。使用Wasserstein 距離通常需要在模型中加入Lipschitz 約束,WGAN 通過權重裁剪,將判別器參數(shù)的絕對值限制在某個固定范圍內(nèi);WGANGP[16]通過梯度懲罰,將判別器的梯度作為一個懲罰項,加入到判別器的損失函數(shù)中。但Wu 等[17]提出的WGAN-div 引入了Wasserstein 散度,如式(1)所示,使得模型去掉Lipschitz 約束的同時還能保留Wasserstein距離的優(yōu)秀性質(zhì)。
本文算法使用兩階段網(wǎng)絡訓練方式,兩個網(wǎng)絡分別為前景子網(wǎng)和全景子網(wǎng),利用前景子網(wǎng)提取圖像中多個前景的特征,減少背景信息干擾,并且采用IResBlock 的網(wǎng)絡構建方式,使輸出彩色圖像的細節(jié)特征更為豐富、目標輪廓更為清晰,實現(xiàn)了更好的著色效果。本文算法采用接近人類視覺且色域廣的Lab色彩空間。
2.1.1 總體網(wǎng)絡結構
目前,在基于深度學習的灰度圖像著色研究中,著色網(wǎng)絡主要通過卷積神經(jīng)網(wǎng)絡的組合來提取圖像特征、學習顏色映射。單一的神經(jīng)網(wǎng)絡特征處理能力有限、學習能力有限,著色效果有待提高。本文算法采用兩個階段網(wǎng)絡訓練的方式,充分利用低級特征信息和高級特征信息,有效提高了網(wǎng)絡的性能;由于IResNet 具有良好的特征提取特性和減少信息損失的能力,所以本文前景子網(wǎng)和全景子網(wǎng)的生成器部分借鑒IResNet構建網(wǎng)絡方式,構建卷積塊內(nèi)容;GAN在圖像生成相關領域有其得天獨厚的優(yōu)點,本文采用WGAN-div 的訓練策略,在實現(xiàn)穩(wěn)定訓練、損失函數(shù)的變化可作為訓練進程指標的同時,提升了訓練效果,加快了模型收斂。綜上所述,將借鑒與改進的措施應用到本文的研究中,得到總體網(wǎng)絡架構如圖2所示。
圖2 本文算法的網(wǎng)絡結構Fig.2 Network structure of the proposed algorithm
兩個網(wǎng)絡結構都為U-Net[18]結構。在生成器網(wǎng)絡的下采樣部分,采用IResNet 中搭建卷積塊的方式代替普通卷積層,卷積塊參數(shù)如圖1 所示。在第一個訓練階段,將前景子網(wǎng)中第4 個卷積塊和第8 個卷積塊的輸出特征經(jīng)過池化層與全連接層整合為1×512的特征向量,具體過程如圖3所示。圖3左邊展示了一張前景圖像的特征處理過程,在實際訓練中,選用了n個不同的前景圖像,得到n個1×512 的向量,在第二階段的訓練中,將它們作為輔助信息與全景子網(wǎng)中第4 個卷積塊和第8 個卷積塊的輸出特征融合,所以最終融合后的特征維度有512 ×(n+1)維。根據(jù)訓練前景子網(wǎng)時選擇前景部分個數(shù)的不同,特征融合后的通道數(shù)也不同;在生成器網(wǎng)絡的上采樣部分,使用4×4 的轉(zhuǎn)置卷積進行上采樣,通過skipconnection把淺層特征引過來復用,增加空間域信息。
圖3 特征融合的具體過程Fig.3 Specific process of feature fusion
2.1.2 判別器
使用馬爾可夫?qū)傩缘呐袆e器,將重構的圖像切割為多個patch,不同的patch之間相互獨立,判別器對每個patch做真假判別,將多個patch 的判別結果取平均值,作為最終判別器的輸出。WGAN 中的判別器近似擬合Wasserstein 距離,屬于回歸任務,需要將判別器最后一層的sigmoid 層去掉。判別器網(wǎng)絡參數(shù)如表1所示。
表1 判別器網(wǎng)絡參數(shù)Tab.1 Discriminator network parameters
深度學習算法的訓練過程可以轉(zhuǎn)化為對某個目標求解最優(yōu)解問題。為了完成著色這一目標,構造目標函數(shù)如式(2)所示,通過不斷優(yōu)化目標函數(shù)來提升兩個分布之間的相似程度。
其中:Lcolor表示算法的顏色損失,采用基于拉普拉斯先驗的回歸損失函數(shù)L1 Loss,能較好地恢復圖像中的低頻部分,得到清晰且顏色接近的圖像;LG為生成損失函數(shù),LD為判別損失函數(shù),模型訓練的目的是最小化生成損失函數(shù)和判別損失函數(shù),如式(3)~(5)所示。
其中:A是輸入灰度圖像,B是真實彩色標簽,N為樣本數(shù),G表示生成器網(wǎng)絡,D表示判別器網(wǎng)絡;G(A)為灰度圖像經(jīng)過生成器后的生成結果,Lcolor是輸入G(A)(i)和目標B(i)的逐像素間差值的平均絕對值,D(G(A))表示生成的彩色圖像輸入到判別器的結果,D(B)表示真實彩色圖像輸入到判別器的結果。其中,參照文獻[16]的實驗結論,本文將式(5)中參數(shù)κ取2、p取6時,Wasserstein散度收斂最快,生成結果表現(xiàn)最優(yōu)。
第一階段先訓練前景子網(wǎng),將訓練數(shù)據(jù)輸入到預訓練的Mask R-CNN 網(wǎng)絡中,每張圖像得到n個前景部分的裁剪坐標,按照坐標裁剪可得到多張前景圖像,作為前景子網(wǎng)的訓練數(shù)據(jù)輸入到網(wǎng)絡中訓練,保存訓練好的網(wǎng)絡,返回低級特征和高級特征。第二階段訓練全景子網(wǎng),將256×256 大小的原圖和第一階段網(wǎng)絡模型返回的特征輸入到全景子網(wǎng)中進行訓練,兩個網(wǎng)絡使用Adam 優(yōu)化算法在訓練過程中不斷優(yōu)化目標函數(shù),更新網(wǎng)絡參數(shù)。實驗迭代次數(shù)為252 000,學習率設置為1× 10-4。
本文算法實現(xiàn)基于微軟的COCO 數(shù)據(jù)集[19]和PASCAL VOC 數(shù)據(jù)集[20]。實驗分別從COCO 和VOC 中選取18 000 和14 000 張圖像用于訓練,4 500 和3 000 張圖像用于測試,所有數(shù)據(jù)預先裁剪為256×256大小。
本實驗的硬件環(huán)境:Intel Core i7-7700 CPU 3.60 GHz,主機內(nèi)存16 GB,顯卡型號為GTX 1080,軟件環(huán)境為Ubuntu16.04,CUDA 10.0,算法使用Python3.6 進行編程,采用Pytorch深度學習框架實現(xiàn)。
本實驗通過評價指標對著色效果進行客觀評價。采用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和感知相似度(Learned Perceptual Image Patch Similarity,LPIPS)[21]。PSNR是評價圖像質(zhì)量時最普遍和使用最為廣泛的圖像客觀評價指標,計算過程如式(6)所示,其中MSE為均方誤差(Mean Squared Error),在本文實驗中分別計算RGB 三個通道的均方誤差,然后取平均值,最后將得到的平均值代入式(6)中計算。根據(jù)近幾年的研究[22-23]可知,PSNR 本身存在很大的局限性,不能很好地反映人眼主觀感受。LPIPS 是一項基于學習的感知相似度度量,比傳統(tǒng)的目前廣泛應用的方法更符合人類感知,分值越小即認為相似度越高。
其中:l是網(wǎng)絡的層數(shù);h和w是特征層的兩個不同維度;從第l層提取特征并在通道維度中進行單元標準化得到通過矢量wl縮放激活通道維度并計算L2 范數(shù);Hl和Wl分別是第l層特征的高和寬。
3.3.1 與其他算法對比
為驗證本文算法的有效性及優(yōu)異性,選取部分代表性的圖像與現(xiàn)有開源且表現(xiàn)優(yōu)異的算法進行比較,包括Isola 等[24]的pix2pix 和Yoo 等[25]的MemoPainter(memo)。為了公正地對比各個算法的效果,所有實驗均統(tǒng)一在相同的軟件環(huán)境和硬件環(huán)境下進行,所有算法在COCO 數(shù)據(jù)集上訓練14 個epoch,在PASCAL數(shù)據(jù)集上訓練15個epoch,結果如圖4所示。
圖4 不同算法的著色效果對比Fig.4 Comparison of colorization effects of different algorithms
首先,在主觀上比較各個算法的整體著色質(zhì)量,如圖4 所示,pix2pix只學到部分顏色信息,圖像質(zhì)量低,memo和本文算法在整體上著色效果表現(xiàn)較好;其次,比較彩色圖像中不同層次物體的色彩對比度,可以看出memo的實驗結果圖像的顏色會趨向于一個色調(diào),比如圖像4會趨向于藍色,圖像5和圖像6會趨向于棕色,pix2pix 和本文算法在色彩對比度上表現(xiàn)得較好;最后,比較各個算法與原圖的接近程度,在圖像1中的旗幟和人臉效果上,本文算法的結果更接近真實情況,色彩更鮮艷,在圖像3 中本文算法更為真實地呈現(xiàn)了貓和格子沙發(fā)的顏色和紋理,總體比較下來,本文算法的實驗結果最接近原圖。在客觀指標評價對比中,對整個測試集進行計算,PSNR表現(xiàn)為數(shù)值越大結果越好,LPIPS 表現(xiàn)為數(shù)值越小結果越好,本文算法在PSNR上比pix2pix和memo分別高出2.59 dB和7.54 dB,在LPIPS上分別降低了0.01和0.13,具體如表2所示。
表2 不同算法的PSNR及LPIPS對比Tab.2 Comparison of PSNR and LPIPS among different algorithms
3.3.2 有無前景子網(wǎng)對比
本文算法結構包括前景子網(wǎng)和全景子網(wǎng),為了驗證引入前景子網(wǎng)訓練的有效性,對比了有、無前景子網(wǎng)結構下的著色效果。選擇7 張不同類型的圖像進行對比,結果如圖5 所示,在主觀上明顯可以看出,引入前景子網(wǎng)后,圖像中前景部分著色更真實,顏色飽和度更高,呈現(xiàn)出了鮮艷且有層次的著色結果;在PSNR 和LPIPS 指標上,兩個數(shù)據(jù)集的結果如表3 所示,可以看出引入前景子網(wǎng)后,本文算法在兩項評價指標上取得了更好的分數(shù)。綜上可知,引入前景子網(wǎng)訓練有效地提升了著色效果。
圖5 有無前景子網(wǎng)的著色效果對比Fig.5 Comparison of colorization effects with or without foreground subnetwork
表3 有無前景子網(wǎng)下的PSNR與LPIPS對比Tab.3 Comparison of PSNR and LPIPS with or without foreground subnetwork
3.3.3 有無IResBlock對比
在本文算法生成器的下采樣過程中,使用普通卷積層,著色整體色調(diào)偏暖,著色效果還可以,但整個測試集中部分圖像會出現(xiàn)效果不好的青色小色塊;使用IResBlock 代替普通卷積層后,原圖信息丟失減少,增強了通道上和空間上的學習能力,發(fā)揮其在深層網(wǎng)絡中也能持續(xù)學習收斂性的特性,有效地消減了色塊的出現(xiàn)。具體如圖6所示。
圖6 有無IResBlock的著色效果對比Fig.6 Comparison of colorization effects with or without IResBlock
本文提出一種基于前景語義信息的灰度圖像著色算法,該算法通過前景子網(wǎng)提取圖像前景部分的低級特征和高級特征,再將這些特征與全景子網(wǎng)提取的特征信息相融合,實現(xiàn)像素級的顏色預測與彩色結果的輸出。通過實驗證明,本文算法與現(xiàn)有優(yōu)秀算法相比,在較少的訓練迭代次數(shù)下,可得到整體著色效果優(yōu)異,顏色更鮮艷、更自然的彩色圖像。下一步的工作將深入研究,將它運用到其他類型圖像,比如動漫線稿類型,進一步強化算法的實用性和普適性。