錢曉琪,劉偉峰,張敬,曹洋
1. 杭州電子科技大學(xué)自動化學(xué)院,杭州 310018; 2.陜西科技大學(xué)電氣與控制工程學(xué)院,西安 710021;3. 悉尼大學(xué)計算機科學(xué)學(xué)院,悉尼 2006,澳大利亞; 4.中國科學(xué)技術(shù)大學(xué)信息科學(xué)技術(shù)學(xué)院自動化系,合肥 230026
海洋資源的開發(fā)和利用對人類可持續(xù)發(fā)展具有重要意義。為了更好地完成水下目標(biāo)捕獲和水下搜索等工作,往往需要水下機器人等自動化設(shè)備的協(xié)助。對于水下機器人而言,高效準(zhǔn)確的目標(biāo)識別能力是完成水下工作的關(guān)鍵。因此,水下目標(biāo)檢測技術(shù)具有重要的研究意義。基于深度學(xué)習(xí)的目標(biāo)檢測算法已經(jīng)在Pascal VOC(pattern analysis, statistical modeling and computational learning visual object classes)(Everingham等,2010)和MS COCO(Microsoft common object in context)(Lin等,2014)等通用數(shù)據(jù)集上證明了其出色的性能,但在處理水下目標(biāo)檢測問題時精度往往嚴(yán)重下降。這是因為,一方面,水下檢測數(shù)據(jù)集稀少,可用的水下數(shù)據(jù)集以及數(shù)據(jù)集中的目標(biāo)對象類別很少,使這些基于深度學(xué)習(xí)的檢測算法在少量數(shù)據(jù)上無法發(fā)揮優(yōu)勢(Jian等,2018);另一方面,由于復(fù)雜的水下環(huán)境和光照條件,水下圖像通常具有低對比度、紋理失真和模糊等特點(Jian等,2021),影響了檢測算法在水下環(huán)境的性能。
因為水下圖像的采集非常困難,并且對采集的圖像進行標(biāo)注需要經(jīng)驗豐富的專門人員完成,所以構(gòu)建水下數(shù)據(jù)集的成本高昂。而標(biāo)記好的大型水下物體檢測數(shù)據(jù)集極為有限,又容易導(dǎo)致深度神經(jīng)網(wǎng)絡(luò)模型發(fā)生過度擬合問題,影響檢測精度。實踐中,解決通用目標(biāo)檢測算法在水下場景中精度嚴(yán)重下降的一種可行方法是數(shù)據(jù)增強。數(shù)據(jù)增強旨在解決數(shù)據(jù)不足問題,主要包括兩類技術(shù)。一是基于幾何變換的方法,例如水平翻轉(zhuǎn)、旋轉(zhuǎn)、區(qū)域裁剪(Liu等,2016)和透視模擬(Huang等,2019)等。這類方法已經(jīng)被證明在各個不同視覺任務(wù)上都是有效的。二是基于剪切粘貼的方法,例如隨機剪切和粘貼(Dwibedi等,2017)、Mixup(Zhang等,2018)、CutMix(Yun等,2019)、PSIS(progressive and selective instance-switching)(Wang等,2019a)等。這類方法可幫助建模學(xué)習(xí)上下文不變性。盡管如此,它們對深度神經(jīng)網(wǎng)絡(luò)模型在小規(guī)模水下圖像數(shù)據(jù)集上的性能提升仍然有限。另一種可行的方法是將水下圖像恢復(fù)(增強)為清晰圖像,提升可見度和對比度,并減小色偏。一般而言,水下圖像恢復(fù)(增強)方法可以歸納為3類,即無模型方法、基于成像模型的方法和基于深度神經(jīng)網(wǎng)絡(luò)的方法(郭繼昌 等,2017;Wang等,2017)。無模型方法不需要建模水下圖像的形成過程,一般通過調(diào)整給定圖像的像素值提高圖像整體質(zhì)量,例如對比度調(diào)整(Gibson,2015;李健 等,2021)、直方圖均衡(Pizer等,1990)和圖像融合(Ancuti等,2012)等?;诔上衲P偷姆椒ㄊ紫冉K聢D像的成像模型,然后將水下圖像增強視做其逆問題,通過給定的水下圖像估計模型中的參數(shù)求解逆問題。例如,Zhang等人(2014)考慮到光照在水下衰減這一因素提出新的水下成像模型;Peng和Cosman(2017)提出一種基于圖像模糊和光吸收的水下場景深度估計方法;Carlevaris-Bianca等人(2010)提出利用RGB顏色空間中3個顏色通道之間的衰減差異預(yù)測水下場景傳輸圖等方法。在基于學(xué)習(xí)的算法中,卷積神經(jīng)網(wǎng)絡(luò)能夠以端到端的方式學(xué)習(xí)從水下圖像到相應(yīng)的清晰圖像的直接映射(Li等,2020;Hou等,2018;Guo等,2020)。但由于缺少包含真實水下圖像和其對應(yīng)清晰圖像的數(shù)據(jù)集,這類算法一般都是在合成數(shù)據(jù)集上訓(xùn)練,因此其在真實水下圖像上的增強效果很大程度上取決于合成圖像的質(zhì)量。
現(xiàn)有的基于深度學(xué)習(xí)的目標(biāo)檢測方法通常假設(shè)訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)都來自相同的分布,但在實際應(yīng)用中很難滿足這一條件,這也導(dǎo)致了預(yù)訓(xùn)練模型在實際場景中精度下降。解決這個問題的有效方法是領(lǐng)域自適應(yīng),通過對抗性學(xué)習(xí)或核化訓(xùn)練將來自不同分布的源數(shù)據(jù)和目標(biāo)數(shù)據(jù)進行匹配。這類方法通常假設(shè)深度神經(jīng)網(wǎng)絡(luò)可以在學(xué)習(xí)的特征空間中對齊源數(shù)據(jù)和目標(biāo)數(shù)據(jù)的邊緣分布。因此,在減少學(xué)習(xí)特征空間中邊緣分布之間的差異后,使用源域圖像訓(xùn)練的檢測器會在目標(biāo)域圖像上保持良好的檢測精度。例如Cai等人(2019)提出了適用于跨域檢測的mean teacher范式,并提出具有對象關(guān)系的mean teacher解決從合成圖像到真實圖像的跨域檢測問題。He和Zhang(2019)提出一種包含分層域特征對齊和聚合提議特征對齊的多對抗Faster R-CNN(faster region-convolutional neural network)解決不受限的目標(biāo)檢測問題。Zhang等人(2019)提出一種類別錨引導(dǎo)的無監(jiān)督領(lǐng)域自適應(yīng)模型用于語義分割。同樣地,可以將水下目標(biāo)檢測問題轉(zhuǎn)化為領(lǐng)域自適應(yīng)問題,減小清晰圖像(源域)和水下圖像(目標(biāo)域)在特征空間中的分布差異,以提高預(yù)訓(xùn)練的檢測模型在水下場景的檢測精度。但是,源域和目標(biāo)域的物體類別不一致導(dǎo)致上述假設(shè)難以滿足,使得直接采用域自適應(yīng)的方法并不可行。
Wang等人(2020)發(fā)現(xiàn)低質(zhì)圖像和其對應(yīng)的高質(zhì)圖像的特征表示之間存在特定關(guān)系,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的特征去漂移模塊(feature de-drifting module, FDM)來學(xué)習(xí)兩種特征之間的映射關(guān)系,并以此作為先驗知識來提高分類器對低質(zhì)圖像的分類精度。受此啟發(fā),本文提出一種針對水下圖像的特征增強模塊FDM-Unet,將低層網(wǎng)絡(luò)提取的水下圖像特征恢復(fù)為對應(yīng)清晰圖像的特征,從而使得基于清晰圖像訓(xùn)練的檢測網(wǎng)絡(luò)可以直接應(yīng)用于水下圖像目標(biāo)檢測。具體來說,首先提出一種基于成像模型的水下圖像合成方法,將清晰圖像合成為具有真實感的水下圖像。然后在清晰圖像和其對應(yīng)的合成水下圖像對上,采用清晰圖像上預(yù)訓(xùn)練的檢測器提取它們的淺層特征,并將水下圖像對應(yīng)的退化特征輸入FDM-Unet進行增強,對增強后的特征與清晰圖像對應(yīng)的淺層特征計算均方誤差損失,監(jiān)督FDM-Unet進行訓(xùn)練。最后將訓(xùn)練好的FDM-Unet直接插入上述預(yù)訓(xùn)練的檢測器的淺層位置,不需要對網(wǎng)絡(luò)進行重新訓(xùn)練或微調(diào),即可以直接處理水下圖像目標(biāo)檢測。實驗結(jié)果表明,F(xiàn)DM-Unet在PASCAL VOC 2007合成水下圖像測試集上,針對YOLO v3(you only look once v3)(Redmon和Farhadi,2018)和SSD(single shot multibox detector)(Liu等,2016)預(yù)訓(xùn)練檢測器,檢測精度mAP(mean average precision)分別提高了8.58%和7.71%;在真實水下數(shù)據(jù)集URPC19(underwater robot professional contest 19)上,使用不同比例的數(shù)據(jù)進行微調(diào),相比YOLO v3和SSD,mAP分別提高了4.4%~10.6%和3.9%~10.7%。
本文主要有兩方面貢獻:1)提出一種基于水下成像模型的圖像合成方法,可以從清晰圖像合成具有真實感的水下圖像用于模型訓(xùn)練;2)提出一種針對水下場景的輕量高效的特征增強網(wǎng)絡(luò)FDM-Unet,可以即插即用,提升清晰圖像上的預(yù)訓(xùn)練檢測器在水下圖像上的目標(biāo)檢測精度。
隨著深度學(xué)習(xí)的快速發(fā)展,基于深度卷積神經(jīng)網(wǎng)絡(luò)的通用目標(biāo)檢測取得了顯著進展。這些目標(biāo)檢測算法主要分為兩大類。1)單階段算法,如YOLO、SSD和RetinaNet(Lin等,2017),這類算法通常將圖像中所有位置都視為潛在對象,然后將每個感興趣區(qū)域分類為背景或目標(biāo)對象;2)兩階段算法,如R-CNN(Girshick等,2014)、R-FCN(region-based fully convolutional network)(Dai等,2016b),這類算法在第1階段生成一組候選區(qū)域,然后在第2階段對候選區(qū)域提取特征用于目標(biāo)類別預(yù)測和定位。一般而言,兩階段檢測算法的精度更高,但是它們的推理速度相較單階段算法更慢。由于其出色的性能表現(xiàn),上述方法也成為了水下目標(biāo)檢測(Li等,2015;Islam等,2019;Chen等,2020a;Jian等,2018)的主要檢測框架。但是水下圖像通常具有低對比度、色偏和模糊等問題,且水下物體容易重疊造成遮擋,導(dǎo)致直接采用上述方法用于水下圖像的檢測效果并不理想。為了處理這些問題,Lyu等人(2019)提出一種弱監(jiān)督對象檢測方法,通過先弱擬合前景—背景分割網(wǎng)絡(luò),然后改進候選區(qū)域的策略來提高準(zhǔn)確性。Lin等人(2020)對Faster R-CNN進行改進,提出一種增強策略Roimix來模擬訓(xùn)練階段的重疊和遮擋對象,使模型具有更強的泛化能力,提高了遮擋場景下的精度。Chen等人(2020b)設(shè)計一種充分利用多重混合特征的網(wǎng)絡(luò)結(jié)構(gòu)來提高對小目標(biāo)的檢測精度。
圖像降質(zhì)會導(dǎo)致圖像特征分布的高階統(tǒng)計量發(fā)生移位,從而導(dǎo)致預(yù)訓(xùn)練的分類模型在降質(zhì)圖像上的分類精度嚴(yán)重下降(Sun等,2018)。一方面,圖像增強算法可以將降質(zhì)的圖像恢復(fù)到清晰的版本,這對高層視覺任務(wù)(例如分類、檢測等)有所幫助。例如,Li等人(2017)利用去霧網(wǎng)絡(luò)提升霧天環(huán)境下的目標(biāo)檢測性能。Dai等人(2016)評估了超分辨率對高層視覺任務(wù)的影響。Liu等人(2018)采用去噪算法提升圖像分割的性能。然而,這些圖像增強算法并不能保證總是對后續(xù)的高層視覺任務(wù)帶來提升效果,尤其在圖像降質(zhì)嚴(yán)重的情況下。另一方面,使用降質(zhì)圖像微調(diào)網(wǎng)絡(luò)也是一種常用的提高檢測精度的方法。然而,基于微調(diào)的方法需要語義標(biāo)簽來監(jiān)督網(wǎng)絡(luò)訓(xùn)練,當(dāng)語義標(biāo)簽無法用于降質(zhì)圖像時,基于微調(diào)的方法將不適用。無監(jiān)督領(lǐng)域自適應(yīng)目標(biāo)檢測(Shen等,2019;Arruda等,2019;Inoue等,2018;Yu等,2021)使用源域(通用數(shù)據(jù)集)的標(biāo)簽豐富數(shù)據(jù)和目標(biāo)域(降質(zhì)圖像)的無標(biāo)簽或少標(biāo)簽數(shù)據(jù)來訓(xùn)練性能良好的檢測模型。盡管已經(jīng)提出了各種域自適應(yīng)目標(biāo)檢測方法(Chen等,2018;Wang等,2019b;Zhu等,2019),但表現(xiàn)出的性能與在標(biāo)注良好的數(shù)據(jù)上訓(xùn)練的檢測模型之間仍然存在差距。
不同于上述方法,Wang等人(2020)提出一個輕量級的插件式特征去漂移模塊,可以增強低層網(wǎng)絡(luò)提取的降質(zhì)圖像特征,顯著提高了使用ImageNet預(yù)訓(xùn)練的分類網(wǎng)絡(luò)在多種降質(zhì)條件下的圖像分類精度。受此啟發(fā),本文提出一種適合水下降質(zhì)圖像的輕量、高效的特征增強模塊FDM-Unet。通過使用清晰圖像和對應(yīng)的合成水下圖像來訓(xùn)練FDM-Unet,然后將其插入到預(yù)訓(xùn)練的檢測模型中,從而提升其水下目標(biāo)檢測的精度。
2.1.1 水下成像模型
根據(jù)大氣散射模型(Zhang和Tao,2020)的描述,在散射介質(zhì)中拍攝的圖像由于吸收和散射的影響,只有一部分來自場景的反射光到達成像傳感器。類似地,光線在水下傳播過程中也受到介質(zhì)吸收和散射的影響,所以有研究人員提出采用大氣散射模型來描述水下圖像的退化過程。具體地,大氣散射模型為
(1)
ti=e-βdi
(2)
(3)
2.1.2 估計光照顏色
(4)
(5)
光照顏色可以估計為
(6)
圖1 真實水下圖像光照顏色估計樣例Fig.1 Examples of real underwater image illumination color estimation((a) real underwater images; (b) illumination color maps estimated from the underwater images in (a))
2.1.3 估計光照強度
式(3)兩邊同時除以光照顏色ηλ,可得
(7)
按照上文對各參數(shù)在局部區(qū)域Ωi中的假設(shè)以及最大反射率先驗,式(7)可進一步推導(dǎo)為
(8)
式(8)得到的局部光照強度是一個向量,進一步計算其每個通道的局部光照強度,然后選擇最大值作為最終估計值,具體表達式為
(9)
部分真實水下圖像光照強度估計樣例如圖2所示。
2.1.4 估計深度圖
按照式(2),對透射率ti的估計可以轉(zhuǎn)化為對深度di的估計,本文使用Li等人(2018b)提出的方法獲取di。圖像深度估計樣例如圖3所示。
圖2 真實水下圖像光照強度估計樣例Fig.2 Examples of real underwater image illumination intensity estimation((a) real underwater images; (b) illumination intensity maps estimated from the underwater images in (a))
圖3 圖像的深度圖估計樣例Fig.3 Examples of depth map estimation((a) original images;(b) the scene depth maps estimated from the images in (a))
2.1.5 水下圖像合成
水下圖像合成時使用的光照強度和顏色從真實水下圖像中獲取。合成步驟如下:
1)將真實水下數(shù)據(jù)集中的每一幅圖像下采樣到64×64像素的固定大小。
2)選擇5×5的滑窗。
3)對每一個滑窗區(qū)域內(nèi)的圖像,分別按式(6)和式(9)估計光照顏色ηλ和光照強度L,然后計算光照向量Aλ=Lηλ。
4)得到N×K個光照向量A的集合A*,其中N是真實水下數(shù)據(jù)集的圖像數(shù)量,K是每幅圖像的滑窗數(shù)。
5)對每一幅待合成圖像J,使用2.1.4節(jié)的方法得到深度圖d,然后從A*隨機采樣一個A,按照式(1)和式(2)得到合成圖像I。
2.2.1 基本思路
Wang等人(2020)指出,雖然降質(zhì)圖像的特征分布相較清晰圖像的特征分布會發(fā)生移位,但是卷積神經(jīng)網(wǎng)絡(luò)淺層部分提取的退化圖像特征和其對應(yīng)的清晰圖像特征之間有著均勻的邊距,并且結(jié)構(gòu)相似圖像的特征是均勻分布的?;谝陨习l(fā)現(xiàn),本文提出一種基于U-Net結(jié)構(gòu)的插入式特征增強模塊FDM-Unet,將淺層網(wǎng)絡(luò)提取的退化圖像的特征恢復(fù)到其對應(yīng)清晰圖像的特征,使在清晰圖像上預(yù)訓(xùn)練得到的深層網(wǎng)絡(luò)可以對降質(zhì)圖像做出正確響應(yīng)。如圖4所示,將訓(xùn)練得到的FDM-Unet插入到預(yù)訓(xùn)練好的通用目標(biāo)檢測算法的主干網(wǎng)絡(luò)中,使其將預(yù)訓(xùn)練的檢測器的淺層網(wǎng)絡(luò)(shallow pretrained layers,SPL)提取的水下圖像(underwater image,UI)的退化特征(degraded features,DF)轉(zhuǎn)化為增強特征(enhanced features,EF),從而使后面預(yù)訓(xùn)練的深層網(wǎng)絡(luò)(deep pretrained layers,DPL)輸出精確的檢測結(jié)果。
圖4 FDM-Unet部署階段示意圖Fig.4 Diagram of deployment phase of FDM-Unet
2.2.2 FDM-Unet
FDM-Unet的主要目的是將淺層主干網(wǎng)絡(luò)提取的退化圖像特征恢復(fù)成其對應(yīng)清晰圖像的特征??紤]到全局信息和局部信息都對特征恢復(fù)起著重要作用,本文設(shè)計了以編碼—解碼結(jié)構(gòu)為主體的U-Net形式的網(wǎng)絡(luò)結(jié)構(gòu)。如圖5所示,在編碼階段(卷積層E1、E2、E3、W)通過2次maxpooling和1次空洞(dilation)卷積獲得足夠大的感受野以獲取豐富的全局信息,在解碼階段(卷積層D1、D2、D3),將具有全局信息的特征與低層特征多次融合來獲取局部信息。此外,借鑒殘差學(xué)習(xí)的思想,在輸入的退化特征和網(wǎng)絡(luò)輸出的增強特征之間增加殘差連接,從而降低訓(xùn)練難度。相較于直接學(xué)習(xí)增強特征而言,學(xué)習(xí)退化特征的殘差更為容易。
圖5 FDM-Unet網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 The network structure of FDM-Unet
FDM-Unet主要由5部分構(gòu)成:1)輸入卷積層BB,將輸入的退化特征x轉(zhuǎn)化為中間特征F(x)。這層的主要作用是提取局部特征。2)U-Net形式的編碼—解碼結(jié)構(gòu)(圖5虛線框)經(jīng)過提取、編碼后得到融合多尺度上下文特征的U(F(x))。3)使用殘差連接將局部特征和多尺度特征融合得到F(x)+U(F(x))。4)卷積層CC對3)中的融合特征進一步變換,得到B(F(x)+U(F(x)))。4)使用殘差連接將退化特征和精修特征融合,得到增強特征x+B(F(x)+U(F(x)))。
FDM-Unet的詳細(xì)參數(shù)如表1所示。其中,H和W是輸入退化特征的高和寬,C是其通道數(shù)。
表1 FDM-Unet結(jié)構(gòu)參數(shù)表Table 1 The details of FDM-Uet
2.2.3 FDM-Unet訓(xùn)練和測試
如圖6所示,使用預(yù)訓(xùn)練的通用目標(biāo)檢測網(wǎng)絡(luò)的淺層部分(SPL)分別提取水下圖像和其對應(yīng)的清晰圖像的特征,得到退化特征(DF)和清晰特征(clear features,CF)。然后將DF輸入到FDM-Unet中得到增強特征(EF)。將得到的增強特征(EF)與其配對的清晰特征(CF)進行比較,計算MSE(mean-square error)損失,并將誤差反向傳播到FDM-Unet中,以更新其參數(shù)。在FDM-Unet的訓(xùn)練過程中,SPL的參數(shù)不進行更新。具體地,訓(xùn)練過程中使用的MSE損失函數(shù)定義為
(10)
式中,EF和CF分別為增強特征和清晰特征。
在訓(xùn)練階段結(jié)束之后,將訓(xùn)練好的FDM-Unet插入到預(yù)訓(xùn)練好的通用目標(biāo)檢測網(wǎng)絡(luò)的淺層部分(SPL)與深層部分(DPL)之間,然后在水下圖像上直接測試該預(yù)訓(xùn)練檢測器的目標(biāo)檢測性能,如圖4所示。值得注意的是,F(xiàn)DM-Unet訓(xùn)練和測試時使用的檢測網(wǎng)絡(luò)為同一網(wǎng)絡(luò)。檢測網(wǎng)絡(luò)的淺層(SPL)和深層(DPL)是相對的,一般SPL取檢測網(wǎng)絡(luò)的前幾層,剩余網(wǎng)絡(luò)部分則為DPL。
圖6 FDM-Unet訓(xùn)練階段示意圖Fig.6 Diagram of training phase of FDM-Unet
實驗使用的軟硬件環(huán)境為Ubuntu16.04操作系統(tǒng),Intel Core i7-8700K CPU@3.70 GHz 12核心,NVIDIA GeForce GTX 1080Ti 11GB顯卡。實驗程序在PyTorch深度學(xué)習(xí)框架下,使用Python語言編寫。作為兩種典型的單階段目標(biāo)檢測模型,YOLO v3和SSD具有優(yōu)異的檢測性能和檢測速度,本文采用它們作為檢測框架代表驗證提出的FDM-Unet模塊的有效性。檢測網(wǎng)絡(luò)的訓(xùn)練參數(shù)均采用原文獻的設(shè)定。訓(xùn)練FDM-Unet時,采用隨機梯度下降(stochastic gradient descent, SGD)優(yōu)化算法,將初始學(xué)習(xí)率設(shè)為0.001,使用multistep調(diào)整學(xué)習(xí)率,迭代次數(shù)為3 000,每批次有16幅圖像。
本文實驗是在3個原始數(shù)據(jù)集:UIEB(underwater image enhancement benchmark)(Li等,2020)、URPC19、PASCAL VOC 2007+2012以及一個合成的水下PASCAL VOC 2007+2012數(shù)據(jù)集上進行。其中合成數(shù)據(jù)集是基于2.1節(jié)提出的合成方法對PASCAL VOC 2007+2012數(shù)據(jù)集中的圖像進行合成得到。UIEB包含890幅真實水下環(huán)境中采集的圖像,沒有任何語義標(biāo)簽。URPC19是一個真實水下目標(biāo)檢測數(shù)據(jù)集,有4個物體類別,共4 757幅圖像。PASCAL VOC 2007目標(biāo)檢測數(shù)據(jù)集有20類物體,共9 963幅圖像,分為訓(xùn)練集、驗證集和測試集3部分。PASCAL VOC 2012數(shù)據(jù)集的物體類別與PASCAL VOC 2007一致,但只對外公開了訓(xùn)練集和驗證集,共11 540幅圖像。
對水下圖像合成實驗效果的評價包括兩部分。1)通過視覺效果評價合成圖像的質(zhì)量;2)采用原始PASCAL VOC數(shù)據(jù)集和對應(yīng)的合成水下數(shù)據(jù)集對檢測模型進行預(yù)訓(xùn)練,并對比它們在真實水下圖像上微調(diào)的檢測性能,從而間接反映合成圖像的價值。
對檢測精度進行評估時,選擇平均精度(average precision,AP)和總平均精度(mean average precision,mAP)作為模型評價指標(biāo)。AP的計算式為
(11)
式中,K是對模型預(yù)測結(jié)果進行統(tǒng)計后得到的召回(recall)數(shù)量,Pinterp(k)是第k個召回率下的最高精度(precision),Δr(k)=r(k)-r(k-1)表示召回率的變動情況。mAP是所有類的AP的平均值,計算AP的置信閾值取0.5。
3.3.1 水下圖像合成
從真實水下圖像數(shù)據(jù)集UIEB中隨機選擇500幅圖像,按2.1.5節(jié)中步驟1)~5)得到光照向量集合A*,圖7為真實水下圖像估計得到的光照向量A的可視化結(jié)果。
圖7 真實水下圖像估計得到的光照Fig.7 Illuminance estimated from real underwater images
圖8 合成圖像樣例Fig.8 Examples of synthetic image ((a) clear images from the PASCAL VOC 2007+2012 dataset; (b) corresponding synthetic underwater images)
使用Li和Snavely(2018b)的方法得到PASCAL VOC 2007+2012中每一幅圖像的深度圖。接著,對PASCAL VOC數(shù)據(jù)集中每一幅待合成圖像,從A*中隨機選取一個光照向量A,按式(1)和式(2)進行合成,得到水下PASCAL VOC數(shù)據(jù)集(underwater visual object classes,UW_VOC)。實驗中,大氣衰減系數(shù)β取1.2。如圖8所示,本文方法合成的水下圖像在視覺效果上偏藍(lán)綠色且對比度下降,比較接近真實水下圖像的視覺效果。
3.3.2 合成水下圖像上的檢測實驗
本文貢獻之一是提出一種針對水下環(huán)境的插入式特征增強模塊FDM-Unet來提升通用目標(biāo)檢測算法在水下場景中的檢測精度。為了證明FDM-Unet的有效性和通用性,在YOLO v3和SSD兩種經(jīng)典通用目標(biāo)檢測算法上進行測試。
首先按Liu等人(2016)以及Redmon和Farhadi(2018)的參數(shù)配置,在PASCAL VOC 2007通用目標(biāo)檢測數(shù)據(jù)集上訓(xùn)練SSD和YOLO v3。然后按表1的結(jié)構(gòu)參數(shù)設(shè)置搭建FDM-Unet網(wǎng)絡(luò),按表2的訓(xùn)練參數(shù)設(shè)置訓(xùn)練FDM-Net。訓(xùn)練時,從合成的PASCAL VOC 2012數(shù)據(jù)集及其對應(yīng)的原始PASCAL VOC 2012中各隨機選取的1 000幅圖像作為訓(xùn)練集。如圖6所示,在FDM-Unet訓(xùn)練階段,使用預(yù)訓(xùn)練的檢測模型的低層部分提取水下圖像和對應(yīng)清晰圖像的特征。在實驗中,SSD和YOLO v3的低層部分分別為VGG(Visual Geometry Group)主干網(wǎng)絡(luò)的conv2_2之前的網(wǎng)絡(luò)層和darknet53的前兩層。訓(xùn)練結(jié)束后,將得到的FDM-Unet分別插入到SSD和YOLO v3中,然后在合成的水下PASCAL VOC 2007數(shù)據(jù)集上分別測試其目標(biāo)檢測精度。
表2 FDM-Unet的訓(xùn)練參數(shù)設(shè)置Table 2 Parameters setting for training FDM-Unet
3.3.3 合成水下圖像上的結(jié)果分析
為驗證FDM-Unet的有效性,進行以下對比實驗:1)清晰圖像預(yù)訓(xùn)練的檢測模型在清晰圖像和合成水下圖像的檢測精度。其性能差異可以反映域差異引起的檢測模型泛化性能下降程度。2)清晰圖像預(yù)訓(xùn)練的檢測模型采用特征去漂移(FDM)模塊之后在合成水下模型的檢測精度。通過對比Wang等人(2020)提出的FDM模塊和本文FDM-Unet結(jié)構(gòu),可以驗證特征去漂移思想的有效性以及本文模型相比Wang等人(2020)模型的優(yōu)勢。3)采用或不采用特征去漂移模塊時,在水下圖像訓(xùn)練并測試的結(jié)果。對比采用特征去漂移模塊的結(jié)果和在合成水下圖像直接訓(xùn)練和測試的結(jié)果,可以驗證本文方法不需要在目標(biāo)域上訓(xùn)練即可達到較好結(jié)果。實驗結(jié)果如表3所示。實驗1是在清晰圖像預(yù)訓(xùn)練,在清晰圖像測試。實驗2是在清晰圖像預(yù)訓(xùn)練,在合成水下圖像測試。實驗3是在清晰圖像預(yù)訓(xùn)練,使用FDM在合成水下圖像測試。實驗4是在合成水下圖像訓(xùn)練并測試。實驗5是使用FDM在合成水下圖像訓(xùn)練并測試。
表3從4個方面說明了本文FDM-Unet的效果。以YOLO v3為例,1)直接使用清晰圖像預(yù)訓(xùn)練的檢測模型在水下圖像測試,性能出現(xiàn)了顯著下降,mAP從清晰圖像上的83.85%降低到72.81%,說明該模型面對不同域圖像的泛化性較差;2)使用FDM模塊(Wang等,2020)后,可提升模型的檢測精度,mAP從72.81%提高到76.96%;3)使用本文FDM-Unet后,檢測性能進一步提升,mAP提高到80.52%,與源域上的檢測性能(83.85% mAP)以及目標(biāo)域直接訓(xùn)練和測試的性能(80.75% mAP)接近,說明了本文模型相比FDM的優(yōu)勢(提升3.56% mAP),以及在不需要微調(diào)和重新訓(xùn)練的情況下,能顯著提升清晰圖像預(yù)訓(xùn)練模型的泛化性能;4)采用FDM或FDM-Unet在目標(biāo)域訓(xùn)練并測試結(jié)果,相比YOLO v3基線模型也有提升,證明該模塊在目標(biāo)域訓(xùn)練情況下能提升模型的特征表示能力。
表3 PASCAL VOC合成圖像檢測實驗結(jié)果(mAP)Table 3 Detection results(mAP) on synthetic images of PASCAL VOC dataset /%
圖9是部分測試結(jié)果,圖9(a)(b)分別為YOLO v3和SSD的樣例測試結(jié)果,從左到右依次為清晰圖像標(biāo)簽、清晰圖像預(yù)訓(xùn)練模型測試結(jié)果、清晰圖像預(yù)訓(xùn)練模型在合成圖像上測試結(jié)果、清晰圖像預(yù)訓(xùn)練模型使用FDM測試結(jié)果以及清晰圖像預(yù)訓(xùn)練模型使用FDM-Unet測試結(jié)果,測試結(jié)果進一步驗證了上述結(jié)論。
圖9 合成水下圖像檢測結(jié)果對比Fig.9 Comparison of test results on synthetic images((a) YOLO v3 testing examples; (b) SSD testing examples)
3.3.4 參數(shù)量—計算量對比
如表4所示,F(xiàn)DM-Unet的浮點運算量和參數(shù)量都小于Wang等人(2020)提出的FDM,增加的參數(shù)量和計算量相較于整個檢測網(wǎng)絡(luò)來說可以忽略不計。另外,F(xiàn)DM-Unet對檢測精度的提升效果卻相當(dāng)明顯,并且可以方便地插入到現(xiàn)有的檢測網(wǎng)絡(luò)中,而不需要重新訓(xùn)練或微調(diào)。因此,F(xiàn)DM-Unet具有很強的實際應(yīng)用價值。
表4 參數(shù)量—計算量對比Table 4 Comparison of parameters and FLOPs of FDM, FDM-Unet, YOLO v3 and SSD
3.3.5 真實水下圖像的微調(diào)實驗
為了驗證FDM-Unet在真實水下場景中是否依然有效,將清晰圖像上預(yù)訓(xùn)練的模型在URPC19數(shù)據(jù)集上使用不同數(shù)量的數(shù)據(jù)進行多組微調(diào)實驗。微調(diào)時,batchsize為16,學(xué)習(xí)率為0.000 1,迭代30輪。實驗結(jié)果如表5和表6所示??梢钥闯?,如表5和表6中的第1、3行數(shù)據(jù)所示,使用FDM-Unet的模型進行微調(diào)之后的目標(biāo)檢測精度均高于其對應(yīng)的基線模型,說明FDM-Unet在真實水下場景的有效性。如表5和表6中的第1、2行數(shù)據(jù)所示,使用清晰圖像預(yù)訓(xùn)練和使用合成水下圖像預(yù)訓(xùn)練的模型在真實水下圖像上進行微調(diào),基于合成圖像預(yù)訓(xùn)練模型進行微調(diào)之后的目標(biāo)檢測精度更高,說明基于本文水下圖像合成方法得到的水下圖像與真實水下圖像的域間差異更小,間接驗證了本文方法的有效性。圖10是部分測試結(jié)果,從左到右依次為水下圖像標(biāo)簽、清晰圖像預(yù)訓(xùn)練模型微調(diào)后測試結(jié)果、合成水下圖像預(yù)訓(xùn)練模型微調(diào)后測試結(jié)果和使用FDM-Unet微調(diào)測試結(jié)果。測試結(jié)果與上述結(jié)論一致。
表5 YOLO v3真實水下圖像微調(diào)實驗結(jié)果(mAP)Table 5 Fine-tuning results(mAP) of YOLO v3 on real underwater images /%
表6 SSD真實水下圖像微調(diào)實驗結(jié)果(mAP)Table 6 Fine-tuning results(mAP) of SSD on real underwater images /%
圖10 真實水下圖像微調(diào)檢測結(jié)果示例Fig.10 Comparison of fine-tuning results on real underwater images((a) YOLO v3 testing examples; (b) SSD testing examples)
本文針對現(xiàn)有基于卷積神經(jīng)網(wǎng)絡(luò)的通用目標(biāo)檢測算法在水下場景檢測精度下降問題,提出一種基于U-Net結(jié)構(gòu)的特征增強模塊FDM-Unet以及一種水下圖像合成方法。實驗結(jié)果表明,F(xiàn)DM-Unet作為即插即用模塊,僅增加極小的參數(shù)量和計算量,就可以大幅提升預(yù)訓(xùn)練模型以及真實水下微調(diào)模型的檢測性能,并且采用合成水下圖像進行預(yù)訓(xùn)練可以顯著提升模型在真實水下圖像上的檢測性能。下一步將針對霧天、低光照等降質(zhì)成像場景驗證本文方法的有效性,探索更高效、輕量的特征增強模塊。