文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182404
中文引用格式: 徐中輝,呂維帥. 基于卷積神經網絡的圖像著色[J].電子技術應用,2018,44(10):19-22.
英文引用格式: Xu Zhonghui,Lv Weishuai. Image coloring based on convolution neural network[J]. Application of Electronic Technique,2018,44(10):19-22.
0 引言
圖像著色是灰度圖像偽彩色化的過程,具有很高的研究和應用價值。早期圖像著色方法主要分為兩類:一類是基于局部顏色擴展[1],另一類是基于顏色傳遞[2]。前者需要用戶指定整張圖片的顏色,要求用戶解決全局優化問題,并在目標圖像上標注一定數量的彩色筆刷作為著色的依據,再進行顏色擴展完成對整幅圖像的著色。這類方法可以得到一些較好的彩色圖像,但是需要處理復雜的紋理和大量的人為干涉,不同的顏色區域要求用彩色筆刷顯式地標記為不同顏色。因此在整個著色過程中,用戶的工作量很大且著色效果高度依賴其藝術技巧。后者在圖像著色過程中消除了人為因素的干預和影響,與前者不同的是,這類方法需要一幅彩色圖像作為參考圖像,用以傳遞顏色信息。應用此類方法得到的圖像顏色與參考圖像類似,因此在結果上減少了顏色種類的數量,而且要找到一個合適的示例圖片需要花費很長時間。隨著深度學習的發展及運用,深度神經網絡的數據驅動彩色化方法已經成為一種趨勢[3]。例如,CHENG Z等[3]采用圖像描述符作為輸入的深度神經網絡圖像著色方法,使用神經網絡提取圖像特征。IIZUKA S等[4]使用一種基于全局層次特征和中層特征的理論對黑白圖像進行編碼然后著色,將兩部分特征融合再預測像素的顏色信息,并且網絡還可以對圖像分類。ZHANG R等[5]使用了多模態的方案,每個像素都給出了可能出現顏色的概率值,因此著色后會出現幾種不同顏色風格的圖像。
受以上工作的啟發,本文結合深度神經網絡Inception-ResNet-v2[6]設計了一個全自動的著色網絡模型,在模型中加入了SENet模塊[7],SENet可以顯式地對特征通道之間的相互依賴關系進行建模,通過學習的方式來自動獲取到每個特征通道的重要程度,然后依照重要程度增強有用特征,并且抑制對當前任務無用的特征。Inception-ResNet-v2與SENet結合作為一個高水平的特征提取器,同時使用PoLU函數[8]替代線性整流函數(Rectified Linear Unit, ReLU)函數,提高網絡性能。
1 模型與算法
1.1 理論方法
式中,n為權值,在負數部分控制著PoLU函數變化率。PoLU函數有非零輸出用于負輸入,這不僅增加了學習的穩定性和表示能力,而且能使單位輸出的均值接近于零,從而減少了偏置移位效應。與以前的激活函數不同,當n>1時,PoLU函數在其負狀態下與y=x有交點,它能增大響應區域。為了更好地訓練網絡,找到模型最優參數,同時量化模型損失,在顏色空間中采用估計像素顏色值和它們真實值之間的均方誤差(MSE),然后通過網絡反向傳播該損失,用以更新模型參數達到最佳。對于一張圖片P,表示目標和重建圖像的第X個分量的第ij像素值,公式如下:
1.2 算法
本文模型是通過預測圖像的a*和b*顏色分量,并將其與輸入圖像的亮度分量結合,獲得最后的彩色圖像。在模型中使用SE-Inception-ResNet-v2網絡并從其最后一層獲取灰度圖像的嵌入,網絡體系架構如圖2所示。它主要由3部分組成,分別是特征提取模塊、融合模塊和重建模塊。其中主線網絡U-Net提取“局部特征”,SE-Inception-ResNet-v2提取“全局特征”,兩部分互不干擾,“全局特征”可以指導“局部特征”,例如指導圖像是在室內還是室外,水上還是水下,同時“局部特征”可以給出局部紋理等一些細節信息;融合模塊拼接兩部分特征提取模塊提取到的特征張量,將其融合到一起;重建模塊將重建輸入圖像并與輸入圖像的亮度分量結合輸出彩色圖像。下面詳細介紹這3個組成部分。
1.2.1 特征提取模塊
特征提取模塊如圖2所示,在U-Net中,輸入的灰度圖像尺寸為H×W,輸出是H/8×W/8×512的特征表示,最后一層處理卷積層的張量,從512通道張量減少到256通道張量。在卷積層,所有卷積核都為3×3,并用填充保護該層的輸入大小。為了降低網絡的計算量,在網絡中使用步長為2×2的卷積層,而不是最大池化層來減少張量大小。在支線網絡使用SE-Inception-ResNet-v2提取圖像嵌入,有些高水平的特征如門內、水下、車內、室外,傳達可用于彩色化過程的圖像信息。為了滿足Inception的圖像輸入要求299×299×3,先將輸入圖像的尺寸轉換為299×299,然后將圖像與自身疊加以獲得一個三通道圖像,隨后將生成的圖像輸入到網絡,并在Softmax函數之前提取最后一層的輸出。根據Inception-ResNet-v2框架規則,輸出是1 001×1×1的嵌入。主線特征提取模塊最后輸出是一個尺寸為H/8×W/8×256的張量,此輸出將與SE-Inception-ResNet-v2網絡輸出在融合模塊融合。具體參數見表1所示。
1.2.2 融合模塊
融合模塊如圖2所示,它將特征提取模塊提取到的兩部分特征表示融合到一起。網絡從SE-Inception-ResNet-v2提取特征向量,將其復制HW/64次,沿空間深度軸附加到主線U-Net特征提取模塊輸出[4]。在網絡中應用此方法得到一個形狀為H/8×W/8×1 257的特征張量。通過對特征張量的鏡像和多次拼接,確保特征張量所傳遞的語義信息在圖像的所有空間區域中均勻分布。同時在網絡中應用256個大小為1×1的卷積核,生成一個H/8×W/8×256維度的特征張量。
1.2.3 重建模塊
特征張量經融合模塊之后,流向重建模塊。在重建模塊中,由卷積層和上采樣層處理特征張量,用于重建圖像的通道。在主線特征提取模塊中,應用步長為2×2卷積層減小了張量尺寸,在重建模塊中應用上采樣層使張量的寬和高增加。最后一個是帶有PoLU傳遞函數的卷積層,之后是一個上采樣層,輸出的圖像張量為H×W×2,再結合輸入圖像的亮度分量生成最終的彩色圖像。重建模塊的卷基層同樣使用填充以保護圖像的大小,具體參數如表2所示。
2 實驗結果與分析
2.1 實驗過程
數據集的正確選擇對實驗效果的提升有著重大影響,基于數據驅動的圖像彩色化方法中使用最為廣泛的是ImageNet數據集。為提升訓練效果,將重新調節圖像尺寸,輸入進SE-Inception-ResNet-v2的圖像尺寸調整為299×299,輸入進主線U-Net中的圖像尺寸調整為224×224。網絡利用NVIDIA CUDA Toolkit和NVIDIA GeForce GTX加速訓練,在訓練時使用了大約120 000張ImageNet數據集圖像,使用5%作為訓練期間的驗證數據集。
2.2 結果分析
為了對比不同方法的著色效果,對圖3(a)人物灰度圖像應用不同方法得到的結果如圖3所示。圖3(b)是應用Ryan Dahl方法得到的彩色圖像,其圖像主體雪山涂上了人們不希望出現的顏色——棕色。Ryan Dahl方法在其著色方法中把圖像著色作為一個回歸問題進行處理,在網絡中使用歐氏距離函數作為損失函數。雖然將此作為回歸問題處理看起來非常適合,但是因為顏色空間的連續性質,在實踐應用中基于分類的方法更好。圖3(c)是應用Larron方法生成的圖像,在視覺效果上比Ryan Dahl方法好,但是部分山體也出現了棕色,Larron方法是通過預測每個像素的顏色直方圖進行著色的,對空間位置信息不敏感。圖3(d)是應用本文的方法得到的結果,與Ryan Dahl方法和Larron方法的結果相比,本文方法的結果在顏色連續性、圖像顏色的合理性以及顏色在圖像空間位置的合理分布等方面都有出色的表現。本文方法在網絡中應用了目前在圖像分類任務中準確度最高的網絡模型,同時加入SENet模塊,提高了網絡的表示能力。
對圖4(a)鳥類灰度圖像應用不同方法著色,結果如圖4所示。圖4(b)是應用Ryan Dahl方法得到的結果,可以看出草地上很多部分都沒有很好地涂上綠色,顏色連續性較差,而且鳥類身上的顏色也偏暗。圖4(c)是應用Larron方法得到的結果,此圖在視覺效果上要優于圖4(b),但是草地并不是綠色的,Larron方法在實驗中使用了多模態的方法,顏色會有幾種概率值,草可能是綠色,也可能是枯黃的。圖4(d)是應用本文的方法得到的結果圖,與圖4(b)和圖4(c)相比,本文方法的結果在顏色連續性和顏色空間分布上更接近于真實圖像。
3 結論
圖像彩色化具有很大的發展空間和應用價值,本文基于卷積神經網絡,設計了一種基于數據驅動的黑白圖像著色方案,它可以在不進行任何用戶干預的情況下對黑白圖像進行著色。該方案利用彩色圖像轉換的灰度圖像作為輸入,輸出與灰度圖像對應的彩色圖像的a*和b*顏色分量的預測值。然后結合灰度L*和a*、b*的輸出,獲得基于CIE色彩空間的彩色圖像,最后形成從灰度圖像到彩色圖像的非線性映射。由于在實驗中只使用了ImageNet數據集的子集,只有小部分顏色主題被網絡訓練,因此,在一些關聯不大的主題圖片上,本文的方案可能表現不是很理想,但是如果網絡選擇在一個更大的、主題更豐富的訓練數據集上訓練,這個問題可以得到較好的解決,這也是下一步努力的方向。
參考文獻
[1] CHIA Y S,ZHUO S,GUPTA R K,et al.Semantic colorization with internet images[J].ACM Transactions on Graphic,2011,30(6):1-8.
[2] GUPTA R K,CHIA Y S,RAJAN D,et al.Image colorization using similar images[C].ACM International Conference on Multimedia,2012:369-378.
[3] CHENG Z,YANG Q,SHENG B. Deep colorization[C].Proceedings of the 2015 IEEE International Conference on Computer Vision(ICCV).IEEE Computer Society,2015:415-423.
[4] IIZUKA S,SIMO-SERRA E,ISHIKAWA H.Let there be color!:joint end-to-end learning of global and local image priors for automatic image colorization with simultaneous classification[J].ACM Transactions on Graphics(TOG),2016,35(4):110.
[5] ZHANG R,ISOLA P,EFROS A A.Colorful image colorization[C].European Conference on Computer Vision.Springer,Cham,2016:649-666.
[6] SZEGEDY C,IOFFE S,VANHOUCKE V,et al.Inception-v4,inception-resnet and the impact of residual connections on learning[C].AAAI,2017,4:12.
[7] HU J,SHEN L,SUN G.Squeeze-and-excitation net-works[J].arXiv preprint arXiv:1709.01507,2017.
[8] LI Y,DING P L K,LI B.Training neural networks by using Power Linear Units(PoLUs)[J].arXiv preprint arXiv:1802.00212,2018.
[9] RONNEBERGER O,FISCHER P,BROX T.U-Net:convolutional networks for biomedical image segmentation[C].International Conference on Medical Image Computing and Computer-Assisted Intervention.Springer,Cham,2015:234-241.
作者信息:
徐中輝,呂維帥
(江西理工大學 信息工程學院,江西 贛州341000)