(上海海事大學(xué)商船學(xué)院 上海 200000)
隨著海洋經(jīng)濟(jì)越來越受到重視,水下機(jī)器人應(yīng)用也越來越廣泛,為了可以在危險(xiǎn)的水下環(huán)境工作,水下機(jī)器人應(yīng)用技術(shù)也成為了研究的熱點(diǎn)[1]。圖像作為水下機(jī)器人識(shí)別環(huán)境的重要手段之一,在獲取海洋信息方面具有特殊的意義。水下環(huán)境有太多不確定因素導(dǎo)致水下圖像不清晰,通常會(huì)有“霧化”和色偏現(xiàn)象,其原因是因?yàn)樗械碾s質(zhì)會(huì)使光發(fā)生散射從而產(chǎn)生“霧化”現(xiàn)象,而水體對(duì)于不同波長光的吸收能力的不同導(dǎo)致水下圖像產(chǎn)生了顏色失真的現(xiàn)象[2],水體對(duì)圖像的影響讓水下圖像的應(yīng)用變得困難,目前對(duì)于水下圖像的增強(qiáng)方法研究可以分為基于非物理模型的圖像增強(qiáng)算法和物理模型的圖像復(fù)原算法[3],改善圖像質(zhì)量可以讓水下機(jī)器人應(yīng)用更加高效便捷。
水下圖像處理方法有白平衡算法[4],和直方圖均衡化算[5](Histogram Equalization,HE),自適應(yīng)直方圖均衡化法[6](Contrast Limited Adaptive His-to?gram Equalization,CLAHE),retinex算法[7]以及暗通道先驗(yàn)算法(Dark Channel Prior,DCP)[8]等,以上方法對(duì)于部分水下圖像處理有一定效果,但不具備普適性。近些年深度學(xué)習(xí)對(duì)于圖像增強(qiáng)的研究進(jìn)展非???,利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練生成無偏差圖像也成為水下圖像處理的的一種新方法。
另外,基于顏色恒常理論為基礎(chǔ)改進(jìn)的水下圖像增強(qiáng)算法也具有很好的效果[9],顏色恒常理論指出,物體的顏色取決于不同波長光的反射能力且不受光照不均勻的影響,retinex算法以顏色恒常理論為基礎(chǔ),通過模擬人眼視網(wǎng)膜的成像原理實(shí)現(xiàn)水下圖像的色彩校正和對(duì)比度增強(qiáng),Zhuang[10]等采用多尺度retinex算法對(duì)水下圖像進(jìn)行處理得到對(duì)比度較高的圖片。白平衡方法是根據(jù)圖像呈現(xiàn)的色溫來糾正圖片色彩偏差的,根據(jù)白平衡算法提出的多種改進(jìn)算法也獲得了較好的結(jié)果。直方圖均衡化方法是將圖像的灰度直方圖中的灰度區(qū)間集中部分均勻拉伸,擴(kuò)大圖像的灰度值范圍并增加對(duì)比度,從而突出細(xì)節(jié)效果。暗通道先驗(yàn)法由He[11]于2009年提出,統(tǒng)計(jì)分析大量戶外無霧圖片R、G、B三通道像素值后建立去霧模型,應(yīng)用在普通圖像去霧場(chǎng)景,對(duì)水下增強(qiáng)沒有效果,Chiang[12]將波長補(bǔ)償和DCP結(jié)合增強(qiáng)水下圖像,湯忠強(qiáng)[13]等通過亮通道和暗通道的作差得到景深圖,取反景深圖得出透射圖,最后校正圖像顏色調(diào)整亮度得出增強(qiáng)圖像。
應(yīng)用深度學(xué)習(xí)進(jìn)行水下圖像處理的越來越廣泛,Ding等[14]提出利用卷積神經(jīng)網(wǎng)絡(luò)生成水下高清圖像,利用自適應(yīng)色彩糾正方法恢復(fù)圖像色彩,再利用超分辨率重構(gòu)去除圖像模糊。Wang等[15]提出基于端到端網(wǎng)絡(luò)UIE-net,訓(xùn)練網(wǎng)絡(luò)估算三色通道的衰減系數(shù),修正圖像的色彩和對(duì)比度。
圖像歸一化常被用于醫(yī)學(xué)圖像增強(qiáng)領(lǐng)域,水下圖像存在模糊和對(duì)比度低等問題和醫(yī)學(xué)圖像類似,可以通過提高圖像對(duì)比度使圖像中的特征對(duì)比明顯,使圖像變得清晰。歸一化就在保留具有價(jià)值的灰度差異的同時(shí),減小甚至消除圖像中灰度不一致而進(jìn)行的圖像轉(zhuǎn)換方法,灰度圖像具有256個(gè)灰度級(jí),圖像的實(shí)際灰度范圍沒有占滿全部灰度級(jí),而是集中在一個(gè)區(qū)段,歸一化處理可以使圖像像素亮度分布平衡,減少光照不均勻造成的影響[16]。其數(shù)學(xué)表達(dá)式如式(1)所示:
式中:N(i,j)為原圖像的灰度值;I(i,j)變換后的灰度值;min為原圖像中灰度最小值,max為灰度最大值。
GAN(Generative Adversarial Network)全稱為生成對(duì)抗網(wǎng)絡(luò)[17],是近年來圖像處理領(lǐng)域最廣泛應(yīng)用的深度學(xué)習(xí)網(wǎng)絡(luò),主要結(jié)構(gòu)包括一個(gè)生成器G(Generator)和一個(gè)判別器D(Discriminator),生成器可以捕捉真實(shí)的數(shù)據(jù)分布,并生成接近真實(shí)的數(shù)據(jù)分布,而判別器則判斷是否屬于真實(shí)數(shù)據(jù)分布,并輸出數(shù)據(jù)分布的概率,通過這種對(duì)抗學(xué)習(xí)的方式,來學(xué)習(xí)數(shù)據(jù)分布的生成式模型,其網(wǎng)絡(luò)架構(gòu)如圖1所示。GAN的優(yōu)化過程是兩個(gè)網(wǎng)絡(luò)之間的博弈過程[18],其優(yōu)化的方向是達(dá)到納什平衡,GAN的目標(biāo)函數(shù)如式(2)所示:
式中Ex~pdata(x)和Ex(z)~pz(z)分別表示判別器分布概率的數(shù)學(xué)期望。
SRGAN是用于圖像超分辨率復(fù)原的對(duì)抗生成網(wǎng)絡(luò),其損失函數(shù)包括感知損失(perceptual loss)和對(duì)抗損失(adversarial loss),感知損失通過神經(jīng)網(wǎng)絡(luò)提取出特征與目標(biāo)圖片的特征進(jìn)行對(duì)比得出損失函數(shù),進(jìn)一步訓(xùn)練使生成的圖像與目標(biāo)圖像更接近。
如圖2所示,生成器結(jié)構(gòu)中的網(wǎng)絡(luò)共有23層,包括卷積、批量歸一化、ReLU激活層,首先低分辨率圖像通過一個(gè)64通道步長為1的卷積層,然后通過16個(gè)殘差網(wǎng)絡(luò)結(jié)構(gòu),每一個(gè)殘差卷積塊包括6個(gè)64通道步長為1的小塊,提取出的特征在殘差塊中采用跳躍連接,每一層的結(jié)果與上一層的輸出疊加在一起,經(jīng)過卷積層后與第一層的卷積結(jié)果再疊加,可以防止低層特征損失;反卷積層的上采樣使圖片的長或?qū)挃U(kuò)張,經(jīng)過兩個(gè)上采樣變?yōu)樵瓉淼?倍,然后利用一個(gè)3通道的卷積對(duì)原來的通道數(shù)進(jìn)行一個(gè)調(diào)整,最終得到一個(gè)4倍分辨率的圖片。
圖2 SRGAN網(wǎng)絡(luò)結(jié)構(gòu)
判別器網(wǎng)絡(luò)結(jié)構(gòu)只有一個(gè)64通道步長為1的卷積層,以及重復(fù)多個(gè)卷積結(jié)構(gòu),卷積層分為步長為1和2的兩種,重復(fù)交叉分布在網(wǎng)絡(luò)中,通過重復(fù)結(jié)構(gòu)之后,原始輸入圖片長和寬變?yōu)樽優(yōu)樵紙D像的1/16,在最后一個(gè)通道數(shù)為512的輸出之后,通過一個(gè)全連接層和sigmoid函數(shù)激活得到判別結(jié)果,再接一個(gè)維度為1的全連接層來輸出結(jié)果。
在訓(xùn)練過程中,高清訓(xùn)練集輸入網(wǎng)絡(luò)會(huì)先生成一幅低分辨率圖像,低分辨率圖像通過生成器生成一幅虛假的高分辨率圖像,此時(shí),將高分辨率的真實(shí)圖像與生成的虛假高分辨率圖像傳入判別模型中判別真假,在對(duì)比過程中生成訓(xùn)練判別模型的損失函數(shù);同時(shí),真假圖像傳入VGG網(wǎng)絡(luò)后,獲取圖像的特征并進(jìn)行對(duì)比,再得到生成模型的損失函數(shù),如圖3所示。
圖3 訓(xùn)練流程
SRGAN損失函數(shù)如下所示:
內(nèi)容損失包括MSE損失函數(shù)如下所示:
式中W和H代表圖像的寬和高,表示高分辨率的圖像,ILR為低分辨率圖像,G表示生成器,通過與之間的誤差得到MSE,提高信噪比。
基于ReLU的VGG損失函數(shù)如下所示:
式中φi,j表示某個(gè)卷積層的特征圖,用于計(jì)算與生成圖像之間的歐式距離,以便生成更好的細(xì)節(jié)。
對(duì)抗損失如式(6)所示:
對(duì)抗損失用于計(jì)算生成的圖像判定為真實(shí)圖像的概率,其中N表示像素?cái)?shù)。
首先將圖像通過灰度歸一化進(jìn)行一次預(yù)處理,受湯忠強(qiáng)[13]等啟發(fā),將圖像水下模糊圖像分解為三通道的并對(duì)其進(jìn)行處理,對(duì)三通道的灰度圖像分別進(jìn)行歸一化,使其像素的灰度值分布在0~255之間,再將三通道的灰度圖融合,得到的圖像通過SRGAN網(wǎng)絡(luò)進(jìn)行超分辨率重構(gòu)獲得清晰的水下圖像,算法流程如圖4所示。
利用歸一化后的圖像與上文搭建的深度學(xué)習(xí)網(wǎng)絡(luò)可以很好地獲得清晰的水下圖像。
本文用于歸一化算法測(cè)試的的水下圖像為50張,深度學(xué)習(xí)超分辨率重構(gòu)的高清圖像集包括800張,經(jīng)過旋轉(zhuǎn)擴(kuò)充為1500張。
灰度歸一化算法基于Python3.6環(huán)境,SRGAN用TensorFlow框架的Keras模型進(jìn)行實(shí)驗(yàn),CPU為i7處理器,GPU為 NVIDIA GTX1080 Ti,顯存為64GB。生成器殘差塊層數(shù)為16層,初始學(xué)習(xí)率為0.0001,衰減率為0.1。
為驗(yàn)證本文算法的效果,復(fù)現(xiàn)了其他三種水下圖像處理算法,分別為UDCP、Retinex算法和UCM方法,與本文算法進(jìn)行視覺對(duì)比。
選取8張圖片分別用以上四種方法處理,如圖5所示。其中UDCP基于水下暗通道先驗(yàn)復(fù)原方法是估計(jì)背景光選取暗通道中最亮的點(diǎn)作為背景光,使目標(biāo)和背景對(duì)比更鮮明,同時(shí)對(duì)于整體背景顏色過暗的圖像修正效果不佳;UCM算法[19]通過統(tǒng)計(jì)方法對(duì)R、G和B顏色通道進(jìn)行對(duì)比度拉伸方法實(shí)現(xiàn)對(duì)比度增強(qiáng),在HIS顏色模型中對(duì)飽和度S和強(qiáng)度I對(duì)比度拉伸來增加飽和度,對(duì)圖像的作用比較明顯,過度飽和會(huì)使圖像的整體顏色偏紅,對(duì)背景顏色較深的圖像效果較好。從對(duì)比結(jié)果中可以看出本文算法能夠更好地適應(yīng)各種水下圖像場(chǎng)景的色彩糾正。
圖5 水下圖像處理方法對(duì)比
除了視覺主觀上對(duì)比以外,更對(duì)以上四種算法進(jìn)行質(zhì)量評(píng)價(jià)。評(píng)價(jià)使用的四種方法分別是圖片結(jié)構(gòu)相似性算法(SSIM)、峰值信噪比(PSNR)、水下彩色圖像質(zhì)量評(píng)價(jià)(UCIQE)和熵(Entropy)[20]。SSIM值和PSNR的值越高代表圖像失真越??;PSNR是重建質(zhì)量的測(cè)量方法,通過MSE定義,分值越高圖像質(zhì)量越好;UCIQE是針對(duì)水下圖像分別從色度、飽和度和對(duì)比度進(jìn)行評(píng)價(jià)的綜合指標(biāo),分值越高代表恢復(fù)質(zhì)量越好;Entropy的分值高表示圖像包含的信息越多。
從表1中的數(shù)據(jù)可以看出本文提出的算法在各項(xiàng)指標(biāo)中分值較高,結(jié)合主觀評(píng)價(jià)的結(jié)果證明本文所提出的方法可以有效地處理水下圖像。
表1 客觀評(píng)價(jià)結(jié)果
本文通過對(duì)RGB三通道灰度圖歸一化處理得到增強(qiáng)的水下圖像,其背景顏色得到改善。再基于深度學(xué)習(xí)對(duì)恢復(fù)后的水下圖像進(jìn)行超分辨率重構(gòu)得到紋理清晰的水下圖像,經(jīng)過處理的圖像質(zhì)量明顯提高,其邊緣銳度和整體的對(duì)比度都得到改善,整體圖像更加清晰。
本文所提出的方法相比其他方法在部分場(chǎng)景下的增強(qiáng)效果還有待改善,在客觀評(píng)價(jià)體系中的各項(xiàng)結(jié)果均高于對(duì)比圖像處理算法,結(jié)合主觀評(píng)價(jià)和客觀評(píng)價(jià)結(jié)果來看,對(duì)于水下場(chǎng)景具有普適性,試驗(yàn)結(jié)果也證明本文提出的方法對(duì)水下圖像增強(qiáng)的有效性。