劉凱 孫鵬 童世博 解夢達(dá) 中國刑事警察學(xué)院
視頻偵查是指通過分析、研判涉案視頻,確定與案件相關(guān)的嫌疑人、嫌疑車輛、涉案物品等信息,如車輛型號、車身顏色、嫌疑人外貌及行為特征等,從而鎖定嫌疑人、確定偵查方向[1]。在實(shí)際工作中,由于涉案視頻現(xiàn)場存在眾多影響因素,如環(huán)境、設(shè)備等,導(dǎo)致成像質(zhì)量低下,影響視頻偵查人員對嫌疑目標(biāo)的認(rèn)定。特別是在確定嫌疑目標(biāo)顏色特征時(shí),由于場景光源的復(fù)雜性,會使涉案視頻中目標(biāo)人物衣著、目標(biāo)車輛的色彩表現(xiàn)發(fā)生變化,即產(chǎn)生偏色,將會影響視頻偵查人員對目標(biāo)的辨認(rèn),從而導(dǎo)致錯(cuò)誤的偵查方向[2]。為解決上述問題,需要對視頻圖像進(jìn)行偏色校正,以獲取目標(biāo)真實(shí)顏色信息。顏色恒常性計(jì)算便是通過估計(jì)未知光源下獲取到圖像的光照顏色,將其校正至標(biāo)準(zhǔn)光照顏色下,從而解決視頻圖像偏色問題,校正過程如圖1所示。
顏色恒常性是指人眼的視覺系統(tǒng)不管所處場景的光照顏色如何變化,都能夠輕易地識別出物體以及物體表面真實(shí)顏色的能力[3]。現(xiàn)有的顏色恒常性計(jì)算可以分為單光照下顏色恒常性計(jì)算和多光照下顏色恒常性計(jì)算[4],單光照下顏色恒常性計(jì)算是基于場景中只有一種光源,即使存在多種光源也將其平均地看成一種光照的假設(shè)[5];多光照下顏色恒常性計(jì)算是基于場景中有多種光源的假設(shè),本文所做研究都是以單一光照為前提。
顏色恒常性計(jì)算種類繁多,但應(yīng)用于公安實(shí)際的卻很少,本文意將顏色恒常性計(jì)算應(yīng)用領(lǐng)域擴(kuò)充至公安實(shí)際工作中,滿足實(shí)際工作“快速、穩(wěn)定、高效”的需要,從視頻圖像中目標(biāo)人物衣著的偏色情況入手,利用Gehler-Shi數(shù)據(jù)集[6]以及自建的模擬現(xiàn)場環(huán)境的數(shù)據(jù)集(文中簡稱為自建數(shù)據(jù)集),研究各種顏色恒常性計(jì)算方法在不同環(huán)境下的應(yīng)用性能,篩選出具有魯棒性、處理效果與時(shí)間俱佳的方法。
自建的模擬現(xiàn)場環(huán)境數(shù)據(jù)集旨在貼合公安工作實(shí)際情況,通過模擬涉案現(xiàn)場中光源種類、環(huán)境狀況、鏡頭角度對目標(biāo)人物衣著色彩表現(xiàn)的影響等所得,數(shù)據(jù)集圖像使用佳能77D拍攝,共220張,場景包括:室外場景、室內(nèi)場景、路燈下場景,每一場景都在適當(dāng)位置放置Datacolor Spydercheckr 24色色卡。其中,室外場景與室內(nèi)場景各20組,每組圖像包括5張同一場景不同白平衡模式拍攝的圖像,白平衡模式有日光(5200K)、陰影(7000K)、陰天(6000K)、鎢絲燈(3200K)、白色熒光燈(4000K),拍攝時(shí)保證同組照片參數(shù)設(shè)置一致,包括快門時(shí)間、光圈大小、感光度等;路燈下的場景包括白色路燈、黃色路燈兩種場景各10張圖像,均在日光白平衡模式下拍攝。每組圖像拍攝前,都使用了Sekonic C-800型光譜儀對場景色溫進(jìn)行測量,以便獲取真實(shí)圖像顏色,部分?jǐn)?shù)據(jù)集圖像如圖2所示。
1. Lambert反射模型
顏色恒常性計(jì)算大都基于Lambert反射模型建立[7,8],本文使用的四種基于統(tǒng)計(jì)的方法都是基于Lambert反射模型進(jìn)行光照顏色估計(jì)。在成像過程中,光線照射到物體表面后會發(fā)生漫反射和鏡面反射兩種情況,理想Lambert反射模型假設(shè)物體表面只存在漫反射光,即反射光線在所有方向上強(qiáng)度相同。公式如下:
其中f(x)表示待校正圖像,取決于:光源顏色I(xiàn)(λ)、相機(jī)感光函數(shù)ρ(λ)以及物體的表面反射R(x,λ)。λ表示波長,x表示圖像像素的空間坐標(biāo),c={R,G,B},ω表示波長范圍為380nm~780nm的可見光譜。在不考慮相機(jī)自身因素對圖像顏色影響的情況下,圖像的光照顏色估計(jì)就是估計(jì)出場景的光照顏色e:
2. Von Kries模型
經(jīng)過各種顏色恒常性計(jì)算方法進(jìn)行光照顏色估計(jì)后,為獲取圖像真實(shí)顏色,還需使用Von Kries模型[9]將估計(jì)后的圖像映射到標(biāo)準(zhǔn)光照下。該模型利用一個(gè)對角矩陣對圖像進(jìn)行線性映射變換,實(shí)現(xiàn)未知光照條件下所得圖像的R、G、B三通道的獨(dú)立變換,從而將未知光照下獲取的圖像映射到標(biāo)準(zhǔn)光照下,公式如下:
其中,Ru、Gu、Bu表示未知光照條件下所得圖像R、G、B三個(gè)顏色通道值,Rs、Gs、Bs表示標(biāo)準(zhǔn)光照條件下圖像的R、G、B三個(gè)顏色通道值,通過調(diào)整對角矩陣中f1-1、的不同取值,從而獲得不同的顏色校正結(jié)果。
單光照下顏色恒常性計(jì)算按學(xué)習(xí)方式可分為基于統(tǒng)計(jì)的方法(Statistics-based Methods)和基于學(xué)習(xí)的方法(Learning-based Methods),本文各取其中具有代表性的算法用于實(shí)驗(yàn),包括基于統(tǒng)計(jì)的方法中的灰度世界(Gray World)算法[10]、 完美反射(White Patch)算法[11]、灰度陰影(Shades of Gray)算法[12]、灰度邊緣(Gray Edge)算法[13];基于學(xué)習(xí)的方法中的色域映射(Gamutmapping)算 法[3]、FC4(Fully Convolutional Color Constancy with Confidence Weighted Pooling)算 法[14]、FFCC(Fast Fourier Color Constancy)算法[15]。
1. 灰度世界算法
灰度世界算法以Gray World假設(shè)為基礎(chǔ),該假設(shè)認(rèn)為對于一幅色彩豐富的圖像,場景中所有物理表面的平均反射是無色差的[10],即R、G、B三個(gè)通道的平均值趨于同一個(gè)灰度值。因此,在算法中,對一幅圖像R、G、B三個(gè)通道分別求平均值,所得的平均值即可看作是圖像的光照顏色。
2. 完美反射算法
完美反射算法是基于White Patch假設(shè)提出的,該假設(shè)認(rèn)為圖像中存在白色表面,RGB通道中的最大響應(yīng)是由場景中白色表面的完美反射引起的[11],在算法中常將RGB三個(gè)通道的最大值作為圖像的光照顏色,因此,完美反射算法也被稱為MaxRGB算法。
3. 灰度陰影算法
灰度陰影算法是在灰度世界算法的基礎(chǔ)之上提出的,通過引入閔可夫斯基范式(Minkowski-norm)從而擴(kuò)展為一個(gè)包括灰度世界算法、完美反射算法、灰度陰影算法在內(nèi)的顏色恒常性計(jì)算框架,其目的是利用閔可夫斯基范式距離代替了簡單求平均的方法,算法框架如下式:
其中ρ是閔可夫斯基范數(shù),用于確定多個(gè)測量值的相對權(quán)重,通過改變閔可夫斯基范數(shù),可以得到一系列顏色恒常性算法,如當(dāng)ρ=1時(shí),公式(3)為灰度世界算法;當(dāng)ρ=∞時(shí),公式(3)為完美反射算法;當(dāng)1<ρ<∞時(shí),公式(3)為灰度陰影算法。為設(shè)定合適的ρ值,本文通過使用Gehler-Shi數(shù)據(jù)集進(jìn)行參數(shù)尋優(yōu),計(jì)算ρ∈[2,10]時(shí)的中值角度誤差,實(shí)驗(yàn)結(jié)果如圖3所示。
從圖3可以看出,當(dāng)ρ=7時(shí),灰度陰影算法在兩個(gè)數(shù)據(jù)集中的中值角度誤差最小。因此,本文實(shí)驗(yàn)部分使用的灰度陰影算法,其閔可夫斯基范數(shù)ρ默認(rèn)為7。
4. 灰度邊緣算法
灰度邊緣(Gray Edge)算法基于Gray Edge假設(shè)提出,Gray Edge假設(shè)認(rèn)為場景中所有物體表面的反射差的平均值是無色差的(灰色的)。為將基于統(tǒng)計(jì)的方法統(tǒng)一在統(tǒng)一框架內(nèi),Van de Weijer提出一個(gè)通用的計(jì)算公式,如下式:
其中n表示階數(shù),取值為1時(shí)為一階灰度邊緣算法,取值為2時(shí)為二階灰度邊緣算法;ρ表示閔可夫斯基范數(shù);σ表示高斯濾波器的尺度參數(shù),即局部測量的比例;,表示圖像fc(x)與高斯濾波器Gσ的卷積。ρ與σ的取值將會影響一階或二階灰度邊緣算法在數(shù)據(jù)集中的角度誤差,本文使用自建數(shù)據(jù)集,探究ρ與σ的取值對算法性能的影響,實(shí)驗(yàn)結(jié)果如圖4所示。
如圖4所示,當(dāng)一階灰度邊緣算法ρ與σ的取值分別為1和6時(shí)所得中值角度誤差最小;二階灰度邊緣算法ρ與σ的取值分別為1和5時(shí)所得中值角度誤差最小。本文實(shí)驗(yàn)部分使用的一階、二階灰度邊緣算法ρ與σ取值參照如上。
5. 色域映射算法
色域映射算法(Gamut-mapping),通過大量學(xué)習(xí)標(biāo)準(zhǔn)光照下各種圖像顏色特征,建立標(biāo)準(zhǔn)色域;再計(jì)算未知光源下圖像的色域,建立該色域到標(biāo)準(zhǔn)色域的映射模型[3],即同時(shí)使用標(biāo)準(zhǔn)色域與待校正圖像的色域估計(jì)圖像的光照顏色。
6. FC4算法
FC4算法(Fully Convolutional Color Constancy with Confidence Weighted Pooling)將傳統(tǒng)卷積網(wǎng)絡(luò)CNN(Convolutional Neural Network)的全連接層轉(zhuǎn)化為一個(gè)個(gè)的卷積層,層數(shù)深、學(xué)習(xí)能力強(qiáng);同時(shí)FC4將置信度權(quán)重集成到一個(gè)新的池化層,應(yīng)用于局部像素點(diǎn)估計(jì),以確定全局顏色恒定結(jié)果。
7. FFCC算法
FFCC(Fast Fourier Color Constancy)算法將對場景的光照顏色估計(jì)簡化為色度環(huán)面上的空間定位任務(wù),從而解決光照顏色估計(jì)問題,同時(shí)產(chǎn)生能用于評估模型置信度的后驗(yàn)分布[15]。FFCC算法通過使用快速傅里葉變換,將圖像轉(zhuǎn)化至頻域中運(yùn)算,速度快、準(zhǔn)確率高、誤差小。
計(jì)算機(jī)處理器為AMD Ryzen 5 5600H with Radeo Graphics @ 3.30 GHz,16GB內(nèi)存;對幾種顏色恒常性計(jì)算方法的測試基于Matlab2020a和Pycharm2020平臺實(shí)現(xiàn);校正自建數(shù)據(jù)集圖像光照顏色所使用的軟件為SpyderCheckr 1.3。n
為貼合實(shí)際工作,本文中三種基于學(xué)習(xí)的算法訓(xùn)練使用的數(shù)據(jù)集為NUS數(shù)據(jù)集[16](NUS 8-camera Dataset)中部分圖像,NUS數(shù)據(jù)集是使用8臺不同型號相機(jī)在相同場景下拍攝的1736張圖像,適合研究顏色恒常性計(jì)算方法的跨相機(jī)光源顏色估計(jì)性能。本文僅側(cè)重研究各種顏色恒常性計(jì)算方法對未知光源下圖像的光照估計(jì)性能,因此僅使用NUS數(shù)據(jù)集中Canon1DsMkIII型號相機(jī)拍攝的259張圖像作為訓(xùn)練使用的數(shù)據(jù)集。測試時(shí)使用數(shù)據(jù)集為Gehler-Shi數(shù)據(jù)集(Gehler-Shi Color Checker Dataset)和自建數(shù)據(jù)集,Gehler-Shi數(shù)據(jù)集包括2臺相機(jī)(Canon 1D和Canon 5D)拍攝的568張圖像。其中,NUS數(shù)據(jù)集和Gehler-Shi數(shù)據(jù)集的部分圖像如圖7、圖8所示。
1. 顏色恒常性計(jì)算在Gehler-Shi數(shù)據(jù)集中的性能效果
本文先使用Gehler-Shi數(shù)據(jù)集對不同顏色恒常性計(jì)算方法的性能進(jìn)行測試,并用角度誤差(Angle Error)對算法性能進(jìn)行評價(jià),角度誤差公示如下:
其中,Eangle(ee,eu) 是測量的角度誤差,ee= [Re,Ge,Be]和eu= [Ru,Gu,Bu]分別表示算法估計(jì)的光照與圖像真實(shí)光照兩個(gè)向量的內(nèi)積運(yùn)算, 表示歐幾里得范數(shù)(Euclidean Norm),即角度誤差Eangle越小,顏色恒常性計(jì)算算法準(zhǔn)確率越高,當(dāng)Eangle=0時(shí),算法估計(jì)光照色度與真實(shí)光照色度完全一致。各類算法光源估計(jì)結(jié)果和可視化結(jié)果如表1、圖9所示。
?
2. 顏色恒常性計(jì)算在自建數(shù)據(jù)集中的性能效果
自建數(shù)據(jù)集在拍攝時(shí)由于相機(jī)感光芯片、環(huán)境光照等影響,圖像色彩與真實(shí)色彩存在偏差,為獲取圖像的真實(shí)顏色,需要使用拍攝前光譜儀測量的色溫值以及SpyderCheckr 軟件對圖像進(jìn)行校正,得到標(biāo)準(zhǔn)圖像。測試各類算法的性能仍使用公式(6)進(jìn)行誤差度量,光源估計(jì)結(jié)果及可視化結(jié)果如表2、圖10所示。
?
通過觀察實(shí)驗(yàn)過程各種算法對數(shù)據(jù)集處理的可視化結(jié)果(如圖9、圖10),以及最終得出的整體性能評價(jià)結(jié)果(表1、表2)可以看出:
基于學(xué)習(xí)的方法在兩個(gè)數(shù)據(jù)集中的整體效果優(yōu)于基于統(tǒng)計(jì)的方法。其中,F(xiàn)FCC算法效果最佳,運(yùn)算速度最快;色域映射算法和FC4算法誤差較大的原因可能是由于用于訓(xùn)練的NUS數(shù)據(jù)集數(shù)目較少,F(xiàn)C4算法在兩個(gè)測試集中所得角度誤差遠(yuǎn)遠(yuǎn)大于Hu等人[14]的測試結(jié)果,又因?yàn)槠淙矸e的網(wǎng)絡(luò)層次較深,用時(shí)最長。
在基于統(tǒng)計(jì)的方法中,灰度陰影算法的測試效果在各個(gè)評價(jià)指標(biāo)中都取得了令人滿意的結(jié)果;完美反射算法在兩個(gè)數(shù)據(jù)集中的測試效果都不太理想,其原因是因?yàn)檩斎雸D像顏色整體偏暗,在這種情況下,White Patch假設(shè)無法滿足,因此算法效果不佳;灰度世界算法基于簡單求平均的假設(shè),在測試過程中表現(xiàn)平平,但在處理一部分含有大面積單一色塊的偏色圖像時(shí)發(fā)生了嚴(yán)重的偏色問題(如圖10(c));灰度邊緣算法效果的好壞依賴于場景中物體的邊緣數(shù)量及對比度,其中一階灰度邊緣算法適用于紋理較少且對比度較弱的圖像,二階灰度邊緣算法適用于紋理豐富且對比度強(qiáng)的圖像[17],兩種灰度邊緣算法在測試過程中相對于其他基于統(tǒng)計(jì)的方法,灰度邊緣算法用時(shí)較長,測試效果較好。
目前對顏色恒常性研究較多,形成了較完整的一個(gè)體系,但并不能夠很好地應(yīng)用于公安實(shí)際工作中。本文將常用的幾種顏色恒常性計(jì)算方法通過在Gehler-Shi數(shù)據(jù)集及自建的數(shù)據(jù)集中的測試,展現(xiàn)出各種算法在不同場景中的測試效果及運(yùn)算速度,篩選出能滿足公安實(shí)際工作“快速、穩(wěn)定、高效”需要的算法。
通過在Gehler-Shi數(shù)據(jù)集和自建數(shù)據(jù)集中的測試,發(fā)現(xiàn)基于學(xué)習(xí)的算法測試效果總體上優(yōu)于基于統(tǒng)計(jì)的方法,但這依賴于前期的大量學(xué)習(xí),基于學(xué)習(xí)的算法本就是訓(xùn)練數(shù)據(jù)越多,效果越好,在擁有理想訓(xùn)練數(shù)據(jù)數(shù)量的情況下,基于學(xué)習(xí)的算法呈現(xiàn)出的效果會更好。FFCC算法在各項(xiàng)性能指標(biāo)中的測試效果最優(yōu),發(fā)揮也最穩(wěn)定,但存在一個(gè)無法避免的問題——測試圖像的整理,不同于其他算法簡單輸入圖像,F(xiàn)FCC算法在測試時(shí)需要將測試圖像及每張圖像對應(yīng)的真實(shí)光照值存入相應(yīng)文件夾,并設(shè)置路徑,這對于沒有編程基礎(chǔ)的公安技術(shù)人員來說較為困難。FFCC算法在各項(xiàng)性能指標(biāo)中都有著令人滿意的效果,如果能簡化FFCC算法的處理過程,從而將其廣泛應(yīng)用于視頻偵查領(lǐng)域,案件的偵破效率將會得到很大提升。
實(shí)際上,基于統(tǒng)計(jì)的方法相比于基于學(xué)習(xí)的方法更適合公安實(shí)際工作,一方面不需要前期的訓(xùn)練學(xué)習(xí),另一方面基于統(tǒng)計(jì)的方法簡單易操作。在幾種基于統(tǒng)計(jì)的方法中,灰度陰影算法在兩個(gè)數(shù)據(jù)集中的測試效果最佳,無論在室外、室內(nèi),還是燈光下等各種場景中均能取得較好且穩(wěn)定的偏色校正效果。就目前而言,灰度陰影算法相對于其它顏色恒常性計(jì)算方法能更好地在視頻偵查領(lǐng)域展開應(yīng)用。