吳俊峰,李冰睿,沈如松,蘇艷琴,寇昆湖
(海軍航空大學,山東煙臺 264001)
隨著技術的不斷發展,圖像已經成為人們記錄、觀察物體信息的重要手段。在觀察物體時,人類視覺神經對顏色信息、形狀信息、表面質感等特征的反應逐漸減弱,因此,物體的顏色信息在很大程度上影響了對其自身的認知[1-2]。然而,受光照、物體反射特性、感光元件質量等客觀因素的影響,拍攝到的圖像與原始物體相比可能存在一定顏色偏差[3]。這種顏色的偏差被稱為色偏[4],它會嚴重影響圖像的視覺效果和后續分析的準確度和魯棒性。因此,色偏圖像校正已經成為數字圖像處理領域的重點研究方向之一,具有較高的現實應用價值。
針對色偏圖像校正問題,國內外學者進行了廣泛的研究,提出了一系列較為有效的方法,例如灰度世界算法(Gray World,GW)[5-7]、完美反射算法(Perfect Reflector,PR)[5]和動態閾值算法(Dynamic Threshold,DT)[6,8]?;叶仁澜缢惴ㄝ^為經典,是應用最為廣泛的色偏圖像校正算法?;叶仁澜缢惴ㄒ曰叶仁澜缂僭O為基礎[7],認為1 幅色彩豐富的圖像的R、G、B 通道的平均值趨于同一值?;叶仁澜缢惴ê唵我讓崿F,當圖像色彩豐富時,其具有很好的色偏校正能力。但當圖像色彩不豐富時,例如圖像出現較大單一色塊,灰度世界假設失效,此時灰度世界算法的處理效果較差,并可能引入新的顏色失真。完美反射算法[5]認為,1幅圖像的白點代表了當前環境的光源信息,該點反射出的顏色即為物體本身的顏色。因此,完美反射算法定義圖像最亮點為白點,并以此白點為參考進行自動白平衡調整,從而實現色偏圖像校正。通常,完美反射算法能夠得到較好的校正效果,但其校正圖像存在整體變亮現象,尤其在色偏圖像整體較暗的情況下,這一現象便更加明顯。動態閾值算法的原理與完美反射算法類似[8],但為了更加準確地檢測白點,動態閾值算法將色偏圖像從RGB 空間變換到YCbCr 空間,然后通過分塊處理尋找白點。動態閾值的色偏校正效果通常較好,但該算法在YCbCr量化過程中可能會出現所有像素被判斷為白點的情況,進而影響色偏校正效果[9]。
為更好地進行色偏圖像校正,解決單一色塊、校正后圖像變亮等問題,本文提出了1 種基于標準差加權的色偏圖像校正方法。首先,利用灰度世界算法計算色偏圖像紅、綠、藍各通道的校正系數;其次,利用超像素分割算法[10],將色偏圖像分割成不同超像素,利用超像素的像素平均值與方差計算其顏色一致性,并進一步計算校正系數權重;最后,利用校正系數權重對灰度世界算法的校正系數進行加權處理,并進一步實現對色偏圖像的校正。實驗表現,本文算法能夠對色偏圖像進行有效校正,且能夠克服單一色塊影響,校正后圖像亮度正常。相比于灰度世界、完美反射和動態閾值3 種經典算法,本文算法所獲校正圖像更加符合人的視覺感受,峰值信噪比(Peak Signal to Noise Ratio,PSNR)[11]平均提升為36.46%,色差均值[12]平均降低3.12%。
灰度世界算法[5-6]是較為經典且得到廣泛應用的算法?;叶仁澜缢惴ㄖ?,色偏圖像R、G、B各通道校正系數計算方法如式(1)所示。
式(1)中:VR、VG和VB分別表示色偏圖像R、G、B通道的像素平均值;kR、kG、kB分別表示色偏圖像R、G、B通道的校正系數。
獲得通道校正系數后,可根據式(2)實現色偏圖像校正。
式(2)中:R(i,j)、G(i,j)和B(i,j)分別為色偏圖像R、G、B 通道中位置(i,j)的像素值,R′(i,j)、G′(i,j)和B′(i,j)分別表示校正后圖像R、G、B通道中位置(i,j)的像素值;i∈[1,H],j∈[1,L],且i和j均為正整數,H和L分別表示色偏圖像像素的行數和列數;[?]為不超過?的最大整數。
本文所提基于標準差加權的色偏圖像校正方法,流程圖如圖1所示,可以分為3個步驟:
圖1 基于標準差加權的色偏圖像校正算法流程圖Fig.1 Flowchart of color cast correction method based on weighted standard deviation
(1)利用灰度世界算法計算色偏圖像R、G、B 各通道的校正系數;
(2)利用超像素分割算法對圖像進行區域分割,獲得不同大小超像素。對每1個超像素計算像素平均值和方差,判斷其顏色一致性,并進一步計算各通道的校正系數權重;
(3)對通道校正系數進行加權處理,并進行色偏圖像校正,獲得校正后圖像。
2.1.1 超像素分割
超像素是指圖像中局部的、具有連續性且能夠保持圖像局部特征的子區域。相較于單一像素點,超像素具有更好的區域特征表達能力[10]。在本文中,簡單線性迭代聚類(Simple Linear Iterative Clustering,SLIC)算法[10]被用于進行色偏圖像進行超像素分割,效果如圖2 所示。給定1 張色偏圖像1,其經過SLIC算法后被分割成n個超像素,記做s1、s2、…、sn。從圖2 可以看出,屬于同一物體的且具有相同顏色特性的像素被分割到同一超像素內。
圖2 不同色偏圖像超像素分割結果Fig.2 Superpixel segmentation results of different color cast images
2.1.2 超像素像素平均值和標準差計算
2.1.3 超像素顏色一致性計算
在灰度世界算法中,色偏圖像中的每1 個像素都被用于計算通道校正系數。如果色偏圖像存在大面積單一顏色,極有可能使得校正后圖像引入新的色偏[13]。在本文算法中,利用某超像素與其他超像素之間R、G、B 通道上的顏色差異來衡量二者的顏色一致性,并進一步通過超像素顏色一致性選擇具有顏色代表性的超像素,降低大面積單一顏色的干擾,其計算偽代碼如圖3所示。圖3中:abs(?)表示對?取絕對值;τ為閾值,通常設置為τ=20。Mi表示與超像素si相鄰的超像素的編號集合。gi為超像素si的顏色一致性標識,如果gi=1,表示超像素si和其他超像素不具備顏色一致性,即該超像素與其他超像素顏色差異較大,具有顏色代表性;如果gi=0,表示超像素si和其他超像素具備顏色一致性,即該超像素與其他超像素顏色差異較小,不具備顏色代表性。
圖3 超像素顏色一致性計算偽代碼Fig.3 Pseudo-code for superpixel color consistency calculation
2.1.4 計算校正系數權重
校正系數權重wR、wG、wB如式(5)。在該表達式中,Rd、Gd和Bd分別表示所有不具備顏色一致性的超像素的3通道像素標準差之和,如式(6)所示。dˉ為Rd、Gd和Bd的平均值。
根據式(5)得到的校正系數權重,計算加權校正系數KR、KG和KB,如式(7)所示。
為驗證所提算法的有效性,本文選取了4 張具有真值圖的經典色偏圖像[14-16]進行測試,結果如表1 所示。同時,本文將所提算法同灰度世界算法[7]、完美反射 算 法[5]和 動 態 閾 值 算 法[8]進 行 比 較,并 選 用PSNR[11,17]和色差均值[12]作為客觀評價指標。
表1 色偏圖像校正結果圖1Tab.1 Results of color cast correction 1
從表1 可以看出:本文方法的視覺表現要明顯優于其他方法,色偏現象基本消除;完美反射算法獲得校正圖像出現明顯偏亮現象;灰度世界算法呈現藍色過飽和現象。2種算法在一定程度上都出現了顏色二次失真問題。通過動態閾值獲得的色偏校正圖像雖然和真值圖像存在一定的相似性,但和本文算法依然存在較大差距。色偏校正圖像2存在明顯的大面積單一色塊,在一定程度上削弱了灰度世界假設的合理性,進而導致灰度世界算法的校正結果與真值圖差異較大。而本文算法的結果與真值圖差異較小,校正效果較好,說明本文算法在一定程度上克服了單一色塊的影響。
為進一步驗證該算法有效性,本文選擇了一些沒有真值圖的色偏圖像進行實驗,結果如表2所示。
從表2 可以看出,本文算法所獲校正圖像更加符合人眼的視覺感受。例如,對色偏圖像5校正后,灰度世界算法、完美發射算法和動態閾值算法都明顯引入了新的藍色色偏,視覺效果變差,而本文算法不僅沒有引入新的色偏,而且對原始色偏進行了消除。對色偏圖像6進行校正后,完美反射算法整體偏亮,明顯不符合夜晚場景自然規律?;叶仁澜缢惴ê蛣討B閾值算法都引入了新的微量藍色色偏。而本文算法則較好地抑制了原始色偏圖像的紅色色偏,并且沒有增加圖像亮度,保持了良好的視覺特性。
表2 色偏圖像校正結果圖2Tab.2 Results of color cast correction 2
表3 列出了不同算法的PSNR 對比結果。因PSNR 衡量校正后色偏圖像和真值圖像之間的差異[18],故本文只統計色偏圖像1~4的結果,PSNR計算結果如式(9)所示:
式(9)中:MSE 是原始圖像與已處理后圖像之間的均方誤差;n為色偏圖像像素數。PSNR值越大,說明校正后色偏圖像和真值圖像間差異越小,反之差異越大[19]。
從表3 可以得出,本文算法在4 張測試色偏圖像的PSNR 值均為最高,平均提升36.46%,說明本文算法獲得的校正圖像與真值圖像差異明顯小于其他算法,所獲得校正圖像更接近真實圖像。具體來說,如針對測試圖像1,本文算法表現最好,PSNR 達到28.37,平均提升52.82%,動態閾值算法次之(最小提升比為23.78%),而完美反射算法最差(最大提升比為72.46%)。針對測試圖像3,本文算法表現依然最好,PSNR 達到28.02,平均提升31.93%,動態閾值算法次之(最小提升比為1.99%),而完美反射算法最差(最大提升比為49.65%)。
表3 不同色偏校正算法的PSNR對比Tab.3 Comparison results on PSNR for different color cast correction methods
圖4展示了不同算法的色差均值對比結果。色差均值Cawb衡量了校正后圖像的白平衡效果[20],計算方法如式(10)所示:
圖4 不同色偏校正算法的色差均值對比Fig.4 Comparison results on color difference average value for different color cast correction methods
式(10)中,Cbawb和Crawb為校正后圖像在YCrCb 空間下各像素Cb 通道和Cr 通道的像素平均值。色差均值越小,說明白平衡效果越好,反之白平衡效果越差。
從圖4 可以看出,對10 張色偏圖像數據,本文算法的平均色差均值為174.23,低于灰度世界算法(180.24)、完美反射算法(178.17)和動態閾值算法(181.15),分別降低了3.33%、2.21%和3.82%,平均降低3.12%。對10張色偏圖像數據,本文算法在色偏圖像1、3、5、6、7、8 均表現最優,色差均值明顯低于其他算法;在色偏圖像2、4、9表現次優,但與最優算法的差距較小。本文算法在色偏圖像10上表現較差,主要原因是色偏圖像10的顏色特別單一,色彩豐富程度嚴重不足,導致造成基于灰度世界的假設條件不成立,進而造成基于灰度世界的本文算法色偏校正效果較差。但是,同為基于灰度世界假設的本文算法和灰度世界算法相比,本文算法的色差均值要低于灰度世界算法,說明本文算法的色偏校正能力要強于灰度世界算法。
為更好地解決色偏圖像校正問題,本文提出了1種基于標準差加權的色偏圖像校正方法。實驗表明,本文算法能夠對色偏圖像進行有效校正,校正后圖像的色偏現象明顯消除。同時,本文算法能夠克服單一色塊影響,且校正后圖像亮度正常。相比于灰度世界、完美反射和動態閾值3種經典算法,本文算法得到校正圖像的視覺效果更優,PSNR平均提升36.46%,色差均值平均降低3.12%。