馬騁 孫國強



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