李微,畢曉君
1. 哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱 150001
2. 中央民族大學(xué) 信息工程學(xué)院,北京 100081
水下圖像的質(zhì)量對(duì)海洋軍事、海洋資源開發(fā)等領(lǐng)域的研究具有至關(guān)重要的影響。然而,由于光在水中的衰減,造成獲取的水下圖像呈現(xiàn)出色偏、對(duì)比度低以及不清晰等問題,因此,對(duì)水下圖像進(jìn)行增強(qiáng)成為研究者們關(guān)注的熱點(diǎn)?,F(xiàn)有的水下圖像增強(qiáng)方法分為基于深度學(xué)習(xí)的水下圖像增強(qiáng)算法和基于傳統(tǒng)算法的水下圖像增強(qiáng)算法[1]。傳統(tǒng)的水下圖像增強(qiáng)方法能夠?qū)μ囟▓?chǎng)景下的水下圖像進(jìn)行增強(qiáng),但是傳統(tǒng)算法對(duì)于圖像中出現(xiàn)的不均勻光照、圖像霧化等不同場(chǎng)景下的圖像,容易出現(xiàn)局部區(qū)域過度增強(qiáng)而背景區(qū)域增強(qiáng)不夠且增強(qiáng)效率低的問題,實(shí)際應(yīng)用價(jià)值有限。而近年來,深度學(xué)習(xí)方法[2]在對(duì)圖像進(jìn)行處理上具有良好的效果以及較高的效率,因此,將深度學(xué)習(xí)方法應(yīng)用到水下圖像增強(qiáng)中具有重要意義。
由于深度學(xué)習(xí)方法在提取圖像特征方面的表現(xiàn)良好,本文提出采用深度學(xué)習(xí)網(wǎng)絡(luò)作為水下圖像增強(qiáng)的網(wǎng)絡(luò)。首先本文提出采用生成對(duì)抗網(wǎng)絡(luò)合成水下圖像,制作數(shù)據(jù)集,之后在制作的數(shù)據(jù)集的基礎(chǔ)上訓(xùn)練一個(gè)能夠充分提取水下圖像特征的改進(jìn)U-Net網(wǎng)絡(luò)[3]用于真實(shí)場(chǎng)景下的水下圖像增強(qiáng)。
深度學(xué)習(xí)方法需要規(guī)模龐大的數(shù)據(jù)集對(duì)模型進(jìn)行訓(xùn)練,然而這在深海環(huán)境中很難得到,因此需要制作水下數(shù)據(jù)集,接著利用深度學(xué)習(xí)網(wǎng)絡(luò)提取數(shù)據(jù)集中的水下圖像特征,使網(wǎng)絡(luò)能夠應(yīng)用到真實(shí)場(chǎng)景下的水下圖像增強(qiáng)。
Wang等[4]提出一種端到端的基于卷積神經(jīng)網(wǎng)絡(luò)的水下圖像增強(qiáng)模型(underwater image enhancement-net,UIE-Net),該方法首先利用水下成像模型合成了水下數(shù)據(jù)集,再將UIE-Net中的去霧子網(wǎng)絡(luò)和顏色校正子網(wǎng)絡(luò)分別用于圖像去霧和校正色偏2個(gè)任務(wù),同時(shí)采用像素破壞策略來提取圖像局部模塊的固有特征,并且減少噪聲的干擾,從而極大地加快了模型的收斂速度和精度。Li等[5]提出一種能夠合成水下風(fēng)格圖像的生成對(duì)抗網(wǎng)絡(luò),稱為WaterGAN,WaterGAN通過無水圖像和深度圖像經(jīng)過真實(shí)水下圖像的渲染合成模擬的水下圖像,然后將模擬的水下圖像和無水真實(shí)圖像以及深度圖像都用于提供兩階段的深度學(xué)習(xí)網(wǎng)絡(luò),網(wǎng)絡(luò)可以用來校正真實(shí)場(chǎng)景下的水下圖像。Fabbri等[6]提出一種魯棒性高的生成對(duì)抗網(wǎng)絡(luò),該網(wǎng)絡(luò)首先使用循環(huán)一致性生成對(duì)抗網(wǎng)絡(luò)在未失真的圖像基礎(chǔ)上重建失真的圖像,然后對(duì)成對(duì)的水下圖像進(jìn)行訓(xùn)練,訓(xùn)練出一種魯棒性高的網(wǎng)絡(luò),該網(wǎng)絡(luò)可以將模糊的水下圖像轉(zhuǎn)換為清晰的高分辨率圖像。Li等[7]提出了一種基于水下場(chǎng)景先驗(yàn)的卷積神經(jīng)網(wǎng)絡(luò)模型,稱為UWCNN。該模型結(jié)合水下成像模型和水下場(chǎng)景的光學(xué)特性,通過不同場(chǎng)景下的真實(shí)水下圖像合成了涵蓋不同水類型和退化程度的水下圖像退化數(shù)據(jù)集,利用相應(yīng)的訓(xùn)練數(shù)據(jù)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到的模型能用于真實(shí)水下圖像的增強(qiáng)。此外,基于該網(wǎng)絡(luò)的參數(shù)少、運(yùn)算速度快,UWCNN模型可以擴(kuò)展到水下視頻中進(jìn)行逐幀增強(qiáng)。
現(xiàn)有的深度學(xué)習(xí)方法已經(jīng)在水下圖像增強(qiáng)領(lǐng)域取得了重大的突破,能夠?qū)Σ糠謭D像進(jìn)行有效地增強(qiáng)。但是現(xiàn)有方法合成的水下數(shù)據(jù)集與真實(shí)場(chǎng)景下的水下圖像還存在差距,以及現(xiàn)有深度學(xué)習(xí)模型不能充分提取不同風(fēng)格水下圖像的全部特征,從而不能應(yīng)用到不同風(fēng)格的水下圖像中的問題,模型缺乏通用性。針對(duì)水下圖像合成質(zhì)量的問題,本文首先提出一個(gè)水下成像模型,然后使用生成對(duì)抗網(wǎng)絡(luò)模擬水下成像模型的過程,并對(duì)水下成像模型的參數(shù)進(jìn)行自適應(yīng)的學(xué)習(xí),解決了基于水下成像模型人工設(shè)計(jì)參數(shù)的不足,同時(shí)訓(xùn)練好的網(wǎng)絡(luò)恰好能擬合水下退化的真實(shí)過程。針對(duì)現(xiàn)有水下圖像增強(qiáng)方法不能充分提取水下圖像特征提取而導(dǎo)致模型通用性不足的問題,本文采用特征提取能力出色的U-Net網(wǎng)絡(luò)作為水下特征提取的基礎(chǔ)網(wǎng)絡(luò),引入注意力機(jī)制[8]對(duì)水下圖像目標(biāo)區(qū)域和背景區(qū)域的對(duì)比度進(jìn)行增強(qiáng),從而提升圖像整體質(zhì)量。
目前,基于深度學(xué)習(xí)的水下圖像增強(qiáng)方法研究的難點(diǎn)為水下數(shù)據(jù)集的獲取。模型的訓(xùn)練需要同一位置的無水圖像和退化圖像,但是無水圖像很難得到。因此,本文首先通過提出一個(gè)新的水下成像模型,利用生成對(duì)抗網(wǎng)絡(luò),將無水圖像經(jīng)過真實(shí)水下圖像的渲染生成無水圖像對(duì)應(yīng)的合成水下圖像,從而建立成對(duì)的水下數(shù)據(jù)集。
2.1.1 水下成像模型
光在水中傳播過程中,由于水體對(duì)光的吸收和散射造成光的衰減,水下環(huán)境中還存在水中懸浮顆粒、浮游微生物和無機(jī)鹽等都能吸收光能,同時(shí)產(chǎn)生光的散射效應(yīng)而改變光的傳輸路徑,從而使在水下獲取的圖像出現(xiàn)色偏、不清晰以及對(duì)比度低等問題。經(jīng)典的水下成像模型為
式中:x為 圖像中的每個(gè)像素;J(x)為無水圖像;t(x)為傳輸效率;E(x)為退化圖像;η為衰減系數(shù);d(x)為目標(biāo)到水下相機(jī)的距離;B與圖像遠(yuǎn)處的背景光相關(guān)。
經(jīng)典模型只考慮了光在水中的直接衰減和后向散射衰減的影響,然而,水下環(huán)境中由于溫度低,使得水中的小水滴和水汽凝結(jié)形成水霧,水霧會(huì)使得光傳輸衰減。當(dāng)水下相機(jī)獲取圖像時(shí),圖像場(chǎng)景深處的霧化程度和場(chǎng)景淺處的霧化程度不一致,從而造成水下圖像的不同地方因?yàn)殪F的影響而造成的能見度低下的程度不一樣。而普通的水下模型沒有考慮場(chǎng)景深度與霧化程度的影響,在場(chǎng)景深度變化大的圖像中合成效果差,難以模擬出圖像在場(chǎng)景深處的霧化效果。因此,其合成的水下圖像就不能很好的模擬真實(shí)水下圖像成像的特性。本文結(jié)合場(chǎng)景深度對(duì)圖像霧化的影響,并對(duì)直接衰減和后向散射衰減提供2個(gè)不同的衰減系數(shù),提出的水下成像模型為
式中:x為 圖像中的每個(gè)像素;J(x)為無水圖像;t(x) 為水中自然衰減的傳輸效率;β(λ)為水中不同波長(zhǎng)的光在水下的衰減系數(shù);d(x)為目標(biāo)物到水下相機(jī)的距離;t′(x)為水中霧化情況下光的傳輸效率;α為衰減系數(shù);I(x)為退化后的圖像。
2.1.2 基于生成對(duì)抗網(wǎng)絡(luò)的水下圖像生成模型
近年來生成對(duì)抗網(wǎng)絡(luò)在圖像生成領(lǐng)域表現(xiàn)良好,本文利用生成對(duì)抗網(wǎng)絡(luò)模擬水下成像模型的衰減、散射以及霧化進(jìn)行生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì),能夠自適應(yīng)地學(xué)習(xí)水下成像模型的參數(shù),網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。具體方法為采用無水深度圖像作為生成器的輸入,利用真實(shí)場(chǎng)景下的水下圖像作為判別器的監(jiān)督圖像,來引導(dǎo)生成器生成圖像的風(fēng)格,從而使得生成器生成的圖像與真實(shí)場(chǎng)景的水下圖像難以區(qū)分,達(dá)到生成的圖像與真實(shí)的圖像具有相同水下風(fēng)格的目的,從而制作成對(duì)的水下數(shù)據(jù)集。合成的2種風(fēng)格的圖像如圖2所示,圖2(a)列為無水圖像,圖2(b)列監(jiān)督圖像為淺水圖像對(duì)應(yīng)的合成水下圖像,圖2(c)列監(jiān)督圖像為深水圖像對(duì)應(yīng)的合成水下圖像。
圖1 水下圖像生成網(wǎng)絡(luò)整體框架
圖2 2種風(fēng)格的合成圖像示例
本文提出在U-Net網(wǎng)絡(luò)的基礎(chǔ)框架上引入注意力機(jī)制作為水下圖像增強(qiáng)的模型,模型整體框架如圖3所示。
圖3 水下圖像增強(qiáng)整體框架
2.2.1 特征提取
本文水下圖像增強(qiáng)模型一共4層,模型輸入像素為256×256的彩色圖像,壓縮路徑在第1~4層的卷積核數(shù)量依次為32、64、128、256;2層之間進(jìn)行1個(gè)2倍收縮的下采樣,每1層圖像大小依次為256×256、128×128、64×64、32×32;擴(kuò)增路徑與壓縮路徑對(duì)稱,在2層之間采用1個(gè)2倍擴(kuò)增的上采樣,在同層之間使用跳躍連接融合擴(kuò)增路徑與收縮路徑的特征信息,在第3層的跳躍連接之間引入1個(gè)注意力機(jī)制模塊,提高深層抽象特征的學(xué)習(xí)能力,注意力機(jī)制模塊的輸入為收縮路徑第3層的輸出和經(jīng)過上采樣的第4層輸出,獲得抽象特征的注意力概率分布之后,注意力機(jī)制的輸出再與經(jīng)過上采樣的第4層輸出進(jìn)行信息融合。收縮路徑與擴(kuò)增卷積的卷積層的卷積核大小均為3×3,每個(gè)卷積層后面跟1個(gè)非線性激活函數(shù)Relu,模型輸出的卷積核數(shù)量為3。
2.2.2 損失函數(shù)
在水下圖像增強(qiáng)網(wǎng)絡(luò)中,選擇一個(gè)合理的損失函數(shù)引導(dǎo)網(wǎng)絡(luò)增強(qiáng)后的圖像能夠逼近監(jiān)督圖像尤為關(guān)鍵,同時(shí)可減少網(wǎng)絡(luò)的訓(xùn)練時(shí)間,幫助網(wǎng)絡(luò)更好地訓(xùn)練。L1損失廣泛應(yīng)用于圖像增強(qiáng)領(lǐng)域中,同時(shí)圖像的結(jié)構(gòu)相似程度也是衡量圖像增強(qiáng)質(zhì)量的一個(gè)重要指標(biāo),因此,采用式(3)作為總的損失函數(shù):
式中:Lloss為總損失;L1為絕對(duì)誤差損失;Lssim為 結(jié)構(gòu)相似度損失;T(x)表示監(jiān)督圖像中像素x的值;G(x)表示增強(qiáng)圖像中像素x的值;?為2個(gè)損失各自的權(quán)重系數(shù)。
本實(shí)驗(yàn)的硬件環(huán)境配置Intel?CoreTMi7-7700 CPU@3.6 GHz×8,64位處理器,采用GeForce GTX 1080TiGPU進(jìn)行運(yùn)算加速,操作系統(tǒng)為64位Ubuntu 16.04,采用TensorFlow2.0框架以及python3.6進(jìn)行程序?qū)崿F(xiàn)。
水下圖像生成模型的訓(xùn)練代數(shù)為10,批量大小為8,優(yōu)化器為Adam,指數(shù)衰減因子0.5,學(xué)習(xí)率2×10?4;水下圖像增強(qiáng)模型的訓(xùn)練代數(shù)為200,批量大小為32,優(yōu)化器為Adam,指數(shù)衰減因子0.9,學(xué)習(xí)率2×10?4。
采用NYU Depth dataset V1[9]和NYU Depth dataset V2[10]中的無水圖像以及對(duì)應(yīng)的深度圖像共3 728張,經(jīng)過水下機(jī)器人大賽官方提供的淺水區(qū)域和深水區(qū)域2種風(fēng)格的真實(shí)水下圖像的渲染,合成無水圖像對(duì)應(yīng)的水下圖像,從而構(gòu)造了水下數(shù)據(jù)集。將合成水下數(shù)據(jù)集分2部分,用3 712對(duì)合成圖像進(jìn)行水下圖像增強(qiáng)模型的訓(xùn)練。測(cè)試集包括3個(gè)數(shù)據(jù)集:數(shù)據(jù)集1為16對(duì)合成數(shù)據(jù)集;數(shù)據(jù)集2為水下機(jī)器人官方提供的數(shù)據(jù)集,包括淺水區(qū)域圖像2 069張,深水區(qū)域圖像2 173張;數(shù)據(jù)集3為多場(chǎng)景的UIEBD數(shù)據(jù)集[11],共890張。
為了驗(yàn)證本章所提出模型的有效性和先進(jìn)性,進(jìn)行了一系列對(duì)比實(shí)驗(yàn),對(duì)比方法包括以HE[12]、Fusion[13]為代表的基于像素值重新分配的水下圖像增強(qiáng)方法,以UDCP[14]、IBLA[15]、MIP[16]為代表的基于水下成像模型的水下圖像增強(qiáng)方法,以UWCNN[7]為代表的基于深度學(xué)習(xí)的水下圖像增強(qiáng)算法。
3.3.1 算法有效性驗(yàn)證
首先,為了驗(yàn)證添加注意力機(jī)制模塊的有效性,使用數(shù)據(jù)集1中的訓(xùn)練集分別對(duì)添加注意力機(jī)制的U-Net水下圖像增強(qiáng)網(wǎng)絡(luò)與未添加注意力機(jī)制的U-Net水下圖像增強(qiáng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。使用合成的水下圖像作為網(wǎng)絡(luò)的輸入,將相應(yīng)的無水圖像作為網(wǎng)絡(luò)的監(jiān)督圖像,通過訓(xùn)練集的訓(xùn)練得到訓(xùn)練好的模型。由于數(shù)據(jù)集1中的合成水下圖像具有對(duì)應(yīng)的無水圖像作為監(jiān)督圖像,因此,在數(shù)據(jù)集1中的測(cè)試集中采用有參考圖像的評(píng)價(jià)標(biāo)準(zhǔn)峰值信噪比(peak signal-to-noise ratio,PSNR)和結(jié)構(gòu)相似度(Structural SIMilarity,SSIM)進(jìn)行不同方法測(cè)試效果的對(duì)比,結(jié)果如表1所示。
表1 不同方法的PSNR和SSIM結(jié)果對(duì)比
表1中,Ours1為未添加注意力機(jī)制的U-Net水下圖像增強(qiáng)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果,Ours2為添加注意力機(jī)制的U-Net水下圖像增強(qiáng)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果。對(duì)比二者可以看出,在U-Net網(wǎng)絡(luò)中添加注意力機(jī)制模塊能夠有效提升圖像的SSIM值與PSNR值。同時(shí),由表1可知,基于深度學(xué)習(xí)的水下圖像增強(qiáng)方法通過對(duì)訓(xùn)練集特征的提取,在與訓(xùn)練集同分布的數(shù)據(jù)集1上的增強(qiáng)表現(xiàn)優(yōu)于其他方法,證明了深度學(xué)習(xí)方法在數(shù)據(jù)集1上的優(yōu)越性。
3.3.2 算法先進(jìn)性驗(yàn)證
為了驗(yàn)證模型在不同風(fēng)格水下圖像中的泛化能力,采用數(shù)據(jù)集2這種真實(shí)場(chǎng)景下的水下圖像作為測(cè)試集能夠更有效地說明模型對(duì)真實(shí)場(chǎng)景下圖像的增強(qiáng)效果。而本文所提出的模型是在數(shù)據(jù)集1中的水下風(fēng)格合成圖像上進(jìn)行訓(xùn)練的,而數(shù)據(jù)集1的水下風(fēng)格來源于數(shù)據(jù)集2,因此,模型經(jīng)過訓(xùn)練能夠?qū)W習(xí)到數(shù)據(jù)集2中2種水下風(fēng)格圖像的特征,以此作為先驗(yàn)信息,從而在類似風(fēng)格的水下圖像中增強(qiáng)效果明顯。為了驗(yàn)證本文所提出的模型能夠?qū)Σ煌L(fēng)格的水下退化圖像進(jìn)行增強(qiáng)的通用性,在含有豐富水下場(chǎng)景的數(shù)據(jù)集3上進(jìn)行實(shí)驗(yàn)。如圖4—圖6所示。
圖4 不同算法對(duì)示例1的增強(qiáng)效果
圖5 不同算法對(duì)示例2的增強(qiáng)效果圖
圖6 不同算法對(duì)示例3的增強(qiáng)效果
圖4—圖6分別為不同算法在數(shù)據(jù)集2中淺水區(qū)域的水下圖像增強(qiáng)效果示例、數(shù)據(jù)集2中深水區(qū)域的水下圖像增強(qiáng)效果示例以及數(shù)據(jù)集3中水下圖像增強(qiáng)效果示例。由圖4—圖6可以看出,HE方法能夠顯著提升圖像的亮度和色彩度,但是對(duì)水下物體會(huì)出現(xiàn)由于過度增強(qiáng)而導(dǎo)致失真的情況;Fusion方法增強(qiáng)之后的圖像在場(chǎng)景深度深處增強(qiáng)不徹底,同樣會(huì)出現(xiàn)失真的情況;UDCP方法增強(qiáng)的圖像偏暗;IBLA方法增強(qiáng)的圖像會(huì)使顏色更深,MIP方法僅能夠降低水下衰減的程度,對(duì)圖像全局改善有限;UWCNN增強(qiáng)的圖像能夠貼近沒有水下衰減的情況,但是圖像整體偏暗;本文算法能夠顯著提高圖像的對(duì)比度與清晰度,校正圖像色偏,徹底去除水下衰減的影響,尤其在場(chǎng)景深度深的背景區(qū)域,增強(qiáng)效果明顯優(yōu)于其他方法。
為了客觀驗(yàn)證本文算法的先進(jìn)性,采用無參考圖像評(píng)價(jià)指標(biāo)UIQM這種能夠?qū)D像色彩豐富度、圖像清晰度以及圖像對(duì)比度綜合考慮的評(píng)價(jià)指標(biāo)對(duì)圖像質(zhì)量進(jìn)行評(píng)價(jià)。圖4—圖6中圖像的UIQM值如表2所示。
表2 不同方法的UIQM值對(duì)比
由表2可以看出,本文算法在3張圖中的UIQM值都為最高,展現(xiàn)出本文算法的優(yōu)越性,同時(shí),HE算法的UIQM值也較高。
對(duì)3個(gè)數(shù)據(jù)集的所有水下退化圖像進(jìn)行測(cè)試,得到的UIQM均值如表3所示。
表3 不同方法在3個(gè)數(shù)據(jù)集上的UIQM均值對(duì)比
UIQM值近似看作與圖像質(zhì)量呈正相關(guān)。表3中,淺水?dāng)?shù)據(jù)集和深水?dāng)?shù)據(jù)集中的HE方法的UIQM均值最高,然而HE方法是通過像素的重新分布,對(duì)圖像的色彩度和亮度進(jìn)行過量提高,從而UIQM值也偏高,同時(shí)圖像也會(huì)出現(xiàn)失真的現(xiàn)象,因此UIQM值不一定能夠準(zhǔn)確地衡量圖像質(zhì)量?;谥饔^視覺與客觀指標(biāo)的綜合評(píng)價(jià),本文算法能夠?qū)?個(gè)數(shù)據(jù)集的水下退化圖像進(jìn)行有效地增強(qiáng),且使增強(qiáng)后的圖像符合人類視覺感知,模型的泛化能力強(qiáng)。
表4為不同算法在數(shù)據(jù)集3中890張圖像上生成增強(qiáng)圖像的平均速度。結(jié)果表明,基于深度學(xué)習(xí)的方法包括UWCNN與本文算法的增強(qiáng)效率優(yōu)于傳統(tǒng)算法。
表4 不同算法在單張圖像上的平均增強(qiáng)速度
結(jié)果表明,基于深度學(xué)習(xí)的方法包括UWCNN。
本文首先提出一個(gè)新的水下成像模型用于合成具有水下特征的數(shù)據(jù)集,通過改進(jìn)U-Net網(wǎng)絡(luò)對(duì)合成的數(shù)據(jù)集進(jìn)行訓(xùn)練得到增強(qiáng)網(wǎng)絡(luò)模型。通過在3個(gè)不同的數(shù)據(jù)集上進(jìn)行算法的有效性和先進(jìn)性驗(yàn)證。結(jié)果表明,經(jīng)過本文算法增強(qiáng)后的圖像提高了圖像的對(duì)比度和清晰度,同時(shí)能夠有效校正圖像色偏,提高水下圖像的整體質(zhì)量,能夠有效地對(duì)不同場(chǎng)景下的水下圖像進(jìn)行增強(qiáng),模型通用性強(qiáng)。同時(shí)在主觀視覺上,增強(qiáng)后的圖像符合人類視覺感知,貼近真實(shí)。且增強(qiáng)的效率高,為水下圖像的實(shí)時(shí)增強(qiáng)提供了可能。