劉 凱,孫 鵬,童世博,解夢達
(1.中國刑事警察學院 公安信息技術(shù)與情報學院,沈陽 110854;2.廣州大學 網(wǎng)絡空間安全學院,廣州 511442)
相機記錄的物體在不同光源顏色下色彩表現(xiàn)不同,當圖像中物體呈現(xiàn)出的色彩表現(xiàn)與物體本身顏色偏離一定程度后,僅憑人眼往往不能輕易分辨,需要借助顏色恒常性算法對這些偏色的目標圖像進行校正。顏色恒常性是指人的視覺系統(tǒng)無論所處環(huán)境光源顏色如何,都能識別出物體表面真實顏色的能力[1]。顏色恒常性算法的目的是通過估計目標圖像所處場景的光源顏色,并根據(jù)光源顏色將其校正至標準白光下,從而解決由光源顏色引起的圖像偏色問題[2]。
顏色恒常性算法分為單光源估計和多光源估計,其中大多數(shù)(包括本文)為方便計算,默認以單光源的假設為前提進行研究?,F(xiàn)有的顏色恒常性算法主要分為基于圖像底層特征驅(qū)動的顏色恒常性算法和基于高級語義指導的顏色恒常性算法兩大類?;趫D像底層特征驅(qū)動的顏色恒常性算法可以分為兩大類:基于統(tǒng)計的方法和基于學習的方法。常見的基于統(tǒng)計的方法有灰度世界算法(Gray World,GW)[3]、完美反射算法(White Patch,WP)[4]、灰度陰影算法(Shades of Gray,SoG)[5]、灰度邊緣算法(Gray Edge,GE)[6]等,基于學習的算法主要包括色域映射算法(Gamut-mapping,GM)[7]、基于貝葉斯推理的顏色恒常性計算(Bayesian Color Constancy,BCC)[8]、基于支持向量回歸的顏色恒常性計算(Support Vector Regression,SVR)[9]等?;趯W習的方法光源估計效果總體優(yōu)于基于統(tǒng)計的方法,但這歸結(jié)于前期大量測試數(shù)據(jù)的訓練學習;基于統(tǒng)計的方法雖性能稍弱,但在實際應用中計算效率遠遠高于基于學習的方法。
盡管基于圖像底層特征驅(qū)動的顏色恒常性算法體系已基本完善,各種假設及基于各種假設所提出的算法層出不窮,但在借助一些顏色恒常性算法對目標圖像進行光源估計時,會遇到算法失效的問題。因此,解決單一顏色恒常性算法的局限性,為目標圖像選擇最合適的顏色恒常性算法或者算法組合有著重要的實際意義[10]。基于高級語義指導的顏色恒常性算法是顏色恒常領(lǐng)域內(nèi)一個重要的研究方向,研究人員嘗試從圖像內(nèi)容相關(guān)的高級視覺信息中獲取光源估計線索[11]。例如,Cardei等[12]提出基于委員會的顏色恒常性計算(Committee-based Color Constancy),對灰度世界算法、完美反射算法、基于BP神經(jīng)網(wǎng)絡的算法的光源估計結(jié)果進行了加權(quán)融合,以達到提高光源估計準確度的目的;Van de Weijer等[13]在所提出的Top-Down算法中,將圖像視為多語義類集合體,并利用不同語義信息作為先驗知識估計光源;Gijsenij等[14]提出了基于自然圖像統(tǒng)計的顏色恒常性算法融合方案(Color Constancy using Natural Image Statistics,NIS),使用威布爾參數(shù)描述圖像的紋理分布特征,進而根據(jù)紋理分布特征選擇最優(yōu)的顏色恒常性算法。
上述融合性算法的研究表明,所處理目標圖像對應的最優(yōu)算法與該圖像的語義信息存在著明顯的相關(guān)性,但上述融合性算法存在一些不足,如NIS算法以圖像全局紋理特征作為選擇算法的依據(jù),事實上,不同語義類別的紋理特征會有很大差異,因此使用全局紋理特征不能精確地描述圖像。為更好地利用圖像語義信息,本文從語義分割的角度,以GE算法框架為基礎,提出一種語義驅(qū)動的顏色恒常決策算法,通過計算目標圖像和已訓練圖像的場景語義相似度來為目標圖像選擇最合適的算法。具體來說,首先,使用由Cityscapes[15]數(shù)據(jù)集輸入訓練的PSPNet(Pyramid Scene Parsing Network)語義分割模型對經(jīng)過一階灰度邊緣算法(1st Gray Edge,1stGE)偏色預處理后的目標圖像進行場景語義分割,并計算該圖像場景中每種語義信息的占比;其次,根據(jù)目標圖像語義信息類別在已訓練好的決策集合中尋找相似的參考圖像;然后,根據(jù)目標圖像與參考圖像相同語義信息的占比計算相同語義間的歐氏距離,以歐氏距離表示為目標圖像與參考圖像間的語義相似度;最后,選擇相似度最高的參考圖像,使用該相似度與基于多維歐氏空間所確定的閾值進行比較,若大于閾值,則使用該參考圖像對應的最優(yōu)算法,為目標圖像實行偏色校正;若小于閾值,則默認使用光源估計性能較好的灰度陰影算法對目標圖像實行偏色校正。在Color Checker[8]和NUS 8-camera[16]數(shù)據(jù)集的實驗結(jié)果表明,本文所提算法性能明顯優(yōu)于Gray Edge框架下單一算法及同類型融合性算法,能夠有效提升光源估計的魯棒性和準確度。
根據(jù)朗伯特反射模型(Lambertian Model),彩色圖像成像取決于場景光源顏色e(λ)、相機相應函數(shù)ρ(λ)以及物體的表面反射率R(x,λ)[17],可表示為
(1)
式中:λ表示波長;x表示圖像像素的空間三維坐標;c={R,G,B};ω表示可見光譜。實踐中,為方便計算,往往不考慮相機感應函數(shù)ρ(λ)的影響,即光源顏色e只與場景光源顏色e(λ)以及物體的表面反射率R(x,λ)有關(guān):
(2)
GE框架是Weijer等[6]在提出GE假設的基礎上,通過引入閔可夫斯基(Minkowski)范式和高斯平滑預處理得到的,公式為
(3)
表1 Gray Edge框架下的顏色恒常性計算方法Tab.1 Color constancy algorithms under Gray Edge framework
圖像語義分割方法可分為基于FCN的方法,如DeepLab系列[18]通過帶孔卷積等技術(shù)對FCN進行優(yōu)化改進,增大感受野;基于編碼解碼的方法,如DeconvNet[19]通過反卷積等操作構(gòu)成的解碼器對低分辨率圖像進行上采樣處理;基于特征融合的方法,如PSPNet[20]使用空間金字塔池化模塊捕獲圖像不同位置信息等??紤]到PSPNet模型能夠融合不同尺度下的特征,從而達到聚合全局信息的目的,更適用于語義信息較豐富的場景,本文使用PSPNet模型對目標圖像進行語義分割。
對于主干特征提取網(wǎng)絡的選取,本文嘗試使用AlexNet[21]、Vgg16[22]、ResNet50[23]3種網(wǎng)絡,分別作為PSPNet模型的特征提取網(wǎng)絡進行語義分割訓練。
本文算法分為訓練階段和測試階段,算法整體流程包括3個步驟,分別為構(gòu)建決策集合、圖像預處理、算法決策,如圖1所示。
圖1 算法流程Fig.1 Flow of the proposed algorithm
訓練階段構(gòu)建的決策集合中應包含了參考圖像的語義分割結(jié)果,以及對應的最優(yōu)顏色恒常性計算方法,以便為測試階段的目標圖像提供算法決策方案。
為構(gòu)建決策集合M,首先對輸入的訓練圖像a使用GE框架下的各種無監(jiān)督算法(如GW、WP等)分別進行處理,得到5幅結(jié)果圖,按照公式(4)使用角度誤差對結(jié)果圖進行誤差度量:
(4)
考慮到一些偏色嚴重的圖像會影響到場景語義分割的精確性,所以對輸入網(wǎng)絡的目標圖像b使用1stGE算法進行偏色的預處理;同時為了減少偏色預處理對結(jié)果帶來的影響,將原圖像與1stGE算法處理的結(jié)果按照公式(5)進行圖像的線性混合得到偏色預處理后的結(jié)果如下:
H(x)=(1-α)f0(x)+αf1(x)
(5)
式中:H(x)為混合圖像,即1stGE算法預處理后的結(jié)果;圖像線性混合權(quán)重α=0.5。再對預處理后的圖像H(x)進行場景語義分割,得到包含n種語義信息wi(按占比降次排序)以及所對應的占比pi的語義集合體。占比pi可表示為
(6)
式中:wi(x,y)表示語義信息wi的像素數(shù)目;f(x,y)m×n表示圖像總的像素數(shù)目??紤]到有些目標圖像語義信息貧乏而有些圖像語義信息豐富,為方便計算,取語義信息wi類別數(shù)目n≤4。
2.3.1 場景語義相似度計算
常用度量圖像語義相似度的距離公式有歐氏距離(Euclidean Distance)、余弦距離(Cosine Distance)、巴氏距離(Bhattacharyya Distance)等,為更好地計算圖像語義相似度,識別圖像語義間的視覺、空間差異,本文參照文獻[24-26]使用歐氏距離表示語義集合體m,m′(即目標圖像b和參考圖像b′)的語義相似度。相似度計算公式如下:
(7)
式中:S表示相似度;p表示測試圖像中語義信息占比;p′表示訓練集中對應圖像語義信息占比,由于訓練集中具有相同語義信息的語義集合體(圖像)不止一個,所以會產(chǎn)生S1,S2,S3等不同相似度,取最高相似度,記為所需語義相似度S。
同時,為驗證所使用歐氏距離對語義相似度度量的有效性與魯棒性,本文根據(jù)5種距離公式分別構(gòu)建所對應的語義相似度距離公式,包括歐氏距離、曼哈頓距離[27](Manhattan Distance)、海林格距離(Hellinger Distance)、巴氏距離、余弦距離,對應語義相似度計算公式見表2。
表2 由5種距離公式構(gòu)建的語義相似度計算公式Tab.2 Semantic similarity calculation formulas constructed by 5 distance formulas
表2中,c1,c2,c3,c4均為常數(shù),為方便計算,取c1=c2=c3=1,c4=0,并從決策集合中選取21幅對應最優(yōu)算法為GW的圖像,其中1幅作為參考圖像,分別使用構(gòu)建的5種距離公式計算該參考圖像與另20幅圖像的語義相似度,觀察各計算公式所得結(jié)果的誤差值,如圖2所示。
圖2 5種公式下語義相似度計算結(jié)果Fig.2 Results of semantic similarity calculation under 5 formulas
圖2中誤差棒表示上四分位值,柱形圖高度表示計算結(jié)果均值。由于常數(shù)c1,c2,c3,c4取值和相似度結(jié)果有著直接關(guān)系,故本次實驗所得結(jié)果大小并不能衡量實際相圖像語義似度。僅從5種語義相似度計算公式的魯棒性角度出發(fā),觀察圖2中5種語義相似度計算公式下計算結(jié)果的誤差值,可知歐氏距離對應的計算結(jié)果誤差值最小,證明了本文選用歐氏距離作為圖像語義相似度計算公式的有效性和魯棒性。
2.3.2 閾值選取
閾值大小的選取直接影響著算法的效果,而閾值的選取與決策集合中用于訓練參考圖像的數(shù)目高度相關(guān),閾值越高,對參考圖像數(shù)目要求越多。本文閾值大小的選取是由決策集合中每幅參考圖像通過計算獲取的,與每幅參考圖像直接相關(guān),可解釋性較強。本文算法閾值的確定,通過以下步驟實現(xiàn):
步驟1 根據(jù)訓練集中的圖像,選擇采取相同算法fk(如GW算法)的決策集合Mk中一幅參考圖像N0與其余N幅參考圖像進行語義相似度計算。在公式(7)的基礎上引入向量特征表示,如公式(8):
(8)
(9)
步驟3 得到5種算法(GW,WP,SoG,1stGE,2ndGE)決策集合Mk的平均相似度εk,結(jié)果如圖3所示,其中誤差棒表示95%的置信區(qū)間。
圖3 95%置信區(qū)間下參考圖像的平均相似度Fig 3.Average similarity of reference images under 95% confidence interval
(10)
式中:|Xk|表示決策集合Mk中的樣本數(shù)。
根據(jù)訓練階段使用的677張參考圖像的計算結(jié)果,本文設定測試階段語義相似度閾值τ=0.706。
2.3.3 算法選擇
經(jīng)過對語義集合體m進行場景語義相似度計算后,得到最高相似度S及該相似度對應的語義集合體m′和處理算法f′:
(11)
最后通過判斷S與設定閾值τ的大小,為目標圖像b選擇合適算法f:若相似度S大于閾值τ,則對輸入圖像b適用語義集合體m′的顏色恒常性計算方法f′處理;若相似度S小于閾值τ,則對圖像整體采用SoG算法進行處理,最終得到偏色校正圖像c。
2.4.1 算法參數(shù)選擇
根據(jù)表1中參數(shù)取值與公式,SoG、1stGE、2ndGE 3種算法通過調(diào)節(jié)不同的ρ值(1<ρ<∞)與高斯濾波器參數(shù)σ可得到不同的算法效果,本文通過使用網(wǎng)格化參數(shù)尋優(yōu)的方法,設定SoG算法中ρ=7,1stGE、2ndGE算法參數(shù)取值分別為e1,1,6和e2,1,5,如表3所示。
表3 算法參數(shù)設置Tab.3 Algorithm parameter settings
2.4.2 PSPNet語義分割模型參數(shù)選擇
本文使用PSPNet模型對圖像進行語義分割,主干特征提取網(wǎng)絡分別使用了ALexNet、Vgg16和ResNet50,訓練圖像為Cityscapes數(shù)據(jù)集中5 000幅精細標注的圖像。設置訓練語義分割信息類別共10類(包含背景)。設置總的epoch=100(凍結(jié)階段epoch=60,解凍階段epoch=40),模型凍結(jié)訓練階段batchsize=8,解凍訓練階段batchsize=6。
3.1.1 語義分割模型訓練:Cityscapes數(shù)據(jù)集
Cityscapes數(shù)據(jù)集[15],即城市景觀數(shù)據(jù)集,包含了50個不同歐洲城市的街道場景圖像,其中包括5 000幅精細標注的圖像和20 000幅粗糙標注的圖像,語義信息包含34個類別,但常用的是19個類別。本文將數(shù)據(jù)集中5 000幅精細標注的圖像用于訓練和評估PSPNet語義分割模型,訓練類別包括人、汽車、道路、天空、建筑等10類。
3.1.2 算法訓練階段:Cube+數(shù)據(jù)集
Cube+[28]數(shù)據(jù)集是對Cube數(shù)據(jù)集的擴展,包含了克羅地亞、斯洛文尼亞和奧地利等城市在不同季節(jié)記錄1 707幅圖像。本文選取Cube+數(shù)據(jù)集共677幅語義信息豐富的室外圖像用于構(gòu)建決策集合。
3.1.3 算法測試階段:Color Checker數(shù)據(jù)集、NUS 8-camera數(shù)據(jù)集
Color Checker數(shù)據(jù)集包括568幅線性RGB圖像,真實光照是通過圖像中放置的色彩測試標板(Color Checker)獲得。NUS 8-camera數(shù)據(jù)集是由8部不同型號相機在相同場景下拍攝的1 736幅圖像。
3.2.1 語義分割模型性能評估指標:均交并比
均交并比(Mean Intersection over Union,MIoU)是語義分割領(lǐng)域中最為廣泛使用的評估指標,通過計算場景中所有語義類別的交集和并集之比的平均值來度量語義分割模型的性能,計算公式如下:
(12)
式中:n表示語義信息類別的數(shù)量;i表示真實值;j表示語義分割的預測值;pij表示將i預測為j。
PSPNet模型使用3種主干特征提取網(wǎng)絡訓練所得模型MIoU如圖4所示。從圖4可以看出,3種主干特征提取網(wǎng)絡在訓練結(jié)果上相差無幾,但考慮到網(wǎng)絡的計算效率,由于ResNet50使用了殘差網(wǎng)絡結(jié)構(gòu),網(wǎng)絡的計算能力和準確率相較于ALexNet和Vgg16要高,故本文算法使用ResNet50作為PSPNet模型的主干特征提取網(wǎng)絡對目標圖像進行語義分割。
圖4 PSPNet模型MIoU曲線Fig.4 MIoU curve of PSPNet model
3.2.2 光源估計性能評估指標:角度誤差
本文通過使用角度誤差(Angular error)估計真實光照和估計光照的距離以評估各種顏色恒常性計算方法的性能,如公式(4)。在此基礎上,為綜合評估顏色恒常性計算方法的性能,本文使用光源估計圖像角度誤差的均值、中值、三均值與最大誤差等指標作為評估依據(jù)。
本文使用Color Checker、NUS 8-camera數(shù)據(jù)集評估各算法光源估計性能。對比算法選用了單一算法和融合算法兩種類型:單一算法包括GE框架內(nèi)5種算法(GW、WP、SoG、1stGE、2ndGE)和兩種GM算法(GM-pixel和GM-edge);融合性算法包括Top-Down和NIS算法。參數(shù)設置方面除了本文設定的GE框架內(nèi)的算法外,其余算法皆采用默認值。各算法在Color Checker和NUS 8-camera數(shù)據(jù)集中光源估計性能如表4所示。
表4 各算法光源估計性能Tab.4 Illuminant estimation performance of each algorithm
由表4觀察到,本文所提算法在Color Checker數(shù)據(jù)集中與實驗結(jié)果中性能最優(yōu)的單一顏色恒常性算法(SoG算法)相比,均值、中值、三均值角度誤差分別下降14.03%,14.22%,15.86%,與性能最優(yōu)的融合性顏色恒常性算法(NIS算法)相比,均值、中值、三均值角度誤差分別下降11.59%,14.62%,15.86%;在NUS 8-camera數(shù)據(jù)集中與實驗結(jié)果中性能最優(yōu)的單一顏色恒常性算法(1stGE算法)相比,均值、中值、三均值角度誤差分別下降8.24%,6.76%,4.38%,與性能最優(yōu)的融合性顏色恒常性算法(NIS算法)相比,均值、中值、三均值角度誤差分別下降6.44%,10.88%,7.19%。此外,本文算法相對于所基于的GW、WP、SoG、1stGE、2ndGE算法,光源估計性能大幅提升,證明了本文所提出算法決策模型的有效性。且在兩種數(shù)據(jù)集中,本文算法最大角度誤差較各種算法均有大幅度下降,這表明本文算法能夠彌補單一顏色恒常性算法的局限性,有效為目標圖像選擇合適的顏色恒常性算法,提高了在不同場景下光源估計的魯棒性,進一步增強了光源估計的準確度。
根據(jù)表4中各種算法的實驗結(jié)果表明,本文算法在兩種數(shù)據(jù)集中均取得較好的性能表現(xiàn),分析原因有以下幾點:首先,本文算法使用了PSPNet語義分割模型充分利用圖像全局信息,并使用精細標注的Cityscapes數(shù)據(jù)集圖像輔以學習,從而更為精細、全面地構(gòu)建語義集合體;其次,本文算法在計算目標圖像與已訓練決策集合中參考圖像的語義相似度過程中,選擇與多幅參考圖像計算相同語義信息占比的歐氏距離,以確定最終相似度最高的參考圖像;最后,在確定相似度閾值時,根據(jù)參考圖像對應最優(yōu)算法的種類及數(shù)目計算,閾值的確定和訓練使用的參考圖像高度關(guān)聯(lián),選取規(guī)則更具有說服力。
實驗過程中,在處理具有大面積單一語義或是語義類別沒有經(jīng)過訓練的目標圖像時,如圖5中右側(cè)兩幅目標圖像,由于場景相似度過低,本文算法默認使用SoG算法對這類目標圖像進行處理,也會出現(xiàn)光源估計精度低等問題。因此,場景語義類別的擴充訓練應作為后續(xù)的一個研究方向。
圖5 部分圖像光源估計示例Fig.5 Example of illuminant estimation for some images
針對單一顏色恒常性算法的局限性及融合性算法在算法選擇依據(jù)上的不足,本文基于GE框架提出了一種語義驅(qū)動的顏色恒常決策算法,通過計算已訓練參考圖像與待校正目標圖像場景語義相似度,從而為目標圖像選擇最合適算法,達到彌補單一算法局限性、提高顏色恒常性算法準確度的目的。在Color Checker和NUS 8-camera數(shù)據(jù)集中的實驗結(jié)果表明,本文算法的光源估計性能優(yōu)于GE框架下的單一算法且較同類型融合性算法角度誤差分別下降14.02%和8.17%,提高了顏色恒常性算法對偏色圖像進行光源估計時的魯棒性和準確度。