馬騁 孫國強
0 引言
灰度圖像自動彩色化研究始于1970年,Markle[1]提出利用計算機輔助技術(shù)對阿波羅登月計劃獲取的月球影像實現(xiàn)彩色化。其方法是讓每個灰度級匹配到彩色空間上的一點,將單色圖像映射為一幅彩色圖像,目的是為了便于觀察,突出細(xì)節(jié)。20世紀(jì)80年代,利用彩色化技術(shù)對傳統(tǒng)黑白照片和影片進行著色在圖像處理及電影電視產(chǎn)業(yè)領(lǐng)域出現(xiàn)。彩色化技術(shù)最初利用人工對圖像和影片中的各個像素進行顏色定標(biāo)和著色,這種方法效率低下。隨著數(shù)字技術(shù)和計算機技術(shù)的迅速發(fā)展,圖像自動彩色化技術(shù)取得了長足進步[2-7]。
應(yīng)用神經(jīng)網(wǎng)絡(luò)后,自動彩色化算法可以擺脫人為操作,實現(xiàn)真正意義上的自動彩色化。目前應(yīng)用于彩色化算法的網(wǎng)絡(luò)模型多為卷積神經(jīng)網(wǎng)絡(luò)(CNN),并且使用訓(xùn)練分類算法的圖像數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)進行訓(xùn)練。Satoshi Iizuka等[8]使用了兩個網(wǎng)絡(luò)結(jié)構(gòu),分別針對全局特征和局部特征,使用的損失函數(shù)為一種回歸損失。Gustav Larsson等[9]將超列用于VGG網(wǎng)絡(luò),并且使用未再平衡的分類損失。Richard Zhang等[10]使用增加了深度和擴張卷積的VGG網(wǎng)絡(luò),以及再平衡稀有類的分類損失。使用深度神經(jīng)網(wǎng)絡(luò)可實現(xiàn)自動彩色化并且獲得較好效果,是目前最適合自動彩色化算法的方式之一。Richard Zhang等[11]將基于神經(jīng)網(wǎng)絡(luò)的自動彩色化算法與交互式彩色化算法結(jié)合,只需指定幾個點的顏色,使人為操作部分更加簡化,然后使用基于神經(jīng)網(wǎng)絡(luò)的彩色化算法完成彩色化過程,較之以往的彩色化算法效果更好。
對于訓(xùn)練集中沒有的圖像類型著色效果不佳,是目前基于神經(jīng)網(wǎng)絡(luò)的彩色化算法普遍存在的問題,其中有一種情況是,需彩色化的圖像存在曝光不足或者曝光過度等偏差時,彩色化效果與常規(guī)圖像相比存在較大偏差。偏差具體表現(xiàn)為:①對物體著色不準(zhǔn)確,尤其在欠曝光情況下,對多數(shù)圖像中的物體均存在著色錯誤現(xiàn)象;②對物體邊界判定不準(zhǔn)確,這個問題在正常曝光時同樣存在,但在過曝光和欠曝光情況下對一個物體著色時,顏色溢出到相鄰物體上的現(xiàn)象更為嚴(yán)重。
本文針對基于深度學(xué)習(xí)的彩色化算法在過曝光和欠曝光時著色效果不佳的缺陷,提出利用直方圖均衡化預(yù)處理,均衡輸入灰度圖像灰度級直方圖,以優(yōu)化彩色化效果。該方法在灰度圖像彩色化之前,將灰度圖像進行直方圖均衡化,均衡灰度圖像的灰度級,使灰度圖像的亮度分布更加接近正常曝光圖像,使基于神經(jīng)網(wǎng)絡(luò)的彩色化算法達到正常效果。
1 算法模型
1.1 預(yù)處理彩色化算法
深度學(xué)習(xí)彩色化算法對不在數(shù)據(jù)集中的圖像類型著色會存在偏差,而現(xiàn)有數(shù)據(jù)集中均不包含過曝光和欠曝光的圖像數(shù)據(jù),所以必然會對過曝光和欠曝光圖像著色出現(xiàn)偏差。為了讓彩色化算法發(fā)揮正常效果,需要矯正過曝光和欠曝光圖像的曝光偏差。采用人工矯正曝光偏差雖然可以得到更好的效果,但在自動彩色化圖像時需耗費大量人力,明顯不切實際,所以需要利用一種可以自動矯正曝光偏差的方法完成預(yù)處理任務(wù)。
由于彩色化任務(wù)對曝光的要求是準(zhǔn)確以及在明暗區(qū)域均有可以分辨的細(xì)節(jié)信息,所以最佳的曝光矯正方法為直方圖均衡化[12-19]。經(jīng)過直方圖均衡化后會增強圖像對比度,對于過曝光和欠曝光圖像來說,便是將圖像曝光值矯正到正常曝光水平。因此,將直方圖均衡化作為彩色化算法的預(yù)處理步驟,優(yōu)化過曝光和欠曝光圖像帶來的偏差是可行的。
本文模型采用文獻[15]的直方圖均衡化方法,將輸入圖像進行直方圖均衡化作為文獻[10]彩色化方法預(yù)處理,實現(xiàn)對過曝光和欠曝光圖像的彩色化。該方法流程如圖1所示,可描述為:①將需要彩色化的圖像輸入模型;②判斷該圖像是否為灰度圖像。如果是灰度圖像,則直接將圖像作為算法的輸入,如果是彩色圖像,則將圖像轉(zhuǎn)化到Lab空間,將L空間提取出來作為算法的輸入,并將該輸入圖像存儲為輸出圖像的L通道;③將算法的輸入圖像進行直方圖均衡化以修正曝光偏差;④將修正后的灰度圖像進行彩色化處理,得到輸出圖像的ab通道;⑤將輸出圖像的L通道與ab通道合成,得到輸出的彩色圖像。
1.2 直方圖均衡化預(yù)處理
直方圖均衡化的輸入圖像為灰度圖像或彩色圖像的L通道,其本質(zhì)都是單通道的灰度圖像。對灰度圖像進行直方圖均衡化,本質(zhì)上是將每一個像素的灰度值做映射,使整體的灰度值分布更加均衡。
對于輸入的灰度圖像[X∈RH×W×1] ,任意位置[(x,y)] [(0xH,0yW)]對應(yīng)的L通道灰度值大小為[g(x,y)][(0g(x,y)M)],其中M為總灰度級數(shù)。不同灰度級出現(xiàn)的概率[pi(0iM)]可表示為:
其中[δ(t)=1,t=00,t≠0]。
直方圖均衡化是對每一個像素點的灰度值做映射而改變灰度值分布,所以灰度值范圍在映射前后并沒有變化。假設(shè)直方圖均衡化灰度級變換為:
利用幾何加權(quán)平均法對該直方圖均衡化模型建立一種改進的最優(yōu)化模型:
該模型中[i=0M-1spii]反映了圖像對比度,其值越大對比度越明顯。[i=0M-1sqii]反映了圖像的先驗信息,越大則利用的先驗信息越豐富。結(jié)合文獻[14],當(dāng)[i=0M-1qi=1]時,該模型的最優(yōu)解表達式為:
輸入圖像[X∈RH×W×1]經(jīng)過直方圖均衡化[f(X)]后得到[X∈RH×W×1],[X]即為深度學(xué)習(xí)彩色化算法的輸入。
1.3 深度學(xué)習(xí)彩色化算法
深度學(xué)習(xí)彩色化算法可使用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有很多,應(yīng)用比較普遍的有AlexNet、VGG等,本文使用文獻[10]的深度學(xué)習(xí)模型結(jié)構(gòu)如圖2所示。其輸入是一個只有[X∈RH×W×1]的灰度圖像,輸出是通過函數(shù)[Y=F(X)]得到的ab兩個彩色通道[Y∈RH×W×2],其中H、W是圖像的尺寸,[Y]是預(yù)測值,[Y]是真實參考值。網(wǎng)絡(luò)結(jié)構(gòu)中,每一個方框代表著2-3個重復(fù)的卷積層和ReLU層,為了方便統(tǒng)一以conv標(biāo)識。