翁子寒
(上海兒童醫(yī)學(xué)中心, 上海 200127)
手機(jī)設(shè)備出于便捷性的考量,其鏡頭模組的光圈通常較小,從而限制了光電子(Photon)的攝入數(shù)量,導(dǎo)致在微光條件下會(huì)產(chǎn)生低信噪比的圖像[1]。因此一直以來(lái),低照度下的camera圖像增強(qiáng)技術(shù)一直是影像算法中極具挑戰(zhàn)性的難題。最直觀的增加ISO感光增益可以提高圖像的亮度,但同時(shí)也會(huì)引入噪聲[2]。一些圖像后處理方法如圖像縮放或直方圖拉伸,由于低光子數(shù)的影響并不能解決低信噪比的問(wèn)題而且無(wú)疑會(huì)增加時(shí)間復(fù)雜度。此外,一些物理手段例如增加曝光時(shí)間,增大光圈或者使用閃光燈等方法,雖然可以增加低照度下圖像的信噪比,但都有各自的缺點(diǎn),例如增加曝光時(shí)間時(shí),由于相機(jī)抖動(dòng)或者目標(biāo)移動(dòng)的影響會(huì)造成成像模糊同時(shí)也與快速成像的需求違背[3]。
研究者們提出了微光條件下的去噪,去模糊與圖像增強(qiáng)等一系列算法。其中一種經(jīng)典的方法是直方圖均衡化[4],它通過(guò)改變圖像的直方圖分布來(lái)改變圖像各像素的灰度,進(jìn)而改善欠曝光下的圖像對(duì)比度;另一種經(jīng)典的非線性方法是伽馬校正(Gamma Correction),它通過(guò)對(duì)輸入圖像灰度值進(jìn)行冪律變換進(jìn)而校正亮度偏差,最后的結(jié)果是增加黑暗區(qū)域的亮度而減少了明亮區(qū)域的亮度。此后的方法采用更加全局化的分析與處理,例如文獻(xiàn)[5]基于小波系數(shù)的局部離散性設(shè)計(jì)了一種非線性增強(qiáng)函數(shù),以統(tǒng)計(jì)建模的方式進(jìn)行圖像對(duì)比度增強(qiáng)。文獻(xiàn)[6]提出的圖像增強(qiáng)方法首先估計(jì)初始照度,并使用伽馬校正以限制照度分量,接下來(lái)迭代地進(jìn)行基于變化(Variation)的最小化來(lái)分離反射和光照分量,以恢復(fù)使用輸入RGB顏色通道的顏色分量。文獻(xiàn)[7]通過(guò)選取每個(gè)像素通道中的最大值初始化該圖像光強(qiáng)度圖,然后通過(guò)引入一種結(jié)構(gòu)化先驗(yàn)方法以細(xì)化此初始光照?qǐng)D,最后根據(jù)Retinex[8]理論進(jìn)行最終圖像增強(qiáng)。與此前的方法相反,本文研究的是極端低光下的成像,例如在有限的照度(如月光)和短曝光的條件下,傳統(tǒng)相機(jī)中的圖像處理步驟并不能適用,因此必須從原始傳感器Raw數(shù)據(jù)中重建圖像。本文提出了一種解決此類問(wèn)題的算法,即引入大數(shù)據(jù)驅(qū)動(dòng)的方法來(lái)解決極端低光下攝影的問(wèn)題。具體來(lái)說(shuō),我們通過(guò)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)低照度下原始數(shù)據(jù)(RAW Data)的圖像處理,該端到端方法隱式進(jìn)行了一系列算法,包括顏色轉(zhuǎn)換、去馬賽克、降噪、伽馬校正與自動(dòng)曝光等。同時(shí)它也進(jìn)一步避免了傳統(tǒng)圖像處理的多步驟機(jī)制存在的噪聲放大與誤差累積問(wèn)題。據(jù)我所知,這是第一次將深度學(xué)習(xí)中的全卷積神經(jīng)網(wǎng)絡(luò)方法應(yīng)用于微光條件下camera圖像增強(qiáng)處理的領(lǐng)域中。
在獲取到成像傳感器得到的原始Raw數(shù)據(jù)之后,傳統(tǒng)的圖像處理方法會(huì)應(yīng)用到一系列模塊,如去馬賽克(Demosaiking)、白平衡(White Balance)、降噪(Noise Reduction)、圖像銳化(Sharpening)、顏色校準(zhǔn)(Color Correction)與伽馬校正等[10],如圖1所示。
圖1 傳統(tǒng)的低照度圖像增強(qiáng)流程圖
此外文獻(xiàn)[11]提出使用大量的局部(Local)、線性(Linear)和學(xué)習(xí)(Learning),即3L濾波器來(lái)近似成像系統(tǒng)中的復(fù)雜非線性步驟,如圖2所示。
圖2 3L低照度圖像增強(qiáng)算法
此后,文獻(xiàn)[9]使用合并同曝光多幀的相同RAW圖從而得到更加魯棒的校準(zhǔn),如圖3所示。
圖3 基于多幀合并算法的低照度圖像增強(qiáng)
雖然此前的方法皆取得了一定的成效,但它們的局限性在于通常假設(shè)圖像是在稍微昏暗的環(huán)境和一般的噪音環(huán)境中獲取的,皆無(wú)法處理極低信噪比的低照度下的圖像。
本文提出了使用端到端學(xué)習(xí)的方法直接處理微光條件下的圖像。具體來(lái)講,訓(xùn)練了一種端到端的全卷積神經(jīng)網(wǎng)絡(luò)(Full Convolutional Neural Network,F(xiàn)CN)以執(zhí)行此圖像處理的步驟。最近的研究表明,F(xiàn)CN可以有效地代替許多圖像處理算法[12-14]。受此啟發(fā),本文研究了此網(wǎng)絡(luò)在極端低光成像中的應(yīng)用。值得注意的是,提出的算法對(duì)原始傳感器獲取到RAW數(shù)據(jù)進(jìn)行操作,而不是對(duì)傳統(tǒng)相機(jī)處理管道生成的普通sRGB圖像進(jìn)行操作。
本文方法的闡述,如圖4所示。
圖4 本文基于深度學(xué)習(xí)的低照度圖像增強(qiáng)方法
對(duì)于傳感器獲取到的拜耳陣列(Bayer Color Array)[15],我們將其壓縮到4個(gè)通道,相應(yīng)地將每個(gè)維度的空間分辨率降低了2倍。此后為了減少暗電流[16]對(duì)圖像信號(hào)的影響,需要進(jìn)行黑電平校正(Black Level Correction)[17],即從已獲得的圖像中減去暗電流信號(hào)。然后圖像矩陣被輸入至深度卷積神經(jīng)網(wǎng)絡(luò)當(dāng)中,輸出12通道的圖像。最終使用子像素卷積(Sub-pixel Convolution)將圖像恢復(fù)至原始分辨率。
在網(wǎng)絡(luò)的選擇上,選取了兩個(gè)全卷積網(wǎng)絡(luò)作為備選項(xiàng):多尺寸融合網(wǎng)絡(luò)與U-Net[18]。之前的如降噪[19],圖像超分辨率[20]等工作利用到了近些年在圖像識(shí)別中被廣泛使用的殘差網(wǎng)絡(luò)(ResNet)[21],但是在前期的實(shí)驗(yàn)中發(fā)現(xiàn)它并不適用于本文的架構(gòu),究其原因,可能是輸入與輸出位于不同的顏色空間中。另一個(gè)影響我們選擇的是內(nèi)存消耗問(wèn)題,因此避免選取帶有全連接層的神經(jīng)網(wǎng)絡(luò)。綜上,選取U-Net作為本文方法的主干網(wǎng)絡(luò)。
通常卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)用于圖像分類任務(wù)當(dāng)中,在這類任務(wù)當(dāng)中圖像的輸出通常為一個(gè)簡(jiǎn)單的類標(biāo)簽。但是在一些其他的視覺(jué)任務(wù)當(dāng)中(如圖像分割,圖像重建等),期望輸出還應(yīng)包括局部信息,也就是說(shuō)需將圖像標(biāo)簽分配給每一個(gè)像素,此時(shí)全卷積神經(jīng)網(wǎng)絡(luò)(Ful Convolutional Neural Network, FCN)[22]應(yīng)運(yùn)而生。FCN通過(guò)將常規(guī)CNN中的全連接層皆替換為卷積層,將通常的池化操作替換為上采樣操作,以增加輸出的分辨率來(lái)獲得二維的特征圖,同時(shí)為了更好地進(jìn)行局部化(Localization),將來(lái)自主干網(wǎng)絡(luò)的高分辨率特征與上采樣相結(jié)合。U-Net便是FCN的變體,如圖5所示。
圖5 本文的主干網(wǎng)絡(luò)U-Net
為了證明提出方法的有效性,我們指定了不同的圖像模式,并演示了不同損失函數(shù)對(duì)于結(jié)果的影響。消融實(shí)驗(yàn)的結(jié)果如表1所示。
表1 變動(dòng)不同參數(shù)時(shí)的性能對(duì)比
由表1可以得出以下結(jié)論。
(1) 由于大多數(shù)現(xiàn)有的傳統(tǒng)圖像增強(qiáng)方法都是在已經(jīng)處理過(guò)的sRGB圖像上進(jìn)行的。但我們發(fā)現(xiàn),在極端低光條件下,直接對(duì)原始傳感器獲得的RAW數(shù)據(jù)進(jìn)行操作更為有效。原因可能是,相對(duì)于RGB圖像,RAW圖保留了原始圖像更多的信息。
(2) 本文原始的工作是基于L1損失函數(shù)展開(kāi)的,由表1可以看出,L1優(yōu)于L2損失函數(shù),同時(shí)與SSIM損失函數(shù)差別不大,原因可能在于基于像素差值層面的L1損失函數(shù)對(duì)異常點(diǎn)較為敏感,而SSIM由于其同時(shí)考慮了亮度,對(duì)比度與結(jié)構(gòu)指標(biāo),因此在細(xì)節(jié)上可能略勝一籌,所以兩者各有千秋。
為了進(jìn)一步驗(yàn)證方法的有效性,將所得結(jié)果與其他低照度圖像增強(qiáng)方法進(jìn)行對(duì)比。其結(jié)果如表2和圖6所示。
表2 與其他方法的性能對(duì)比
表2列舉了本文方法與其他一些圖像增強(qiáng)方法關(guān)于SSIM與PNR的性能對(duì)比。關(guān)于表中方法的詳細(xì)介紹可參見(jiàn)引言部分??梢钥吹?,本文的基于深度學(xué)習(xí)的低照度圖像處理方法在兩項(xiàng)指標(biāo)中皆處于最優(yōu)。多幀方法雖然在性能上與我們的方法較為接近,但是其缺點(diǎn)是消耗過(guò)多內(nèi)存,因此空間復(fù)雜度較高。
圖6列舉了3L法,多幀合并法與本文方法(從左至右以此排列)的處理結(jié)果直觀比對(duì)(由于代碼的不可獲取性,因此其他方法的處理結(jié)果不能進(jìn)行展示)。注意3L法重構(gòu)后得到的圖像,其亮度提升的并不明顯,圖像的椒鹽噪聲沒(méi)有得到改善并且整體觀感很模糊。相比于前者,多幀合并法處理的結(jié)果略勝一籌,但是觀感上存在過(guò)曝的現(xiàn)象,原因可能在于AEC自動(dòng)曝光控制的處理閾值設(shè)定不過(guò)關(guān),另外噪聲現(xiàn)象仍然存在。我們的方法可以看到的是整體已重構(gòu)至相當(dāng)接近于白天場(chǎng)景下的照片,對(duì)細(xì)節(jié)如毛刺,噪聲的處理已相當(dāng)?shù)轿弧?/p>
本文提出了一種基于深度學(xué)習(xí)的微光條件下圖像處理算法以改善傳統(tǒng)算法在弱光處理方面的不足。具體來(lái)講,利用LTSITD這一目前已知的最大開(kāi)源的弱光數(shù)據(jù)集,通過(guò)使用端到端的全卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果證明了本文方法在噪聲抑制和顏色轉(zhuǎn)換等方面的有效性。