王科俊,熊新炎,任 楨,付 斌
(哈爾濱工程大學(xué)自動(dòng)化學(xué)院,哈爾濱150001,wangkejun@hrbeu.edu.cn)
Retinex方法由Edwin Land[1]提出,用來表示人類視覺中對(duì)光照和色彩的感知模型,將圖像視為亮度圖像和反射圖像的組合.Land[2-3]進(jìn)一步將隨機(jī)步進(jìn)計(jì)算(全局Retinex)進(jìn)行了擴(kuò)展,提出了中心/環(huán)繞對(duì)立操作(局部Retinex)[4].Hurlbert等[5-6]研究了Retinex和其它光照理論的特性,發(fā)現(xiàn)了共同的數(shù)學(xué)函數(shù),認(rèn)為中心/環(huán)繞的這種空間對(duì)立形式對(duì)于在任意的光照條件下估計(jì)相應(yīng)的反射光是一種通用的解決方法.對(duì)于局部Retinex,很多文獻(xiàn)給出不同的方法,如單尺度Retinex(Single Scale Retinex,SSR)[7-8],多尺度 Retinex (Multi-scale Retinex,MSR)[9-10].這些方法都采用高斯核函數(shù)提取圖像低頻信息.這就需要在處理過程中進(jìn)行大量的卷積運(yùn)算,尤其是在多尺度Retinex方法中,需要進(jìn)行3次大尺度的高斯濾波,當(dāng)處理的圖像為彩色圖像時(shí),要對(duì)RGB顏色頻段分別進(jìn)行3次大尺度高斯濾波,這將大大降低算法的運(yùn)算效率,尤其是對(duì)實(shí)時(shí)性要求比較高的場合,是完全無法滿足要求的.文獻(xiàn)[10]中采用遞歸快速近似高斯方法(RMSR),代替高斯卷積,使算法的速度得到了很大的提高,但仍不能滿足實(shí)時(shí)的效果.Wang等[11]根據(jù)大尺度高斯卷積模板的加權(quán)值相近的特性,提出用量化均值濾波的方法替代高斯卷積,從而大大減少了運(yùn)算時(shí)間.但其所采用的均值濾波方法效率不高,也無法滿足實(shí)時(shí)處理的要求.本文在采用量化均值模板替代高斯卷積模板的基礎(chǔ)上,提出一種與濾波窗口無關(guān)的快速量化均值濾波方法,從而大大提高了處理速度,并能實(shí)現(xiàn)良好的圖像增強(qiáng)效果.通過與幾種快速Retinex方法進(jìn)行比較,采用RMSR的方法相比,則運(yùn)算速度提高了近20倍,比文獻(xiàn)[11]中的方法速度提高了近10倍.試驗(yàn)結(jié)果證明了該方法的有效性.
Land的Retinex理論認(rèn)為圖像由光度圖和反射圖兩部分構(gòu)成,如S=R·L.其中,R為反射圖,L為光度圖,S為實(shí)際獲得的圖像.Jobson等在文獻(xiàn)[7]中用環(huán)境函數(shù)對(duì)原圖像的卷積來近似光度圖,并給出了單尺度Retinex變換的表達(dá)式
式中:G為環(huán)境函數(shù),通常選用高斯函數(shù)[12].
Hurlbert等對(duì)SSR進(jìn)行了擴(kuò)展,采用不同尺度的環(huán)境函數(shù)Gn對(duì)原圖像進(jìn)行卷積來近似光度圖,通過Retinex變換得到一組不同尺度下的Retinex輸出,將這些Retinex輸出進(jìn)行加權(quán)求和,提出了MSR方法.
式中:ωn為加權(quán)系數(shù),通常n取3,ωn取1/3,結(jié)合式(3)可以看出,執(zhí)行1次MSR變換,需要進(jìn)行3次高斯卷積,通過大量試驗(yàn)可知,標(biāo)準(zhǔn)差σ的范圍通常選擇σ1<50,50<σ2<100,σ3>100,這種選擇的依據(jù)主要是由于光譜由不同頻段的光線組成的緣故[13].在本文的實(shí)驗(yàn)應(yīng)用中,對(duì)于不同尺寸的圖像,MSR的高斯標(biāo)準(zhǔn)差σ的取值根據(jù)大量實(shí)驗(yàn)分析都選定為30,90和200.可以看出,如果采用高斯卷積的方法進(jìn)行計(jì)算,運(yùn)算量是巨大的.
高斯卷積后的圖像信息為圖像的低頻信息,高斯模板卷積可認(rèn)為是加權(quán)平均過程.當(dāng)選用較大的高斯尺度時(shí),其卷積模板數(shù)值近似相等.如圖1中的高斯卷積模板所示,為σ=200,模板大小為129×129的高斯加權(quán)矩陣.由于高斯模板中的數(shù)值非常接近,而且高斯模板權(quán)值的和近似等于1,所以可以用該129×129的模板均值近似代替模板中的權(quán)值.如圖1中可取高斯模板的近似均值為0.609 4×10-4.
圖1 大尺度高斯卷積模板
可以看出0.609 4×10-4≈1/(128)2,由此對(duì)1/(128)2的求取可以用移操作來代替,即右移14位.進(jìn)一步可以看出,當(dāng)高斯尺度選擇適當(dāng)時(shí),可以用量化的均值模板代替高斯卷積運(yùn)算.由文獻(xiàn)[11]可知,當(dāng)σ=30時(shí),卷積模板大小取值33× 33,近似均值為9.4×10-4.當(dāng)σ=90時(shí),卷積模板大小取值65×65,近似均值為2.367×10-4≈1/(64)2,可以用右移12位替代.通過上述分析,可以看到,大尺度高斯卷積可以由3次大尺度量化均值濾波替代.圖2給出了幾個(gè)大尺度的高斯濾波圖與對(duì)應(yīng)尺度的均值濾波圖的比較.可以看到大尺度的高斯濾波圖與對(duì)應(yīng)尺度的均值圖十分接近.采用均方差當(dāng)量表達(dá)式(M·N)進(jìn)行分析,其中,M,N分別為圖像的寬和高,gi,j,mi,j分別為高斯濾波圖像和均值濾波圖像上對(duì)應(yīng)的(i,j)點(diǎn)的像素值.當(dāng)σ=30均值模板為33×33時(shí),求得均方差為V=1.298,當(dāng)σ=90均值模板為65×65時(shí)V=2.526.當(dāng)高斯核的標(biāo)準(zhǔn)差選定為30,90和200時(shí),分別采用高斯濾波和均值濾波的方法對(duì)多幅圖像進(jìn)行濾波分析,并利用給出的均方差公式求解兩種濾波方法的濾波圖方差V,進(jìn)一步確定,對(duì)應(yīng)σ=30,90,200的高斯模板,均值模板大小分別在(30-40),(60-70),(125-135)之間時(shí),方差V能獲得最小值.
圖2 大尺度高斯濾波圖與對(duì)應(yīng)尺度的均值濾波圖
FMF方法是由Rakshit等[14]提出的快速均值濾波方法,該方法利用相鄰濾波窗口之間的遞歸關(guān)系,對(duì)兩相鄰濾波窗口中重疊部分的像素和進(jìn)行保存,僅對(duì)變化部分進(jìn)行計(jì)算,實(shí)現(xiàn)計(jì)算的簡化,提高運(yùn)算速度,如圖3所示.
圖3 相鄰濾波窗口之間的遞歸關(guān)系
由圖3可以看出,當(dāng)濾波窗口中心由(i,j)點(diǎn)橫向移到(i,j+1)點(diǎn)時(shí),兩窗口的相交區(qū)域?yàn)閳D3中部黑色框區(qū).那么在求(i,j+1)的均值時(shí),交集中像素點(diǎn)灰度值之和便不用重新計(jì)算,其濾波均值可以通過(i,j)點(diǎn)為中心的窗口區(qū)域的濾波值減去其最左邊一列像素點(diǎn)PLn(n=0,…,N-1)灰度值之和后(圖中左側(cè)黑色框區(qū)),然后用再加上(i,j+1)點(diǎn)濾波窗口中最右邊一列像素點(diǎn)PRn(n=0,…,N-1)灰度值之和(如圖3中右側(cè)黑色框區(qū))就可以得到.同理當(dāng)窗口沿縱向移動(dòng)時(shí),也可通過上述遞歸方式進(jìn)行計(jì)算.由于每次都要計(jì)算濾波核窗口的左右兩側(cè)像素列的和,所以該方法的運(yùn)算量與窗口的高度是相關(guān)的,而不是與濾波窗口無關(guān)的.窗口遞歸公式為
FMF方法在對(duì)每個(gè)點(diǎn)進(jìn)行均值濾波時(shí),都要對(duì)當(dāng)前濾波窗口的最左列和下一濾波窗口的最右列像素值進(jìn)行累加,如濾波窗口大小為N,則對(duì)每一點(diǎn)將產(chǎn)生額外的2N次加運(yùn)算.如果能先建立一個(gè)數(shù)組,其中已經(jīng)分別存儲(chǔ)了這兩列像素灰度值的和,那么這2N次加法操作就能夠避免.
從這個(gè)角度出發(fā),建立一個(gè)維數(shù)為圖像寬度M的一維數(shù)組s,每個(gè)數(shù)組元素中的值如圖4所示,為濾波窗口橫向所經(jīng)區(qū)域的每一列的像素和,例如s[1]的值就是圖4中黑色框所圈列的像素和.數(shù)組s在濾波窗口每一次換行后,還要進(jìn)行更新,如圖5所示,當(dāng)濾波窗口由第i行換到i+1行后,原s數(shù)組的元素si[j]的值要加上對(duì)應(yīng)列的(i+1+ry,j)點(diǎn)的元素值,同時(shí)減去(i-ry,j)點(diǎn)的元素值,生成更新后的si+1[j]值.其中,i為行,j為列,ry為濾波窗口縱向的半徑.由此窗口遞歸公式為
式中:rx為濾波窗口的橫向半徑.由式(4)和式(5)可以看出,式(5)在每一個(gè)像素點(diǎn)處減少了2N次加法操作時(shí)間.
圖4 橫向?yàn)V波對(duì)應(yīng)的s數(shù)組
圖5 濾波窗口換行時(shí)s數(shù)組的更新
本文的窗口無關(guān)濾波算法的關(guān)鍵就是建立數(shù)組s,數(shù)組s的建立分2個(gè)階段:1)初始化;2)數(shù)組更新.其初始化過程為:
循環(huán)1:j:0~W-1
循環(huán)2:i:-ry~ry
終止2
終止1
其中:ry為濾波窗口y軸方向半徑,S(i,j)為(i,j)點(diǎn)的像素值.
對(duì)數(shù)組s的更新,更新公式為
式中:S(i-ry,j)為在(i-ry,j)點(diǎn)的像素值.
由此窗口無關(guān)快速均值算法的實(shí)現(xiàn)過程為:循環(huán)1:i:0~H-1
初始化數(shù)組s else
循環(huán)2:j:1~W-1
計(jì)算sum=sum-s[j-1-rx]+s[j+rx]和D(i,j)=sum/NK
終止2終止1
其中:H為圖像的高,K為濾波窗口的寬.
結(jié)合提出的量化均值濾波,將濾波過程中的1/NK由高斯模板的近似均值量代替.
采用窗口無關(guān)均值濾波的MSR方法對(duì)圖像的增強(qiáng)效果與SSR和MSR方法的比較如圖6所示,可以看出,本文的方法在圖像增強(qiáng)的效果上與MSR方法基本一致,而SSR方法在對(duì)陰影中的貓的處理中可以看到,由于只采用單尺度高斯濾波,產(chǎn)生了光暈失真.由此可見量化的均值濾波對(duì)大尺度高斯卷積的近似替代是合理的.實(shí)驗(yàn)中,原始MSR的高斯標(biāo)準(zhǔn)差σ的3個(gè)值選定為30,90和200;SSR的高斯標(biāo)準(zhǔn)差選定為90;用于替換MSR的高斯濾波模板的均值濾波模板的尺寸,分別為33×33,65×65和129×129.
圖6 幾種Retinex方法的增強(qiáng)處理效果比較圖
表1中給出了用均值卷積核代替原高斯核時(shí),對(duì)圖像增強(qiáng)效果的損失的定量分析.分析的圖像為圖6中給出的山坡、貓和街道圖.用均方差當(dāng)量表達(dá)式計(jì)算兩種情形下增強(qiáng)后圖像的均方差大小.對(duì)于彩色圖像,則分別對(duì)RGB 3個(gè)通道進(jìn)行了比較.可以看出采用均值卷積核代替高斯核對(duì)圖像的MSR結(jié)果產(chǎn)生的損失很小,對(duì)圖像的亮度和RGB彩色通道的像素?cái)?shù)值改變都很小,不影響增強(qiáng)的效果.
表1 均值卷積核代替原高斯核的圖像均方差分析
均值卷積核的MSR方法和高斯卷積核的MSR方法在對(duì)圖像的增強(qiáng)效果上十分接近,它們對(duì)于自然場景下單光源和多光源的圖像都具有非常好的增強(qiáng)效果,對(duì)紅外圖像也具有很顯著的增強(qiáng)效果[15].本文方法在保持增強(qiáng)效果的同時(shí),針對(duì)算法的速度進(jìn)行了很大的改進(jìn).表2給出了本文方法與MSR方法和快速遞歸高斯濾波的MSR方法(RMSR)以及文獻(xiàn)[11]中的方法在對(duì)不同尺寸的圖像,在RGB空間上進(jìn)行處理時(shí),所用的時(shí)間的比較.表2中所列算法均在CPU為Pentium III 1200 MHz,內(nèi)存為512 M的電腦上運(yùn)行.
表2 多種Retinex方法在處理時(shí)間上的比較 (t·s-1)
由表2可以看出,文獻(xiàn)[10]中采用的RMSR方法也是與卷積模板大小無關(guān)的,其計(jì)算效率相比MSR雖然有了極大的改進(jìn),但是仍無法令人滿意.相比RMSR文獻(xiàn)[11]的方法在計(jì)算效率上又有了進(jìn)一步的提高,但是其濾波算法卻是和濾波窗口的高相關(guān)的,因此其運(yùn)算效率在圖像尺寸進(jìn)一步增大時(shí),將無法滿足實(shí)時(shí)處理的效果.而本文提出的窗口無關(guān)量化均值方法不但滿足了圖像增強(qiáng)的需要,在處理速度上也更加迅速,完全可以滿足實(shí)時(shí)處理的需要.
1)從大尺度高斯卷積模板可由量化的均值模板近似替代這一角度進(jìn)行分析,提出了一種窗口無關(guān)的量化均值Retinex方法,并將該方法與其它幾種快速Retinex方法在處理時(shí)間上和處理效果上進(jìn)行了比較;
2)提出了一種與濾波窗口無關(guān)的快速均值濾波方法,并在多尺度Retinex方法中利用提出的快速均值濾波近似替代大尺度高斯卷積;
3)通過與其他多種快速多尺度Retinex方法在處理時(shí)間和處理效果上進(jìn)行比較,證實(shí)了本文提出的快速多尺度Retinex方法在處理時(shí)間上的快速性和處理效果上的顯著性.
[1]LAND E H.An alternative technique for the computation of the designator in the retinex theory of color vision[J].Proceedings of the National Academy of Science,1986,83(10):3078-3080.
[2]LAND E H.Recent advances in retinex theory and some implications for cortical computations[J].Proceedings of the National Academy of Science,1983,80(16): 5163-5169.
[3]LAND E H.Recent advances in retinex theory[J].Vision Research,1986,26(1):7-21.
[4]HURLBERT A C.The Computation of Color[D].Massachusetts:Massachusetts Institute of Technology,1989.
[5]HURLBERT A C.Formal connections between lightness algorithms[J].Journal of the Optical Society of America,1986,A(3):1684-1693.
[6]HURLBERT A C,POGGIO T A.Synthesizing a color algorithm from examples[J].Science,1988,239 (4839):482-485.
[7]JOBSON D J,RAHMAN Z U,WOOSELL G A.Properties and performance of a center/surround Retinex[J].IEEE Trans on Image Processimg,1997,6(3):451-462.
[8]劉家朋,趙宇明,胡福喬.基于單尺度Retinex算法的非線性圖像增強(qiáng)算法[J].上海交通大學(xué)學(xué)報(bào),2007,41(5):685-688.
[9]RAHMAN Z U,JOBSON D J,WOODELL G A.Retinex processing for automatic image enhancement[J].Journal of Electronic Imaging,2004,13(1):100-110.
[10]王彥臣,李樹杰,黃廉卿.基于多尺度Retinex的數(shù)字圖像X光圖像增強(qiáng)方法研究[J].光學(xué)精密工程,2006,14(1):70-76.
[11]WANG Wen,LI Bo,ZHANG Jin,et al.A fast multiscale Retinex algorithm for color image enhancement[C]//Proceedings of the 2008 International Conference on Wavelet Analysis and Pattern Recognition.Hong Kong:IEEE,2008:30-31.
[12]KIMMEL R,ELAD M,SHAKED D,et al.A variational framework for Retinex[J].International Journal of Computer Vision,2003,52(1):7-23.
[13]笍義斌,李鵬,孫錦濤.一種圖形去薄霧方法[J].計(jì)算機(jī)應(yīng)用,2006,26(1):154-156.
[14]RAKSHIT S,GHOSH A,SHANKAR B U.Fast mean Filtering Technique[J].Pattern Recognition,2007,40(3):890-897.
[15]雷美容,楊進(jìn)華,張金泉.基于Retinex理論的紅外圖像的邊緣增強(qiáng)算法[J].長春理工大學(xué)學(xué)報(bào),2008,31(2):11-13.