湯子麟,劉 翔,張 星
1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海201620
2.上海工程技術(shù)大學(xué) 管理學(xué)院,上海201620
不均勻光照經(jīng)常出現(xiàn)在真實場景中,這給計算機視覺的應(yīng)用帶來許多限制。如提取特征點過少,導(dǎo)致圖像匹配率下降。圖像增強技術(shù)一直是研究熱點[1],借助這一技術(shù)可以凸顯低亮度區(qū)域的細(xì)節(jié)信息并提升圖像的對比度。因此,圖像增強在預(yù)處理過程中一直占據(jù)著重要地位。圖像增強的方法大致分為兩種:基于空間域的方法和基于頻率域的方法[2]。
線性對比度拉伸是一種簡便的、基于像素空間域的圖像增強算法,旨在將原圖的灰度值范圍擴充至[0,255]之間,對比度較原圖有所增強,但該方法可能會導(dǎo)致圖像亮的區(qū)域灰度值增大,亮度高的區(qū)域亮度增加,陰影區(qū)域更暗[3]。直方圖均衡化[4]因其簡單性和實用性,作為一種對比度增強方法被廣泛使用。其依據(jù)反應(yīng)灰度值分布情況的累計密度函數(shù),在直方圖界面平均灰度值的堆積密度,從而擴展了灰度值的動態(tài)范圍。缺點在于使用圖像灰度值的中間值取代圖像的平均值,這會導(dǎo)致偽影與強度飽和效應(yīng),影響圖像質(zhì)量[5]。自適應(yīng)直方圖算法[6]將圖像分為多個小塊并分別進行直方圖均衡,這種方法在局部對比度上較原方法有所改善,但并未從根本上解決直方圖均衡會放大噪聲的缺點。
基于頻率域的圖像增強算法將圖像看作高頻、低頻復(fù)合信號[7],其中紋理信息變化快,頻率大,光照、背景信息變化慢,頻率小。借助濾波器可以抑制圖像中的某些特征,凸顯圖像中的某些特征。如傅里葉變換[8],但該類算法往往自適應(yīng)性較弱;同態(tài)濾波可濾除光照成分,但受參數(shù)調(diào)節(jié)的影響需要大量實驗,通用性較弱[9]。
光照不均勻場景中,高亮區(qū)域和陰影區(qū)域分布不規(guī)律。因此,單一算法難以完成圖像增強的目標(biāo)。伽馬校正是一種可以根據(jù)參數(shù)設(shè)置的不同增大或縮小圖像亮度的算法,但參數(shù)需要輸入時設(shè)定。設(shè)計了一種自適應(yīng)伽馬函數(shù),使用中心環(huán)繞法提取場景的光照分量,將其與區(qū)域亮度值中間值的比值作為伽馬參數(shù)。同時疊加自適應(yīng)頂帽變換的結(jié)果來增強整體的對比度。本文算法的優(yōu)勢在于可以根據(jù)區(qū)域的明暗程度進行相應(yīng)矯正,在此過程中無需手動調(diào)節(jié)參數(shù)。實驗證明,本文算法矯正后圖像質(zhì)量更好。
光與物體表面的相互作用機制非常復(fù)雜,可以簡化為光反射模型,如圖1所示。人眼中最終看到的圖像可以數(shù)字化為一個二維函數(shù)F(x,y),(x,y)是圖像的像素坐標(biāo)。由Retinex[10]理論得,亮度值F(x,y)是照射到場景的光照分量G(x,y)和物體表面反射分量S(x,y)共同作用的結(jié)果[11]。
圖1 光照-反射模型Fig.1 Lightness-reflection model
光照分量屬于圖片的低頻部分,變化緩慢,對卷積處理不敏感。反射分量屬于圖片的高頻部分,包含場景的邊緣、紋理等細(xì)節(jié)信息,對卷積處理敏感,卷積處理后模糊、鈍化。光照不均勻的圖片,相鄰區(qū)域之間亮度差距大,L()x,y形成的曲面在空間域波動大。光照不均勻圖像的矯正在于保留圖像細(xì)節(jié)的同時,盡可能地使曲面平滑。
目前提取光照分量的方法較多,比如基于雙邊濾波的方法[12-13]、基于Top-Hat的方法[14]以及基于Retinex模型的計算算法[15-16]等。雙邊濾波對邊緣等高頻信息保存較好,但針對高頻噪聲濾除效果不佳;Top-Hat變換是一種形態(tài)學(xué)處理方法,可以改善可視性,但會對圖像的自然特征有所影響?;赗etinex模型的計算方法有中心環(huán)繞法、基于迭代的Retinex方法等,如McCann99算法[17]是一種典型的基于迭代的Retinex方法,該算法計算復(fù)雜,計算時間隨著輸入圖像分辨率的提高而增長。鑒于Retinex的中心環(huán)繞算法計算簡單,可以在圖像動態(tài)范圍壓縮、邊緣增強和顏色恒強方面達到平衡。本文使用中心環(huán)繞法近似表達光照分量L(x,y),即每個中心像素的值可以通過周圍像素的不同權(quán)重來估計光照分量。使用高斯低通濾波器卷積是獲得估計量的常用方法[18]。Meanshift[19]也常用于平滑圖像,但它將彩色圖像轉(zhuǎn)換為二進制圖像,并不適合建議算法的后續(xù)步驟。與之相比,高斯卷積可以盡可能保留場景的細(xì)節(jié)。其中表示光照分量的估計值,G( )
X,Y表示高斯函數(shù),“*”表示卷積運算符。由中心環(huán)繞法可知,卷積核尺寸越大,色調(diào)保持能力越強,提取出的光照值的全局特性越顯著[20]。本文算法將圖片的短邊選為卷積核尺寸,如果圖片短邊長是偶數(shù),則卷積核尺寸自減1,保證卷積核尺寸是奇數(shù)。
使用高斯均權(quán)卷積是一種較為常見的基于Retinex理論的光照提取方式,如劉志成等在相應(yīng)算法[20]中σ分別取15、80、280,卷積后取其平均值作為提取的光照分量。根據(jù)高斯卷積的特性,使用較小σ的高斯卷積核對圖像進行連續(xù)卷積,可以取得大σ高斯核的卷積的近似結(jié)果[21]。本文算法采用連續(xù)卷積的方法,σ參數(shù)分別設(shè)定為3、6、10,提取的光照分量如圖2所示。本文算法提取的光照分量可以反映出場景中的光照分布情況,符合算法對提取的光照分量要求,與傳統(tǒng)算法相比,具有計算量小的優(yōu)點。
圖2 連續(xù)高斯卷積提取的光照分量Fig.2 Illumination component extracted by continuous Gaussian convolution
算法意圖在HSV空間中完成對亮度的矯正。彩色圖像的RGB模型中三通道互相有影響,光照并不與單一的顏色通道有著明確的關(guān)聯(lián)。相比而言,HSV模型中三種通道相對獨立,且場景中的光照對圖片亮度通道影響較大,針對亮度做校正快捷方便、計算簡單。
整個算法的流程(如圖3)為:
圖3 流程圖Fig.3 Flowchart program
(1)提取場景光照分量。將圖像轉(zhuǎn)換到HSV空間,借助小尺度高斯卷積核,對亮度連續(xù)卷積得到場景的光照分量分布情況。相比傳統(tǒng)的多尺度卷積中心環(huán)繞法,該方法計算更為簡便。
(2)結(jié)合場景中的光照分量,算法針對各區(qū)域明暗情況設(shè)置參數(shù),根據(jù)參數(shù)進行亮度矯正,對高亮度進行抑制,對低亮度進行增強。亮度完成矯正后,將其轉(zhuǎn)換回RGB空間。
(3)使用自適應(yīng)算法Top-Hat對輸入圖像變換。將其與第(2)步的結(jié)果相疊加,進一步增強圖像的全局對比度。
算法分別對Top-Hat變換和伽馬矯正做出了改進,并結(jié)合了兩種算法的優(yōu)點:使用帽頂變換可以調(diào)整圖像的整體明暗分布,凸顯了暗區(qū)域內(nèi)隱藏的圖像信息。伽馬矯正是一種針對單一像素的矯正方法,抑制光照亮的部分的像素值,并拉伸光照暗區(qū)域的像素值,是一種對場景物體邊緣、紋理等細(xì)節(jié)信息損失較小的圖像增強方法。兩種方法相結(jié)合,兼顧了圖像的全局對比度和場景的細(xì)節(jié)信息。對伽馬校正的改進引入了Retinex光照反射理論,對場景中的光照分布情況做出了估計,結(jié)合Top-Hat變換中統(tǒng)計出的暗區(qū)域大小,可以定量地評估單個像素相比場景光照的明暗差距。這便于伽馬矯正亮度參數(shù)的確定,提升了矯正過程的效率。
Top-Hat變換可去除比設(shè)定結(jié)構(gòu)單元細(xì)小的細(xì)節(jié),同時保持圖像整體的灰度級和較大的明亮區(qū)域不變,產(chǎn)生對整個圖像背景的合理估計,起到平滑背景的效果,以此來降低原圖中噪聲造成的影響[22]。其中g(shù)表示需要處理的圖像,b為結(jié)構(gòu)單元,對于圖像而言,開運算如下所示:
Top-Hat變換:
結(jié)構(gòu)單元的大小需要預(yù)設(shè)。輸入場景不同,設(shè)定的參數(shù)也不同。借助陰影區(qū)域大小統(tǒng)計,可以找出Top-Hat變換最適宜的參數(shù)。關(guān)于該過程,本文以偽代碼的形式描述如下:
Output://按以下原則選出最適宜的參數(shù)并輸出:
1.選擇Sum[]n最大值對應(yīng)的n作為結(jié)構(gòu)單元的邊長;
2.如果Sum[]n出現(xiàn)的最大值相同,則選擇較小的n輸出。
輸入圖像減去圖像的像素平均值,如果有連續(xù)的非正值,則記錄起連續(xù)位數(shù),設(shè)為低亮度區(qū)域的邊長。重復(fù)這一步驟,直到遍歷整幅圖像,得到記錄圖像中所有低亮度區(qū)域大小的數(shù)組,從中選擇數(shù)組中的眾數(shù)作為得到的參數(shù)輸出,說明該圖像中低亮度區(qū)域尺寸大小恒定;如果數(shù)組中有多個眾數(shù),選擇陰影區(qū)域最小的邊長輸出。
經(jīng)過自適應(yīng)Top-Hat變換后得到的圖片如圖4所示。原圖中高光的區(qū)域經(jīng)過變換后,高亮區(qū)域變暗,像素值近似于0。為算法后續(xù)處理步驟提供了方便,與伽馬矯正圖像相加并不會讓原圖高亮區(qū)域亮度增強。避免了亮度飽和效應(yīng)的產(chǎn)生。這是多尺度Retinex圖像增強算法的缺點。
圖4 原圖與頂帽變換后圖片對比Fig.4 Comparison of original image and image after Top-Hat transformed
為了進一步增強場景的細(xì)節(jié)信息,需要一種局部增強算法。伽馬校正是一種非線性圖像增強算法,與頂帽變換算法、直方圖均衡化等常規(guī)圖像增強算法不同之處在于,它是針對單個像素調(diào)整的一種算法。因此,可以在不破壞圖像的細(xì)節(jié)信息的前提下,改善圖像像素的動態(tài)曲線。經(jīng)典伽馬算法參數(shù)設(shè)定固定,只能實現(xiàn)增強或抑制一種功能。光照不均勻圖像的校正需要對高光照部分抑制的同時,增強低亮度區(qū)域。參數(shù)設(shè)定固定的伽馬算法只能實現(xiàn)增強或抑制一種功能。
圖5 是使用伽馬矯正算法對低照度圖像的矯正實驗,第一列是矯正前的圖片,選自Mikolajczyk圖片庫中的leuven組,是同一場景的不同亮度條件下的圖片。對6張不同光照背景的圖片使用伽馬矯正,參數(shù)設(shè)置γ=0.5,其他參數(shù)設(shè)置相同。由圖5可以看出,矯正后的圖片除第一張以外,都不是很好。
圖5 固定參數(shù)伽馬矯正結(jié)果Fig.5 Images after Gamma correction
本文結(jié)合Retinex理論,提出了一種自適應(yīng)二維伽馬矯正方法:
其中I(x,y)是輸入圖像,I′(x,y)是矯正后圖像,G(x,y)是高斯卷積函數(shù),與圖像函數(shù)卷積得到場景的光照分量,z(x,y)是以(x,y)為中心的一定范圍內(nèi)亮度值的中位數(shù)(該區(qū)域范圍大小的確定過程如2.1節(jié)算法),反映了區(qū)域的亮度情況;如果該區(qū)域光照強,屬于高亮度區(qū)域,那么光照分量大于該區(qū)域亮度值的中位數(shù)。此時參數(shù)γ>1,伽馬函數(shù)曲線起抑制亮度的作用;當(dāng)圖像亮度較低,說明光照分量低于該區(qū)域亮度值。此時參數(shù)γ<1,伽馬矯正發(fā)揮了增強亮度的功能。
實驗采用的平臺是個人電腦的Matlab2014b,搭配i7-6900處理器@2.59 GHz、2.69 GHz。作為對比參照的算法有CAHLE[23](對比度受限的自適應(yīng)直方圖均衡化算法),MSR[24](多尺度Retinex圖像增強算法),基于二維伽馬函數(shù)的光照不均勻圖像自適應(yīng)校正算法[20](以下簡稱G2D),RetinexNet[25]和GT[26]。
為了驗證算法在不同程度的光照不均勻?qū)嶒灥男阅埽翰捎玫膱D片采取三種場景,如圖6,場景一(第一行)部分區(qū)域處于背光條件下拍攝,圖片中既有高光區(qū)域,也有陰影區(qū)域。場景二(第二行)大約1/2的面積處于陰影下,場景三(第三行)整體亮度較低,絕大部分區(qū)域處于陰影中,三種場景陰影區(qū)域逐漸擴大。場景取材于風(fēng)景圖片,包含的紋理信息較多,更能檢驗算法對圖像細(xì)節(jié)信息的保留能力;同時,亮度變化受自然光影響,實驗結(jié)果具有戶外使用價值。
圖6 算法增強后的結(jié)果Fig.6 Results of algorithm enhancement
圖片矯正結(jié)果如圖6所示,MSR校正后的圖片失真,在場景一圖片的背光巖石處,出現(xiàn)了馬賽克,光暈現(xiàn)象,使得該算法實際應(yīng)用效果大打折扣。場景三的山頂部分顏色失真。CAHLE和G2D算法亮度較原圖有所提升,但改善效果不明顯。RetinexNet矯正后的圖像顏色艷麗,但圖像清晰度不高,場景模糊,場景一的背光處出現(xiàn)了馬賽克。GT旨在中和全局場景的光照分布情況,對強光照區(qū)域抑制效果較好,但矯正后整個場景較暗。本文提出的算法與原圖相比,亮度、對比度有所提升,與其他算法相比,保留了較多的原圖圖像信息。
為了進一步驗證本文算法的性能,統(tǒng)計各圖像對應(yīng)灰度圖的標(biāo)準(zhǔn)差、信息熵和平均梯度作為實驗指標(biāo)。各算法校正后的圖片質(zhì)量匯總結(jié)果如表1所示。標(biāo)準(zhǔn)差可以客觀地表現(xiàn)圖像對比度,標(biāo)準(zhǔn)差越大,則圖像對比度越強;信息熵用來衡量圖像所包含的信息量,信息熵越大,圖像攜帶的信息就越多。平均梯度可反映圖像對微小細(xì)節(jié)反差表達的能力,可用來評價圖像的模糊程度。在圖像中,某一方向的灰度值變化幅度越大,它的梯度也就大。因此,可以用平均梯度值來衡量圖像的清晰度,同時還可以反映出圖像中微小細(xì)節(jié)反差和紋理變換特征。
表1 圖像增強算法的圖像質(zhì)量評價指標(biāo)Table 1 Image quality evaluation index of image enhancement algorithm
圖7 是對矯正后場景細(xì)節(jié)的放大,前兩行屬于場景一,第3,4行屬于場景二,后兩行取自場景三。從場景一可以看出,MSR算法在對于背光處巖石的處理中,圖片的右上角和第2張圖片的中部出現(xiàn)了光暈現(xiàn)象,RetinexNet算法處理后,在陰影區(qū)域出現(xiàn)了色塊聚集成的馬賽克。本文算法與其他算法相比,亮度較高,可以清晰地看出溪流邊石頭的紋理。
圖7 圖像增強算法的圖像細(xì)節(jié)保留能力比較Fig.7 Comparison of image detail retention ability of image enhancement algorithms
場景二選擇了原圖中的垂釣者和溪流圖片。和垂釣者原圖相比,各算法亮度增強效果明顯。但RetinexNet矯正后圖片飽和度不高。從溪流的圖片可以看出,相比本文算法,CAHLE和G2D對陰影區(qū)域的矯正稍顯不足,位于圖片中央的區(qū)域相比其他區(qū)域色差明顯。
從場景三可以看出,MSR算法矯正后的巖石圖片顏色呈紫色,和實際情況不符。RetinexNet算法矯正后圖像紋理過于模糊。GT和G2D方法矯正后的圖片對比度不如其他算法,但二者相比原圖,可見性有所提高,可以分辨出垂釣者和釣竿。
高斯卷積核參數(shù)σ是本文算法中唯一的設(shè)定參數(shù)。σ的取值涉及光照分量的提取,選擇Mikolajczyk標(biāo)準(zhǔn)數(shù)據(jù)集[18]中的亮度變化場景l(fā)euven,在算法其他設(shè)定不變的情形下,對σ在1~10內(nèi)依次取值。使用標(biāo)準(zhǔn)差、平均梯度、圖像熵作為矯正后圖像質(zhì)量評價指標(biāo)。
由圖8中σ對參數(shù)的影響實驗中,σ取值為1時矯正圖像標(biāo)準(zhǔn)差最少,在參數(shù)測試的范圍內(nèi),標(biāo)準(zhǔn)差整體隨著σ取值的增加而擴大,σ大體與標(biāo)準(zhǔn)差呈正比例函數(shù)關(guān)系,但是σ=2時,標(biāo)準(zhǔn)差出現(xiàn)了一個極值點。標(biāo)準(zhǔn)差反映了圖像的對比度,σ取值越大,卷積核對圖像的模糊程度加強,矯正后圖像的對比度也越明顯。說明算法對像素的矯正幅度很大,強光照區(qū)域的亮度值抑制明顯,陰影區(qū)域亮度值增加幅度較大。但是結(jié)合圖像熵的趨勢來看,過大的σ值并不一定會增強矯正圖像的質(zhì)量。圖像熵隨著參數(shù)增加而單調(diào)下降,在參數(shù)取值為2時,出現(xiàn)極小值點。圖像熵可以一定程度地體現(xiàn)算法對圖像的細(xì)節(jié)保留能力,高σ值的卷積核會使得圖像過度平滑,損失細(xì)節(jié)信息。σ=1時,圖像的信息熵最大,清晰度最高,但此時圖像對比度較差。參數(shù)取1時,矯正圖像的平均梯度最低,除此之外,平均梯度隨參數(shù)增減變化并沒有明顯的規(guī)律。梯度值在場景的邊緣、紋理部位的變化明顯,人眼對該指標(biāo)較為敏感,圖案的形狀、紋理等信息對觀感的影響較大。本實驗中平均梯度的值域范圍小,上下限比較接近,由此判定,平均梯度對參數(shù)取值不敏感。
圖8 高斯核參數(shù)σ對算法敏感性實驗客觀指標(biāo)Fig.8 Sensitivity experiment of Gaussian kernel parameter σ to proposal algorithm
綜合圖8、9來看,圖像主觀視覺幾乎沒有改變。σ與標(biāo)準(zhǔn)差呈正相關(guān)趨勢,與圖像熵的變化呈負(fù)相關(guān)趨勢。但在實驗選取的參數(shù)范圍內(nèi),整體變化幅度不大:標(biāo)準(zhǔn)差變化幅度小于6,圖像熵的變化幅度在6.64~6.7之間,說明算法穩(wěn)定性較好。σ的取值和圖像平均梯度變化并沒有明顯規(guī)律,平均梯度取值穩(wěn)定在0.026~0.027之間。曲線增減平緩,算法的魯棒性較好,除個別值外,實驗指標(biāo)沒有劇烈變化。實驗結(jié)果為本文算法在解決實際問題時,對參數(shù)的選取提供了客觀依據(jù)。
在計算機視覺的實際場景應(yīng)用中,光照不均勻是一種常見的環(huán)境干擾因素[19]。光照不均勻圖像的亮度分布復(fù)雜,高亮度區(qū)域和低亮度區(qū)域同時存在,這給圖像內(nèi)容的理解或是圖像有價值信息的提取增加了難度。本文算法綜合了伽馬矯正和Top-Hat變換的優(yōu)點,保證了紋理信息不變的前提下,提高了圖像對比度。同時,對伽馬矯正和Top-Hat變換進行了自適應(yīng)性改進:統(tǒng)計在圖像中陰影區(qū)域大小,便于Top-Hat變換的參數(shù)設(shè)置。使用中心環(huán)繞法提取場景的光照分布,結(jié)合區(qū)域內(nèi)像素值中位數(shù),對各區(qū)域的明暗情況做出了定量分析,便于伽馬矯正對場景中各區(qū)域進行相應(yīng)程度的矯正。實驗結(jié)果表明:相比其他算法,本文算法對光照不均勻圖像矯正效果顯著。參數(shù)敏感性實驗表明,系統(tǒng)具有一定的穩(wěn)定性。矯正后的圖像質(zhì)量評價指標(biāo)表明,本算法能夠穩(wěn)定提升光照不均勻圖像的對比度、清晰度和細(xì)節(jié)信息。