吳慶波,王蕊,任文琦,*
(1.中國科學院信息工程研究所 信息安全國家重點實驗室,北京 100193;2.中國科學院大學 網絡空間安全學院,北京 100049)
受光照強度的影響,在夜間和背光條件下采集的圖像往往含有較低的對比度、大面積的暗區域和明顯的噪聲污染。這些降質圖像往往導致人們無法正確地辨識場景內容,也常常給圖像檢索、多媒體信息安全等后續計算機視覺任務[1-3]帶來嚴峻的挑戰。因此,低照度圖像增強具有重要的理論價值和現實意義,受到學界廣泛關注。
早期,大部分工作[4-5]通過直方圖調整亮度值的分布對低照度圖像進行增強。但是,這些方法往往產生過增強或欠增強的結果,而且忽視了較暗區域中存在的噪聲。受Retinex理論[6]啟發,學者提出對低照度圖像I進行分解:I=R?L,R為反射圖(Reflectance Image),表示物體固有的物理屬性,L為照明圖(Illum ination Map),表示圖像中物體上的光照強度,“?”為Hadamard乘積。基于Retinex分解,大部分方法[7-14]通過調整照明圖像對低照度圖像進行增強。在該框架下,Guo等[7]引入了LIME(Low-light Image Enhancement)方法,先從低照度圖像中估計初始照明圖,再利用結構先驗對照明圖進行改進,最后通過除法操作恢復反射圖。雖然LIME方法在后處理階段使用BM3D[15]從反射圖中去除噪聲,但該策略對噪聲不夠魯棒。一方面是因為受照明圖的影響,反射圖中放大的噪聲在空間上分布不均勻。另一方面,BM3D方法假設圖像噪聲服從高斯分布,不適用于去除反射圖中不均勻的噪聲。為避免噪聲放大問題,Li等[9]把輸入圖像從RGB顏色空間轉換到HSV顏色空間,并且在V通道上提出SR(Structure Revealing)變分模型,該模型在正則項中利用輸入圖像的梯度對反射圖的梯度進行約束,以保持反射圖中物體的結構信息,但該約束使得輸入圖像中較大的噪聲不可避免地傳導至反射圖,以致增強圖像中含有殘留噪聲。雖然Retinex分解模型在低照度圖像增強任務中取得了明顯的效果,但大部分圖像增強方法[8,10-14]不能有效地抑制反射圖中的噪聲污染。
近年來,出現了大量基于深度學習的低照度圖像增強方法[16-23],進一步提高增強圖像的質量。Wei等[16]提出Retinex-Net網絡對低照度圖像進行增強,先使用分解網絡(Decom-Net)從觀測圖像中得到反射圖和照明圖,再利用BM3D[15]和增強網絡(Enhance-Net)分別對反射圖和照明圖進行去噪和增亮,最后通過I=R?L得到恢復結果,該方法改進了反射圖的質量,但對觀測圖像中較大的噪聲仍然比較敏感,因為BM3D不適用于抑制反射圖中空間變化的噪聲。Shen等[17]注意到多尺度Retinex(Multi-Scale Retinex,MSR)方法[18]在結構上與前向卷積神經網絡類似,于是設計了深度網絡MSR-Net,然而,該網絡在后處理階段采用了與LIME方法[7]相同的去噪策略,導致增強結果中往往存在殘留噪聲。Park等[19]使用層數較少的編碼-解碼(Encoder-Decoder)網絡去除反射圖中的噪聲。與此不同,端到端(End-to-End)的深度模型[20-24]不考慮Retinex分解[6],直接從低照度圖像中獲得增強結果。Ren等[20]引入混合深度網絡(DHN),在內容流分支中使用編碼-解碼框架捕獲具有全局顯著性的結構信息,在邊緣流分支中增強邊緣信息,以彌補內容流分支中編碼過程引起的細節丟失。然而,邊緣流分支在增強紋理邊緣的同時也會引起噪聲的放大,降低圖像增強結果的質量。大部分基于深度學習的方法改善了低照度圖像的增強結果,但仍然容易導致增強圖像中含有殘留噪聲。
為在增強低照度圖像的同時抑制噪聲,本文首先構造新的目標函數,在數據項中對觀測圖像進行Retinex分解,在正則項中使用2組不同的高階濾波器分別約束未知的反射圖和照明圖。由于高階濾波器可以學習到多種不同的激活模式,該設計有利于在恢復反射圖像的同時抑制噪聲污染。其次,在優化求解目標函數時,采用高斯徑向基函數(Radical Basis Function,RBF)的線性組合對壓縮函數進行參數化,并通過收縮場(Shrinkage Field,SF)求解未知量。參數化的壓縮函數能夠適度地調整相應濾波器在反射圖和照明圖上的響應。最后,在每一級聯內更新照明圖之前,嵌入一個輔助的SF對反射圖進行精化,以避免反射圖中的噪聲和不良偽影在優化過程中傳導至照明圖。改進的反射圖(又稱輔助的反射圖)具有較高的質量,更有利于精確估計照明圖。
Schmidt和Roth[25]在半正定二次分裂(Half-Quadratic Splitting,HQS)方法中摒棄傳統的壓縮函數,通過引入SF求解非盲圖像去模糊問題。

式中:X為清晰圖像;Y為觀測圖像;K為模糊核k的BCCB矩陣;η>0為權重參數;“?”為卷積運算符;X(c)為X中的第c個團(Clique);C為所有團序號的集合;N和s分別為濾波器的個數和序數;勢函數ρs對濾波器fs在X(c)上的卷積響應進行建模。
在文獻[25]中,SF定義為清晰圖像X的解,在第i個級聯中的數學表達式為

式中:KT為K的轉置矩陣;α>0來自參數η;Fs為濾波器fs的BCCB矩陣;壓縮函數φs表示高斯徑向基函數的線性組合:

文獻[25]驗證了SF模型(2)在圖像去噪和非盲圖像去模糊中的有效性。隨后,該模型推廣到其他底層計算機視覺任務,如文檔圖像去模糊(Document Image Deblurring)[26]、圖像去霧[27]和圖像超分辨率(Image Super-Resolution)[28]。受這些工作的啟發,本文把SF模型用于低照度圖像增強任務。
本文和傳統SF模型[25]不同,主要有以下3個方面的區別:①傳統SF模型僅僅復原清晰圖像,而本文在恢復反射圖的同時還需要求解照明圖,具有更大的挑戰性;②文獻[25]在每個級聯中使用單個SF模型,而本文中的每個級聯都由3個不同的SF模型組成;③傳統SF模型借助快速傅里葉變換(Fast Flourier Transform,FFT)更新清晰圖像,而本文采用文獻[27]算法3的思路,借助廣義最小化殘差(GMRES)方法[29]更新所有未知變量。
圖像噪聲不可避免地破壞反射圖R和照明圖L的估計[30]。為克服該問題,本文提出一個新的目標函數對低照度圖像進行增強。其中,數據項融入了Retinex分解模型,正則項使用2組不同的高階濾波器分別約束反射圖和照明圖。
式中:第1項為數據項,來自于Retinex分解I=R?L,該項通過歐氏范數約束恢復的反射圖R與觀測圖像I在場景內容上保持一致;在第2項中,L*為初始估計的照明圖,通常含有噪聲[30],該項用于約束照明圖L,以緩解低照度圖像增強問題的不適定性;最后2個正則項分別采用高階濾波器組Fs和ˉFs(s=1,2,…,N)約束反射圖R和照明圖L,勢函數ρs和ˉρs分別對高階濾波器的響應進行建模,其重要性由權重η>0和ˉη>0決定。
2.2.1 優化反射圖和照明圖
由于反射圖R和照明圖L均為未知量,采用交替迭代策略求解低照度圖像增強模型(4)。為此,在RGB顏色空間中對低照度圖像的每個像素點求最大值,獲得初始照明圖L*。
1)更新反射圖R。固定式(4)中的照明圖L,保留與反射圖R有關的項,得到如下子問題:

受文獻[25]的啟發,式(5)在第i個級聯中的解可以表示為SF模型。

式中:LD為向量L的對角化矩陣;壓縮函數(l)定義為式(3)中高斯徑向基函數的線性組合,其中參數為未知量。
借鑒文獻[25]的做法,本文在式(3)中使用M=53個高斯徑向基函數,這些函數的均值μr均勻地分布在-1.1~1.1的范圍內。為論述方便,SF模型(6)簡記為模型參數Ψi=(αi)。需要注意,在式(6)中用輔助的反射圖~Ri-1代替了原來的變量Ri-1,原因在本節的方法部分進行討論。


式(8)中照明圖L在第i級聯中的解表示為SF模型。


與SF模型Ψi中的和中的均不相同。
綜上所述,本文提出的低照度圖像增強方法步驟如下所示,流程如圖1所示。

圖1 低照度圖像增強方法流程Fig.1 Flowchart of low-light image enhancementmethod
步驟1輸入低照度圖像I。
步驟2按像素計算RGB通道的最大值作為照明圖L*,并用其初始化變量L0。
步驟3通過計算式(6)更新反射圖Ri。
步驟4通過計算式(7)更新輔助的反射圖。
步驟5通過計算式(9)更新照明圖Li。
步驟6如果迭代次數i小于最大迭代次數maxIter,轉到步驟3。否則,輸出反射圖RmaxIter和照明圖LmaxIter。
對引入的輔助反射圖~R作進一步討論。在式(6)、式(7)和式(9)中,參數αi、和對增強圖像和抑制噪聲2個方面的效果進行調節。以式(6)為例,當αi接近于零時,式(6)更多地起到增亮低照度圖像的作用,故而往往導致恢復圖像中含有明顯的噪聲。相反,當αi足夠大時,式(6)更多地起到抑制噪聲的作用,所以不能有效地增亮輸入圖像。在噪聲抑制過程中,先用壓縮函數(l)對濾波器Fs在反射圖上的響應進行調節,再對獲得的結果進行反卷積操作,以恢復無噪聲的反射圖。類似地,上述分析也適用于SF模型(7)和SF模型(9)。
由于αi在圖像增強過程中固定不變,式(6)的結果Ri-1可能含有殘留噪聲和不良偽影,尤其在第i=1個級聯中。同時,式(9)中Iq左邊的矩陣本應含有極少的噪聲,以利于更新照明圖Li。如果該矩陣含有明顯的殘留噪聲,由式(9)估計的照明圖Li也往往被噪聲污染。因此,為更好地保證優化結果的質量,將反射圖R替換為更精確的輔助反射圖。
2.2.2 學習收縮場模型
為方便論述,2.2.1節潛在地假設SF模型Ψi和已經給定。本節提出基于梯度的算法,從數據中學習這些模型參數。為此,定義2個損失函數,并計算其對模型參數的導數。
1)SF模型Ψi。通過最小化損失函數?1學習該模型的參數:

式中:Rgt為反射圖的真值。
根據式(6),Ri為模型參數Ψi的函數,所以?1(Ri)對Ψi的導數為


式中:Lgt為照明圖的真值。

把這些梯度嵌入到有限存儲BFGS求解器[31]中學習模型參數Ψi、和。綜上,本文模型的學習算法主要包括如下步驟:
步驟1輸入合成的低照度圖像I、反射圖真值Rgt和照明圖真值Lgt。
步驟2對每幅低照度圖像I,按像素計算RGB通道的最大值,把得到的結果作為照明圖L*,并用其初始化變量L0。
步驟3通過最小化式(10)中的損失函數?1學習SF模型參數Ψi。
步驟4通過計算式(6)更新反射圖Ri。
步驟5通過最小化式(12)中的損失函數?2學習SF模型參數和。
步驟6通過計算式(7)更新輔助反射圖~Ri。
步驟7通過計算式(9)更新照明圖Li。
步驟8如果迭代次數i小于最大迭代次數maxIter,轉到步驟3。否則,輸出學習到的SF模型參數Ψi、和。
為學習SF模型Ψi、和,本文采用文獻[19]的方法合成低照度圖像訓練集。首先,將正常照度圖像作為反射圖。然后,把正常照度圖從RGB顏色空間轉換到HSV顏色空間,并且對V通道進行伽馬校正。這里,伽馬校正因子在區間[1.6,3.3]上隨機地選取。接著,把校正的V通道作為照明圖,通過I=R?L產生低照度圖像。最后,在合成的低照度圖像上添加高斯噪聲,以模擬低光照條件下的噪聲污染。高斯噪聲的均值置為0,方差σ2在區間[0%,5%]上隨機取值。此外,通過Google引擎和文獻[15,19,25,27]獲得80幅正常照度圖像(尺寸介于256×256和2 000×2 300之間),并且隨機選取50幅圖像產生訓練數據。圖2給出了部分低照度圖像、反射圖和照明圖。在訓練時,把所有低照度圖像裁剪成尺寸為128×128的圖像塊,以加快模型訓練的速度。其余的30幅正常照度圖像用于合成測試數據。

圖2 訓練數據示例Fig.2 Examples from training data
在對比實驗中,選用當前最新的低照度圖像增強方法LIME[7]、DHN[20]和SR[9]作 為 比 較 對象。基于Retinex分解的LIME方法[7]先通過I=R?L恢復反射圖,再使用BM3D[15]抑制恢復結果中的噪聲。基于變分模型的SR方法[9]在目標函數正則項中采用梯度約束使增強圖像與輸入圖像保持一致,以抑制噪聲放大。DHN方法[20]使用端到端的深度網絡增強低照度圖像。考慮到比較的公平性,用本文的訓練集對DHN網絡進行微調。此外,基于深度學習的DHN方法在配置為Titan XP GPU的工作站上進行測試,其他所有實驗在配置為2.4 GHz Core i7 CPU和32 GB RAM的計算機上完成。本文使用客觀和主觀2種評價策略比較不同方法的增強結果,并選用峰值信噪比(PSNR)和結構相似性(SSIM)作為客觀評價指標。這2個指標的值越大,增強圖像的質量越高。
為驗證本文方法的有效性,先在合成數據上進行實驗。圖3(a)為按照3.1節步驟合成的低照度圖像,高斯噪聲強度為2%,相應反射圖和照明圖的真值如圖3(b)和(c)所示。圖3(d)~(g)分別為不同方法的圖像增強結果。從圖3(d)可以觀察到,LIME方法[7]增強了低照度圖像的對比度,但是產生了過亮區域和塊狀偽影(如放大的花朵邊緣)。這主要是因為LIME方法對照明圖的估計偏低,導致通過I=R?L恢復的反射圖偏亮;在后處理階段中使用的BM3D方法不能有效地抑制空間變化的噪聲,以致增強結果中含有塊狀偽影。圖3(e)顯示,DHN方法[20]恢復了大量的紋理信息,然而增強結果略微偏暗。相反,圖3(f)中的場景不存在過亮區域,且含邊緣信息比較銳利。但是,放大的細節仍然包含殘留噪聲,這是因為SR方法[9]正則項采用梯度約束,容易把圖像噪聲傳導至增強結果中。與此不同,本文方法在增亮低照度圖像的同時有效地避免了過度增強和殘留噪聲,如圖3(g)所示。原因主要為:學習到的SF明顯地改善了Retinex分解中照明圖的質量。

圖3 不同方法在合成數據上的比較Fig.3 Comparison of differentmethods on synthetic data
為定量驗證本文方法的有效性,在30幅合成圖像上進行了更多實驗,并計算平均PSNR(mPSNR)和平均SSIM(mSSIM)。從表1看出,本文方法在多種噪聲水平上均取得了最高的mPSNR和mSSIM。

表1 不同方法在含有多種噪聲的測試集上增強結果的平均峰值信噪比和結構相似性Table 1 Average PSNRs and SSIM s of results enhanced by differen tm ethods on test dataset w ith various noises
為評價本文方法在真實圖像上的增強效果,選用圖4(a)中的低照度圖像進行測試,不同方法的增強結果如圖4(b)~(e)所示。

圖4 不同方法在真實數據上的比較Fig.4 Comparison of differentmethods on real-world data
可 以 看 出,對 比 方 法LIME[7]、DHN[20]和SR[9]都有效地增亮了低照度圖像。但是,LIME方法過低估計了照明圖,并且在后處理階段使用BM 3D抑制反射圖中空間變化的噪聲,導致增強結果中存在過度增強的筆記本電腦和含有塊狀偽影的墻面。DHN方法在端到端深度網絡中不使用Retinex模型,以致恢復的場景不夠銳利。SR方法在一定程度上避免了這些問題,但是增強的場景仍然包含明顯的殘留噪聲。究其原因,SR方法在正則項中使用清晰圖像和低照度圖像的梯度約束兩者在結構信息上保持一致,以致噪聲等高頻信息傳導至增強結果中。相比之下,本文方法產生了相當或者更高質量的增強效果和邊緣信息,原因主要是:學習到的高階濾波器和壓縮函數具有豐富的激活模式,能夠進一步精化照明圖的估計,從而能夠有效地恢復反射圖像和抑制噪聲污染。
第3節驗證了本文方法在增強低照度圖像的同時能夠有效地抑制噪聲污染。為說明SF模型的有效性,圖5展示了第i=1級聯使用的收縮場Ψi、和。每個SF中的高階濾波器(上一行)和壓縮函數(下一行)根據其激活程度從左到右降序排列。

圖5 第i=1級聯中學習到的收縮場Ψi、和的濾波器和相應的壓縮函數Fig.5 Filters and corresponding shrinkage functions in SF modelsΨi, and at cascade i=1
在圖5(a)中,右側2個濾波器的激活程度相對較小,相應壓縮曲線也含有較少的波動。這與文獻[25]中的去噪濾波器一致,故而在抑制噪聲方面更能發揮作用。相比之下,前6個濾波器對應的壓縮曲線含有更多的波動,在圖像增強過程中更有利于保持圖像的結構信息。與圖5(a)相比,圖5(b)中濾波器有類似的激活程度,但包含不同的視覺模式。這主要是因為:輔助的SF模型精化了反射圖R,生成的輔助反射圖含有較少的噪聲和不良特征,所以更有助于改進照明圖L的估計。此外,從圖5(c)可以看出,由于照明圖中幾乎不含紋理細節,這些濾波器接近梯度算子。綜上,學習到的收縮場Ψi、和具有多種激活模式,故能夠改進Retinex分解中的照明圖,在恢復反射圖的同時有效地抑制噪聲污染。
根據3.1節的優化步驟,本文方法先求解反射圖Ri。雖然學習到的高階濾波器和壓縮函數能夠在恢復反射圖的同時抑制噪聲污染,但學習到的參數αi固定不變,以致反射圖Ri的某些區域可能因噪聲放大而退化。這種現象在第i=1級聯中尤為明顯。為避免噪聲放大問題,引入輔助的收縮場Ψi以改善反射圖Ri的質量,進而精確地估計Retinex分解中的照明圖Li。

圖6 輔助反射圖~R的有效性Fig.6 Effectiveness of auxiliary reflectance image~R
表2 在本文測試集上評估輔助反射圖的有效性Table 2 Effectiveness evaluation of auxiliary reflectance im age on our test dataset

表2 在本文測試集上評估輔助反射圖的有效性Table 2 Effectiveness evaluation of auxiliary reflectance im age on our test dataset
方法mPSNR/dB mSSIM本文方法(不含~R)16.38 0.760 4本文方法(包含~R)19.24 0.852 0
在本文實驗中,最大迭代次數設置為maxIter=5。為說明迭代次數對實驗結果的影響,選用圖7(a)中合成的低照度圖像展示本文方法在所有級聯中的增強結果。從圖7(b)~(e)可以看出,隨著級聯的增加,反射圖的質量逐漸改善。第3個級聯的反射圖有效地避免了過增強和噪聲污染,具有高質量的視覺效果。第5個級聯的反射圖具有類似的增強效果,表明本文方法的解趨于穩定。在大量實驗的基礎上,本文把最大迭代次數maxIter置為5。

圖7 本文方法隨迭代次數增加的增強結果Fig.7 Enhancement results of proposed method with increasing iteration times
在每個SF中,高階濾波器初始化為相互獨立且完備的簡單形式,即中心點與鄰域內某點的像素值分別置為1和-1。因此,高階濾波器的個數N與其尺寸d×d存在數量關系N=d2-1。本文實驗使用3×3的濾波器,故每個SF包含N=8個高階濾波器。為表明濾波器的個數對最終增強結果的影響,選用圖8(a)中的合成低照度圖像進行測試,該圖像含有1%的高斯噪聲。圖8(b)和(c)分別為N=8和24個濾波器的增強結果。可以看出,8個濾波器已經產生了清晰的眼部輪廓,24個濾波器進一步增強了眼睛中心的紋理信息。這表明濾波器的個數越大,增強結果的質量越高。然而,由于更大的濾波器減小了未知變量的更新速度,這些效果的提升以犧牲約1.4倍的運行時間為代價。通過權衡增強效果和運行時間,本文方法在低照度圖像增強實驗中使用N=8個3×3的濾波器。

圖8 高階濾波器個數對實驗結果的影響Fig.8 Influence of high-order filter number on experimental results
針對低照度圖像增強中的噪聲污染問題,本文提出通過學習SF模型改進Retinex分解,以便在增強低照度圖像的同時有效地抑制噪聲。合成和真實數據上的實驗結果驗證了本文方法的有效性。該方法具有以下優點:
1)不需要數量巨大的訓練樣本,比基于深度學習的方法更適用于訓練樣本較少的情形。
2)學習到的高階濾波器和壓縮函數具有豐富的激活模式,比手工設計的正則子(Regularizer)在抑制噪聲污染方面更加有效。
本文方法可以有效地增強低照度圖像和抑制噪聲污染,但不適用于極低光照圖像(Extremely Low-Light Image)的情形。下一步工作將繼續改進SF模型,以增強極低照度圖像。