潘 磊,田 俊,傅 強*,鄭 遠,趙枳晴
(1.中國民用航空飛行學院 計算機學院,四川 廣漢 618307;2.電子科技大學 信息與通信工程學院,四川 成都 611731)
圖像是人們進行信息交流的重要媒介之一。隨著相機以及圖像處理技術的發(fā)展,人們已經可以獲得質量非常高的圖像[1]。然而,不充分的光照會使圖像細節(jié)損失嚴重,降低圖像質量,嚴重制約著下游任務的性能,因此低照度圖像增強(Low Light Image Enhancement,LLIE)網絡成為計算機視覺方向研究的熱點。然而,現有的LLIE方法都是基于時域設計的,沒有基于更接近人類視覺系統(tǒng)、信息表征能力更強的頻域,增強效果有限。
現有低光照條件下的圖像增強方法可以分為3類:
第1類是建立在直方圖均衡化(Histogram Equalization,HE)[2-3]技術上的圖像增強方法。HE是一種簡單有效的圖像增強技術,通過改變低照度圖像像素的直方圖分布來改變低照度圖像像素灰度值,從而提升圖像的對比度,主要用于增強對比度動態(tài)范圍偏小的圖像。該方法計算簡單、速度快,但是這類方法的主要缺點是很少考慮真實的照明因素,增強的結果在主觀視覺上與真實場景不一致,存在顏色失真和局部過曝光的現象。
第2類是基于視網膜大腦皮層(Retinex)理論[4]的方法。Retinex模型的理論基礎是三色理論和顏色恒常性。基于Retinex理論可以將人眼感知到的圖像S分解為反射分量R和光照分量L,即S=R×L。所以基于Retinex理論的圖像增強方法本質上是圖像分解與光照估計問題?;诖死碚?Jobson等[5]進一步提出了單尺度Retinex(Single Scale Retinex,SSR)方法、多尺度Retinex(Multi-Scale Retinex,MSR)方法[6]以及帶顏色恢復的Retinex(Multi-Scale Retinex with Color Restoration,MSRCR)方法[7]。Wang等[8]提出了一種名為NPE的方法,該方法可以同時增強對比度和保持光照的自然性。Fu等[9]提出了一種基于融合的LLIE方法。Guo等[10]使用結構先驗估計照明并使用反射圖作為最終的增強結果進而提出了2種加速優(yōu)化光照圖的方法:基于增廣拉格朗日乘數法(ALM)的方法和基于權重策略的方法。Dong等[11]發(fā)現了低照度圖像與含霧圖像的相關性,提出了一種采用圖像去霧算法的LLIE方法。將低光照圖像反轉后通過圖像去霧算法進行還原,最后將圖像重新反轉得到增強后的圖像。雖然上述基于Retinex理論的傳統(tǒng)LLIE方法能夠在一定程度上提升圖像整體亮度,但是增強后的低照度圖像往往伴隨著噪聲放大、顏色失真和亮度不均衡等現象,增強后的圖像質量不高。
第3類是基于深度學習的LLIE方法。隨著深度學習算法的快速發(fā)展,許多學者開始嘗試利用深度神經網絡來學習低照度圖像到正常光照圖像的映射關系。Lore等[12]提出了一種基于深度自動編碼器的方法來識別弱光圖像中的信號特征,并在不過度放大/飽和高動態(tài)范圍圖像的較亮部分的情況下自適應地使圖像變亮。LI等[13]提出了一種端到端的多分支增強網絡——MBLLEN,該網絡通過特征提取模塊、增強模塊和融合模塊提取有效的特征表示,提高了LLIE的性能。Li等[14]提出了LightenNet,該網絡利用卷積神經網絡來估計照度圖,并結合Retinex理論實現LLIE。Zhang等[15]將圖像增強問題轉化為圖像調節(jié)問題,并分解為2個部分:一部分負責光照的調節(jié);另一部分負責退化的去除,以便網絡更好地正則化,取得了較好的效果。Jiang等[16]提出了一種高效無監(jiān)督的生成對抗網絡(Generative Adversarial Network,GAN),稱為EnlightenGAN,可以在沒有低/正常光圖像對的情況下進行訓練,消除了對訓練數據的依賴。隨著深度學習在圖像領域的成功應用,基于深度學習的低光照圖像增強算法已經成為當前的主流技術。然而,現有基于深度學習的圖像增強方法沒有考慮頻域,圖像增強效果有限。
為了解決上述問題,本文基于頻域,設計了一種全新的時頻域結合的低照度增強網絡,該網絡首先將低照度圖像在頻域中分解為高頻信息和低頻信息,其中低頻分量表征圖像的全局結構,高頻分量表征圖像的細節(jié)紋理信息。然后將高、低頻信息以及時域信息分別送入相應的增強模塊,分別從低頻、高頻和時域3個方面對原低照度圖像進行增強,以期學習得到正常照度圖像。同時,為了加快上述深層網絡的訓練速度,本文提出了一種基于云計算平臺的專有加速模塊,從系統(tǒng)架構的角度對網絡訓練進行加速。
本文提出了一個頻域增強模塊(FDE Block),基于該模塊,提出了一個基于云計算平臺加速的時頻域結合圖像增強網絡。該方法不但比其他方法擁有更好的主觀視覺效果和圖像細節(jié)、更優(yōu)異的客觀指標,同時也擁有與傳統(tǒng)計算平臺相比更快的訓練速度。
現有基于深度學習的低光照增強網絡都是基于時域設計的,將特征圖直接送入網絡中學習,此時特征圖同時包含低頻分量和高頻分量,沒有基于更接近人類視覺系統(tǒng)、信息表征能力更強的頻域,圖像增強效果有限。
為此,設計了FDE Block,該模塊設計的目標是有效地處理混合在特征圖中的低頻分量和高頻分量,其中較高的頻率通常對細節(jié)進行編碼,較低的頻率通常對全局結構進行編碼。設X={XH,XL}為輸入的高、低頻特征圖,Y={YH,YL}為相對應輸出的高、低頻特征圖。YH=YH→H+YL→H表示輸出特征圖中的高頻分量YH分別通過輸入特征圖中的高頻分量XH和低頻分量XL頻率更新得到;YL=YL→L+YH→L表示輸出特征圖中的低頻分量YL分別通過輸入特征圖中的高頻分量XH和低頻分量XL頻率更新得到。
為了計算Y={YH,YL},本文所提出的頻域增強子網絡將卷積核W分成高頻、低頻2個分量,即W=[WH,WL],WH可進一步分解為WH=[WH→H,WL→H],負責與高頻分量輸入XH進行卷積運算;WL可進一步分解為WL=[WH→L,WL→L],負責與低頻分量XL進行卷積運算,模塊結構如圖1所示。
圖1 FDE Block結構Fig.1 FDE Block structure
網絡具體細節(jié)如下:
YH=f(XH;WH→H)+upsample(f(XL;WL→H),2),
YL=f(XL;WL→L)+f(Avgpool(XH,2);WH→L)),
式中,f(X;W)表示與參數W的卷積;Avgpool(XH,2)是一個平均池化操作;upsample(f(XL;WL→H),2)是一個最近鄰插值的上采樣操作。
本文提出了一種數據驅動的時頻域結合低照度增強網絡來學習低光照圖像增強,該網絡旨在調整圖像亮度,增強圖像細節(jié),提升圖像的整體效果。同時,考慮云計算平臺架構,加速網絡訓練速度,整體網絡可以分為邊緣節(jié)點處理與中心節(jié)點處理2部分。整體網絡結構如圖2所示。
圖2 時頻域結合的低照度增強網絡Fig.2 Low light enhancement network based on time frequency domain combination
① 基于云計算平臺的專有加速模塊
提出了一種基于云計算平臺的專有加速模塊。該網絡旨在提升低照度圖像整體亮度,增強圖像細節(jié),提升圖像的整體視覺效果。網絡分為2部分:邊緣節(jié)點負責將采集到的低光照圖像使用傳統(tǒng)方法進行預增強,此時圖像依然存在細節(jié)損失嚴重、視覺質量低以及噪聲干擾等問題。然后,將預增強后的低光照圖像通過離散小波變換分解為高頻分量和低頻分量。中心節(jié)點負責對邊緣節(jié)點處理后的數據進行增強。中心節(jié)點網絡包括頻域增強子網絡、時域增強子網絡以及融合模塊3部分。頻域增強子網絡將低頻分量和高頻分量分別進行增強,低頻分量用來恢復圖像的整體結構,高頻分量用來恢復圖像細節(jié);時域增強子網絡為全卷積神經網絡,用來提升圖像的整體亮度。最后,將頻域增強子網絡和時域增強子網絡的增強結果拼接送入融合模塊進行微調輸出增強后的結果。
② 頻域增強子網絡
頻率增強子網絡主要用來對輸入的預增強后的低光照圖像的低頻分量和高頻分量進行增強。網絡將邊緣節(jié)點處理好的特征圖送入1×1的卷積模塊,將低頻分量的通道數提升至128,高頻分量通道數提升至32,此時低頻分量分辨率降為高頻分量的1/2,通道數為高頻分量的4倍。隨后,網絡將高頻分量和低頻分量送入FED Block進行增強,高頻分量和低頻分量分別進行4次增強操作。FED Block由 3×3 的卷積核(步長為1,填充為1)組成,同時,模塊中進行頻率更新,即YH=YH→H+YL→H和YL=YL→L+YH→L。
③ 時域增強子網絡
時域增強子網絡從邊緣節(jié)點讀取預增強后的低光照圖像,對輸入的圖像在時域上進行亮度增強,提升低光照圖像的整體對比度。時域增強層由全卷積神經網絡構成,所有卷積層都使用大小為3×3的卷積核(步長為1,填充為1)對輸入圖像在全分辨率上進行亮度增強,網絡中特征圖通道數均為32。
④ 融合模塊
融合模塊將頻域增強子網絡和時域增強子網絡的增強結果作為輸入,對增強后的圖像進行微調。一般的LLIE算法增強后的圖像會出現亮度不均等問題,亮度較低區(qū)域欠曝光,亮度較高區(qū)域過曝光。這是由于一般低照度增強算法是對低照度圖像進行整體的亮度提升。本文在融合網絡中采用了自注意力結構,該結構可以捕獲低照度圖像中跨像素的相關性,對低照度圖像中不同亮度的區(qū)域進行定位,有效解決了亮度分布不均勻的問題,提高了增強后圖像的視覺效果。融合層包括2個卷積層和2個自注意力結構。對于給定的輸入特征圖IF和IT,最終輸出的Iy為:
Iy=f(IF,IT),
式中,IF為頻域層增強后的輸出;IT為時域層增強后的輸出;f為融合網絡。
本文使用結構相似性(SSIM)損失函數和L1損失函數進行訓練,X為經過網絡增強后的圖片,Y為與X對應的真實數據。
SSIM損失函數為:
L1損失函數為:
L1 損失對圖像的灰度值分配相同的誤差權重,因此能較好地保持圖像的亮度和顏色特征,并能很好地收斂。
于是,總的損失函數為:
LTotal=γLSSIM(X,Y)+(1-γ)Ll1(X,Y),
式中,γ為平衡系數,γ∈[0,1]。
云計算技術是計算機領域廣泛關注的熱點技術之一[17]。隨著大數據時代的到來,云計算以其動態(tài)可擴展、按需部署、靈活性高和可靠性高等特點很好地解決了本地服務器算力不足的問題,可以提升圖像增強效果,減少訓練時間,提升模型部署能力?;谠朴嬎愦罱艘粋€低光照增強服務器。在云計算環(huán)境下,采用云計算技術,首先將低光照圖像采用傳統(tǒng)方法進行一次預增強,然后將預增強后的低光照圖像分解為高頻分量和低頻分量,分別存儲至圖像存儲單元中。此時,中心節(jié)點可直接讀取圖像存儲單元中的圖像進行特征提取,增強圖像質量,以減少訓練時間,提高云計算中的圖像處理效果。云計算可以說是較為安全、可靠的虛擬計算服務器與存儲技術,通過云計算處理的圖像可以最大限度地保證其安全、可靠性[18]。
基于Pytorch深度學習框架,在LOL數據集[18]上進行訓練。LOL數據集是一個公開的低光照圖像數據集,包括low和high兩部分,分別表示低光照圖片和對應的真實數據。LOL數據集通過改變曝光時間和感光度(ISO)來收集微光圖像,共包含500對圖像,其中485對圖像為訓練集,15對圖像為測試集,每張圖片的分辨率是400 pixel×600 pixel。為了進行優(yōu)化,使用Adam優(yōu)化器,其中β1=0.5,β2=0.999,批量大小為5。實驗采用了峰值信噪比(PSNR)、SSIM以及學習感知圖像塊相似度(LPIPS)作為圖像質量評價指標。
① PSNR是一種評價圖像失真和噪聲水平的客觀標準。其值越高,表示受到的噪聲影響越小,增強后的圖像質量越高,失真程度也越小。
② SSIM是一種衡量2幅圖像相似度的指標。其值越大,表示增強后的圖像與正常光照圖像越相似。
③ LPIPS用來度量標準學習生成圖像到真實數據的反向映射,強制生成器學習從假圖像中重構真實圖像的反向映射,并優(yōu)先處理它們之間的感知相似度。LPIPS的值越低表示2張圖像越相似。
為了驗證本文低光照增強算法的優(yōu)勢,選取MSRCR[7],SRIE[9],LIME[10],DONG[11],MF[19],RetinexNet[20],Zero-DCE[21],KinD++[22]等算法進行對比實驗。從LOL數據集中隨機選取了2張圖片,使用上述低照度算法和本文算法進行增強,分別從主觀效果、客觀數據、各模塊的消融實驗以及與單機平臺的運行時間對比4個方面進行比較分析。
① 客觀數據比較
為了比較性能,在實驗過程中計算了各增強算法的PSNR,SSIM,LPIPS以作為客觀評價標準,結果如表1所示。由表1可以看出,本文算法的PSNR值最高,SSIM值也最大,說明本文算法在對低照度圖像進行亮度增強的同時對噪聲也有很好的抑制,增強后的圖像質量高,與真實數據更為接近。針對LPIPS值,本文算法也取得了最好的效果,說明本文算法相比于其他算法增強后的圖片視覺效果好,更符合人類的感知情況。
表1 圖像客觀評價指標對比Tab.1 Comparison of image objective indexes
② 主觀效果比較
2個具有挑戰(zhàn)性的案例視覺對比如圖3所示。
(a)測試圖1實驗結果對比
(b)測試圖2實驗結果對比圖3 圖像結果細節(jié)對比Fig.3 Detailed comparison of images
二者整體光線較暗且包含豐富的顏色細節(jié)信息。MSRCR算法與LIME算法相比,前者增強后的圖像亮度較高但出現了顏色失真,后者增強后的圖像整體偏暗,二者都在增強亮度的同時放大了噪聲,導致圖像整體不真實,增強效果不理想,與真實數據有很大差距。Dong算法圖像整體色彩相較于LIME算法有很大提升,且相較于MSRCR算法,圖像顏色細節(jié)也更加豐富,但增強亮度的同時依舊放大了噪聲。MF算法增強后的圖像整體亮度是所有算法中最低的,對低光照圖像的色彩恢復能力也有限,同時也放大了噪聲,導致增強后的圖像產生大量噪點。RetinexNet算法增強后的圖片亮度提升明顯,色彩鮮艷,且圖像較為平滑,但增強后的圖像曝光過強,存在一定的噪聲。Zero-DCE算法增強圖像的同時對噪聲抑制得較好,增強后的圖像比較平滑,但亮度增強能力有限,對極低光照圖像增強效果較差,色彩恢復能力較弱。KinD++算法對色彩過度增強,有明顯的失真現象,但噪聲抑制效果較好,沒有在增強亮度的同時放大噪聲。本文增強算法增強后的圖像色彩恢復好,亮度提升明顯且沒有出現過度曝光或欠曝光的現象,在增強亮度的同時對噪聲也有很好的抑制,圖像整體自然,與Ground Truth最為接近,視覺效果最好。
圖像細節(jié)信息對比效果如圖4所示,展示了測試圖2中的2處細節(jié)信息,對測試圖2中的手杖邊緣還原度以及衣架重疊處恢復情況進行了比較??梢钥闯觯疚乃惴ㄔ鰪姾蟮膱D片細節(jié)清晰,衣架及手杖輪廓明顯,沒有偽影產生。此外,本文算法對噪聲抑制也較好,增強后的圖像較為平滑,沒有明顯噪聲,顏色層次更接近真實數據,視覺效果最好。MSRCR算法在增強圖片整體亮度的同時忽略了手杖的顏色細節(jié),導致增強后手杖顏色與真實顏色差別較大。LIME算法在增強圖像整體亮度的同時對手杖顏色恢復較好,且衣架邊緣輪廓較為清晰,但手杖邊緣明顯產生了偽影,影響視覺質量。Dong算法對2處細節(jié)顏色恢復較為良好,衣架邊緣輪廓也比較清晰,但是2處細節(jié)在亮度增強的同時也放大了噪聲,產生了大量的噪點。MF算法在2處細節(jié)處恢復均較差,手杖色彩恢復較差的同時產生了模糊,衣架邊緣斷裂且細節(jié)丟失嚴重,圖像噪聲也被放大。RetinexNet算法對手杖顏色恢復較好,沒有出現偽影,衣架邊緣處輪廓清晰,對細節(jié)恢復較好,但同樣在提升圖像亮度的同時放大了噪聲。Zero-DCE算法增強的圖像在2個細節(jié)處表現都比較好,沒有產生偽影,對噪聲抑制也比較好,衣架處邊緣輪廓清晰,但細節(jié)處整體亮度不足,對比LLIE效果差。KinD++算法對2處細節(jié)恢復較好,衣架邊緣輪廓清晰,手杖色彩與真實數據較為接近,但在手杖處產生了明顯的偽影,影響視覺質量。
圖4 測試圖2細節(jié)對比Fig.4 Detailed comparison of Test figure 2
③ 消融實驗
為了證明基于云計算平臺加速的時頻域結合圖像增強方法每個組件的有效性,進行了消融實驗,如表2所示。只有時域增強子網絡時,低照度圖像的恢復效果最差,此時增強后的圖像噪聲多,PSNR低,與真實數據結構相似度低。加入并行化頻域增強子網絡時,PSNR,SSIM,LPIPS均有較大的提升。本文提出的基于云計算平臺加速的時頻域結合圖像增強方法取得了最好的效果,各項參數都達到了最優(yōu),此時增強后的圖像更加真實,噪聲更少且與真實數據最為相似。
表2 各模塊的消融實驗Tab.2 Ablation experiment of each model
④ 與單機平臺的運行時間比較
為了體現基于云計算平臺加速的時頻域結合圖像增強方法的優(yōu)勢,選擇單機平臺進行對比實驗,計算它們平均每個Epoch的訓練時間,實驗結果如圖5所示。由圖5可以看出,云平臺訓練時間明顯少于單機平臺,本文提出的基于云計算平臺的專有加速模塊比單機平臺減少了53.1%的訓練時間。
圖5 云計算平臺和單機平臺的運行時間比較Fig.5 Running time comparison between cloud computing platform and stand-alone platform
為了解決LLIE問題,提出了一種新的基于云計算平臺加速的時頻域結合LLIE方法。該方法同時兼顧時域與頻域信息,邊緣節(jié)點負責將采集到的低光照圖像使用傳統(tǒng)方法進行預增強,然后將預增強后的低光照圖像通過離散小波變換分解為高頻分量和低頻分量。中心節(jié)點負責對邊緣節(jié)點處理后的數據進行增強、融合,輸出增強后的圖像。經過主觀效果比較分析,本文提出的低光照圖像算法在亮度增強、色彩恢復、噪聲抑制以及圖像平滑方面均優(yōu)于其他方法,增強后的圖像質量更高,更符合人類感知情況??陀^指標PSNR,SSIM以及LPIPS的值也表明本文算法優(yōu)于其他方法。與單機平臺相比,基于云計算平臺的專有加速模塊有效減少了53.1%的訓練時間。但本文算法增強的低光照圖片在細節(jié)恢復方面仍有很大提升空間,這也是今后主要攻克的問題。