李炬
摘要:生成對抗網(wǎng)絡(luò)給深度學習領(lǐng)域引入了一種新的模型訓練思想?;谶@種對抗生成的思想設(shè)計了一種人臉灰度圖上色模型, 其中包含一個特征圖尺寸不變的卷積神經(jīng)網(wǎng)絡(luò)作為生成器和兩方面代價函數(shù)。對整個網(wǎng)絡(luò)進行端到端的訓練, 以人臉灰度圖作為直接輸入, 在生成器的輸出端為三通道的彩色圖像, 在判別部分的輸出端給出生成圖像質(zhì)量的評價。實驗表明, 在一定的數(shù)據(jù)和迭代次數(shù)下所提方法是可行的, 所生成的圖像也能有效保留原灰度圖中的細節(jié)信息。
關(guān)鍵詞:生成對抗網(wǎng)絡(luò);生成器;判別器;人臉圖像;上色
中圖分類號:TP183 文獻標識碼:A 文章編號:1009-3044(2018)11-0179-03
Gray-Scale Face Images Colorization Based on Generative Adversarial Network
LI Ju
(Department of Information Science and Technology, Chengdu 611756, China )
Abstract: Generative adversarial network has introduced a new training idea for deep learning. This work designed a model for colorization of gray-scale face images based on the idea of GAN. The model contains a convolutional network treated as generator with fixed size of feature maps and two aspects of cost functions. To achieve desired colorization, the model was trained end-to-end with gray-scale face images as input and extracted 3-channel colorful images at the output end of generator. Quality assessments for generated images can be obtained at the output end of discriminator. Experiments show that proposed method is practicable under a limited number of datum and iterations and generated images retaining effectively the details of input gray-scale images.
Key words: generative adversarial network; generator; discriminator; face images; colorization
彩色圖像比灰度圖像攜帶了更多的信息, 能使人類更清楚地觀察世界, 然而在很多情況下人們獲取的仍然是比較單一的灰度圖像。人類在眼睛和大腦的幫助下能輕松地推理出灰度圖像所對應(yīng)的彩色圖像大致是什么樣的,但是對于計算機而言,要展示這種色彩推理能力并不那么容易。上色問題面對的現(xiàn)實情況復雜多樣。人們了解的某一類物體的顏色可能有多種, 例如人的皮膚可能呈現(xiàn)白色、黃色、黑色等;許多物體在灰度圖上的亮度值沒有太大的區(qū)別, 例如深藍色與紫色的服裝, 這使得很多上色成為多解的問題;一些物體的顏色幾乎是固定的色幾乎是固定的, 如藍色的海洋, 這又給出了色彩信息的約束條件。本文旨在利用深度學習技術(shù)對這一問題做一定探索。
1 現(xiàn)狀分析
近年來深度學習[1]技術(shù)被廣泛用于各種計算機視覺領(lǐng)域, 如圖像分類[2]、目標檢測[3]、語義分割[4]等。在深度學習的興起中, 卷積神經(jīng)網(wǎng)絡(luò)強大的特征提取能力發(fā)揮著重要的作用, 它使得需要對圖像進行語義理解的任務(wù)變得直接而有效。另外注意到許多使用卷積神經(jīng)網(wǎng)絡(luò)的問題之間具有一定的相關(guān)性, 例如目標追蹤需要對圖像上的物體進行識別與分類, 語義分割需要準確區(qū)分每個物體的邊緣, 這與邊緣檢測算法相關(guān)聯(lián)。最近的生成對抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)[5]在圖像生成領(lǐng)域引起極大關(guān)注, 受該框架的引導, 人們成功將其應(yīng)用在圖像修復[6], 圖像翻譯[7]等領(lǐng)域?;谏疃葘W習一系列成功應(yīng)用的啟發(fā), 本文設(shè)計了一種用于人臉灰度圖自動上色的新方案。
1.1 上色方案介紹
目前灰度圖像上色問題的研究已經(jīng)取得了許多進展, 主要有以下三類解決方案: 一類是基于手工標注的半自動化方案[8,9,10]。Levin[9]等提出在灰度圖不同物體中間標注少量顏色信息, 然后將標注的顏色填充某一物體所在的局部區(qū)域。這類方法會出現(xiàn)邊緣色彩混合現(xiàn)象, Huang[10]等提出了自適應(yīng)邊緣檢測算法來緩解這個問題。第二類是基于樣本的方法[8,11,12]。首先尋找與待上色圖像內(nèi)容風格相似的圖像作為參考, 再找到參考圖像中與灰度圖相似的像素區(qū)域, 最后將參考圖像的像素信息轉(zhuǎn)移到灰度圖。以上兩種方案均難以實現(xiàn)快速上色, 手工標注以及參考圖像的檢索都需要耗費額外的人力。第三類為當前流行的深度學習算法[8,13,14]。處理上色問題時, 常見的做法是將問題轉(zhuǎn)化到其他顏色空間, 例如Lab顏色空間、HSV顏色空間等, 以灰度圖像作為深度神經(jīng)網(wǎng)絡(luò)的基本輸入數(shù)據(jù), 網(wǎng)絡(luò)的預(yù)測輸出為其他兩個通道的信息。Larsson[13]等提出以灰度圖作為輸入, 經(jīng)過VGG[15]網(wǎng)絡(luò)架構(gòu)的層層特征提取得到大量特征圖, 從特征圖中的選取一系列超列描述子(hypercolumn descriptor)[16], 將其作為后續(xù)全連接層的輸入, 最后給出像素點的色度與色調(diào)的分布并據(jù)此著色。Cheng[8]等在YUV空間處理上色問題, 通過灰度圖像提取特征描述子(feature descriptor), 將特征描述子作為深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù), 預(yù)測輸出U、V通道的色度值并對其進行雙邊濾波, 最后組合三通道信息得到處理后圖像。
相比之前的算法, 基于深度學習算法以高達百萬計的圖像數(shù)據(jù)進行訓練, 加之卷積運算能有效進行特征提取, 以及多種防止過擬合技術(shù)[2,17,18]輔助, 使得訓練后的模型應(yīng)對問題的多樣性上取得了很大進步, 并且在處理速度和適用范圍上也有更大的提升。本文基于GAN模型的基本思想, 直接輸出在RGB空間中的彩色圖像, 取得了不錯的視覺效果。下面介紹GAN的相關(guān)內(nèi)容。
1.2 生成對抗模型
2014年Ian J. Goodfellow等首次提出標準GAN模型[5]。該模型提出后受到了人們的廣泛關(guān)注, 近幾年相關(guān)的研究成果相當豐富。Mirza[21]提出的條件GAN能根據(jù)額外的標簽信息生成與之對應(yīng)的手寫體數(shù)字圖像; Ledig等[22]提出利用 GAN 實現(xiàn)高分辨率圖像的生成; Yeh等[6]將其應(yīng)用在圖像修復上取得了很好的結(jié)果。然而標準GAN模型面臨著難以訓練不穩(wěn)定、模型易崩塌等問題, Martin Arjovsky[19,20]針對這些問題進行了一定的理論分析, 提出的WGAN模型基本可緩解這些問題;
標準GAN模型由生成器G和判別器D組成。G的常見結(jié)構(gòu)為反卷積(Deconvolution)[23] 網(wǎng)絡(luò), 反卷積基于其運算特點又被稱為轉(zhuǎn)置卷積 (Transposed Convolution), 因此可以視其為一種特殊的卷積操作, 通過可學習的方式使特征圖逐漸增大。D為卷積神經(jīng)網(wǎng)絡(luò), 主要通過多個卷積核提取輸入圖像的特征, 一般會使得隱藏層的特征圖逐漸縮小。GAN能捕獲真實數(shù)據(jù)的分布, 由生成器給出與真實數(shù)據(jù)類似分布的新數(shù)據(jù), 判別器主要用于區(qū)分G所生成的數(shù)據(jù)與真實數(shù)據(jù), 并在輸出端給出判別概率, 又可稱為判別損失, 且概率值越大說明判別器越認可判別器輸入數(shù)據(jù)的真實性。標準GAN基本模型結(jié)構(gòu)如圖1所示。
圖1中z是分布為
另外, 一般情況下生成器與判別器的性能難以實現(xiàn)完全同步提升, 判別器更容易達到較高的判別性能, 因此式(1)的第二項在訓練早期將變得非常小, 為了提供足夠的梯度進行反向傳播, 實踐中可以將損失函數(shù)第二項替換為式(2)。
2 本文上色方法
本文方法基于生成對抗網(wǎng)絡(luò)的思想設(shè)計了人臉灰度圖上色模型, 模型結(jié)構(gòu)主要由生成器G和判別器D組成。G需要滿足兩方面要求: 1) 盡量保留灰度圖的全部信息, 2) 生成視覺上無法分辨真?zhèn)蔚牟噬珗D像。D也需要滿足兩方面要求: 1) 識別真實RGB圖像和生成圖像, 2) 指導G的生成過程。模型結(jié)構(gòu)如圖2所示, G中的數(shù)字表示卷積層輸出的特征圖數(shù)目。
圖2中未標出反向傳播的方向, 生成器為特征圖尺寸不變的卷積層神經(jīng)網(wǎng)絡(luò), 判別器參考自標準GAN模型。記G的輸入灰度圖像為
注意到在一些圖像生成類問題中都會采用自編碼器或其變體結(jié)構(gòu), 其中編碼部分主要進行卷積運算以達到下采樣和特征提取目的, 解碼部分使用轉(zhuǎn)置卷積達到上采樣和重建目的, 例如圖像分割[4]、圖像修復[24,25]等。這里沒有采納這種思路, 因為生成的圖像要盡可能保留灰度圖細節(jié)信息, 例如紋理, 邊緣等, 而以L2為損失函數(shù)的欠完備自編碼器則傾向于輸出邊緣模糊的圖像, 難以保留全部信息, 因此這里選擇的生成器為特征圖大小不變的卷積神經(jīng)網(wǎng)絡(luò)。當生成器的特征圖大小不變時, 在輸出端使得圖像的細節(jié)信息更難以丟失, 即便使用L2損失仍然可以保障這一點。需要說明的是, 如果僅僅使用L2作為損失函數(shù), 將使得生成器傾向于向輸出端直接傳遞圖像數(shù)據(jù), 網(wǎng)絡(luò)參數(shù)難以得到足夠的更新, 更不會學習到上色的經(jīng)驗。示例如圖4(a)所示, 其中第2行為網(wǎng)絡(luò)輸出, 第3行為真實圖像, 可以看到雖然L2損失能保留圖像細節(jié), 把握人臉圖像的主色調(diào), 但幾乎不能驅(qū)動網(wǎng)絡(luò)進行學習。這里上色模型的判別器恰好執(zhí)行了驅(qū)動生成器參數(shù)學習的功能, 正是由于生成器和判別的相互作用使得模型的性能逐漸提高。
3 實驗分析
本文所有的實驗均基于Caffe框架。核心實驗設(shè)備包括: GPU (GTX1050Ti) 、 CPU (i5-7500)、 8g內(nèi)存, 操作系統(tǒng)版本為Ubuntu14.04 LTS。實驗數(shù)據(jù)集為CelebA, 在訓練階段采用了前6萬張圖像, 測試階段采用了其他1000張圖像。在預(yù)處理階段將單通道灰度圖像轉(zhuǎn)化為3通道圖像, 沒有引入額外信息, 每幅圖進行了[0,1]范圍的歸一化, 圖像的寬度和高度均占64像素。
所采用的模型如圖2所示。生成器主要由5個卷積塊實現(xiàn), 前4個卷積塊包括卷積層(步長為1)、批歸一化(BatchNorm-Scale)、以及整流線性單元(Rectified Linear Unit, ReLU), 第5個卷積塊包括卷積層和Sigmoid激活層輸出, 最后添加L2損失。判別器采用了文獻[5]的結(jié)構(gòu), 為了降低訓練負擔可以適當減少隱藏層的卷積核數(shù)目。為了應(yīng)對GAN容易崩潰的問題, 需要盡量避免梯度值過大對參數(shù)的過度更新, 這里考慮了多種手段: 使用Sigmoid激活函數(shù), 其對大輸入值的反向傳播梯度具有很強的縮小作用; L2損失在靠近原點處的導數(shù)接近0, 這使得生成圖像接近于原彩色圖像時反向傳播避免提供過大梯度; 基本學習速率設(shè)為0.0001且保持固定。求解器類型設(shè)為ADAM, 動量參數(shù)為0.5, λ設(shè)為100。
從實驗中觀察到, 判別器在訓練前期就能夠識別人臉圖像的基本色調(diào), L2損失也保證了灰度圖像的細節(jié)得到保留。在訓練時判別器不斷地學習經(jīng)驗以區(qū)分真實圖像與生成圖像, 并對生成器的生成性能起著指導作用。測試階段的成功案例如圖3所示, 樣本選自CelebA測試集合, 圖中第2行為生成器輸出, 第3行為原始彩色圖像??梢钥吹交趯股傻乃枷?, 利用兩種代價函數(shù)能使網(wǎng)絡(luò)學習到彩色圖像的特征, 并生成視覺上能以假亂真的彩色圖像。在實驗中還觀察到判別器試圖不斷調(diào)整生成圖像的邊緣部分和亮度不均勻區(qū)域的色彩, 使得這些區(qū)域的顏色不斷改變以達到合理的視覺效果, 但若調(diào)整出現(xiàn)重大偏差也會導致人臉圖像的關(guān)鍵部位出現(xiàn)偽影。此外GAN訓練的不穩(wěn)定特性會使得整個模型的性能處于持續(xù)波動中, 因此較慢的梯度更新有助于篩選更優(yōu)的模型。
模型在常規(guī)情況下實現(xiàn)了有效的上色處理, 然而在面對灰度圖中復雜的亮度分布時仍顯的不夠完善, 尤其是針對側(cè)臉等相對不常見案例時, 失敗案例如圖4(b)所示。由于上色的過程主要由于判別器指導, 這里認為失敗的部分原因是判別器無法基于有限的特殊樣本判定復雜情況如何處理, 網(wǎng)絡(luò)沒有提取到足夠樣本的特征, 也沒有學習到應(yīng)對復雜亮度分布時的處理辦法, 因此其會不斷指導生成器嘗試各種可能性, 但難以確保提供正確的上色方案。
4 結(jié)束語
本文在分析了GAN基本思想的基礎(chǔ)上, 設(shè)計了一種基于GAN的人臉灰度圖上色模型。模型包含兩方面代價函數(shù), 生成器的特征圖大小不變, 模型結(jié)構(gòu)簡單, 沒有過多的預(yù)處理過程, 且針對常規(guī)人臉灰度圖像上色效果可達以假亂真的程度。為進一步改善模型性能, 可以在視覺效果不受明顯影響的情況下, 適當壓縮生成器特征圖的大小, 以迫使生成器進行更進一步的表示學習, 還能降低內(nèi)存占用率。也可考慮增加數(shù)據(jù)的多樣以實現(xiàn)更廣泛的應(yīng)用。在實驗中還發(fā)現(xiàn), 生成器部分越靠近輸出端需要的特征圖數(shù)目越大, 否則整個網(wǎng)絡(luò)易發(fā)生崩潰, 為了保證GAN的穩(wěn)定性, 可以考慮基于WGAN來進一步改進網(wǎng)絡(luò)模型。
參考文獻:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553):436.
[2] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2012:1097-1105.
[3] Ren S, He K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]// International Conference on Neural Information Processing Systems. MIT Press, 2015:91-99.
[4] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(4):640-651.
[5] Goodfellow I J, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]// International Conference on Neural Information Processing Systems. MIT Press, 2014:2672-2680.
[6] Yeh R A, Chen C, Lim T Y, et al. Semantic Image Inpainting with Deep Generative Models[J]. 2016.
[7] Isola P, Zhu J Y, Zhou T, et al. Image-to-Image Translation with Conditional Adversarial Networks[J]. 2016:5967-5976.
[8] Cheng Z, Yang Q, Sheng B. Deep Colorization[C]. The IEEE International Conference on Computer Vision (ICCV), 2015: 415-423.
[9] Levin A, Lischinski D, Weiss Y. Colorization using optimization[J]. Acm Transactions on Graphics, 2004, 23(3):689-694.
(下轉(zhuǎn)第191頁)
(上接第181頁)
[10] Huang Y C, Tung Y S, Chen J C, et al. An adaptive edge detection based colorization algorithm and its applications[C]// ACM International Conference on Multimedia, Singapore, November. DBLP, 2005:351-354.
[11] Hertzmann A, Jacobs C E, Oliver N, et al. Image Analogies[J]. Inproceedings, 2001:327--340.
[12] Welsh T, Ashikhmin M, Mueller K. Transferring color to greyscale images[J]. Acm Transactions on Graphics, 2002, 21(3):277-280.
[13] Larsson G, Maire M, Shakhnarovich G. Learning Representations for Automatic Colorization[J]. 2016:577-593.
[14] Zhang R, Isola P, Efros A A. Colorful Image Colorization[J]. 2016:649-666.
[15] Simonyan K, Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition[J]. Computer Science, 2014.
[16] Hariharan B, Arbelaez P, Girshick R, et al. Hypercolumns for object segmentation and fine-grained localization[J]. 2014:447-456.
[17] Nair V, Hinton G E. Rectified linear units improve restricted boltzmann machines[C]// International Conference on International Conference on Machine Learning. Omnipress, 2010:807-814.
[18] Ioffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J]. 2015:448-456.
[19] Arjovsky M, Chintala S, Bottou L. Wasserstein GAN[J]. 2017.
[20] Arjovsky M, Bottou L. Towards Principled Methods for Training Generative Adversarial Networks[J]. 2017.
[21] Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.
[22] Ledig C, Wang Z, Shi W, et al. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network[J]. 2016:105-114.
[23] Zeiler M D, Taylor G W, Fergus R. Adaptive deconvolutional networks for mid and high level feature learning[C]// International Conference on Computer Vision. IEEE Computer Society, 2011:2018-2025.
[24] Pathak D, Kr?henbühl P, Donahue J, et al. Context Encoders: Feature Learning by Inpainting[J]. 2016:2536-2544.
[25] Ishikawa H, Ishikawa H, Ishikawa H. Globally and locally consistent image completion[M]. ACM, 2017.