凡志邈,夏偉杰,劉 雪
(南京航空航天大學電子信息工程學院,江蘇南京 210016)
受水中介質復雜性的影響,電磁波易被吸收,導致在水中的傳播距離很短,難以實現遠距離探測任務,而聲波在水中可傳播數十千米,是一種較為理想的傳播信號。低頻段下,聲波傳播距離較遠,可以直接利用信號的頻譜等特征實現噪聲識別工作(如艦船噪聲);而高頻階段,在幾百米范圍內可以實現聲吶目標的成像,目前成像聲吶逐漸成為海洋水聲探測行業的必需設備之一[1]。由于水下環境復雜,實際作業難度大,難以獲取大量數據樣本。然而目前許多水下工程研究都需要較大的數據樣本,如利用深度學習實現水下目標分類與檢測網絡的訓練需要大量的聲吶圖像,但現實中無法收集到大量的聲吶圖像。在現有文獻中,并沒有直接用于聲吶圖像生成的資料,大多數采用多波束技術生成聲吶圖像[2]。很多研究人員已經在合成孔徑雷達(Synthetic Aperture Radar,SAR)和遙感光學圖像之間的映射方面取得一定的進步。如Schmitt等[3]利用Pix2Pix成功實現了SAR圖像到遙感光學圖像之間的映射。由于聲吶成像的原理與雷達成像有很多相似之處,聲吶也因此扮演著水下雷達的角色。本文受到SAR圖像與遙感光學圖像之間圖像遷移思想的啟發,借助SAR圖像與遙感光學圖像的映射及圖像風格遷移思想,提出基于CycleGAN模型利用光學圖像合成聲吶圖像,實現聲吶圖像庫的構建方法。

CycleGAN的總損失由對抗損失LGAN和循環一致性損失Lcyc兩部分組成,可由式(1)表示[9]:

其中:λ是用來控制循環一致性損失在整體損失中的占比。

圖1 CycleGAN模型框架Fig.1 The framework of CycleGAN model
對抗損失[9]:

式中:log主要用于求極值,其底為2、e、10均可。式(2)表示正向對抗損失,反向對抗損失與其類似,即對抗損失采用交叉熵損失函數。
循環一致性損失[9]:

式(3)中,fλ和bλ分別控制前向循環損失和后向循環損失的占比。
在訓練時,生成器與鑒別器交替更新,直到判別器的損失接近0.5,即達到納什平衡條件。循環一致性損失用來防止生成器G和F產生過擬合,避免所有的光學圖像全部映射到聲吶圖像中的一張圖像上。
CycleGAN網絡在實現圖像風格遷移時不需要匹配的數據集,且在紋理和色彩轉換方面有一定的優勢[10],但是在訓練過程中CycleGAN容易出現模型崩塌的現象,接下來從CycleGAN損失函數進行改進,以緩解該情況的發生,使最終合成的聲吶圖像有更好的效果。
(1)將原始的GAN損失公式中的對數似然損失用平方損失替換(如式(4)所示),可以增加網絡訓練的穩定性。

(2)增加一個恒等損失函數,該損失函數在CycleGAN的實際應用部分被提及[9],用來增強圖像翻譯色調的準確性。CycleGAN中的重構損失主要由兩部分組成:GAN損失和循環一致損失,其中GAN損失實現類別遷移,而循環一致損失保證循環遷移。除此之外,在本文實驗中加入一個恒等損失,用來防止循環遷移過多,其對應的表示形式為[9]

(3)為了加快網絡的收斂速度,在判別器的損失函數中加入Wasserstein距離[6],其定義為



其中KL為KL(Kullback-Leibler)散度,表達式為[7]

而在此情況下,Wasserstein距離仍然可以體現兩個分布的距離,因此本文利用Wasserstein距離作為正則項,指導CycleGAN模型的訓練,有效緩解模式崩塌問題。對Wasserstein距離的實際求解需要滿足利普希茨連續條件(Lipschitz)[11]:判別損失函數梯度不能超過常數K,如式(19)所示:

其中,Relu(?)為激活函數,p表示判別器梯度求范數,本文取值為2;K值取1即表示本文采用1-Lipschitz約束條件。
改進后,CycleGAN模型的判別器損失函數為

其中,λw為超參數;
CycleGAN模型改進前后,鑒別器的損失函數變化曲線如圖2所示。從圖2可見,采用Wassrestein距離修正后的鑒別器,損失函數有更好的收斂效果。
在本實驗中,分別采集了不同目標的光學圖像和聲吶圖像,并用它們來訓練CycleGAN模型。本文對三種目標的聲吶圖像進行了合成實驗,分別是三角形、飲料瓶以及輪胎。因此,需要采集相應的光學圖像和聲吶圖像,并且每個實驗都是獨立進行的。對于光學圖像,由于沒有現成的數據集可供使用,我們通過網絡爬?。ㄈ顼嬃掀?、輪胎)以及采用繪圖軟件手工繪制方式(如三角架)獲得。本文采用了英國的Tritech公司生產的Gemini720前視二維成像聲吶采集聲吶圖像,圖像分辨率為 1024×768×3,但是由于圖像中實際目標占比較小,因此根據目標大小按照特定比例進行裁剪,最終使所有圖像的分辨率均為256×256×3。具體實驗數據集組成如表1所示。

圖2 改進前后CycleGAN模型鑒別損失函數對比Fig.2 Comparison of discriminator loss functions of CycleGAN before and after improvement

表1 CycleGAN模型實現光學到聲吶圖像遷移數據集構成Table 1 The datasets for training CycleGAN to transfer optical image to sonar image
每類目標的聲吶圖像合成實驗分開訓練,如圖3所示為最終的合成效果,同時為了對比本文改進的CycleGAN網絡實現的光學到聲吶的圖像風格轉換效果,本文還訓練了Pix2Pix、MUNIT[12]、DiscoGAN[13]。訓練時的具體參數設置如表2所示。

表2 CycleGAN模型訓練參數設置Table 2 Training parameter setting of CycleGAN

圖3 基于CycleGAN實現光學到聲吶圖像的風格轉換Fig.3 Style transfer from optical image to sonar image based on CycleGAN
從圖3中的實驗結果可以看出,訓練的網絡都能實現從光學到聲吶圖像的風格遷移,但是最終的效果卻不同。Pix2Pix模型可以生成三角架和飲料瓶,但是輪胎的生成效果不好,此外當輸入不同的測試圖片時,合成的聲吶圖像總是相同。從圖3中可以看出,MUNIT和DiscoGAN模型合成的聲吶圖像的分辨率很低;原CycleGAN模型合成的聲吶圖像出現像素點缺失現象,相較之下,經過修正的CycleGAN模型合成的聲吶圖像與真實的聲吶圖相較接近,并且對不同的輸入也能合成不同的聲吶圖像,從而保證聲吶圖像的多樣性,如圖4所示。
為了進一步驗證生成的聲吶圖像的效果,本文還開展了目標檢測實驗。實驗開展分成兩步,先對生成的每一類目標進行了單目標檢測,然后將生成的所有數據集混合,進行多目標檢測。每一次實驗數據集的組成如表3所示,其中訓練集和驗證集通過本文方法而生成,通過成像聲吶獲取測試集。

圖4 合成聲圖像的多樣性Fig.4 Diversity of synthetic sonar images

表3 目標檢測數據集組成Table 3 Composition of object detection datasets
在目標檢測實驗中,采用的是 Mask RCNN[14]模型,它是在Faster RCNN[15]基礎上的改進,增加了一個用于分割任務的分支。雖然在檢測速度上較Faster RCNN慢,但是檢測精度有很大的提升。目前,利用Mask RCNN可以實現目標的檢測、識別、分割以及人體姿態估計等任務。本文中Mask RCNN的特征提取網絡采用一個32層的卷積神經網絡,為了解決模型的退化問題,在部分層中采用了殘差模塊[16]。
目標檢測結果如圖5所示,圖5(a)~5(b)中左側為輸入,右側為輸出結果,右側圖形中的數據為置信度,即檢測到目標落在規定的置信度區間的概率。(1)對于單目標的檢測,圖5(a)是三角架目標的檢測結果。從圖5(a)中可以看到,三角架目標被成功地檢測出來,并且所有的三角架測試圖片均被檢測出來,檢測率達到100%。圖5(b)為飲料瓶的檢測結果,飲料瓶也被成功檢測到,所有的飲料瓶測試圖片中8張圖片未被成功檢出,單目標飲料瓶的檢測率約為96.2%。圖5(c)為輪胎目標的檢測結果,輪胎目標被檢測出來,所有的輪胎測試圖片中5張沒有檢測到任何目標,檢測率約為97.6%;因此從單目標的檢測結果來看,利用CycleGAN模型構建的聲吶圖像庫可以用于目標檢測網絡的訓練。(2)對于多目標的檢測如圖5(d)所示,左邊為輸入的多目標圖像,圖中的目標有三角架、飲料瓶、輪胎,右邊為檢測結果;從檢測結果可以看出,多目標輸入的情況下,對應的目標也成功被檢測出來,進一步驗證了CycleGAN模型生成的聲吶圖像的有效性。

圖5 目標檢測結果Fig.5 The results of object detection
本文提出了采用CycleGAN網絡,利用光學到聲吶圖像風格遷移,實現聲吶圖像庫的構建。通過對損失函數進行改進,加快網絡的收斂速度,提高了CycleGAN網絡的性能。通過與不同風格遷移網絡進行比較,結果表明修正后的CycleGAN能生成更好的聲吶圖像。最后用合成的聲吶圖像訓練Mask RCNN網絡,并用真實的聲吶圖像進行測試,訓練后的模型能夠成功檢測出目標,進一步驗證了本文構建的聲吶圖像庫的有效性。但是本文方法也有一定的局限性,并不是對輸入的所有測試圖片都能合成一個比較理想的聲吶圖像,因此在聲吶圖像庫的構建過程中,需要用到大量的光學圖像,從合成中的聲吶圖像中人為地選出合適的結果。