何錦成,韓永成,張聞文,何偉基,陳錢
(南京理工大學 電子工程與光電技術學院,江蘇 南京 210094)
夜視技術是通過光電成像器件來探測夜間目標的技術[1]。傳統的夜視技術均為單色圖像,由于人眼能分辨的顏色等級是灰度等級的幾百倍[2],研究人員致力于將單色夜視圖像彩色化。以往是利用不同波段的信號產生的圖像融合成彩色圖像[3]或者通過顏色傳遞的方法[4-5],產生的彩色圖像不自然,不能反映景物在白天所呈現的真實顏色信息。真彩色夜視技術得到的圖像與白天看到物體的顏色相一致,更加接近物體的真實顏色[6],與人眼的主觀視覺相一致,能夠提高目標的識別率,具有重要的研究意義和應用價值。隨著探測器靈敏度的不斷提高及背照式傳感器等技術的發展,固態成像器件也逐步向低照度成像方向發展。
低照度圖像增強方法大致分成兩大類:傳統的方法和基于深度學習的方法[7]。傳統的有基于直方圖均衡化(HE)的方法、基于Retinex理論的方法[8-10]和基于暗通道去霧的方法[11]。基于深度學習的如下:Wang等[12]采用了編碼解碼的網絡進行光照圖估計,然后通過簡單網絡進行細節重建。Wei等[13]提出用網絡將低照度圖像分成光照圖和反射圖,對光照圖進行增強,反射圖進行去噪,最后合成結果。Song等[14]是對Wei等[13]方法的改進,提出了多尺度聯合網絡對光照圖進行增強,并提出了色彩損失函數解決了顏色失真的問題。Zhang等[15]提出的方法與Wei等[13]的方法類似,但其在反射圖上通過恢復網絡進行降噪,最終合成結果。黃輝先等[16]在光照增強網絡上加入了注意力機制,有效提高了網絡的性能。這些基于Retinex模型的方法關鍵的步驟就是估計光照圖,如何準確估計光照圖決定了它們處理結果的準確性與可靠性。Jiang等[17]提出了無監督的方式進行圖像增強。Guo等[18]提出了通過設計光照增強曲線來增強低照度圖像。Zhang等[19]提出了反射圖的最大通道與低照度圖像的最大通道一致且熵最大來設計損失函數增強低照度圖像。唐超影等[20]利用卷積神經網絡將低照度的可見光圖像與近紅外圖像融合,既保留了可見光圖像的色彩,又兼顧了近紅外的信噪比。在極低照度條件下,Chen等[21]提出了利用卷積神經網絡U-Net[22]來代替傳統的圖像處理管道來處理原始傳感器圖像。該方法只針對特定的raw圖像數據集,采用的是傳統損失函數,未考慮圖像噪聲和色彩損失。
為了抑制低照度圖像的噪聲,一些方法是先增強、后降噪,但是增強會導致原來圖像中的噪聲更明顯;還有的方法是先降噪、后增強,這樣會導致原來圖像中的細節丟失產生模糊。此外,分兩步進行還會增加處理時間,影響實時性。
本文提出一種基于通道校正卷積(Channel-Calibrated Convolution,CCConv)的低照度彩色圖像增強算法,用通道校正卷積來代替傳統的卷積,形成U-Net結構的網絡來進行端對端的訓練。在傳統損失函數上增加了Sobel損失函數和色彩損失函數,抑制噪聲并提高色彩飽和度。該算法既能同時處理低照度圖像的亮度、對比度、顏色、噪聲等問題,又能減少運行時間。
傳統卷積構成的U-Net網絡在許多的計算機視覺任務中顯示出優越性[21-22],能夠有效分割圖像并將信息融合,且位置不偏移等。整個網絡的輸入為含噪的低照度圖像,通過編碼器下采樣進行特征提取,然后通過解碼器上采樣,與之前通過跳連接的方式進行特征融合,最后輸出恢復的圖像。但是傳統卷積在優化冗余色彩和保留圖像細節方面做的不夠好,因此本文采用CCConv代替U-Net網絡中的傳統卷積,算法處理流程與網絡結構如圖1所示,能更好地呈現細節特征,保留豐富的信息。

圖1 基于CCConv網絡結構及圖像處理流程Fig.1 CCConv-based network structure and image processing flow
由于彩色圖像RGB各個分量中的紋理、邊緣、相位和灰度變化梯度具有很強的相關性和一致性[23],本文引入注意力機制[24]中的通道注意塊,便于分析各個通道之間的特征。假設原始輸入圖Fin,通過全局平均池化和全局最大池化特征描述符,然后由多層感知器生成特征向量,最后通過Sigmoid函數獲得通道注意特征圖,將該特征圖與原始輸入Fin相乘得到結果Fout。該計算過程可以用圖2描述。

圖2 通道注意塊工作流程Fig.2 Channel attention block workflow
Wc=sigmoid{MLP[AvgPool(Fin)]+MLP[MaxPool(Fin)]}
(1)
Fout=Wc·Fin
(2)
式中:Wc為通道注意特征圖;Fout為結果特征圖;MLP(·)為多層感知器;AvgPool(·)為平均池化;MaxPool(·)為最大池化。
受到自我校正卷積[25]的啟發,本文提出的CCConv可以優化冗余色彩并保留更多圖像信息,對特征表達更具判別力。如圖3所示,先將輸入通過1×1卷積分成兩個分支,每個分支上的通道數為原來的一半,上分支采用通道注意力塊(Channel Attention Block,CAB),便于分析各個通道之間的特征,下分支維持原來的信息,最終級聯輸出通過1×1卷積恢復到原來的通道數。圖3中,xin和xout分別輸入和輸出,x1與x2為中間輸出,為了提高訓練速度,使用殘差即與原來輸入相加,算法使用的通道數如表1所示。

表1 網絡各卷積層特征通道數Table 1 Number of feature channels in each convolutional layer of the network

圖3 通道校正卷積原理框圖Fig.3 Block diagram of Channel-Calibrated Convolution
通道校正卷積公式為
x1=f3×3{CAB[f1×1(xin)]}
(3)
x2=f3×3[f1×1(xin)]
(4)
xout=xin+f1×1[concat(x1,x2)]
(5)
式中:f表示卷積;CAB(·)表示通道注意力塊;concat(·)表示級聯。
所有的機器學習算法都或多或少的依賴于對目標函數最大化或者最小化的過程,常常把最小化的函數稱為損失函數,主要用于衡量機器學習模型的預測能力。在機器學習的任務中,損失函數的選取十分重要。損失函數用來指導訓練過程,使得網絡的參數向損失降低的方向改變。為了優化網絡訓練,通常采用損失函數來使增強圖與參考圖的差別最小化,從而達到最佳訓練效果。傳統損失函數l1定義如下:
l1=‖IEn-I‖1
(6)
式中:IEn表示增強的圖像;I表示參考圖像;‖·‖1為l1范數。
傳統損失函數通過逐像素比較差異,沒有考慮圖像中的噪聲,不能突出圖像的紋理細節以及色彩飽和度等方面的問題。由于Sobel算子對噪聲具有平滑作用,本文改進了原有的損失函數,加入了基于Sobel的損失函數和色彩損失函數,如式(7)所示:
l=l1+lSobel+lyuv
(7)
式中:l為總的損失函數;lSobel為基于Sobel的損失函數;lyuv為色彩損失函數。
基于Sobel算子的損失函數如式(8)所示:
lSobel=‖SIEn-SI‖1=
‖(‖Gx*IgEn‖1+‖Gy*IgEn‖1)-
(‖Gx*Ig‖1+‖Gy*Ig‖1)‖1
(8)
(9)
(10)
式中:SIEn和SI分別表示增強后的圖和原始圖;Gx和Gy分別表示水平和垂直的算子;IgEn和Ig分別表示IEn和I的灰度圖像。
色彩損失函數,如式(11)所示:
lyuv=‖IUEn-IU‖1+‖IVEn-IV‖1
(11)
式中:IUEn和IVEn表示增強圖像的UV色彩信息;IU和IV表示參考圖像的UV色彩信息。
為了定量評價算法的增強效果,本文用峰值信噪比(Peak Signal-to-noise Ratio,PSNR)、結構相似性(Structural Similarity,SSIM)和自然圖像質量評估器(Natural Image Quality Evaluator,NIQE)[26]進行評價。
PSNR的定義如下:
(12)
(13)
式中:MSE(x,y)為均方誤差,x和y分別為輸入圖像和參考圖像;M和N分別為圖像的長和寬;xi,j和yi,j分別為輸入圖像和參考圖像中像素點(i,j)的灰度值。
SSIM的定義如下:
(14)

NIQE的定義如下:

(15)
式中:ν1、ν2、Σ1和Σ2分別為自然圖像MVG模型和畸變圖像MVG模型的均值向量和協方差矩陣,詳細內容可參考文獻[26],該參數值越小,表明圖像質量越高。
目前關于低照度圖像增強的真實配對數據集不多,主要是Wei等[13]收集的公開數據集,該數據集被廣泛應用于基于深度學習的低照度圖像增強領域,是第一個在真實場景中拍攝的低光/常光圖像的配對數據集。低光圖像是通過改變曝光時間和ISO來收集,包含500對大小為600×400的低光/常光圖像,以RGB格式保存。
首先對比傳統卷積和本文的通道校正卷積處理的效果,結果如表2和表3所示。從表2中可以看出,使用傳統卷積的U-Net算法恢復的圖像中帶有網格的偽像,并且局部有發白的情況。由表3可以看出,同比與傳統卷積形成的U-Net算法,本文模型的浮點運算數(Floating Point Operations,FLOPs)減少了13.71%,模型的參數量減少了13.65%,PSNR值提升了29.20%,SSIM值提升了7.23%,結果表明本文提出的模型復雜度降低了,圖像信噪比PSNR和SSIM明顯提高。

表2 消融實驗結果Table 2 Ablation experiment results

表3 不同參數及結構在驗證集上的定量對比Table 3 Quantitative comparison of different parameters and structures on the validation set
其次本文對比了用不同損失函數訓練后的效果,如表4所示。由表4可以看出:僅使用l1損失函數,恢復的圖像帶有網格的偽像和噪聲;將l1和lSobel損失函數聯合起來使用,雖然抑制了噪聲但圖像中的綠色場地和紅色的看臺顏色飽和度降低;將l1、lSobel和lyuv3個損失函數聯合使用,不僅提高了亮度,抑制噪聲的同時色彩飽和度也恢復了。為了定量描述損失函數的效果,將不同損失函數在驗證集上進行了對比,結果如表5所示,采用本文提出的損失函數(l1、lSobel和lyuv)時PSNR最高,效果是最優的。

表4 不同損失函數的效果對比Table 4 Comparison of different loss functions

表5 不同損失函數在驗證集上的定量對比Table 5 Quantitative comparison of different loss functions on the validation set
考慮到目前主流算法大都會對公開數據集評價,本文也針對該數據集與Dong[11]、LIME[8]、Retinex Net[13]、Zero-DCE[18]、Enlighten GAN[17]、KinD[15]和ICE-Net[19]共7種較有代表性的低照度圖像增強算法進行對比,并使用公開推薦的參數進行訓練測試,通過PSNR、SSIM、NIQE進行評價。其中Dong和LIME算法為傳統算法,其余5種為基于深度學習的算法。測試圖像的客觀評價指標如表6所示,不同場景的算法增強效果對比圖如表7所示。

表6 不同算法在測試集上的定量對比Table 6 Quantitative comparison of different algorithms on the test set
從表7中不同場景結果可以看出:Dong算法恢復的圖像帶一些噪聲和偽點,但是圖像偏暗,無法有效提升亮度;LIME算法雖然提高了圖像亮度,但是噪聲也隨之增大;Retinex Net算法恢復的圖像具有明顯的噪聲和色差,不符合人眼的視覺感知習慣;Zero-DCE和Enlighten GAN算法不能有效提升圖像亮度,不能有效恢復圖像顏色和抑制噪聲;KinD算法能夠有效恢復圖像,但圖像過于平滑;ICE-Net算法只提高了低照度圖像的亮度,并未對噪聲和顏色進行處理。從表6的結果中可以看出,本文算法的PSNR和NIQE都是最優的,SSIM位于第2,總體表現最佳,不僅提高了低照度圖像的亮度、對比度,而且有效抑制了噪聲,這是因為增加了Sobel算子的損失函數更好地保留了邊緣信息,而且通道校正卷積能夠有效關注RGB三通道之間的特征,使得輸出圖像顏色更加真實自然,較好地解決了色彩失真的問題。
如圖4所示,本文搭建的低照度成像實驗系統主要由目標、光學鏡頭、美國安森美公司生產的KAE-02150 EMCCD相機及上位機組成。EMCCD主要參數如表8所示。低照度工作環境下相機曝光時間為40 ms,鏡頭焦距為50 mm,光圈F1.8~F16。使用杭州遠方光電信息股份有限公司生產的PHOTO-2000 m照度計用于測量環境照度。本文數據集是在白天收集的,在鏡頭前加入了透射率為10%中性濾光片模擬得到微光圖像。數據集共包含585對訓練圖像、18對測試圖像,圖像的分辨率為1 280×1 024。

表8 安森美KAE-02150 EMCCD參數Table 8 ON Semiconductor KAE-02150 EMCCD parameters

圖4 彩色低照度成像實驗系統示意圖Fig.4 Schematic diagram of the colored low-light imaging experiment system
本文將訓練的epochs設置為2 000,使用的優化器為Adam,學習率初始化為10-4。為了防止過擬合,將圖片隨機裁剪、翻轉和旋轉以進行數據增強。本文設置的批量大小為32,任意裁剪補丁的大小為256×256×3。輸入圖像被縮放到[0,1]。網絡的訓練環境為處理器Intel Core i9-9900K@3.6GHz和一張Nvidia RTX2080Ti顯卡。
本節針對測試集進行實驗驗證,不同場景的處理效果對比如表9所示,客觀評價指標如表10所示,各算法的運行時間如表11所示。

表9 不同算法在不同場景下的效果對比Table 9 Comparison of different algorithms in different scenarios

表10 不同算法在測試集上的定量對比Table 10 Quantitative comparison of different algorithms on the test set

表11 不同算法的運行時間Table 11 Running time of different algorithms s
由表9來看:Dong算法會產生一些噪聲,影響視覺效果,從場景2和場景3 Dong算法的結果中可以看出,整體圖像偏暗,無法判斷盆栽上樹木的顏色并且自行車上的細節不夠清晰,LIME算法容易出現過度增強的現象,同時也放大了噪聲,而且這兩類傳統算法都有較明顯的偏色;Retinex Net、KinD、ICE-Net這3類算法均基于Retinex模型,處理效果取決于光強估計的準確性,Retinex Net算法產生了曝光過度的偽影和顏色失真的現象,成像效果較差,KinD算法雖然能夠提升圖像亮度,但顏色并沒有恢復,ICE-Net算法整體較差,未能恢復圖像色彩和降噪;Zero-DCE算法處理后的圖像亮度依然較低,看不清自行車上的細節;EnlightenGAN算法得到的圖像顏色發黃,看起來不自然;本文算法提高了圖像的亮度、對比度,恢復了圖像的顏色和細節,避免了顏色失真,噪聲明顯減少,更加接近參考圖像。
從表10中可以看出,本文所提出的算法在PSNR、SSIM都優于其他的算法,驗證了該算法的有效性。在無參考評價指標NIQE下,本文算法獲得的指標最小,與其他算法相比更加自然。從表11中可以看出,對于處理1 280×1 024分辨率的圖像,Zero-DCE算法雖然處理速度更快,但是圖像整體亮度偏低且色彩失真,而本文算法處理速度位于第2,兼顧了成像質量與成像速度。
為了更準確地評價算法的彩色重建質量,本文在暗室中采集了5×10-1lx、5×10-2lx、5×10-3lx 3個照度下Xrite標準色卡的成像結果,LED光源色溫為6 500 K。選取色差(Color Difference,CD)[27]指標進行評價。
CIE LAB坐標系中任意兩點的距離表示人眼感受到的色差。歐幾里得距離的大小用來表示待測圖像色彩與標準圖像色彩匹配程度,計算公式如下:
CD(x,y)=[(L2-L1)2+(a2-a1)2+(b2-b1)2]1/2
(16)
式中:CD(x,y)表示測試圖像與標準圖像的色差;L2、a2、b2和L1、a1、b1分別表示測試圖像與參考圖像的CIE LAB顏色空間的明度指數L和色品指數a、b。各算法在不同照度下的重建效果如表12所示,各算法的評價指標如表13所示。

表12 不同算法在不同照度下的效果對比Table 12 Comparison of different algorithms under different illumination conditions

表13 不同算法在不同照度上的定量對比Table 13 Quantitative comparison of different algorithms for different illuminances
在5×10-1lx照度下,每種算法都能夠恢復色卡的亮度。不過Dong算法在提高亮度的同時也放大了噪聲。Retinex Net算法過度增強圖像的亮度,并且出現了嚴重的色差和噪聲。傳統卷積形成的U-Net網絡、Enlighten GAN、KinD和ICE-Net算法也不能夠準確恢復圖像的顏色。隨著照度逐漸降低,各算法的處理效果均逐漸下降,但是本文算法色差最小,能夠有效恢復亮度、對比度,更符合人眼的主觀視覺感受。表13的結果表明,本文算法在5×10-1lx下,色差減少了18.52%,在5×10-2lx下色差減少了5.50%,在5×10-3lx下色差減少了7.36%,平均減少了10.46%。
為了驗證本文算法在室外真實低照度場景的有效性,本文進行了戶外實驗。原圖都是在夜晚多云并且無星光的條件下,場景1的拍攝周圍有個路燈,場景2拍攝周圍無燈光,場景3水塘兩旁有微光照明燈。參考圖都是白天拍攝的參考圖像。各算法在室外真實數據上的恢復效果如表14所示,算法的評價指標如表15所示。

表14 不同算法在不同場景下的效果對比圖Table 14 Comparison of different algorithms in different scenarios

表15 不同算法在不同場景中的NIQE對比Table 15 NIQE comparison of different algorithms in different scenarios
由表14可以看出:Dong算法會產生黑點的噪聲,影響了視覺感官;LIME算法的效果整體亮度大大提升,但噪聲也隨之放大;從場景1~場景3的恢復效果能夠看出Retinex Net算法使得圖像發生嚴重的色偏,而且場景2和場景3恢復的圖像中會有偽點;從場景3的恢復效果可以看出,Zero-DCE算法不能有效提升亮度,Enlighten GAN算法出現了偏色的情況;在場景1的恢復效果中可以看出KinD算法將垃圾桶上面的顏色恢復成白色,從場景2和場景3的恢復效果中KinD算法不能夠有效提升圖像的亮度;ICE-Net算法出現了偏色的情況;本文算法能夠有效抑制噪聲,不會出現過度曝光的情況,在場景1中能夠有效恢復圖像的亮度和垃圾箱上面的顏色,但樹葉遮光的地方恢復得亮度不夠,在場景3中能夠有效解決色偏的問題并且提高亮度、對比度,抑制噪聲。從表15中可以看出,本文算法在場景2和場景3下NIQE值最小,3個場景的NIQE均值也是排名第1,說明處理后的效果更加自然,效果最好。
為了分析光源對算法處理效果的影響,本文在實驗室內針對全局光照、局部光照、點光源等場景開展了研究。目標的背景為一塊黑板,采集的環境在封閉的暗室中,全局和局部光照選用色溫5 000 K亮度可調的白光LED光源,點光源是單個白光LED燈珠。各算法在室外真實數據上的恢復效果如表16所示,算法的評價指標如表17所示。

表17 不同算法在不同場景中的NIQE對比Table 17 NIQE comparison of different algorithms in different scenarios
由表16全局照明條件下的恢復效果可以看出:Dong和Zero-DCE算法提高了圖像的亮度,但并不明顯,LIME算法放大了圖像中的噪聲,Retinex Net算法未能將小車和人物身上的顏色恢復出來,產生了色偏,Enlighten GAN算法恢復的圖像會有些偏黃的情況,ICE-Net算法產生霧蒙蒙的情況,帶有噪聲;本文算法能恢復全局照明條件下的物體的細節、顏色等,有效提高圖像的質量。
由表16局部照明條件下的恢復效果可以看出:Dong、Zero-DCE和KinD算法未能將小黃車恢復出來,而且綠車頭身上及其輪胎和小人也未能恢復;LIME算法產生了過曝的情況,噪聲也被放大,但能夠看清圖像中的物體;Retinex Net和ICE-Net算法使圖像產生了霧蒙蒙的感覺;Enlighten GAN和本文算法雖然恢復了左邊未照明區域的物體,但是恢復得亮度不夠,細節不夠明顯。
在點光源條件下,如果光源位于鏡頭前方會導致圖像過曝,無法分辨目標,因此本文將光源放在目標背后。由表16點光源條件下的恢復效果可以看出:Dong、Zero-DCE和KinD算法未能恢復背光的小黃車;LIME算法產生了噪聲,但能夠恢復點光源前面的物體;Retinex Net和ICE-Net算法能夠將鏡頭前的物體恢復,但是顏色出現了色偏;本文算法能夠將背光的物體恢復,但是在貓物體的左邊亮度提高不夠。
從表17中能夠看出:本文算法在全局照明和局部照明條件下NIQE值最小,處理效果最自然,優于其他算法;在點光源照明條件下本文算法僅次于ICE-Net算法,但是3個場景的NIQE均值也是第1。綜合看來,本文算法受光源影響較小,處理效果最佳。
本文針對現有真彩色夜視相機在低照度環境下圖像降質較為嚴重的問題,提出了一種基于通道校正卷積的神經網絡算法,并用其代替U-Net網絡中的傳統卷積,能夠更好地恢復顏色,呈現細節特征并且保留豐富的信息;采用基于Sobel算子的損失函數,用以抑制噪聲和保護紋理并且通過彩色損失函數增加了色彩飽和度;真實采集了低照度圖像數據對,提升了對實際數據的處理效果。實驗結果表明,本文算法既能有效處理低照度圖像的亮度、對比度、噪聲和色差問題,又能減少處理的時間,增強效果優于目前主流算法,同比傳統卷積的U-Net網絡,計算量減少了13.71%,參數減少了13.65%,PSNR的值提升了29.20%,SSIM的值提升了7.23%,色差減少了10.46%。在未來的工作中,將對網絡模型進行優化,能夠用FPGA進行神經網絡的加速,并實時處理圖像。