李江華,王坤
(江西理工大學(xué)信息工程學(xué)院,江西 贛州341000)
隨著專業(yè)數(shù)字成像設(shè)備的普及,數(shù)字圖像處理[1]被廣泛應(yīng)用于工業(yè)生產(chǎn)、視頻監(jiān)控、智能交通、遙感與監(jiān)控等諸多領(lǐng)域,且在其中發(fā)揮著重要的作用。但是,在圖像采集過(guò)程中,由于各種不可控因素的影響,特別是在室內(nèi)照明、夜間照明、陰天等不利條件下,獲取的圖像往往會(huì)出現(xiàn)對(duì)比度比較低、動(dòng)態(tài)范圍強(qiáng)度低、圖像暗區(qū)和亮區(qū)的細(xì)節(jié)消失等各種缺陷。因此,如何在低光照條件下獲得清晰的靜止或移動(dòng)圖像已成為一個(gè)需要解決的問(wèn)題。為此,圖像增強(qiáng)技術(shù)引起了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注和重視,圖像增強(qiáng)不僅滿足了人們對(duì)視覺(jué)體驗(yàn)的需求,而且提高了戶外視覺(jué)系統(tǒng)的可靠性和魯棒性,使圖像處理系統(tǒng)更容易對(duì)圖像進(jìn)行分析和處理。
低光照?qǐng)D像增強(qiáng)作為數(shù)字圖像處理領(lǐng)域的一個(gè)經(jīng)典課題,長(zhǎng)期以來(lái)一直有著源源不斷的研究,這些研究成果也已被廣泛應(yīng)用于各種領(lǐng)域。如Du等提出了一種將對(duì)比度增強(qiáng)和邊緣增強(qiáng)(EdgeE)結(jié)合起來(lái)基于區(qū)域圖像預(yù)處理方案用于人臉識(shí)別任務(wù)[2];Li等提出了一種新的醫(yī)學(xué)圖像增強(qiáng)算法,采用對(duì)比度限制自適應(yīng)直方圖均衡(CLAHE)來(lái)改善全局對(duì)比度,并利用低頻分量和幾個(gè)高頻分量來(lái)增強(qiáng)邊緣細(xì)節(jié)[3];Shi等提出了一種用于單個(gè)夜間圖像的低光照?qǐng)D像增強(qiáng)方法,該方法利用亮通道獲得初始傳輸值,然后使用暗通道作為補(bǔ)充通道來(lái)校正從亮通道獲得的潛在的錯(cuò)誤傳輸估計(jì)[4];Zhi等提出了一種基于照明調(diào)整、引導(dǎo)濾波和“S曲線”功能用于煤礦環(huán)境新的非均勻圖像增強(qiáng)算法[5];羅會(huì)蘭等提出了基于三流卷積神經(jīng)網(wǎng)絡(luò)模型的圖像分類方法[6]。雖然這些圖像增強(qiáng)算法在圖像質(zhì)量上有一定的提高,但是仍沒(méi)能很好地解決一些問(wèn)題,如:對(duì)比度增強(qiáng)算法在處理圖像時(shí)可能會(huì)出現(xiàn)圖像過(guò)度增強(qiáng)或效果不自然的現(xiàn)象;HE算法增強(qiáng)之后的圖像會(huì)出現(xiàn)偽像和強(qiáng)飽和度等不好的效果;SSR、MSR、MSRCR等方法在圖像像素變化劇烈的邊緣處普遍存在會(huì)出現(xiàn)光暈偽影的缺點(diǎn),且都伴隨著色彩失真。如何自適應(yīng)地增強(qiáng)低光照或不均勻照明的圖像,還需要進(jìn)一步研究。
針對(duì)上述常見的當(dāng)前低光照?qǐng)D像增強(qiáng)算法出現(xiàn)的過(guò)度增強(qiáng)、偽影等缺陷,本文提出了一種結(jié)合CNN[7]與Retinex算法[8]的自適應(yīng)低光照?qǐng)D像增強(qiáng)方法,并對(duì)日常出現(xiàn)的低光照條件下圖像難以辨識(shí)的問(wèn)題進(jìn)行了研究。
Retinex是一個(gè)合成詞,它的構(gòu)成是Retina(視網(wǎng)膜)+Cortex(大腦皮層)。美國(guó)物理學(xué)家Edwin Land認(rèn)為人類的視覺(jué)系統(tǒng)在視覺(jué)信息的傳導(dǎo)過(guò)程中對(duì)接收到的信息進(jìn)行了某種處理,所以提出了把光照不均勻問(wèn)題和光源強(qiáng)度等多個(gè)不確定的成分分離的方法,只保留了反映物體本質(zhì)特征的信息。其表達(dá)式如式(1)所示:
其中,x 表示像素;S(x)是人眼觀察到的圖像;R(x)是圖像的反射分量;L(x)是光照分量;點(diǎn)“·”表示按像素相乘。其物理意義可以簡(jiǎn)單地描述為:人類觀察到的低光照?qǐng)D像可以分解為圖像R(x)的反射分量和光照分量L(x)的乘積,即物體本身顏色因素與光照分量是無(wú)關(guān)的,只由物體表面的反射屬性來(lái)決定的。意味著從輸入圖像中去除低光照分量可實(shí)現(xiàn)低光照?qǐng)D像增強(qiáng)。本文的目標(biāo)是通過(guò)預(yù)測(cè)圖像 S(x)的光照分量 L(x)來(lái)求得反射分量 R(x)。 其原理圖如圖1所示。
圖1 Retinex理論中圖像的構(gòu)成
針對(duì)Retinex算法對(duì)圖像進(jìn)行增強(qiáng)過(guò)程中有時(shí)會(huì)出現(xiàn)圖像偏色等缺陷,本文提出了結(jié)合CNN和Retinex算法對(duì)低照度圖像進(jìn)行增強(qiáng)的方法。該方法以低光照?qǐng)D像為輸入,利用CNN學(xué)習(xí)預(yù)測(cè)低光照?qǐng)D像與相應(yīng)亮度圖像之間的映射關(guān)系并輸出其光照?qǐng)D,然后通過(guò)Gamma校正[9]調(diào)整優(yōu)化估計(jì)的光照?qǐng)D,最后利用得到的光照?qǐng)D結(jié)合經(jīng)典的Retinex算法從而對(duì)低光照?qǐng)D像進(jìn)行增強(qiáng)。
本文CNN包含4個(gè)具有特定任務(wù)的卷積層,不同的卷積層對(duì)最終的光照?qǐng)D有不同的影響。例如,前兩層主要是針對(duì)高光區(qū)域,第三層主要是針對(duì)低光區(qū)域,而最后一層則是重構(gòu)光照?qǐng)D。對(duì)卷積層的具體描述如下:
Step1:特征提取。為了學(xué)習(xí)低光圖像和其光照?qǐng)D之間的關(guān)系,首先從低光圖像中提取重疊的像素塊,并通過(guò)n1個(gè)濾波器用高維向量表示每個(gè)像素點(diǎn),其表示為:
其中,p是大小為n×n的輸入圖像塊;W1和B1是濾波器的權(quán)重和偏置。 W1的大小為 f1×f1×n1,其中 f1是濾波器的空間支撐度,n1是濾波器的個(gè)數(shù)。B1是一個(gè)n1維向量,其每個(gè)元素都與一個(gè)濾波器相關(guān)聯(lián),“*”表示卷積運(yùn)算。Max(0,x)是一種修正線性單元(RELU),用于加速訓(xùn)練收斂并且提高網(wǎng)絡(luò)性能。
Step2:特征增強(qiáng)。受減少壓縮偽影中使用的特征增強(qiáng)層的啟發(fā)[3],采用特征增強(qiáng)層將“噪聲”特征映射到相對(duì)“干凈”的特征空間,因?yàn)槿豕庹請(qǐng)D像通常會(huì)受到噪聲的影響。表示為:
其中,W2包含大小為 f2×f2×n2的 n2個(gè)濾波器, 并且B2是n2維向量。
Step3:非線性映射。將每個(gè)高維向量映射到另一個(gè)高維向量,即將 F2(p)轉(zhuǎn)換為 F3(p):
其中,W3包含大小為 f3×f3×n3的 n3個(gè)濾波器, 并且B3是n3維向量。
Step4:圖像重建,最后,設(shè)計(jì)一個(gè)卷積層來(lái)聚合圖像塊表示,以生成學(xué)習(xí)的光照?qǐng)D。F3(p)被變換成 F4(p),表達(dá)式為:
其中,W4包含大小為 f4×f4×n4的 n4個(gè)濾波器, 并且B4是n4維向量。
這些未知的網(wǎng)絡(luò)參數(shù) Θ={W1,W2,W3,W4,B1,B2,B3,B4}是通過(guò)監(jiān)督學(xué)習(xí)方式,以最小化均方誤差(MSE)[10]損失函數(shù)實(shí)現(xiàn)的。MSE損失函數(shù)表示為:
其中,N是訓(xùn)練批次中的圖像塊個(gè)數(shù);Pi表示低光照?qǐng)D像塊;u是對(duì)應(yīng)于Pi的光照?qǐng)D的圖像塊;F是學(xué)習(xí)的映射函數(shù)。
通過(guò)Gamma校正來(lái)調(diào)整估計(jì)的光照?qǐng)D,以更清晰地展現(xiàn)圖像中的低光照區(qū)域,表示為:
其中,L(x)′是估計(jì)的光照?qǐng)D;L(x)γ是經(jīng)過(guò) Gamma校正的光照?qǐng)D。γ=1.7是一個(gè)啟發(fā)式的值。在優(yōu)化映射時(shí),假設(shè)輸入的圖像中大小的局部區(qū)域具有相同的光照強(qiáng)度。在經(jīng)過(guò)Gamma校正后,需要通過(guò)引導(dǎo)圖像濾波來(lái)細(xì)化光照?qǐng)D,以消除光照遮擋的影響。在引導(dǎo)圖像濾波中,將輸入圖像的紅色通道作為引導(dǎo)圖像,濾波窗口大小為16×16。增強(qiáng)圖像以通過(guò)公式獲得:
其中,x 表示像素;S(x)表示低光照?qǐng)D像;Lr(x)表示細(xì)化的光照?qǐng)D。
圖2為圖像的細(xì)化處理過(guò)程,從圖2所示的效果可以看出,此方法準(zhǔn)確地估計(jì)了圖像中代表光照強(qiáng)度的光照?qǐng)D部分。本文方法產(chǎn)生的結(jié)果自然且真實(shí),其中暗區(qū)域被增強(qiáng),而亮區(qū)域(例如光源)被保留。
圖2 細(xì)化的處理過(guò)程
本文的參數(shù)設(shè)置如表1所示。在CNN訓(xùn)練階段,各層的濾波權(quán)重由高斯分布隨機(jī)初始化,偏置值設(shè)置為 0,初始學(xué)習(xí)率為 0.05,每 1,000,000 迭代一次,學(xué)習(xí)率遞減0.5,動(dòng)量參數(shù)設(shè)置為0.9。采用批處理模式的學(xué)習(xí)方法,批處理量為128個(gè)。網(wǎng)絡(luò)訓(xùn)練是在裝有 Intel(R) Core(TM)CPU i5-8300H@2.60 GHz的CPU和NVIDIA GeForce GTX 1050Ti的個(gè)人電腦上進(jìn)行的。
深度學(xué)習(xí)系統(tǒng)通常需要大量的帶標(biāo)簽數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練。遺憾的是,現(xiàn)如今沒(méi)有足夠的標(biāo)記數(shù)據(jù)可用。為了獲得更合理、更可靠的性能的增強(qiáng),因此利用式(1)中Retinex算法綜合訓(xùn)練數(shù)據(jù)。此外,為了使用合成訓(xùn)練數(shù)據(jù),本文遵循圖像內(nèi)容獨(dú)立于光照?qǐng)D,且圖像塊中的光照?qǐng)D局部恒定 (即局部區(qū)域具有相同的光照強(qiáng)度)的假設(shè)。為此從互聯(lián)網(wǎng)收集了300個(gè)具有不同內(nèi)容的清晰照明圖像,用于合成樣本對(duì)(即低光照?qǐng)D像及其照明圖)。清晰的照明圖像即表示圖像具有良好的照明和對(duì)比度,且沒(méi)有噪音和模糊,參閱圖3中的示例。這300個(gè)清晰照明的圖像具有不同的尺寸,并且是常見的JPG、PNG或BMP格式?;赗etinex算法,給定清晰照明的圖像R(x)和隨機(jī)照明值 L,即可以合成為低光照?qǐng)D像 S(x)=R(x)·L。其中,R(x),L 和 S(x)是標(biāo)準(zhǔn)化的。 基于這些合成圖像,本文通過(guò)重疊裁剪獲得訓(xùn)練圖像塊,重疊像素是10。 最后,共收集了 2,052,864 個(gè)大小為 n×n=16×16的訓(xùn)練圖像塊。其中,假設(shè)局部區(qū)域(即16×16)具有相同的照明強(qiáng)度,當(dāng)圖像塊足夠小時(shí),該假設(shè)在現(xiàn)實(shí)世界中是合理的。圖3給出了3個(gè)清晰照明圖像和相應(yīng)的合成弱照明圖像的例子,自上而下是清晰的照明圖像和相應(yīng)的合成弱照明圖像,其中從左到右,照明值L分別為0.5159、0.0088和0.2328。
表1 CNN的參數(shù)設(shè)置
圖3 合成弱照明圖像示例
基于表1所列的基本網(wǎng)絡(luò)參數(shù)設(shè)置,表2總結(jié)了不同MSE值的設(shè)置結(jié)果,其中基本網(wǎng)絡(luò)參數(shù)設(shè)置的MSE用黑體標(biāo)記。
如表2所列,隨著濾波器數(shù)量的增加,MSE性能隨之變得更好。然而,這種改進(jìn)是有限的,同時(shí)也會(huì)花費(fèi)更多的訓(xùn)練時(shí)間和處理時(shí)間。因此,基于性能和復(fù)雜度之間的權(quán)衡,需要選擇一個(gè)中間的網(wǎng)絡(luò)過(guò)濾器數(shù)作為本部分的基本過(guò)濾器數(shù)設(shè)置。上面實(shí)驗(yàn)還表明,合理的濾波器大小設(shè)置可以獲得更好的性能。通過(guò)對(duì)濾波器的對(duì)比發(fā)現(xiàn)打破1×1的濾波器大小這一約束帶來(lái)的改善有限,且比較費(fèi)時(shí)。因此,本文的網(wǎng)絡(luò)中保留了1×1的約束,因?yàn)樵摷s束對(duì)于本文的網(wǎng)絡(luò)設(shè)計(jì)帶來(lái)更高的效率。最后,隨著層數(shù)的增加,并沒(méi)有獲得更好的MSE性能。究其原因,可能是:①梯度擴(kuò)散的影響;②簡(jiǎn)單的原始架構(gòu)重復(fù)導(dǎo)致網(wǎng)絡(luò)架構(gòu)不合理。
表2 不同網(wǎng)絡(luò)參數(shù)設(shè)置的平均MSE值
將本文方法與經(jīng)典的HE[11](直方圖均衡化)方法、MSR[12](多尺度視網(wǎng)膜法)方法,以及最近的AWVM[13](自適應(yīng)權(quán)向量法)方法分別對(duì)合成的和真實(shí)的低光照?qǐng)D像進(jìn)行定性處理和定量比較。
本文對(duì)合成的弱光圖像進(jìn)行定性比較。圖4中的圖像是基于Retinex算法合成的,圖5中展示了不同算法對(duì)真實(shí)低光照?qǐng)D像處理結(jié)果對(duì)比。
從圖5中可以看出,對(duì)于真實(shí)的低光照?qǐng)D像,其對(duì)比結(jié)果與合成圖像的對(duì)比結(jié)果有相同的趨勢(shì)。具體表現(xiàn)為,對(duì)于圖像內(nèi)部照度不均勻的圖像(即暗區(qū)域和亮區(qū)域共存的圖像)“鹿”“小孩”“岸邊”和“房子”,HE算法產(chǎn)生的結(jié)果都是過(guò)度增強(qiáng)和不真實(shí)的結(jié)果(如HE算法的結(jié)果中“小孩”圖像的手和“岸邊”圖像的沖浪板)。本文所提出的方法能夠產(chǎn)生較為自然的效果,沒(méi)有出現(xiàn)增強(qiáng)過(guò)度或不足的現(xiàn)象,這主要因?yàn)閷?duì)照度圖的準(zhǔn)確估計(jì),而照度圖便是用來(lái)增強(qiáng)暗區(qū)和保持亮區(qū)的。對(duì)于光照度極低的圖像(即圖像“鹿”),HE方法能展示出更多的場(chǎng)景細(xì)節(jié),但也同時(shí)產(chǎn)生了偽影和過(guò)飽和現(xiàn)象。對(duì)于非均勻光照的圖像和背光圖像,MSR方法都表現(xiàn)出偏灰色的結(jié)果,而且因?yàn)橥耆サ袅斯庹斩?,所以圖像顯得很不真實(shí)。AWVM算法的結(jié)果看起來(lái)與原圖較為貼近,看起來(lái)較為自然,但對(duì)比度和亮度的增強(qiáng)仍然稍有不足。總的來(lái)說(shuō),本文所提出的方法對(duì)不同環(huán)境下拍攝的低光照?qǐng)D像產(chǎn)生了自然合適的視覺(jué)效果,場(chǎng)景和物體的細(xì)節(jié)都得到了很好的還原。
圖4 合成圖像的定性比較
圖5 不同算法對(duì)真實(shí)低光照?qǐng)D像處理結(jié)果對(duì)比
目前還沒(méi)有為低光照?qǐng)D像增強(qiáng)方法設(shè)計(jì)的專有定量評(píng)價(jià)指標(biāo),因此,不同的研究者利用不同的方法來(lái)評(píng)價(jià)其成果,以往的方法大多采用無(wú)參考或全參考的圖像質(zhì)量評(píng)估指標(biāo)。為了公平地比較,本文使用 MSE(均方誤差)、PSNR[14](峰值信噪比)和SSIM[15](結(jié)構(gòu)相似度)來(lái)衡量結(jié)果與原始圖像的差異,如表3所列。
表3 定量比較
從表3中可以看出,在對(duì)比的方法中,本文提出的方法在MSE、PSNR和SSIM值上都比較突出。本文方法的結(jié)果最接近于真實(shí)情況,證明了該方法的有效性。此外,有趣的是,盡管本文方法通過(guò)MSE損失函數(shù)進(jìn)行優(yōu)化的,但是該方法在SSIM評(píng)估度量上獲得了最好的性能。
針對(duì)經(jīng)典Retinex算法對(duì)圖像增強(qiáng)有時(shí)會(huì)出現(xiàn)圖像偏色等缺陷,本文提出了結(jié)合CNN和Retinex算法對(duì)低照度圖像進(jìn)行增強(qiáng)的方法。以低光照?qǐng)D像為輸入,利用CNN學(xué)習(xí)預(yù)測(cè)低光照?qǐng)D像與相應(yīng)亮度圖像之間的映射關(guān)系并輸出其光照?qǐng)D,然后通過(guò)Gamma校正調(diào)整優(yōu)化估計(jì)的光照?qǐng)D,最后利用得到的光照?qǐng)D結(jié)合經(jīng)典的Retinex算法從而對(duì)低光照?qǐng)D像進(jìn)行增強(qiáng)。通過(guò)實(shí)驗(yàn)對(duì)比結(jié)果表明,所提出的方法在定性和定量比較上取得了較好的表現(xiàn)。