陳任飛, 彭 勇,*, 李忠文
(1. 大連理工大學水利工程學院, 遼寧 大連 116024; 2. 大連理工大學經濟管理學院, 遼寧 大連 116024)
漂浮垃圾威脅水體生態系統,對環境造成嚴重污染[1-2]。應對內陸水域漂浮垃圾的傳統策略是依靠人力,效率低且成本高[3]。以機器視覺為代表的人工智能技術在漂浮物治理中得到了廣泛應用,通過視覺信息檢測漂浮物是較為經濟的解決方案,如無人船和視覺相機[4-5]。近年來出現了基于深度學習的方法來解決漂浮物檢測的難題,如Faster R-CNN[6]、YOLO[7]、SSD[8]等。盡管目前在漂浮物檢測方面取得了一定的進步,但仍存在以下問題。
(1) 小尺度漂浮物檢測精度低。大多數漂浮物的圖像面積較小,缺乏物體檢測的外觀信息,為漂浮物識別和定位帶來巨大挑戰[9-10]。現有的物體檢測方法通常通過學習物體多尺度的表征信息來檢測小物體,如Liu等人利用卷積特征圖檢測小尺度目標,但淺層的特征圖的判別能力較差,導致了假陽性現象[8]。Tsung等采用特征金字塔網絡(feature pyramid network,FPN)代表不同尺度的目標對象,通過上采樣將不同分辨率特征圖進行特征融合,但會降低檢測精度[11]。同時,Bai等提出一種端到端的多任務生成對抗網絡(multi-task generative adversarial network,MTGAN),通過生成超分辨率網絡將小尺度目標進行上采樣檢測,緩解了FPN中的精度下降問題[10]。Li等提出一種感知生成對抗網絡(perceptual generative adversarial networks,PGAN),通過縮小不同尺度目標的差異性來改善小目標檢測性能,但網絡復雜造成推理時間長[12]。因此,現有的物體檢測方法并沒有完全解決復雜水面環境中的小尺度目標物檢測難題。由于小尺度目標的檢測依賴于高分辨率特征圖,而低層特征圖在小尺度漂浮物檢測任務中性能失效[13]。因此,如何調整多尺度特征層的語義信息,是提升小尺度漂浮物檢測性能的關鍵。
(2) 域轉移會降低檢測性能。由于源域數據集和目標域數據集之間的分布差異,物體檢測性能會大幅下降[14]。以無監督域適應為代表的遷移學習是解決域轉移問題的有效方法[15-16]。基于域適應的Faster R-CNN和CM-SSD在目標檢測的無監督域適應中得到廣泛應用[17-18]。Xiong等提出了一種源數據自由域適應目標檢測方法,通過使用源模型挖掘語義類別信息,以Faster R-CNN為基準實現域適應目標檢測[19]。Kim等通過采用生成對抗網絡構造中間域圖像,通過多域判別器學習特征以實現特征對齊[20]。上述方法需要滿足整體目標域數據集在域適應過程可用性假設,但現實檢測中包括大量漂浮物場景并且同一場景的環境也會隨著時間的推移而變化,導致無法直接應用于實際場景中的漂浮物目標檢測[21]。例如,當漂浮物突然進入一個新環境,導致漂浮物目標域和源域數據集的分布完全不匹配。持續學習能夠讓深度學習網絡以持續的方式進行優化,適應目標域物體檢測的新任務[22]。Hoffman等提出了一種基于流形準則的方法來處理緩慢變化目標域的流式目標數據[23]。同樣,Wulfmeier等提出了一種基于生成對抗網絡的持續適應目標域的方法[24]。Volpi等認為源域和目標域數據之間的域轉移是隨時間不斷變化的域適應問題,通過使用具有輔助源域的元學習方法來避免域適應過程中的誤差[25]。但上述方法都忽略了連續域適應目標檢測中的災難性遺忘問題,導致源域模型的檢測性能下降[26]。 因此,現有方法依然無法有效解決物體檢測器的連續域適應問題。
目前漂浮物目標檢測與域適應方法中存在小尺度漂浮物檢測精度低和域轉移會降低檢測性能問題,少有研究將調整特征層結構和持續域轉移相結合,更少考慮目標檢測網絡在持續域轉移中的災難性遺忘問題。本文基于持續學習提出了一種基于持續無監督域適應策略的漂浮物目標檢測方法,在目標檢測器中通過刪除深層的低分辨率檢測層和增強淺層的高分辨率層,提高了目標域中小尺度漂浮物目標的檢測性能;在無監督域適應中基于緩沖區管理和樣本重放構建持續無監督域適應方法,緩解災難性遺忘問題,并降低目標域數據集樣本子集域適應過程中的檢測性能差異。本方法在多種水面域轉移場景下,包括從水面環境光照到動態光影條件,從霧天到大雨環境變化等,在數據集上的表現都優于現有方法,提升了目標檢測網絡在不同水面場景應用中的泛化能力。
本文提出的基于持續無監督域適應策略的漂浮物目標檢測方法包括兩個方面:在目標檢測階段,提出了一種水面漂浮物檢測器(single shot multi-box detector for floating target, SSD-FT),以解決漂浮物的復雜檢測環境和目標尺度問題。在無監督域適應階段,提出了一種持續無監督域適應(continual unsupervised domain adaptation, CDA)方法,以最小化源域數據集與目標域數據集之間的分布差異,提高檢測器在多種場景下的檢測性能。本方法CDA-SSD-FT的整體框架如圖1所示。首先,基于標記的源域數據集,以標簽平滑的方式訓練SSD-FT模型,為漂浮物目標生成標簽。然后,初始化訓練好的SSD-FT模型,并將其輸入到目標域數據集中。緩沖區管理和樣本重放被應用于無監督適應中,以提高檢測網絡對整體目標域數據集的泛化能力。

圖1 持續無監督域適應目標檢測網絡結構
相較于兩階段目標檢測算法,以SSD和YOLO為代表的一階段檢測算法能夠平衡精度和速度,但在小目標檢測上性能顯著下降[27]。從骨干網絡復雜度和集成角度講,SSD算法的VGG16網絡比YOLO算法的Darknet網絡更具優勢,因此SSD算法作為本研究的基礎網絡。在目標檢測特征提取網絡中,小目標信息更依賴高分辨率特征圖,本研究調整傳統SSD網絡的特征圖結構來提升小目標漂浮物檢測性能。傳統SSD網絡包括6個檢測層:38×38(Feature1,F1)、19×19(Feature2,F2)、10×10(Feature3,F3)、5×5(Feature4,F4)、3×3(Feature5,F5)和1×1(Feature6,F6)。調整后的SSD檢測網絡見圖2,刪除了低分辨率特征層和增強了高分辨率特征層。具體如下:

圖2 SSD-FT網絡結構
(1) 刪除深層低分辨率檢測層:由于小目標漂浮物分辨率低、圖像噪聲干擾大,傳統SSD檢測網絡中深層低分辨率特征層無法提取小型漂浮物目標的語義信息,其中在分辨率為5×5的F4檢測層下漂浮物模糊且形狀、外觀信息大幅減少,因此檢測層F4及以下的分辨率無法提取小型漂浮物目標的有效特征,進行刪除。
(2) 增強淺層高分辨率檢測層:高分辨率特征層能夠提取小尺度漂浮物目標的關鍵信息,但由于高分辨率特征層過于淺層導致特征信息減少,無法有效區分不同目標,需要進行特征增強。在特征增強方法中,膨脹卷積在不引入額外參數的前提下可以任意擴大感受野,同時保持特征圖的分辨率不變提升物體定位精度[28]。因此,采用膨脹卷積的方式擴大特征層的感受野,具體過程見圖3。在分辨率為76×76的特征層F0中增加一個膨脹卷積層以獲得更豐富的語義信息,得到特征增強后的特征層F0°。

圖3 膨脹卷積處理
本文采用一個預訓練的源域數據模型來解決無監督域適應問題。首先,從源域數據集中訓練生成SSD-FT的源域模型。其次,在不訪問源域數據的情況下將SSD-FT模型輸入到目標域數據集。同時,將目標域數據樣本的一個子集存儲在緩沖區中,以便與下一個樣本子集的目標域數據進行樣本重放。最后,新的目標域樣本子集與緩沖區樣本混合,輸入給SSD-FT模型進行域適應。
1.3.1 改進SHOT學習框架
源域假設轉移(source hypothesis transfer, SHOT)框架將神經網絡分為兩部分:特征編碼模塊和分類器模塊[29]。如圖4(a)所示,分類器模塊對源域假設的分布信息進行編碼,采用特征編碼模塊進行學習,但在不斷的域轉移過程中,SHOT方法不能達到最佳性能,圖4(a)中的“解鎖”是指對特征提取器持續進行更新和迭代處理,利用特征學習模塊作為目標域特征學習的初始化;“關鎖”是指對分類器進行固定處理,采用相同的分類器模塊對不同域的特征進行學習。為了滿足在持續域適應過程中漂浮物目標的檢測任務,通過調整特征生成器模型和分類器模型來改進SHOT方法,如圖4(b)所示。在特征生成模型中,采用SSD-FT主干網絡取代HRNet來獲取小尺度漂浮物的目標信息。在分類器模型中,在原分類層中增加了一個位置層,滿足漂浮物目標檢測的分類和定位目標。
1.3.2 緩沖區設計與管理

(1)
(2)
(3)
(4)

(5)
(6)

1.3.3 目標損失函數
信息最大化(information maximization, IM)損失可以實現精確預測,同時保持網絡整體多樣性,平衡類分離和分類器的復雜性[30]。深度神經網絡采用信息最大化的自我增強訓練策略,在基準數據集上取得良好性能[31]。因此,采用IM損失作為目標函數,保持對每個目標樣本子集的精確預測和SSD-FT網絡輸出的多樣性。IM損失函數包括熵值損失Lent和多樣性損失Ldiv,具體計算過程如下:
(7)
(8)
(9)
(10)
(11)

(12)
(13)
Lmix(ft;xt)=-λL1-(1-λ)L2
(14)
Ltotal=Lent+μ1Ldiv+μ2Lmix
(15)


算法 1 基于無監督域適應策略的水面漂浮物目標檢測方法輸入: 目標域數據集中的每一批次樣本xjt,批次m,緩沖區樣本Bj-1t 輸出: 包含類別和位置預測標簽信息的yjt參數: 熵值損失Lent,多樣性損失Ldiv,混合交叉熵損失損失Lmix,整體損失Ltotal初始化特征提取模型gt,固定分類和位置模型ht=hs載入源域預訓練模型SSD-FTfor 目標域數據集中的每一批次樣本xjt do for i←1 to m doif i=1 then Xt←批次樣本xjtelse Xt←批次樣本xjt和緩沖區樣本 Bj-1t的并集end if 利用式(1)和Softmax和smooth L1計算聚類中心 利用式(3)更新聚類中心 利用式(4)計算漂浮物目標偽標簽 利用式(5)和式(6)構建混合目標樣本 利用式(9)計算熵值損失Lent 利用式(10)計算多樣性損失Ldiv 利用式(14)計算混合交叉熵損失損失Lmix 通過最小化整體損失Ltotal優化模型 end for 將特征提取模型gt和(xjt,Bj-1t)存儲到下一個緩沖區Bjtend forreturn漂浮物類別和位置預測標簽信息yjt
本文以VGG16作為SSD-FT網絡的骨干網絡,進行無監督域適應漂浮物目標檢測實驗。在無監督域適應中,首先加載預先訓練好的源域SSD-FT模型,然后輸入目標域數據集樣本子集圖像進行域適應,通過每個目標域數據集樣本子集的單次迭代可以實現良好的域適應性能。
目前漂浮物體目標數據集較少[9],本文根據不同的場景和對象制作了漂浮物數據集,包含漁船、水葫蘆、漂浮野草和塑料瓶。本文使用CCD相機共收集了2 148張漂浮物圖像,包括982張漁船,526張水葫蘆,340張漂浮雜草和300張塑料瓶。為了增強檢測模型的泛化能力,通過鏡像、旋轉(±30°和±60°)、隨機裁剪、調整明暗度和添加噪音,將數據集擴大到20 527張圖像,并根據天氣、水波紋干擾、光照和遮擋,將數據集分為五個子集。數據1包含5 763個訓練集和762個驗證集,包括正常水面環境下的4類漂浮物。數據2包括4類不同天氣條件下的漂浮圖像,其中3 873個訓練集和625個驗證集。數據3包含3 162個標記的訓練集圖像,以及在水面波紋干擾條件下的565個驗證集。數據4包含在不同的光線條件下的2 123個訓練集和462個驗證集。數據5包含4種類型的漂浮物被遮擋的圖像,其中包括2 866個訓練集和326個驗證集。
為了驗證本方法的檢測效果,根據上述5個數據集分別在4個域適應場景中進行實驗。
(1) 不同天氣下的域適應(數據1到數據2)。為了驗證本方法在不同天氣環境下的域適應性能,進行了從數據1到數據2的實驗。源域數據是正常天氣狀況,目標域數據包含不同天氣情況。
(2) 波紋干擾域適應(數據2至數據3)。進行了一個從數據2到數據3的實驗,以驗證將天氣場景轉移到水面波紋干擾場景的檢測性能。源域數據為數據2,目標域數據為數據3。
(3) 光照變化域適應(數據3到數據4)。為了本方法在光線變化場景下的檢測性能,設計了從數據3轉移到數據4實驗,其中數據3和數據4分別是源域數據和目標域數據。
(4) 物體遮擋域適應(數據4到數據5)。設計了一個從數據4轉移到數據5的實驗,目的是驗證本方法在目標遮擋情況下的域適應能力。數據4和數據5分別是源域數據和目標域數據。
本文以Pascal VOC 2007訓練出的SSD模型作為權重起點對網絡進行微調,基于Ubuntu 18.04 LTS操作系統,計算機配置為Inter i7 CPU,32 G運行內存,搭配顯卡為RTX 3080,算法平臺為Python3.8版本的Pytorch 1.6的深度學習框架,初始學習率為0.000 1,優化器使用Adam優化方法,總共進行150 000次訓練迭代,訓練批次大小為16,輸入圖像分辨率為300×300,同時,本文調整參數μ1和μ2大小,發現當μ1=1和μ2=0.5時域適應達到最佳水平。
本文將CDA-SSD-FT的檢測精度與其他4種無監督域適應算法進行比較。① 源域訓練的SSD-FT模型直接應用于整體目標域數據集;② 跨域物體檢測方法CM-SSD模型[18];③ DA-FRCNN模型,基于Faster RCNN的域適應模型算法,是第一個用于物體檢測的無監督域適應方法[17];④ D-adapt模型,整合了分類和邊界框域適應,將對抗性適應和檢測器的訓練進行解耦[32]。
(1) 不同天氣的域適應
與正常天氣相比,霧天和雨天場景將增加小型漂浮物的檢測難度。本文進行了從正常天氣到惡劣天氣的轉移實驗,將CDA-SSD-FT與源域SSD-FT模型、CM-SSD、DA-FRCNN和D-adapt方法進行比較。從表1(Data1→Data2)可以看出,CDA-SSD-FT模型與源SSD-FT模型相比,在mAP方面有18.5%的提升,說明引入緩沖區和樣本混合方法顯著提升檢測精度。同時,與CM-SSD、DA-FRCNN和D-adapt方法相比,CDA-SSD-FT在4種漂浮物檢測中具有明顯優勢,原因在于CM-SSD將物體外觀和材質紋理域轉移分類器融合到特征提取層,但增加了整體目標域數據集上的泛化誤差。D-adapt方法采用對抗性適應和檢測器訓練方法,整合類別適應和邊界框適應,提升了水面漂浮物目標在天氣域轉移精度,但由于未考慮復雜目標域數據集可用性問題,降低了域適應水平。

表1 4類場景定量化分析結果
表1中,除了CDA-SSD-FT應用在一個持續目標域樣本子集外,其他4個模型應用于整體目標域。
(2) 波紋干擾域適應
和惡劣天氣一樣,水面上的波紋干擾會增加漂浮物檢測環境的復雜性。如表1(Data2→Data3)所示,CDA-SSD-FT模型檢測精度遠遠超過CM-SSD,達到19.4%。與惡劣天氣下的域適應相比,本方法在波紋干擾情況下的平均檢測精度下降了5.5%,這是由于波紋干擾水面場景更大概率出現變化,目標檢測器無法準確識別水葫蘆和塑料瓶造成的。
(3) 光照變化域適應
光照變化域適應實驗結果如表1(Data3→Data4)所示,DA-FRCNN相對于源域SSD-FT在四類漂浮物目標中的平均精度提高了6.2%。DA-FRCNN方法通過圖像和實例維度進行域適應,重點解決光照、外觀和尺寸的域轉移問題,提升了漂浮物目標在不同關照域轉移的精度,但在持續域轉移過程中的檢測效果低于CDA-SSD-FT模型 7.6%。結果表明,利用SSD-FT骨干網絡進行持續域適應可以顯著提高小尺度漂浮物檢測模型的泛化能力。
(4) 物體遮擋域適應
漂浮物目標之間的相互遮擋導致檢測器無法提取有效特征,尤其是在漂浮物目標的尺寸和像素較小的場景中。實驗結果如表1(Data4→Data5)所示,雖然應用更復雜的目標遮擋數據集,但CDA-SSD-FT模型與源域SSD-FT模型相比,mAP提升約10%。同時,由于D-adapt方法整合了分類和邊界框域適應,D-adapt方法對4種漂浮物目標的mAP達到了74.2%,比CM-SSD和DA-FRCN分別高出3.4%和0.2%。
(5) 不同緩沖區和樣本子集域適應
為了驗證本方法在不同緩沖區和樣本子集大小的域適應水平,本文將緩沖區大小設置為124,為每類漂浮物目標設置4個緩沖區槽,樣本數據集的子集大小設定為256。實驗結果如表2所示,SSD-FT模型在4個場景中的精度均高于SSD,更適合在復雜水環境中檢測小尺度漂浮物目標。但在4個場景實驗中,引入緩沖區的SSD-FT模型的平均精度低于SSD-FT 1.8%。經分析可知,在目標域持續無監督域適應過程中會形成大量的噪聲信息,降低了目標檢測器的精度。引入緩沖區和樣本混合的CDA-SSD-FT模型比SSD-FT提高了16.8%的精度,說明樣本混合有效減少了噪聲標簽的數量。

表2 緩沖區和樣本子集域適應結果
以不同天氣域適應為例,本文通過調整緩沖區和樣本子集大小驗證本方法有效性,兩組對比實驗:① 樣本子集大小固定為256和6個不同的緩沖區,100,124,200,300,400和500;② 剔除緩沖區,設定4個樣本子集,16,64,128和 256。實驗結果見圖5,通過引入緩沖區,CDA-SSD-FT模型在不同天氣域適應性能顯著提升。如圖5(a)所示,引入緩沖區和樣本混合的CDA-SSD-FT模型檢測精度比未引入緩沖區的模型提高了16.2%。此外,如圖5(b)所示,隨著樣本子集數量的增加,CDA-SSD-FT模型的檢測精度不斷提升,當樣本子集大小從16個增加到256個時,整體精度提高了7.6%。

圖5 不同緩沖區和樣本子集域適應下性能對比
上述實驗從定量角度分析了本方法在4個場景中的有效性,本文將從可視化角度分析本方法的性能。不同場景的實驗定性結果見圖6。從圖6(a)可以看出,CDA-SSD-FT模型可以準確識別圖像中的所有水葫蘆目標,預測準確率框中的最小置信度為0.83。圖像中的兩個水葫蘆被源域SSD-FT模型誤檢為漂浮雜草,降低了該模型的檢測精度。如圖6(b)所示,CDA-SSD-FT模型在大霧天氣下對漁船的檢測性能要高于其他4個模型。CM-SSD、DA-FRCNN和D-adapt算法無法檢測圖像中的塑料瓶目標,而源域SSD-FT模型對塑料瓶檢測精度達到0.63,比這3種算法更適合小范圍的漂浮物檢測任務。同時,CDA-SSD-FT模型可以為圖6(c)中的漂浮物目標構建更緊密的邊界框,表明本方法比其他4個算法具有更好的檢測性能。如圖6(d)所示,D-adapt和源域SSD-FT模型將水面反射誤檢為水葫蘆,而CM-SSD和DA-FRCNN模型則產生漏檢,本方法準確地檢測到了漂浮物圖像中的所有目標。
本研究中的目標檢測算法同時對VGG16骨干網絡的淺層特征層和深層特征層進行了改進,為了評估不同特征層改進和組合對算法性能優化的程度,設計了消融實驗,表3為消融實驗數據。在相同的實驗環境下,在數據集3(波紋干擾)上進行了實驗統計。結果表明,調整后的淺層和深層特征層單獨應用能對檢測性能產生正向優化,其中增強淺層高分辨率檢測層對于識別精度的貢獻相對較為明顯,mAP提升6.4%,刪除深層低分辨率檢測層對于檢測速度的提升相對顯著,提高了3.8 FPS。不同組合對檢測性能的整體表現基本呈現正向優化。不同特征層改進和同時組合應用對檢測精度和速度優化效果最好。

表3 消融實驗數據
圖7列出了消融實驗下漂浮物目標檢測性能的對比。從傳統SSD網絡到SSD-FT網絡的檢測結果,實驗表明,消融實驗組出現了漏檢和誤檢,本算法能夠準確識別圖中的漂浮物目標。

圖7 消融實驗對比示例
(1) 誤差分析
通過對4類漂浮物的預測結果比較CDA-SSD-FT模型與其他四個模型的檢測精度。根據檢測框與真實框的重合度IOU將檢測結果分為:Correct:IOU>0.5; Mislocation:0.1 圖8 檢測誤差分析結果 (2) 參數分析 本文通過調整參數μ1和μ2的各種組合來分析參數的敏感性,采取的方法是固定其中一個參數,同時不斷改變另一個參數大小來分析性能變化。參數優化的結果如圖9所示,當參數μ2固定時,對參數μ1不斷調整,當μ1=1時CDA-SSD-FT模型的最大檢測精度達到了85.4%。同時,當μ2調整為0.5時,模型檢測精度最高,說明本方法對μ1和μ2的變化不敏感,在μ1和μ2達到3.5之前,CDA-SSD-FT模型檢測精度高于比源域SSD-FT模型。 圖9 參數分析結果 (3) 其他對比分析 為了驗證CDA-SSD-FT的可靠性和穩健性,本研究將其與CM-SSD、DA-FRCNN和D-adapt在檢測效率和模型大小方面進行比較。表4顯示了不同方法的檢測參數。與其他算法相比,CDA-SSD-FT的檢測精度最高。CDA-SSD-FT的檢測速度與D-adapt大體一致。D-adapt使用對抗性適應和檢測器訓練方法,整合了類別適應和邊界框適應,極大地減少了參數的數量,有效地控制了計算效率。同時,CDA-SSD-FT具有最少的參數數量和最小的模型內存。DA-FRCNN的檢測速度最慢,大約是CDA-SSD-FT檢測速度的4倍。因此,現有的無監督域適應目標檢測方法對檢測對象和環境要求較高,缺乏魯棒性。此外,本研究將YOLOv5與連續無監督域適應方法相結合,以驗證所提方法的可擴展性。如表4所示,CDA-YOLOv5的檢測精度明顯低于CDA-SSD-FT,說明YOLOv5在小規模漂浮物數據集上的檢測精度較低。與DA-FRCNN相比,可以發現,由于參數數量較少,CDA-YOLOv5的檢測速度提高了42.5%。從檢測精度、計算速度、模型大小等方面綜合判斷,CDA-SSD-FT是最可靠、最適合應用于小尺度漂浮物檢測任務的算法。 表4 不同方法檢測效率和模型大小對比 本文提出了一種基于持續無監督領域適應策略的漂浮物目標檢測方法,包括改進的SSD-FT網絡和持續無監督域適應方法。首先,SSD-FT網絡是通過刪除深層的低分辨率特征層,增強淺層的高分辨率特征層來解決漂浮物的復雜檢測環境和目標尺度問題。其次,基于源域數據集,通過結合無監督域適應與緩沖區管理和樣本混合,將其初始化模型輸入到樣本子集的目標域數據集。最后,在4個不同水面場景中進行域適應對比實驗,結果表明,本方法的檢測精度均高于其他無監督域適應方法,兼顧了檢測精度和效率,有效提高漂浮物檢測網絡在不同水面環境的泛化能力,滿足了水面漂浮物檢測精度需求。 與其他無監督域適應算法相比,本方法在小尺度的漂浮物目標中具有良好的域適應性能。然而也有以下局限性:首先,嘗試將YOLOv5應用于持續無監督域適應中,但精度低于SSD的方法;其次,在實際應用中目標域處于動態變化過程,限制了實際工程應用。在未來,本文將進一步分析該模型的適用性以及動態目標域對該模型的影響。


4 結 論