王利娟,常 霞,張 君
(北方民族大學 寧夏智能信息與大數(shù)據(jù)處理重點實驗室,銀川 750021)
(北方民族大學 數(shù)學與信息科學學院 圖像處理與理解研究所,銀川 750021)
隨著彩色媒介信息的盛行,彩色圖像已經滲透到人們的日常生活中.為從降質的彩色圖像中提取出高質量內容,圖像增強已成為圖像處理領域中不可或缺的一部分.傳統(tǒng)的增強方法[1]通??煞譃?基于空域處理的方法和基于頻域處理的方法.基于空域處理的圖像增強方法直接對圖像像素進行處理,如灰度變換、直方圖均衡、Retinex 算法;基于頻域的圖像增強方法首先將圖像看成信號并與基函數(shù)做卷積,再對系數(shù)做變換進行增強,如基于小波變換和基于多尺度幾何變換的增強方法.本文分析于20世紀70年代興起的一種基于物理模型的圖像增強算法-Retinex算法.Retinex 理論是由Land 等于1963年提出的,該理論依據(jù)視網膜成像原理去模擬人類視覺系統(tǒng)(Human Visual System,HVS)[2].人眼視覺系統(tǒng)在判斷圖像真實顏色的時候,幾乎不會受到光照的干擾,即視覺恒常性.Retinex算法[3]正是基于視覺恒常這一特性而提出來的.此算法具有色感一致性優(yōu)點,能保證圖像的色彩不受外界不良因素的干擾,故常被用于增強低質量的彩色圖像,并取得了令人滿意的結果.
假設光照光滑,Retinex 理論通常將待處理圖像z看成反射圖像m和照度圖像n的合成.其中,反射分量包含圖像中大量的本質內容;照度分量則是包含光照等大量的外界信息,決定圖像的動態(tài)范圍.Retinex算法的核心思想是消除源圖像照度分量干擾,依據(jù)反射分量信息還原圖像真實色彩.因針對彩色圖像,以下公式i∈{R,G,B},不再重復描述.故Retinex 算法公式如下:
其中,(x,y)為圖像某像素的位置坐標.為節(jié)省計算成本,將式(1)變換至對數(shù)域求解:
令Z=logzi(x,y),M=logmi(x,y),N=logni(x,y).則有M=Z-N,將所得結果變換至指數(shù)域可得到圖像反射分量.其算法處理過程由圖1所示.
圖1 Retinex 算法處理過程
圖1中的MR,ZR,NR,MG,ZG,NG,MB,ZB,NB分別表示原圖1的R,G,B 三通道的M,Z,N數(shù)值.明顯地,結果圖與原圖1相比,更符合人眼的視覺感知.無論是細節(jié)部分還是顏色方面,均得到了很大的改善,尤其山脊溝壑的細節(jié)變化和天空顏色變化,圖片整體結構層次分明.下面先介紹基于路徑和基于中心/環(huán)繞兩種傳統(tǒng)Retinex 算法,并探討傳統(tǒng)的Retinex 算法的局限性,最后討論并分析了一系列相關的改進算法.
Retinex 理論發(fā)展之初,學者們并未構造出具體的數(shù)學模型,而是發(fā)現(xiàn)了一種基于路徑的計算機制[4].這種計算機制的基本思想是結合路徑中的局部最亮點——白色參考點(White Patch,WP)[5]來計算路徑中相鄰像素點的相對亮度來獲得反射分量.Land 等正是基于這種路徑計算機制而提出了隨機路徑模型[2].基于路徑的Retinex 模型便是最基礎的數(shù)學模型.對于一幅數(shù)字圖像z,設置N組隨機路徑,并給定初始點k和目標點x,假設某條路徑上相鄰兩像素的亮度值分別為S(xk)和S(xk+1).則最終多條路徑上的目標點x處的相對亮度值可記為:
式中,nk表示第k條路徑像素點總數(shù),δk為閾值函數(shù).其中δk(θtk)滿足:
式中,ε代表閾值.Provenzi 等在文獻[6]中對該模型進行詳細的數(shù)學描述,并指出閾值ε 對結果的影響并不大,甚至可以忽略.故目標點x處的相對亮度值為該位置處亮度值與其他各路徑中某位置處的最大亮度值之間的比值.因此式(3)可以被表示為:
式中,xHk為最大亮度值所對應的像素點.
隨著路徑模型應用越來越廣泛,研究者們相繼提出許多不同的路徑選取方式,例如:隨機中點位移方法[7]、雙重螺旋方法[8]、迭代法[9]和分段路徑選取[10]等方法.但均是一維采樣算法,極易引進噪聲、產生偽影.故Provenzi 等在文獻[11]中提出算法效果更優(yōu)的二維RSR(Random Spay Retinex)模型.隨后產生了一些RSR 的優(yōu)化算法[12,13],用于降低噪聲和減少誤差.
基于路徑的Retinex 算法能最大程度地提高圖像對比度.但因其初始位置、終止位置以及路徑選取的不確定性,極易引入不良噪聲,影響光照估計的精確度;該算法時間成本較高,不便在實踐中應用.基于路徑的Retinex 算法難以獲得色彩保真度高、視覺效果好的高質量圖片.
為獲得圖像真實色彩,Land 等提出基于中心/環(huán)繞的Retinex 算法.該算法參數(shù)個數(shù)少,方便實現(xiàn).基于中心/環(huán)繞的Retinex 算法的核心思想是用高斯核函數(shù)估計照度分量.典型算法有單尺度Retinex (SSR)算法[14]、多尺度Retinex (MSR)算法[15]和帶色彩恢復因子的多尺度Retinex (MSRCR)算法[16].
根據(jù)SSR 算法有:
其中,FSSR是增強結果,*表示卷積運算,f(x,y)表示卷積核函數(shù),公式如下:
式中,k滿足σ 表示核參數(shù).參數(shù)σ 的取值可決定增強效果,增大 σ,圖像信息可保留更多,但顏色保真度會下降;反之,減少 σ,顏色保真度會提升,但增強圖像會丟失許多細節(jié)信息.
因SSR 算法不能同時有效保持細節(jié)和顏色信息.故提出MSR 算法,該算法的基本思想是將多個高斯核尺度參數(shù)加權求和,其計算公式如下:
其中,fj(x,y)為濾波函數(shù),尺度和尺度總數(shù)分別為 σj和N,ωj是j個參數(shù)所對應的權重因子,一般滿足
為降低色偏,還原圖像真實色彩,Rahman 等提出MSRCR 算法,引入了色彩恢復因子[15],模型如下:
其中,FMSRCR表示增強結果,ci(x,y)表示色彩恢復因子,公式滿足:
其中,μ和 η分別是影響圖像色彩恢復的增益因子和偏移量,均是常數(shù).
依據(jù)傳統(tǒng)Retinex 算法理論獲得大量的實驗結果,可分析得出,該算法在圖像增強過程中可以改變照度分量和反射分量在圖像中所占的比例,故圖像的對比度提高.照度分量的估計是影響圖像增強效果的關鍵因素.如表1所示為傳統(tǒng)Retinex 算法的邏輯思路和優(yōu)缺點.為更好認識這些算法的性能,所有實驗均在Matlab 2018a 版本上運行,且尺度參數(shù)根據(jù)經驗值設定,SSR 算法中σ =80,MSR 算法中選取σ1=15,σ2=80,σ3=250.將文獻[8]中的螺旋式路徑Retinex 算法與另外3 種中心/環(huán)繞Retinex 算法做對比實驗,實驗結果在圖2所示.
從表1可知,雖然傳統(tǒng)Retinex 算法能很大程度改善圖像質量,但在應用過程中仍存在不可忽視的缺點.尤其從圖2的實驗結果中更能進一步認識這些算法的優(yōu)勢與局限性.由圖2(b)可見文獻[8]算法能提高原圖2的對比度和亮度,整體顏色較清晰,但天空部分的顏色并不自然,并伴隨偽影產生.從圖2(c)、圖2(d)、圖2(e)中明顯看出,基于中心/環(huán)繞的Retinex 算法效果更有效.但算法中參數(shù)選取具有局限性,導致增強圖像的對比度、色度、清晰度具有不確定性,故增強效果并不理想.其中圖2(c)SSR 算法能稍微改善天空的顏色,但整體對比度有所下降,且光暈現(xiàn)象較為嚴重;圖2(e)中,MSRCR 算法因有顏色因子的緣故,顏色明顯要比圖2(d)MSR 算法中圖像的亮度和色度更為自然真實,天空部分也少了許多偽影,但改善效果仍不是最理想.隨著學者們對Retinex 算法的深入研究,尤其針對傳統(tǒng)Retinex 算法中的顏色失真和光暈現(xiàn)象這兩大缺陷,提出了大量的改進算法.
表1 傳統(tǒng)Retinex 算法的比較
圖2 傳統(tǒng)Retinex 算法實驗結果
在視覺上,圖像的色度會隨著照明的變化而變化,在圖像獲取過程中,常因場景限制因素而獲得色彩不自然圖片.在對圖像實施增強操作時,Retinex 算法中濾波器的設計和權值獲取極易導致增強結果出現(xiàn)色偏,所以抑制顏色失真成為改善圖像質量必不可少的環(huán)節(jié).其中對圖像進行空間轉變處理、色彩校正處理及濾波器參數(shù)和權值的自適應選取成為抑制色偏的重要手段.
應用傳統(tǒng)的Retinex 算法增強彩色圖像時,通常先將圖像分解成R、G、B 3 個通道,再用Retinex 算法分別處理各個通道,最后重組得到結果圖像.此處理方法既需要較高的時間成本,又極易破壞R、G、B 三者的比例協(xié)調,導致目標圖片出現(xiàn)失真現(xiàn)象.學者們經過不斷地探索,發(fā)現(xiàn)可以通過改進顏色空間的轉換方法來獲得更好的增強結果.色彩學家Munseu HA 于1915年提出HSI 顏色空間模型,其中H、S、I 3 個特征分別對應圖像的色調(Hue)、飽和度(Saturation)和亮度(Intensity)信息.其中H 和S 特征包含圖像顏色屬性,I 特征含有圖像的亮度屬性.在對彩色圖像進行增強時,圖像的顏色屬性保持不變,并對亮度屬性進行Retinex 算法的處理,這樣可以避免圖像顏色屬性被破壞,可減少圖像失真.而且只處理I 通道可以有效減少運行時間.王永勝等[17]基于Lab 色彩空間對踏面低質量圖像的L 通道使用Retinex 算法,可有效提高踏面圖像的清晰度和辨識度,呈現(xiàn)較為鮮艷的色彩.張紅穎等[18]在YUV 色彩空間對夜間圖像的明亮度分量Y 采用MSR 算法,并自適應校正色度分量,使得夜間圖像的顏色得以較好的恢復.常用的還有HSV、YCbCr、CIELuv 等顏色空間轉變方法.
色彩校正方法在彩色圖像增強時主要針對圖像的飽和度和色調進行校正.文獻[19]提出將主色度因素引入到MSR 算法進行色彩校正,該方法基于各顏色通道標準差的局部平均加權來估計輸入圖像的主色度,再通過保留圖像的色度比來實現(xiàn)色彩再現(xiàn).隨之研究者們又提出一些新的較正算法[20-22],例如局部色調映射、使用伽馬校正、引進增益函數(shù)、飽和度補償?shù)?尤其針對一些低照度圖像,提出了許多顏色校正算法,如李小霞等[23]提出MSR 算法的改進算法,先對飽和度應用分段對數(shù)變換做增強處理,又采用邊緣保持增強了色調,顯著改善了圖像的色偏現(xiàn)象;程芳瑾等[24]將余弦彩色恢復函數(shù)引入到MSRCR 算法中,顯著地提高了圖像的信息熵和色彩豐富度;Hanumantharaju 等[25]提出了一種新的色彩還原新技術,并為圖像增加了真正的色彩恒定性,實驗結果顯示,該算法為低質圖像提供了真實的色彩保真度.這些算法在改善色偏方面均取得良好效果.
對濾波器參數(shù)有效選取是減少傳統(tǒng)Retinex 算法引入偽像和色偏的重要因素.研究者們提出利用智能優(yōu)化算法對參數(shù)進行搜索,獲得最優(yōu)匹配結果.汪榮貴等在文獻[26]中提出一種基于無限沖激響應(IIR)低通濾波的Retinex 算法,該算法便是利用實數(shù)編碼遺傳算法自適應獲得所需參數(shù),計算成本明顯降低.并且增強結果圖像的邊緣得到了很好地保持,光暈和偽影也不明顯;Biswas B 等在文獻[27]中提出了一種新的基于布谷鳥搜素合適的參數(shù)值來優(yōu)化MSR增強性能,以增強圖像對比度和亮度.劉彤[28]將粒子群優(yōu)化算法引入到SSR算法中,自適應選取不同的濾波模板核參數(shù),將圖像像素分成不同類,并對應使用不同的濾波模板,有效地平衡了圖像對比度和顏色一致性.當然,如果利用圖像像素間的關系或者亮度層關系能夠定義合適的權值計算公式[29,30],改善色偏效果也是很滿意的.
以上討論的是近幾年抑制顏色失真的3 種改進策略,這些方法的各有邏輯思路和優(yōu)缺點,具體對比如表2.為從主觀上更直接明了的認識這些改進算法的有效性,將文獻[22,29,30]的實驗結果與傳統(tǒng)Retinex 算法做對比實驗,實驗結果如圖3所示.
從圖3的實驗結果中得到,原圖3在傳統(tǒng)Retinex算法處理后花朵的的顏色泛白,屬于色彩過增強現(xiàn)象.經過其他幾種增強算法處理后,效果明顯優(yōu)于圖3(b)MSR 算法.其中原圖3經過文獻[22]中色調映射算法處理后,花朵和葉子的色彩明顯更加清晰自然;文獻[29]、文獻[30]通過自適應選取參數(shù)處理后的實驗結果中,整體顏色也更為自然,尤其文獻[29]算法處理后的結果圖中葉子的顏色細節(jié)有很大改善.
表2 抑制色彩失真的3 類算法的比較
圖3 抑制色偏的實驗對比結果
傳統(tǒng)Retinex 算法通常假設光照具有均勻性,但這與實際情況相悖.正是這種假設,使得增強結果易出現(xiàn)“光暈”.而消除光暈的關鍵在于光照估計的方法.
基于中心/環(huán)繞Retinex 算法均以高斯濾波器作為低通濾波器來估計光照分量.介于其他一些濾波器也具有獨特的優(yōu)良屬性,甚至比高斯濾波器更優(yōu).例如基于雙邊濾波(bilateral filter)[31,32]的Retinex 算法、基于引導濾波(guided filter)[33,34]的Retinex 算法、基于三邊濾波器[35]的Retinex 算法和基于自適應濾波器[36,37]的Retinex 算法也可以估計照度分量.這些改進均能有效去除光暈.雖然以上算法在增強細節(jié)和消除光暈影響方面取得了很大的進步,但是算法復雜度會隨著濾波核參數(shù)的增多而增大,較為耗時.故許欣等在文獻[38]提出一種快速Retinex 算法,使用“mean-shift 濾波器”估計照度分量.Mean-shift 算法能較大程度保護邊緣信息,并且不會破壞圖像結構,相較其他算法能夠在節(jié)省時間成本的情況下,有效地抑制光暈,因此該算法應用最為廣泛.
綜上所述,想更有效消除光暈,需濾波器在平滑圖像過程中具有良好的邊緣保持能力.事實上,濾波器的性能很難做到這一點.學者們從另一個角度出發(fā),提出了基于變分框架的Retinex 算法,通常被稱為Retinexlike 模型.變分模型通常包括兩種,分別是基于HVS 的變分模型和基于Horn 物理先驗變分模型.
Palma-Amestoy 等是最先提出基于HVS 的Retinexlike 變分模型[39],之后為降低計算成本,Provenzi 等將小波算法引入到變分模型[40].Kimmel 等[41]依據(jù)先驗條件-圖像分解為照度圖像和反射圖像,提出基于Horn 物理先驗變分框架的Retinex 模型.該算法旨在使光照分量空間分布信息最大程度的平滑,進而有效抑制光暈現(xiàn)象產生.基本思想是根據(jù)圖像的一些先驗信息增加變分約束項,構造目標函數(shù),利用優(yōu)化原理估計光照分量.與此同時,學者們通過增加或修改約束項相繼又提出許多變分模型[42,43].但這些算法缺乏對反射分量的分段連續(xù)性的考慮,隨后,李明等引入了全變分Retinex 算法(TV-Retinex)[44],該方法有效地顯示出被覆蓋陰影區(qū)域的細節(jié)信息,其中的Bregman 迭代算法能有效加快TV 模型算法速度.但是該算法并未考慮保真項,Wang 等[45]在后來的研究中添加了保真項這一因素,算法獲得了更好的視覺效果.這就表示普通的變分項不能很好的保持圖像信息,照度估計效果不是很理想.學者們對變分項不斷地進行靈活的改進.例如,在變分項中增加權重[46],增加結構性約束[47],增強效果明顯得到很大提升.之后為抑制噪聲和偽影產生的不良影響,文獻[48]將指導矢量場項引入到變分框架模型中,提出一種新的基于全局稀疏梯度引導變分(GSG-VR)的圖像增強技術,可以有效去除光暈,恢復真實色彩.
以上所分析討論的可以抑制“光暈現(xiàn)象”的兩類改進策略,同時也對這兩類改進策略的邏輯思路和優(yōu)缺點進行歸納總結,具體對比如表3所示.同樣地,針對這兩種改進策略各選取一種典型代表算法進行對比實驗,實驗結果如圖4所示.
由圖4所示,原圖4經過傳統(tǒng)Retinex 算法處理后,如圖4(b)和圖4(c)所顯示,光暈現(xiàn)象較為明顯,尤其法和文獻[41]中利用變分法處理后的實驗結果顯示,原圖4中無論是整體的亮度還是顏色都非常符合視天空的顏色變化最為明顯,細節(jié)信息丟失嚴重.而原圖4經過文獻[34]中利用導向濾波估計照度分量算覺感知.尤其天空顏色得到了很明顯的恢復,很大程度降低了光暈現(xiàn)象的產生.
表3 抑制光暈的兩類算法的比較
圖4 抑制光暈的實驗對比結果
Retinex 算法對于動態(tài)范圍低、曝光不足、有霧、水下等低質彩色圖像,均能取得良好效果.隨著科學技術不斷更新發(fā)展,為快速增強更多錯綜復雜的低質圖像,學者們提出一系列其他算法,如Hore 提出基于偏微分方程(PDE)的Retinex 算法[49],認為物體反射率在圖像的尖銳變化處,其他部分是光滑的,并利用拉普拉斯變換和閾值函數(shù)將Retinex 求解過程形式化為離散泊松方程.該算法以一種獨特的視角簡化了的Retinex 算法,參數(shù)個數(shù)少,結果也較為穩(wěn)定.文獻[50,51]均對高斯模板進行了優(yōu)化,以提高卷積速度.其他方面還有Retinex 基于核函數(shù)實現(xiàn)[52]、基于迭代有理濾波器方法[53]、基于恰可分辨率差異的非線性濾波方法[54]、基于立體視覺的Retinex 方法[55]等.這些方法均在改進Retinex 算法方面做出了重要貢獻,適應于許多低質種類圖像的增強,對于改善視覺效果具有重要意義.
本文針對傳統(tǒng)Retinex 算法中出現(xiàn)的顏色失真和光暈現(xiàn)象問題,分析了一系列改進算法.并對不同算法種類的核心思想和優(yōu)缺點進行歸納總結.
目前常用基于路徑、基于中心/環(huán)繞、基于偏微分和基于變分這4 種Retinex 算法.對于色彩恢復和去除光暈的改進算法都做出了很大的貢獻,尤其中心/環(huán)繞Retine 算法因其結果穩(wěn)定性強,使用較廣泛.但其中的路徑法參數(shù)多、噪聲大;變分法太靈活,難以構造滿意的目標函數(shù).所以Retinex 算法面臨的主要挑戰(zhàn)仍是在構造模型、優(yōu)化模型時,如何降低算法計算復雜度,進而節(jié)省時間成本.針對圖像失真問題,仍然需要進一步尋找更加精準的顏色恢復方法,使其既符合人眼的視覺感知,在實際生活中又符合人類的經驗認知.