彭晏飛,李 健,顧麗睿,張曼婷
(遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105)
由于陸地資源急劇消耗,對(duì)海洋資源的探索愈發(fā)刻不容緩。拍攝的水下圖像在獲取海洋資源信息中具有不可替代的作用,例如海洋石油勘探、海洋沉船探索[1]等。然而太陽(yáng)光在水中傳播時(shí)會(huì)受到水中介質(zhì)的影響,會(huì)導(dǎo)致太陽(yáng)光中的紅色光的衰減最為嚴(yán)重,因此拍出的圖像會(huì)呈現(xiàn)偏藍(lán)或偏綠的顏色色差。這一現(xiàn)象影響了對(duì)水下圖像的利用,因此對(duì)水下圖像的增強(qiáng)必不可少。
近年來(lái),水下圖像的增強(qiáng)方法有很多種。對(duì)水下圖像的增強(qiáng)大致可分為物理模型[2]、非物理模型[3]和學(xué)習(xí)[4]這3 種方法?;谖锢砟P偷姆椒ㄊ菍?duì)水下圖像的色彩衰減過(guò)程采用數(shù)學(xué)建模,獲取模型參數(shù),并執(zhí)行反轉(zhuǎn)衰減過(guò)程以獲得清晰的水下圖像。王曉琦等人[5]采用灰度世界補(bǔ)償通道矯正色偏,結(jié)合小波分解對(duì)水下圖像進(jìn)行增強(qiáng)?;诜俏锢砟P偷姆椒ㄍㄟ^(guò)調(diào)整圖像像素值改善視覺(jué)質(zhì)量。何笑等人[6]提出了融合引導(dǎo)濾波與小波變換結(jié)合的算法,在保留圖像細(xì)節(jié)的同時(shí)克服了光照不均勻?qū)D像的影響。基于學(xué)習(xí)的方法近年來(lái)逐漸成為研究熱點(diǎn),如循環(huán)生成對(duì)抗網(wǎng)絡(luò)[7]采用不成對(duì)的數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)模型,實(shí)現(xiàn)對(duì)圖像的增強(qiáng)處理,但是,得到的圖像結(jié)構(gòu)信息與輸入圖像的差距明顯。因此,Li 等[8]給出一種弱監(jiān)視顏色補(bǔ)償方法,通過(guò)計(jì)算輸入圖像和網(wǎng)絡(luò)生成圖像之間的結(jié)構(gòu)相似性來(lái)補(bǔ)償內(nèi)容信息,但未對(duì)生成的圖像進(jìn)行顏色校正。Fu 等人[9]從CNN 出發(fā),考慮遠(yuǎn)程上下文信息,提出一種基于圖卷積網(wǎng)絡(luò)(GCNs)模型,將傳統(tǒng)的CNN 和GCN 融合為單一框架。
本文對(duì)傳統(tǒng)條件生成對(duì)抗網(wǎng)絡(luò)(Conditional?GAN)進(jìn)行改進(jìn),在編碼與解碼過(guò)程中引入鏈接塊,鏈接塊由5 層殘差塊組成,并在編碼解碼的每層對(duì)應(yīng)卷積處加入了跳躍連接結(jié)構(gòu)。對(duì)水下圖像進(jìn)行處理時(shí),先將原始圖像使用動(dòng)態(tài)閾值算法進(jìn)行全局顏色校正,將校正后圖像輸入到改進(jìn)后CGAN 網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,之后將網(wǎng)絡(luò)模型生成好的圖像采取雙邊濾波處理,使處理后的圖像擁有較好的視覺(jué)效果。同時(shí)使用L1與L2損失結(jié)合和焦點(diǎn)損失函數(shù),用來(lái)解決圖像顏色色差和樣本不平衡問(wèn)題。此方法可有效去除水下圖像的顏色失真,消除圖像模糊,獲得了較好的圖像增強(qiáng)效果。
白平衡是相機(jī)領(lǐng)域一個(gè)非常重要的概念,可以解決一系列的顏色恢復(fù)和色調(diào)問(wèn)題。白平衡是由電子圖像通過(guò)再現(xiàn)真色而產(chǎn)生的。在專(zhuān)業(yè)成像領(lǐng)域,對(duì)白平衡的使用很早。能準(zhǔn)確反映物體顏色狀態(tài)的相機(jī)圖像的獲取有手動(dòng)白平衡、自動(dòng)白平衡等方法。動(dòng)態(tài)閾值算法[10]歸屬于自動(dòng)白平衡算法。與傳統(tǒng)的算法不同,動(dòng)態(tài)閾值使用圖像統(tǒng)計(jì)而不是臨時(shí)假設(shè)來(lái)估計(jì)參考白點(diǎn)。
生成式對(duì)抗網(wǎng)絡(luò)(GAN)是深度學(xué)習(xí)領(lǐng)域研究熱點(diǎn)之一[11]。生成對(duì)抗網(wǎng)絡(luò)最早是由Goodfellow于2014 年提出的。GAN 可看作為一個(gè)由隨機(jī)噪聲z到輸出圖像映射的模型,而條件生成對(duì)抗網(wǎng)絡(luò)[12]與傳統(tǒng)GAN 相比則添加了條件信息,條件信息y作為生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的輸入。本方法中y為水下圖像。將隨機(jī)噪聲z與條件信息y同時(shí)輸入到生成網(wǎng)絡(luò)中,生成網(wǎng)絡(luò)輸出增強(qiáng)后的水下圖像。將真實(shí)圖像x與條件信息y一起輸入到判別網(wǎng)絡(luò)中,判別網(wǎng)絡(luò)輸出判別概率,概率在[0,1]。CGAN 的網(wǎng)絡(luò)模型優(yōu)化可以總結(jié)為二元極小極大值的對(duì)抗過(guò)程,目標(biāo)函數(shù)V(D,G)可表示為
圖1 CGAN 模型Fig.1 CGAN model
殘差網(wǎng)絡(luò)(ResNet)是由Microsoft Research 4 位專(zhuān)家提出的卷積神經(jīng)網(wǎng)絡(luò)[14]。他們研究發(fā)現(xiàn),伴隨著網(wǎng)絡(luò)層數(shù)加深,網(wǎng)絡(luò)發(fā)生退化現(xiàn)象。當(dāng)網(wǎng)絡(luò)發(fā)生退化時(shí),淺層網(wǎng)絡(luò)能夠獲得比深層網(wǎng)絡(luò)更優(yōu)秀的訓(xùn)練結(jié)果。因此若把淺層特征傳輸至深層,那么效果不比淺層的網(wǎng)絡(luò)效果差。在淺層與對(duì)應(yīng)的深層之間可以采用一條直接映射獲得此效果?;谑褂弥苯佑成溥@種方式來(lái)連接網(wǎng)絡(luò)不同層的思想,殘差網(wǎng)絡(luò)由此被提出。
本文方法首先對(duì)水下圖像使用動(dòng)態(tài)閾值算法進(jìn)行全局的顏色初步矯正,之后將處理后圖像和正常圖像輸入到改進(jìn)的條件生成對(duì)抗網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,最后將訓(xùn)練好的圖像進(jìn)行雙邊濾波去噪處理,進(jìn)而使網(wǎng)絡(luò)中生成的圖像更接近正常圖像,擁有更好的視覺(jué)效果。本文方法整體流程如圖2 所示。
圖2 本文算法流程圖Fig.2 Algorithm flow chart of this paper
3.1.1 白點(diǎn)檢測(cè)
將圖像從RGB 色彩空間轉(zhuǎn)換到Y(jié)CrCb 色彩空間,并且對(duì)圖像進(jìn)行劃分,各區(qū)域?yàn)?00×100像素,之后計(jì)算各區(qū)域的Cb、Cr分量平均值Mb、Mr,然后使用如式(2)和式(3)計(jì)算各區(qū)域的Cb、Cr分量絕對(duì)差的累加值Db、Dr。
其中N為每個(gè)區(qū)域的像素?cái)?shù)。
若Db、Dr的值較小,則忽略此區(qū)域,因?yàn)榇藚^(qū)域的顏色分布平均。統(tǒng)計(jì)其他區(qū)域的Mb、Mr、Db、Dr的平均值作為圖像的Mb、Mr、Db、Dr值。使用式(4)和式(5)初步確定白色參照點(diǎn)。
最后再使用公式(9)~(11)計(jì)算最終每個(gè)通道的顏色值。
其中R、G、B為在原始的顏色空間中值。
經(jīng)過(guò)動(dòng)態(tài)閾值算法處理后的水下圖像會(huì)在全局范圍內(nèi)進(jìn)行顏色修正,如圖3 所示。
圖3 圖像預(yù)處理。(a)原始水下圖像;(b)動(dòng)態(tài)閾值預(yù)處理后的水下圖像。Fig.3 Image pre-processing. (a) Original underwater image; (b) Underwater image after dynamic threshold pre-processing.
本文受傳統(tǒng)的CGAN 模型的啟發(fā)。由于隨機(jī)噪聲z作為生成網(wǎng)絡(luò)輸入會(huì)導(dǎo)致每次生成的圖像有很大差異,因此本文將作為約束條件的隨機(jī)噪聲去除,將模型輸入的條件信息y即原始的水下圖像作為生成網(wǎng)絡(luò)的唯一輸入。本文的CGAN模型如圖4 所示。
圖4 本文CGAN 模型Fig.4 CGAN model of this paper
將正常的水下圖像輸入進(jìn)生成網(wǎng)絡(luò),經(jīng)過(guò)生成網(wǎng)絡(luò)的增強(qiáng)輸出生成圖像。再將正常清晰的圖像與生成的圖像同時(shí)輸入到判別網(wǎng)絡(luò)中,由判別網(wǎng)絡(luò)輸出0~1 的概率值,并且計(jì)算誤差,更新參數(shù)。
3.2.1 生成網(wǎng)絡(luò)
本文使用的生成網(wǎng)絡(luò)在不丟失圖像重要信息的前提下對(duì)圖像進(jìn)行增強(qiáng)。設(shè)計(jì)生成器時(shí)采用U-Net 模型[15]。模型中包含提取圖像信息的下采樣過(guò)程和還原圖像信息的上采樣過(guò)程,即編碼和解碼。U-Net 模型與傳統(tǒng)編碼-解碼模型不同,在網(wǎng)絡(luò)結(jié)構(gòu)中引入跳躍連接,可以緩解在解碼時(shí)的信息冗余,也可以減輕梯度無(wú)法到達(dá)淺層網(wǎng)絡(luò)而發(fā)生的梯度消失問(wèn)題。同時(shí)在編碼與解碼之間引入鏈接塊,鏈接塊由5 層殘差網(wǎng)絡(luò)組成,對(duì)圖像不同的相似特征進(jìn)行提取和組合。本文的生成器結(jié)構(gòu)如圖5 所示。
圖5 生成器結(jié)構(gòu)Fig.5 Generator structure
生成器網(wǎng)絡(luò)采用跳躍連接結(jié)構(gòu),將模型淺層與深層進(jìn)行連接,對(duì)淺層與其對(duì)應(yīng)的深層提取的特征進(jìn)行融合。在編碼過(guò)程中引入批處理歸一化層和LeakyRelu 激活函數(shù)。批處理歸一化層旨在提高網(wǎng)絡(luò)泛化能力,防止過(guò)擬合;LeakyRelu 激活函數(shù)目的在于加速收斂。在解碼過(guò)程中采用批處理歸一化層和LeakyRelu 激活函數(shù)的同時(shí),加入Dropout 操作[16],防止數(shù)據(jù)冗余,加快網(wǎng)絡(luò)訓(xùn)練速度。最后將生成的結(jié)果經(jīng)過(guò)Tanh 函數(shù)處理后輸出,得到生成圖像。
3.2.2 判別網(wǎng)絡(luò)
判別網(wǎng)絡(luò)用以鑒別生成網(wǎng)絡(luò)所生成的圖像和正常清晰圖像,最大程度地將生成圖像與真實(shí)圖像區(qū)分開(kāi)來(lái),同時(shí)判別圖像真假。本文所使用的判別網(wǎng)絡(luò)是一個(gè)5 層卷積的二分類(lèi)模型。在判別網(wǎng)絡(luò)中同時(shí)引入LeakyRelu 激活函數(shù)和批處理歸一化層,目的就是加速收斂,控制過(guò)擬合。在進(jìn)行5 層卷積操作后通過(guò)sigmoid 函數(shù)處理[17],將結(jié)果歸一化為(0,1)區(qū)間。若判別器輸出在(0.5,1)區(qū)間,則判別器判別輸入的圖像為真;反之,則判別輸入的圖像為假;若輸出的結(jié)果在0.5,則說(shuō)明判別器無(wú)法判別生成器所生成的圖像[13]。判別器結(jié)構(gòu)如圖6 所示。
圖6 判別器結(jié)構(gòu)Fig.6 Discriminator structure
為了獲得更好的人眼視覺(jué)效果,本文對(duì)生成后的圖像進(jìn)行去噪操作。通過(guò)采用雙邊濾波算法對(duì)圖像進(jìn)行去噪可以獲得良好的視覺(jué)體驗(yàn)。雙邊濾波是一種非線(xiàn)性的濾波方法,它是結(jié)合圖像的空間鄰近度和像素值相似度的一種折中處理,同時(shí)考慮空域信息和灰度相似性,達(dá)到保留邊緣信息同時(shí)進(jìn)行去噪的目的[18]。雙邊濾波的公式如式(18)所示:
式中:g(i,j)表示輸出點(diǎn),S(i,j)是指以(i,j)為圓心的(2N+1)(2N+1)大小范圍,f(k,l)代表多個(gè)輸出點(diǎn),ω(i,j,k,l)代表經(jīng)過(guò)兩個(gè)高斯函數(shù)獲得的值。如圖7 所示,可以看出經(jīng)過(guò)雙邊濾波算法處理過(guò)的圖像消除了噪聲,同時(shí)邊緣信息保存良好。
圖7 處理前(a)后(b)圖片對(duì)比Fig.7 Image comparison before(a)and after(b)processing
本實(shí)驗(yàn)在Pycharm 仿真平臺(tái)進(jìn)行代碼編寫(xiě),CPU 為AMD R5-3600,內(nèi) 存 為16 GB,GPU 為Nvidia 1 650 s。模型參數(shù)中epoch 設(shè)置為200,batchsize 值設(shè)置為1,優(yōu)化算法選用Adam 算法,學(xué)習(xí)率調(diào)整為0.000 2。編程語(yǔ)言上選用python語(yǔ)言,在Tensorflow 深度學(xué)習(xí)框架下進(jìn)行實(shí)驗(yàn),網(wǎng)絡(luò)訓(xùn)練時(shí)間約為36 h,測(cè)試時(shí)間約為5 min。
本實(shí)驗(yàn)所使用的數(shù)據(jù)集為UIEB[19],此數(shù)據(jù)集中包含890 張?jiān)嫉乃聢D像以及相對(duì)應(yīng)的高質(zhì)量參考圖像,同時(shí)還含有60 張用來(lái)測(cè)試的水下圖像,此數(shù)據(jù)集總計(jì)含有950 張水下圖像。
4.3.1 消融實(shí)驗(yàn)
雙邊濾波作為無(wú)監(jiān)督的增強(qiáng)方法,可在一定程度上提高主觀效果,但會(huì)犧牲客觀評(píng)價(jià)指標(biāo),因此本文增加消融實(shí)驗(yàn)來(lái)驗(yàn)證雙邊濾波算法對(duì)客觀評(píng)價(jià)指標(biāo)的提高,實(shí)驗(yàn)結(jié)果見(jiàn)表1。
表1 不同算法的客觀評(píng)價(jià)對(duì)比Tab.1 Comparison of different algorithms’ objective evaluation
4.3.2 主觀評(píng)價(jià)
UIEB 數(shù)據(jù)集中所包含圖片是在不同的海水水壓以及海水渾濁度中拍攝的。在損失函數(shù)中引入焦點(diǎn)損失函數(shù)是為了使處于不同水壓和渾濁度中拍攝的圖片在模型訓(xùn)練中不會(huì)發(fā)生過(guò)擬合現(xiàn)象。為驗(yàn)證本文方法的實(shí)際優(yōu)化效果,我們將本文方法與Fusion-based、Retinex-based、Histogram prior、Blurriness-based、GDCP 方 法 進(jìn)行比較。從UIEB 數(shù)據(jù)集中隨機(jī)選取3 張真實(shí)的水下圖像進(jìn)行增強(qiáng),從主觀評(píng)價(jià)上進(jìn)行對(duì)比,如圖8 所示。
圖8 不同算法的主觀對(duì)比Fig.8 Subjective comparison of the different algorithms
從圖8 可以看出Fusion-based 處理后的圖像在色彩上有些偏暗;Retinex-based 方法處理后得到的圖像細(xì)節(jié)丟失從第一張圖可以明顯看出;Histogram prior、Blurriness-based 和GDCP 這3 種方法處理后的圖像都有不同程度的顏色失真。最后一列是本文方法對(duì)于這3 張圖像的處理,顏色合適不存在失真現(xiàn)象,擁有較好的視覺(jué)效果。
4.3.3 客觀評(píng)價(jià)
在客觀評(píng)價(jià)中,選擇均方誤差(MSE)、峰值信噪比(PSNR)、結(jié)構(gòu)相似度(SSIM)[13]作為指標(biāo)來(lái)說(shuō)明算法的性能,評(píng)價(jià)指標(biāo)如表1 所示。
MSE 反映增強(qiáng)后的圖像與原圖像的差距,值越小,增強(qiáng)后的圖像越接近原圖像。PSNR 反映的是圖像的失真程度,值越高,失真越少。SSIM 反映了圖像的結(jié)構(gòu)信息完整度,其值可以作為對(duì)比原圖像與增強(qiáng)后的圖像結(jié)構(gòu)相似度的指標(biāo)[20]。由表1 可以 看出,本文算法在3 個(gè)指標(biāo)的數(shù)據(jù)上均優(yōu)于另外5 種算法。結(jié)合主觀以及客觀評(píng)價(jià)得出,本文方法在視覺(jué)上效果良好,增強(qiáng)后的圖像更接近真實(shí)圖像。
對(duì)于水下圖像的顏色失真與模糊問(wèn)題,本文利用深度學(xué)習(xí)原理,采用動(dòng)態(tài)閾值、改進(jìn)條件生成對(duì)抗網(wǎng)絡(luò)與雙邊濾波算法三者相結(jié)合的方法對(duì)水下模糊圖像進(jìn)行增強(qiáng)。網(wǎng)絡(luò)中采用U-Net結(jié)構(gòu),編碼解碼中引入鏈接塊來(lái)對(duì)圖像不同的相似特征進(jìn)行組合,同時(shí)采用批處理歸一化層和LeakyRelu 激活函數(shù)來(lái)防止過(guò)擬合。在損失函數(shù)中加入L1與L2結(jié)合損失函數(shù)對(duì)顏色和結(jié)構(gòu)進(jìn)行恢復(fù)以及焦點(diǎn)噪聲損失函數(shù)以消除類(lèi)別不均衡的問(wèn)題。通過(guò)對(duì)主觀以及客觀評(píng)價(jià)的分析,本文算法在進(jìn)行水下原始圖像增強(qiáng)的過(guò)程中,避免了顏色失真問(wèn)題,同時(shí)也消除了圖像的噪聲影響,有效地對(duì)水下圖像進(jìn)行了增強(qiáng)。