郭 強(qiáng),孟祥眾
(西安工業(yè)大學(xué), 西安 710021)
在水下進(jìn)行武器系統(tǒng)測試、訓(xùn)練等任務(wù)時,需要獲取清晰的武器圖像數(shù)據(jù),這對評估武器系統(tǒng)的動態(tài)參數(shù),對武器系統(tǒng)訓(xùn)練有重大作用。但是,由于光在水中傳輸時的衰減和散射效應(yīng)[1],水下光學(xué)傳感器收集的水下武器圖像對比度低,難以對水下武器裝備測試訓(xùn)練做到準(zhǔn)確評估,因此,水下圖像增強(qiáng)對武器裝備測試等方面具有重要意義。
目前,水下圖像增強(qiáng)與復(fù)原分為非深度學(xué)習(xí)方法與深度學(xué)習(xí)方法[2]。基于非深度學(xué)習(xí)方法主要分為2種:一種是圖像增強(qiáng),以像素點的基礎(chǔ)使圖像清晰,比如:直方圖均衡化[3]、白平衡[4]、MSRCR[5]等算法,該類算法忽略傳感器鏡頭在水下環(huán)境中的成像模型,導(dǎo)致紅通道缺失,甚至出現(xiàn)偽影,用增強(qiáng)算法處理后的水下圖像色彩容易增強(qiáng)與背景模糊等現(xiàn)狀,而且不同環(huán)境下的圖像依賴不同的算法,泛化性差。另一種是圖像復(fù)原,基于物理成像模型基礎(chǔ)上進(jìn)行復(fù)原,暗通道先驗[6]、UDCP[7]、紅通道反轉(zhuǎn)[8]等算法。該類方法依賴水下成像模型,對先驗知識的要求較高。但是水下環(huán)境復(fù)雜多變,不同地區(qū)、不同時間由于海水成分不同,導(dǎo)致光在海水中的傳播條件不同。因此,簡易的水下成像模型不準(zhǔn)確,復(fù)雜的水下成像模型難以計算?,F(xiàn)有的非深度學(xué)習(xí)的方法只針對水下圖像的某種特定情形進(jìn)行增強(qiáng)與復(fù)原處理,這類方法的準(zhǔn)確性與魯棒性不容樂觀,在水下機(jī)器人應(yīng)用中受到嚴(yán)重限制,局限性較大。
深度學(xué)習(xí)的水下圖像算法分為卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)圖像增強(qiáng)與復(fù)原與生成對抗網(wǎng)絡(luò)(GAN)圖像增強(qiáng)與復(fù)原,2種模型既有區(qū)別又有相同之處[9-10]。在機(jī)器視覺領(lǐng)域,深度學(xué)習(xí)網(wǎng)絡(luò)已被證明是強(qiáng)大的非線性函數(shù)逼近器,在水下圖像增強(qiáng)應(yīng)用比較廣泛。比如,F(xiàn)abbri等[11]提出了UGAN,利用風(fēng)格遷移生成水下模糊圖像,將模糊圖像與清晰圖像作為一對數(shù)據(jù)集輸入帶有梯度懲罰的 UGAN網(wǎng)絡(luò)模型中,并使用結(jié)構(gòu)化損失函數(shù)使圖像細(xì)節(jié)更加明顯。Li等[12]提出UWCNN,該模型使用對基于物理模型的合成的水下圖像數(shù)據(jù)集進(jìn)行有效的訓(xùn)練,該模型的數(shù)據(jù)集合成了10種不同的水下類型,針對不同水域訓(xùn)練不同的UWCNN模型,在不同水域下實現(xiàn)了水下圖像增強(qiáng)。Park等[13]添加一對判別器在Cyclegan上,同時在判別器中引入預(yù)先訓(xùn)練完成的VGG-16模型,保證每個輸入圖像的顏色、形狀及紋理。另外,添加自適應(yīng)加權(quán)損失函數(shù)來平衡2種判別器的影響,該機(jī)制充分利用了各判別器的優(yōu)勢,同時抑制判別器的一些缺點。Islam等[14]提出了GAN水下圖像增強(qiáng)模型。該算法用一個目標(biāo)函數(shù)監(jiān)督對抗訓(xùn)練,該函數(shù)根據(jù)圖片整體內(nèi)容、顏色、局部紋理和樣式信息來評估感知圖像的質(zhì)量,算法實時性較高。
上述這些方法雖然可以解決對比度低、顏色失真,但還是存在背景模糊、前景丟失以及紅通道缺失嚴(yán)重的水下圖像增強(qiáng)與復(fù)原差等問題,針對上述存在的問題,提出一種基于編碼解碼結(jié)構(gòu)多尺度語義特征水下圖像增強(qiáng)算法,為提高水下武器裝備測試訓(xùn)練的準(zhǔn)確評估奠定了基礎(chǔ)。
GAN[15]是對數(shù)據(jù)隨機(jī)分布進(jìn)行建模的方法,采用博弈思想,使生成器和判別器兩部分進(jìn)行對抗訓(xùn)練,使生成水下圖像更加逼真,其結(jié)構(gòu)如圖1所示。
生成器的目的在于輸出更加真實的結(jié)果,增大判別器輸入來源,從而欺騙判別器;而判別器的目標(biāo)是提高判別輸入圖片真實性。生成對抗網(wǎng)絡(luò)訓(xùn)練的目標(biāo)函數(shù)為:
EI[log(1-D(I,G(I)))]
(1)
式中:G為生成器;D為判別器;I為初始圖像;J為清晰水下圖像;G(I)為生成器生成的假圖像。
GAN通過優(yōu)化上述目標(biāo)函數(shù)學(xué)習(xí)初始圖像I到真實圖像J的映射模型,即:G(I)→J。初始圖像I為利用Jaffe-McGlamery 水下成像物理模型和CycleGAN風(fēng)格遷移的水下模糊圖像,J為對應(yīng)的水下清晰圖像,生成圖像G(I)為增強(qiáng)后的水下圖像。
圖1 生成對抗網(wǎng)絡(luò)結(jié)構(gòu)
多尺度語義特征水下圖像增強(qiáng)算法的特點是生成器模型基于編碼解碼結(jié)構(gòu)添加注意力機(jī)制提高視覺質(zhì)量,同時使用多尺度語義特征模塊進(jìn)行補(bǔ)償高層信息;構(gòu)造高斯金字塔函數(shù)結(jié)合全局損失函數(shù)、對抗損失函數(shù)、色彩感知損失使生成圖像細(xì)節(jié)信息更多,最后生成的圖像對比度更高,顏色更豐富。
生成模型使用解碼編碼結(jié)構(gòu)[16],其中該模型由ResNet殘差模塊、多尺度語義特征模塊、注意力機(jī)制等模型組成,如圖2所示。
圖2 編碼解碼多尺度語義特征模型
ResNet殘差模塊使用大小為3×3與4×4的卷積核提取特征,多尺度語義特征模塊用卷積層、激活函數(shù)、通道注意力機(jī)制與上采樣網(wǎng)絡(luò)提取語義信息,使圖像細(xì)節(jié)更加明顯;注意力機(jī)制改變不同通道的權(quán)重大小,使圖像融合的特征信息更加穩(wěn)定。
生成模型(G,Generation model)的Encoder中,先使用4個ResNet模塊,然后通過多尺度語義特征模塊。在G的Decoder中,進(jìn)行上采樣、BN層與ReLU激活層,總共4層。第一層上采樣步長大小為1,其他層上采樣步長為2。最后通過上采樣、卷積與Tanh激活函數(shù),輸出為256×256×3的張量。在Encoder與Decoder中間加入注意力機(jī)制與跳連接層,使淺層顏色、紋理等信息特征與深層語義信息融合,傳遞給更深一層網(wǎng)絡(luò),實現(xiàn)生成模型圖像細(xì)節(jié)提取。
3.1.1ResNet殘差模塊
ResNet殘差模塊[17]分別用2個3×3卷積核大小提取特征,通過Leaky ReLU激活函數(shù),之后,用Concate進(jìn)行特征融合,最后通過大小為4×4、步長為2的卷積核、IN層與Leaky ReLU激活函數(shù),如圖3所示。該模型不僅使較多像素特征向下傳遞,而且為多尺度語義特征模塊提取更多語義信息奠定基礎(chǔ)。
圖3 殘差網(wǎng)絡(luò)
3.1.2多尺度語義特征模塊
多尺度語義特征模塊分別為 2 × 2、4 × 4、8 × 8、16 × 16 不同大小尺度的4層圖像信息組成。每個不同尺度大小的水下圖像獲得不同的感受野,捕捉不同尺度的信息。尺度越小,得到的高層的信息越豐富,反之,低層信息越豐富,最后4個不同尺度大小圖像經(jīng)上采樣使生成的圖像細(xì)節(jié)信息更加豐富。而且,在每個不同尺度大小圖像,添加通道注意力機(jī)制使信息多的通道權(quán)值增大,使輸出結(jié)果信息更加豐富。如圖4所示,先將輸入通過卷積核大小為 4的步長分別為1、2、4、8的卷積層;接著通過卷積核大小為3的卷積層、NI層與LealyReLU激活函數(shù);然后通過通道注意力機(jī)制,使信息多的通道的權(quán)值變大,得到不同尺度大小的水下圖像,再通過上采樣,使其與原特征圖通道數(shù)相同。最后將4個通道相加融合,再次經(jīng)過大小為3的卷積層、NI層與ReLU激活函數(shù)。
圖4 多尺度語義特征模塊
3.1.3注意力模塊
注意力機(jī)制[18]由通道注意力機(jī)制與像素注意力機(jī)制構(gòu)成。生成模型添加注意力機(jī)制模塊,是為了更好地補(bǔ)償圖像紅通道信息以及外界環(huán)境對圖像亮區(qū)與暗區(qū)的影響,該模塊在處理不同環(huán)境下的水下圖像信息時較為方便,它更加關(guān)注外界環(huán)境影響較大亮區(qū)的像素與更重要通道信息,根據(jù)影響的重要程度分配通道的權(quán)重。如圖5所示,通道注意力機(jī)制首先將特征通過全局平均池化將每個通道全局空間信息轉(zhuǎn)化為通道均值信息,然后,特征通過1個1×1×C的卷積層,1個ReLU激活函數(shù)、1個1×1×C的卷積層、再加1個Sigmoid激活函數(shù)進(jìn)行處理。在像素注意力通道中,通過通道注意力機(jī)制的特征為逐像素注意的輸入傳入像素注意力層中,像素注意力層為1個ReLU激活函數(shù)與1個Sigmoid激活函數(shù)構(gòu)成的2個卷積層。
圖5 注意力機(jī)制模塊
判別模型:在馬爾可夫判別器[19]基礎(chǔ)上去掉BN層,其特點是對感受野大小區(qū)域鑒別,有利于捕獲圖像局部特征。判別器(D,Discriminative Model)所采用的結(jié)構(gòu)由5個卷積層與4個激活函數(shù)組成,最后輸出大小為16×16的特征矩陣,判別網(wǎng)絡(luò)模型如圖6所示。
圖6 判別模型
考慮恢復(fù)圖像的視覺效果和細(xì)節(jié)特征保持,GAN模型訓(xùn)練時使用多個損失函數(shù)的線性組合,即
(2)
式中: LWGAN為對抗損失函數(shù);L1為全局損失函數(shù);LVGG為感知損失函數(shù);Lf為高斯金字塔損失函數(shù);λ1、λ2、λ3為各個損失函數(shù)的加權(quán)系數(shù)。
WGAN使用帶有梯度懲罰項的 WGAN-GP[20-21]。對抗損失函數(shù)表示為
LWGAN(G,D)=E[D(y)]-E[D(G(x))]+
(3)
為促使G的輸出與訓(xùn)練集參照數(shù)據(jù)保持圖像信息的一致性,添加G輸出圖像與訓(xùn)練集目標(biāo)圖像的L距離作為損失函數(shù)之一優(yōu)化G,其定義為[22]:
(4)
為使生成圖像更加真實,提升圖像的視覺效果,添加VGG19預(yù)訓(xùn)練網(wǎng)絡(luò)模型[23],通過提取VGG19網(wǎng)絡(luò)第4次最大池化操作前第3個卷積層輸出的高級特征構(gòu)造感知損失函數(shù)。內(nèi)容感知損失函數(shù)如下:
(5)
式中:x表示退化的水下圖像;y表示與退化圖像對應(yīng)的參考圖像;φ(·)表示圖像內(nèi)容函;G表示生成網(wǎng)絡(luò);E表示數(shù)學(xué)期望。
為使生成圖像高層信息更為明顯,提升水下圖像的特征,使用拉普拉斯金字塔,通過高斯卷積核與下采樣構(gòu)造殘差金字塔[24]。高斯金字塔結(jié)構(gòu)如圖7所示。
分別將清晰水下圖像與生成水下圖像輸入高斯金字塔,分別提取第n層高斯金字塔信息做差,得到差異圖,高斯金字塔損失函數(shù)定義如下:
Lf=E[y?fh-G(x)?fh]
(6)
式中:y為清晰圖像第n層高斯金字塔信息,為生成圖像第n層高斯金字塔圖像,E表示數(shù)學(xué)期望;fh為5×5大小的卷積核;高斯金字塔可以更好提取細(xì)節(jié)信息,層數(shù)越多造成信息損失嚴(yán)重,因此,訓(xùn)練過程中n=1。
圖7 差異圖過程
本實驗在 Windows 操作系統(tǒng)下,基于深度學(xué)習(xí)框架 Tensorflow 2.1實現(xiàn); CPU 為 2.90 GHz Intel(R) Core(TM) i5-9400,GPU 為 NVIDIA RTX 1060。
在實驗中,將所有圖片尺寸統(tǒng)一變?yōu)?56×256×3大小,并將其像素大小縮小到[-1,1]區(qū)間;在訓(xùn)練過程中,G和D的優(yōu)化以交替的方式進(jìn)行。其中,D每優(yōu)化5次,G進(jìn)行1次優(yōu)化,G 和 D 均使用 Adam 優(yōu)化器。其中,設(shè)置學(xué)習(xí)率為5e-5,一階動量項為0.5,二階動量項為0.999。網(wǎng)絡(luò)以小批量梯度下降方式進(jìn)行優(yōu)化,設(shè)置Batchsize=1, epoch=100 000。
海洋深度、光照條件、相機(jī)模型以及水下環(huán)境中的雜散顆粒與浮游生物都是影響圖像失真程度的因素。但在某些特定條件下,水下圖像可能只有很小的失真,或者根本沒有失真。由于水下數(shù)據(jù)采集的難度較大,為了解決圖像對不足的問題,將無失真的水下圖像與有失真的水下圖像進(jìn)行風(fēng)格遷移,使無失真圖像通過CycleGAN[25]生成模糊水下圖像,形成一對數(shù)據(jù)集,如圖8(a)所示。
由于海洋環(huán)境的復(fù)雜性,CycleGAN生成的水下圖像數(shù)據(jù)集不遵循水下成像模型,使生成的水下圖像更加逼真,更符合海洋環(huán)境,但是CycleGAN生成水下大量圖片周期較長。因此,一部分水下生成圖像采用水下物理成像模型[26]提出的合成水下數(shù)據(jù)集進(jìn)行訓(xùn)練,該模型以NYU-V2 RGB-D數(shù)據(jù)集為基礎(chǔ),生成1 284幅水下藍(lán)色圖像。
模糊的水下圖像的物理成像模型表示為[27]:
Iλ(x)=Jλ(x)tλ(x)+Aλ(1-tλ(x))
(7)
tλ=10-βλd(x)=Nλ(d(x))
(8)
其中:Iλ(x)為水下模糊圖像;Jλ(x)為水下清晰圖像;Aλ為散射光在傳感器收集的信號。λ是為紅、綠、藍(lán)光的波長,x表示水下圖像中的一個像素點。介質(zhì)能量比tλ(x)為光長λ和距離d(x)從場景點x到攝像機(jī)的映射函數(shù)。βλ為波長相關(guān)的介質(zhì)衰減系數(shù),歸一化剩余能量比Nλ(d(x)) 為每個距離單位的剩余能量與初始能量比例。設(shè)置Nλ(d(x))取值為0.79±0.06×rand(),βλ取值為0.05±0.15×rand()[28],由此模型可以得到海底藍(lán)色圖像,如圖8(b)所示。
圖8 數(shù)據(jù)集
通過恢復(fù)水下圖像驗證多尺度語義特征水下圖像增強(qiáng)算法的有效性,選取藍(lán)色和綠色不同的水下圖像,并將該算法與UDCP[7]、Fusion[29]、UWCNN[12]與UGAN[11]算法進(jìn)行比較,以原文中的網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化策略進(jìn)行訓(xùn)練,最終各算法的實驗結(jié)果如圖9所示。
從圖9中可以看出,UDCP算法去除退化圖像的模糊效果良好,但是該算法缺少顏色校正部分,因此不能有效解決水下圖像的偏色問題;Fusion算法整體上解決了退色問題,但是處理后的顏色過于飽和,甚至加重圖像背景的顏色失真;UWCNN算法整體上改善圖像的偏色問題,但針對偏色嚴(yán)重情況效果不太理想,用端到端的單輸入模型結(jié)構(gòu),在針對不同顏色失真水下圖像的增強(qiáng)結(jié)果中均出現(xiàn)局部區(qū)域紅色過度補(bǔ)償問題,增強(qiáng)后的結(jié)構(gòu)缺少了真實感;UGAN算法合的GAN結(jié)構(gòu),通過該算法增強(qiáng)后的圖像基于U-Net模型進(jìn)行網(wǎng)絡(luò)特征提取,顏色校正明顯,細(xì)節(jié)特征顯著,但是部分增強(qiáng)結(jié)果的色彩顯得不自然;相比之下,多尺度語義特征水下圖像增強(qiáng)算法采用了編碼解碼的多尺度語義特征的水下圖像增強(qiáng)方法,能夠有效地改善復(fù)雜水下環(huán)境的圖像偏色問題,提高水下圖像的對比度和清晰度。
圖9 各方法對比結(jié)果圖
實驗中采用水下圖像顏色質(zhì)量評價(underwater color image quality evaluation,UCIQE)、峰值信噪比(peak signal to noise ratio,PSNR)與自然圖像評價[30](natural image quality evaluator,NIQE)這3種完整的參考指標(biāo)對水下圖像進(jìn)行定量評估并且對上述不同算法增強(qiáng)后的水下圖像實現(xiàn)評估并進(jìn)行對比分析,以驗證多尺度語義特征水下圖像增強(qiáng)算法的優(yōu)勢。
UCIQE評價指標(biāo)包含飽和度,色彩濃度和對比度,用來定量評價水下圖像清晰度、色偏以及對比度??傮wUCIQE 數(shù)值越高代表圖像越清晰,對比度越高,細(xì)節(jié)越多,復(fù)原效果越好。
PSNR是信號的最大功率與可能影響它的表示精度的噪聲功率的比值,數(shù)值越高代表經(jīng)過處理之后的圖像失真越少,保留更多有價值的圖像信息。
NIQE[30]指標(biāo)表示為從測試圖像中提取的NSS特征的MVG模型與從自然圖像語料中提取的感知特征的MVG模型之間的距離。NIQE越小,越表明圖像保留原圖像的細(xì)節(jié),避免圖像大量失真,從而使圖像更加自然、真實。水下圖像客觀指標(biāo)評價結(jié)果如表1—表4。
表1 第1組水下圖像所示客觀指標(biāo)評價結(jié)果
表2 第2組水下圖像客觀指標(biāo)評價結(jié)果
表3 第3組水下圖像客觀指標(biāo)評價結(jié)果
表4 第4組水下圖像客觀指標(biāo)評價結(jié)果
從表1、表2、表3與表4可以得出,使用顏色遷移與水下圖像合成方法的數(shù)據(jù)集,并且結(jié)合多尺度語義特征水下圖像增強(qiáng)算法進(jìn)行訓(xùn)練之后,該算法生成的水下圖像UCIQE和PSNR評價指標(biāo)相比較其他算法均有一定程度的改善,其中,UCIQE與PSNR整體上平均提升0.071 9與17.019 8,說明該算法使在增加水下圖像細(xì)節(jié)比其他算法綜合性能更加高,紅通道信息補(bǔ)償較更為完整。在NIQE整體上平均下降0.081 2,說明該算法生成的水下圖像真實自然度比其他算法綜合性能好。
UCIQE指標(biāo)分析中,圖1與圖2在UDCP表現(xiàn)更好,圖3與圖4在UGAN表現(xiàn)更好。說明背景為綠色的水下圖像用UDCP算法表現(xiàn)較為良好。背景為藍(lán)色的圖像UGAN表現(xiàn)良好,在深度學(xué)習(xí)算法中,多尺度語義特征水下圖像增強(qiáng)算法在UCIQE指標(biāo)中表現(xiàn)次之。PSNR指標(biāo)分析中,多尺度語義特征水下圖像增強(qiáng)算法表現(xiàn)突出,生成圖像細(xì)節(jié)部分更多。NIQE指標(biāo)中,非深度學(xué)習(xí)方法相比較深度學(xué)習(xí)算法處理的圖像更為自然,深度學(xué)習(xí)中UWCNN表現(xiàn)更良好,多尺度語義特征水下圖像增強(qiáng)算法表現(xiàn)次之。
為了驗證高斯金字塔損失函數(shù)對算法的影響,對該函數(shù)進(jìn)行消融實驗。從表5得出,多尺度語義特征水下圖像在UCIQE與PSNR指標(biāo)上相對于未加高斯金字塔函數(shù)基礎(chǔ)上分別提高0.023與1.921 3, NIQE降低0.081 2,表明使用高斯金字塔做損失函數(shù)可以使圖像更加自然、顏色更豐富。圖10表示用Canny算子處理的原圖、未加高斯金字塔損失函數(shù)以及本文算法,可以清楚地看到邊緣檢測的部分較多,因此使用高斯金字塔可以增強(qiáng)細(xì)節(jié)信息。
對網(wǎng)絡(luò)結(jié)構(gòu)中的多尺度語義特征模塊、注意力與注意力機(jī)制模塊,將對應(yīng)模型生成的水下圖像進(jìn)行測試,與多尺度語義特征水下圖像增強(qiáng)進(jìn)行對比。多尺度語義特征模塊、注意力機(jī)制消融研究結(jié)果如表6、表7所示。
圖10 Canny算子對應(yīng)
表5 高斯金字塔損失函數(shù)消融實驗對比
通過表6、表7得出,注意力機(jī)制模塊UCIQE與PSNR指標(biāo)上分別提高0.016 4與1.905 1;NIQE指標(biāo)上降低0.640 7。多尺度語義特征模塊UCIQE與PSNR指標(biāo)上分別提高0.019 7與1.828 9;在NIQE指標(biāo)上降低0.752 6。說明注意力機(jī)制模塊與多度語義特征模塊對水下圖像有一定促進(jìn)作用。
表6 注意力機(jī)制模塊消融實驗對比
表7 多尺度語義特征模塊消融實驗對比
針對水下武器系統(tǒng)在測試訓(xùn)練過程中的水下圖像增強(qiáng)問題,提出一種基于編碼解碼的多尺度語義特征水下圖像增強(qiáng)算法。1) 該算法對于復(fù)雜水下場景圖像,能夠有效地還原復(fù)雜水下圖像真實色彩、辨別圖像的亮區(qū)、暗區(qū)。2) 該算法在PSNR指標(biāo)上表現(xiàn)較好,可以保留更多的細(xì)節(jié)部分,為后期精確檢測奠定基礎(chǔ)。3) 本算法模型較大,參數(shù)較多,網(wǎng)絡(luò)運(yùn)行復(fù)雜度較高。后續(xù)將剪枝算法應(yīng)用在網(wǎng)絡(luò)中,完成模型輕量化。