◆劉曉麗 程曉榮
基于卷積神經(jīng)網(wǎng)絡(luò)的智能著色技術(shù)的研究
◆劉曉麗 程曉榮
(華北電力大學(xué)(保定)控制與計算機(jī)工程學(xué)院 河北 071003)
通過深度卷積神經(jīng)網(wǎng)絡(luò)及語義分割任務(wù)的學(xué)習(xí),研究了一種基于有監(jiān)督學(xué)習(xí)的著色技術(shù)。在用戶給定的圖像中將其變成灰度圖,然后通過卷積和GPU進(jìn)行特征提取,并在特征空間上構(gòu)建分類器,使用softmax對像素的顏色進(jìn)行分類。實(shí)驗結(jié)果表明,該著色可以達(dá)到以假亂真的視覺效果,對于黑白灰圖像的著色具有相應(yīng)的應(yīng)用價值。
CNN;特征提??;智能著色;分類;卷積
有照片才有意義,照片給人一種時光倒流的回憶感,尤其是收藏的黑白老照片。而隨著年齡漸長、時光飛逝,留在腦海里的當(dāng)時的色彩顏色越發(fā)模糊。因此,急需一種方法恢復(fù)人們的內(nèi)存記憶。人們曾用類似于小學(xué)生繪圖的方式,即用戶輔助的涂鴉著色。這種方式用戶交互性很強(qiáng),需要手動地指定特定的某一區(qū)域所需顏色,不適用復(fù)雜的圖形處理。另有學(xué)者提出參考圖例的色彩著色,時空中具有相似強(qiáng)度的相鄰像素具有相似的顏色,但難點(diǎn)在于找到一張匹配的參考圖[1]。而本文在使用CNN將輸入圖像轉(zhuǎn)化為灰度圖像基礎(chǔ)之上使用模型訓(xùn)練形成著色,達(dá)到圖像“幻覺化”的效果。
人類的大腦中擁有1000多億個神經(jīng)元,每個神經(jīng)元都可能與多個方向互相連接著構(gòu)成一個超級大型的網(wǎng)絡(luò),從而形成人腦意識。在1943年許多神經(jīng)元模型和學(xué)習(xí)規(guī)則被研究學(xué)者所提出,繼MP模型、BP算法、DNN算法之后,普遍由輸入層、卷積運(yùn)算、池化和若干全連接層組成的CNNs被提及[2]。但ConvNets絕大部分的計算量都集中在卷積層。
卷積操作可看做“滑動窗口法”,類似于計算機(jī)網(wǎng)絡(luò)中的滑動窗口協(xié)議,在輸入的矩陣與濾波器矩陣點(diǎn)乘后相加將結(jié)果傳送給輸出層,與局部連接本質(zhì)上是一致的。
圖1 卷積可視圖
對圖像和濾波器做內(nèi)積的操作就是卷積操作,如圖1所示,從左至右依次是輸入層、濾波器層和輸出層。該圖片選用3*3的卷積核,卷積核內(nèi)共有9個數(shù)值,所以圖1右列中一共有9個數(shù)值。
在每個位置上計算出兩個矩陣間(輸入層矩陣和濾波器層矩陣)的相應(yīng)元素乘積,并把點(diǎn)乘結(jié)果之和,存儲在輸出矩陣(3*3顏色矩陣所示)的每個單元格中。如圖1,棕黃顏色圈出的矩陣對應(yīng)元素與濾波器層的各個元素乘積之和得到的值,寫入相應(yīng)的棕黃色的位置。步長為1,滑動窗口按照先行后列的原則向后滑動1個窗口,依像素相乘再相加得到特征圖譜矩陣。
顏色空間可以以兩大類概括:一類是面向硬件的RGB、YCrCb、CMY;另一類是面向視覺感知的HSI、HSV、HSB、CIE Lab。
RGB最常見的用途是顯示系統(tǒng),直觀且易理解,但由于它沒有明確區(qū)分三個顏色分量,因此精確度不夠。CIE Lab,是一種以數(shù)字化方式描述的更接近人眼觀測的顏色空間,也是本項目使用的色彩模式,衡量顏色之間的差異性靠歐幾里得距離;區(qū)間為綠-紅色的a和藍(lán)-黃色的b兩個通道包含了所有色彩信息,而L僅對亮度和強(qiáng)度進(jìn)行編碼[3]。如表1所示。
表1 CIE Lab感知范圍
(1)RGB轉(zhuǎn)XYZ
通過觀察可以發(fā)現(xiàn),各行系數(shù)之和非常接近于1,因此X、Y、Z的取值范圍也必然與R、G、B類似。
(2)XYZ轉(zhuǎn)LAB
本文運(yùn)用的平臺是Pycharm,特征提取使用到了Python和Opencv,且使用了很多第三方包,包括將目錄下的文件進(jìn)行讀取操作的glob、代碼進(jìn)度可視化的tqdm、結(jié)果可視化的matplotlib、數(shù)據(jù)自動生成器的Keras、高維數(shù)組運(yùn)算的Numpy及易在GPU上訓(xùn)練的Tensorflow。
由于人們感知到的顏色與顏色的空間分布密切相關(guān),提出根據(jù)圖像集自動挑選適合當(dāng)前可視化任務(wù)的參考圖形以保證結(jié)果的多樣性,使用圖結(jié)構(gòu)對不同類別之間的空間排列以及圖像中的主要顏色分布進(jìn)行建模,并通過圖匹配算法來檢索具有高度空間分布相似性的圖像,利用的核心算法是K近鄰算法;在scikit-learn 中,sklearn.neighbors涵蓋了與近鄰法相關(guān)的類庫,此處K取到5[5]。
在訓(xùn)練集中每一個樣本都有一個標(biāo)簽,即我們知道樣本集中每一個數(shù)據(jù)所屬于的分類。輸入一個沒有標(biāo)簽的新數(shù)據(jù)后,將新數(shù)據(jù)的每個特征和樣本集中的數(shù)據(jù)的特征進(jìn)行對比,然后算法提取出樣本集中與輸入數(shù)據(jù)特征相似的5個數(shù)據(jù)的分類標(biāo)簽,將所屬最多的標(biāo)簽作為該樣本的結(jié)果標(biāo)簽。
給定一張圖像,可以是彩色圖像,也可以是灰色圖像,先對其顏色采樣,通過卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)圖片特征并預(yù)測它的著色,重復(fù)模型訓(xùn)練,輸出類別的分布概率利用到了softmax函數(shù),并對每個像素點(diǎn)顏色進(jìn)行分類并上色,最后加上亮度形成彩色圖。
(1)特征提取模塊
圖2 VGG模型的建立
本項目的基礎(chǔ)網(wǎng)絡(luò)是基于VGG網(wǎng)絡(luò)版本構(gòu)建的,如圖2所示,通過8個卷積塊提取灰度圖圖片特征,在每一層的最后加上批量規(guī)范化(BN)層,進(jìn)行歸一化操作,這樣增強(qiáng)類內(nèi)緊致性,加速了學(xué)習(xí)收斂速度[5-6]。使用ReLu激活第二至第七層,為防止數(shù)據(jù)結(jié)構(gòu)丟失使用空洞卷積獲取更大感受野,特征提取完畢后使用 softmax 對像素點(diǎn)的顏色進(jìn)行分類,按照顏色分類結(jié)果對圖像像素上色[6]。
為保證規(guī)范化,將輸入的圖像尺寸重新定義成256*256大小,8層卷積之后的參數(shù)如表2所示。
表2 VGG特征提取輸出結(jié)果
(2)訓(xùn)練模塊
訓(xùn)練集是從ImageNet中抽取1000個類的130萬張風(fēng)景子集圖像[7]。從訓(xùn)練結(jié)果中獲得總共313個常用值對。這時,模型訓(xùn)練已從回歸問題變?yōu)榉诸悊栴}。模型訓(xùn)練的實(shí)質(zhì)是對參數(shù)進(jìn)行不斷的調(diào)整,該算法使用隨機(jī)梯度下降法更新權(quán)重,與原始圖像比較以進(jìn)行誤差計算,重復(fù)訓(xùn)練過程以訓(xùn)練模型。為了防止過度擬合,此處的損失函數(shù)使用的是分類多項交叉熵?fù)p失[8-9]。
(3)測試及結(jié)果評價
將需要測試的彩色圖或者灰度圖統(tǒng)一轉(zhuǎn)為灰度圖像后上色,利用上述闡述的算法不斷更新最符合該圖像的色彩。本文選取校園及學(xué)校周邊的手機(jī)素材作為風(fēng)景類圖像,選取網(wǎng)絡(luò)照片為動物類圖像,選取明星及周圍師生為人物類圖像,選取校園周圍大型超市構(gòu)圖為復(fù)雜場景圖像,其中前三類上色效果理想,而對于復(fù)雜場景的超市貨物來說,上色效果不夠,原因是分類精度不夠高。如圖4所示,從各個類別中隨機(jī)選取了一張,從上至下依次為校園風(fēng)景圖、動物圖、人物圖和超市圖。
圖4 部分結(jié)果圖
圖像著色是像素預(yù)測難題的一個實(shí)例,在影集修復(fù)和醫(yī)學(xué)應(yīng)用中具有相當(dāng)?shù)膬r值空間。本項目應(yīng)用深度CNN和精心抉擇的目標(biāo)函數(shù)使著色更接近于切實(shí)的彩色照片,并迸發(fā)與真實(shí)彩色照片難以區(qū)分的結(jié)果。對于訓(xùn)練結(jié)果,雖然本項目提高了著色的飽和度,對大部分場景都有較好的結(jié)果,但對人造場景(如超市復(fù)雜景觀等)仍表現(xiàn)力不足。接下來可進(jìn)一步去設(shè)計損失函數(shù)并提高分類精度,目的是使網(wǎng)絡(luò)著色結(jié)果足以欺騙人們的“直覺”。
[1]張政,姚楠,方利.基于積神經(jīng)網(wǎng)絡(luò)的圖像著色方法研究[J].電腦知識與技術(shù),2019(15):204-206.
[2]姜新猛. 基于TensorFlow的卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用研究[D].湖北?。喝A中師范大學(xué),2017.
[3]郭晶晶,李慶武,程海粟,仇春春.基于Lab顏色距離和GMM的樹木圖像分割算法[J].信息技術(shù),2016(02):1-4+9.
[4]呂維帥.基于深度神經(jīng)網(wǎng)絡(luò)的黑白圖像著色算法研究[D].江西?。航骼砉ご髮W(xué),2019.
[5]Zhang,R,Isola,P,Efros,AA:Colorful Image Colorization[C].14th European Conference on Computer Vision (ECCV). Amsterdam,NETHERLANDS,2016:649-666.
[6]Olga Russakovsky,Jia Deng,Hao Su,et al. ImageNet Large Scale Visual Recognition Challenge[J]. INTERNATIONAL JOURNAL OF COMPUTER VISION,2015,115(3):211-252.
[7]郭蘭英,韓睿之,程鑫.基于可變形卷積神經(jīng)網(wǎng)絡(luò)的數(shù)字儀表識別方法[J].計算機(jī)科學(xué),2020,47(10):195-201.
[8]劉桂玉,劉佩林,錢久超.基于3D骨架和RGB圖片的時空動作識別[J].信息技術(shù),2020,44(05):121-124+130.
[9]王功鵬,段萌,牛常勇.基于卷積神經(jīng)網(wǎng)絡(luò)的隨機(jī)梯度下降算法[J].計算機(jī)工程與設(shè)計,2018,39(02):441-445+462.