陳 亮,楊羽翼,張 劍,吳亮紅,時慧晶,彭 輝
(1.湖南科技大學信息與電氣工程學院,湖南 湘潭 4112012.昆明船舶設備研究試驗中心,云南 昆明 650051)
水下目標視覺檢測是水下機器人環境感知與高精度定位作業的重要保障[1]。視覺目標檢測的主要任務是實現對被檢目標圖像位置回歸預測與目標屬性分類識別。不同于傳統二階段目標檢測方法[2],YOLO系列的目標檢測算法采用端到端的神經網絡結構[3],將整個檢測過程看成統一的回歸問題,通過簡化任務成本,有效節省了算法訓練與前向推導的時間,提高了算法運行效率。
然而,在YOLO系列算法[4-6]中,目標檢測與識別是以整體對象為特征提取的基礎,其檢測與識別的性能主要受中心點位置偏差、預測框與真實框之間的交并比及目標分類誤差三方面因素影響。而水下機器人在海底作業時,由于受泥沙、懸浮物以及多目標動態位置變化等因素影響,被檢目標容易被遮擋,形態差異性變化大,因而檢測效果較差。
針對上述問題,文獻[7]提出了廣義交并比(generalized intersection over union,GIoU),通過優化錨框與目標重疊時的交并比(IoU)部分損失函數,實現了算法在任意條件下損失函數的可導,解決了算法的穩定性問題,但當錨框彼此相關聯時,GIoU將退回為普通IoU,且在水平與垂直方向收斂困難。此外,在中心點位置回歸方面,文獻[8]提出的基于距離的交并比(DIoU),通過對錨框與目標之間的中心距離歸一化,提高算法的收斂性,同時,針對其在不同方向上歸一尺度不統一的問題,提出綜合考慮重疊面積、中心點距離以及長寬比等因素的完全交并比(CIoU),提高了對遮擋目標的檢測效果。但是二者均沒有考慮遮擋目標的動態變化問題,算法自適應能力弱,無法勝任機器人動態巡檢任務需求[9-10]。
為此,本文針對遮擋目標特征信息相對較弱,重疊區域不確定的問題,在CIoU的基礎上,提出一種基于特征增強與損失優化的YOLO改進算法,設計了隨機殘差通道注意力提升水下圖像的特征表征能力,同時采用真值排斥因子與預測因子優化損失函數,實現對不同遮擋目標的多尺度位置回歸,最后,針對在遮擋區域較多時目標預測概率偏低而采用傳統非極大值抑制法容易漏檢的問題,算法在預測器輸出端加入遮擋預測率信息,實現對不同程度遮擋目標檢測框的自適應,提升被遮擋目標檢測的召回率。
YOLO系列作為端到端的一階段目標檢測算法,其以darknet53作為特征提取網絡,通過將輸出的3層多尺度空間特征圖作為檢測與識別網絡輸入,并融合了FPN的結構與思路,實現對不同大小目標的有效檢測。而作為集當今主流有效模塊的YOLOv4[11],其不僅利用跨階段局部網絡(cross stage partial network,CSPNet)改進特征提取網絡,同時,采用馬賽克增強方法與MixCut方法相結合,有效提升了算法的自適應能力。但在水下環境中,由于圖像過度退化,應用上述噪聲擾動的離線預處理方法仍會造成一定的精度損失。
YOLOv4算法結構框架如圖1所示。

圖1 YOLOv4網絡結構圖Fig.1 YOLOv4 network architecture diagram
上述網絡首先將離線處理的圖片輸入給特征提取網絡CSP-Darknet,通過多尺度特征提取,獲得基礎特征的映射圖,然后再通過密集連接模塊將信息傳遞給下一階段,從而實現淺層特征映射圖分離。此后,網絡通過多層級特征融合的整合器PAN結構完成多尺度的信息交互。最后,網絡采用3種分辨率的特征圖作為預測器,分析圖像檢測結果,獲得最終的目標位置信息與屬性信息。從網絡總體結構分析,YOLO v4網絡通過優化結構深度,較好地提升了對多尺度目標的檢測效果,但算法仍存在寬度利用率不足,深度空間的各層通道信息冗余,彼此獨立等問題。
此外,在錨框回歸上,YOLOv4采用非極大值抑制(NMS)優化CIoU,并通過閾值濾除一定量的正樣本,實現了正負樣本平衡。算法在優化交并比機制以提高計算精度的基礎上,實現了對目標檢測召回率的提升。但在水下環境中,由于目標的遮擋尺度存在多樣化變化,交并比計算精度低,網絡對遮擋目標檢測仍存在漏檢的可能,自適應能力偏弱。
水下環境中對被檢目標的遮擋問題主要包括兩類,一類是環境遮擋如礁石、泥沙、水藻等以及水生動植物棲息所引起的遮擋問題,另一類是同類目標與異類目標彼此之間的相互遮擋。前者由于遮擋物在顏色、形態上與環境存在同質化現象,因而在目標檢測時常通過設計復雜的網絡,提升對環境的感知能力,最終解決目標的虛檢、漏檢問題;而后者則因為目標檢測器候選框容易交疊,預測候選框目標類別評分偏低,采用非極大值抑制法容易將真值也進行濾除。此外,在YOLO中預先設定檢測柵格中每個尺度特征層僅有3種不同形態的錨框,如果柵格鄰域內目標數量較多,則候選框容易向特征更顯著的目標偏移從而造成漏檢。
針對上述問題,本文在YOLOv4目標檢測框架上,通過在Darknet-CSP結構中加入隨機殘差通道注意力,提升通道之間的信息交互;同時,采用候選框排斥項Rep-GTIoU loss與預測框排斥項RepBox loss[12]優化目標損失函數,增加被檢目標預測框之間的回歸界限,緩解目標群集因遮擋所引起定位與回歸效果差的問題。
YOLOv4采用隨機殘差連接的方式有效縮減了計算量,剔除了部分無用的殘差網絡,增強了已學習特征的比重。但在水下探測的場景下,目標物受環境干擾極大,僅采用CSP改進Darknet通道,通過隨機堆疊的方式減少計算量,雖然降低了訓練成本,但訓練方向難以控制,模型無法快速有效地獲得最優參數。針對上述問題,本文結合注意力機制(efficient channel attention,ECA)[13]提出了改進CSP殘差單元CSP-ECA,結構如圖2所示,通過通道注意力機制快速獲得有效堆疊通道,并通過增強其融合權重,實現訓練方向的最優化。

圖2 CSP-ECA結構圖Fig.2 CSP-ECA structure diagram
CSP-ECA在堆疊通道后首先采用全局池化獲得特征圖的全局語義信息;其后,模型在不降低維度信息條件下將全局特征聚合在對應的通道內,盡可能保留不失真的信息;最后,通過對濾波卷積核采用自適應k近鄰算法,實現對堆疊后的通道信息互通。卷積核參數自適應如式(1)所示:
(1)
在上述結構中,網絡首先通過卷積獲得通道特征,其后通過對堆疊后的特征圖進行權重加權,實現對高維特征的重點學習。該方式使得每個CSP Block都可應用一次通道信息整合,提升信息關注度。雖然會增加參數量與計算量,但增加的量相對較少,在訓練與檢測時基本可忽略不記。
文獻[9]在YOLOv4的基礎上將損失函數由IoU loss調整為CIoU loss,解決了當錨框彼此不相交時損失函數始終為常數而無法給出優化方向的問題。CIoU loss具體定義為
(2)
(3)
(4)
式中,A為目標框間的交并比(IoU),ρ為距離度量函數,b、bgt分別是輸入損失函數中的候選框與目標框的中心點,c為兩框最小外接矩形的對角線距離,β表示用于平衡比例的系數,v用于衡量Anchor框和目標框之間的比例一致性。
由于上述計算時沒有引入功率懲罰項,因此CIoU loss無法實現對不同目標相對權重的自適應,因而在動態檢測時,YOLOv4召回率容易偏低。
α-IoU作為IoU的冪次推廣[14],具有梯度自適應重加權特性,通過自適應地重新加權高和低IoU目標的損失和梯度,提高預測框的回歸精度,因而本文采用α-IoU優化CIoU loss,通過參數自適應提升不同目標的相對權重。
首先對IoU進行功率變換:
Lα-IoU=1-Aα1+Ρα2(b,bgt) (α1、α2>0),
(5)
式(5)中,Ρα2(b,bgt)是根據預測框和真實框計算的懲罰項,經實驗證明Lα-IoU對α2取值不敏感,因此為了保持一致性取α=α1=α2。
采用α-IoU優化參數α后的Lα-CIoU為
(6)
(7)
(8)
式中,ρ為二階閔氏距離函數。
當α>1時,損失函數將更加側重于高IoU目標區域,尤其在多個候選框彼此無交集的場景下,模型訓練也將更容易朝候選框交疊域正增長方向優化。
此外,為提升對水下目標遮擋問題的檢測能力,本文在上述優化的CIoU loss的基礎上加入真值目標框排斥因子,拓寬預測框與其他真值目標框之間的間距,防止預測框全部陷入置信得分最高的區域。
真值排斥項因子LRepGT定義為
(9)
(10)
(11)

此外,為了預測框更加獨立,算法同時給損失函數添加預測目標框的排斥因子。通過排斥因子,擴大已匹配真值的目標框與預測目標框之間界限,使得已匹配的目標框不再朝更顯著真值框回歸。
定義預測目標框排斥因子LRepBox:
(12)
式(12)中,Bp為已匹配了真值框的預測框,I[·]為identity函數,ε為一個極小值防止函數出現無窮大。
引入真值目標框排斥因子和預測目標框排斥因子后的回歸損失函數為
LRep-αCIoU=LαCIoU+aLRepGt+bLRepBox,
(13)
式(13)中,a、b為權重平衡因子。過大的權重和預測框回歸的任務相沖突,從而會導致檢測精確度的下降,因此,a,b因子取值應保持二者之和為1。
針對預測相同目標且得分較差的邊界框,深度學習的目標檢測方法常采用非最大值抑制法NMS進行濾除,即僅保留評分值最高的邊界框。而傳統NMS沒有考慮上下文信息[15],容易造成遮擋目標的漏檢。為此,本文以YOLOv4的優化soft NMS[16]為基礎,在其3層檢測器原有輸出維度的基礎上增加一維目標遮擋率信息,為網絡的位置回歸提供遮擋上下文信息輔助,提高檢測的召回率。預測器輸出參數如表1所示。

表1 預測器輸出參數Tab.1 Predictor output parameters
改進后的檢測器共享網絡參數,因而并不會引入冗余參數,但該預測信息為判別不同類型遮擋目標提供動態自適應的閾值。
在水下圖像中,采用與真值目標框計算獲得的最大IoU值作為遮擋率標簽,其后對每個位置的遮擋率進行有監督回歸。為簡化計算,減少離群點的干擾,遮擋率預測損失函數設為Smoothl1,則遮擋率計算為
S=argmaxIoU(Gi,Gj),
(14)
式(14)中,Gi、Gj為不同目標真實框。
通過預測遮擋率與真實遮擋率之間的回歸,并利用最后獲得的預測遮擋率信息對NMS進行加權,實現在有遮擋時閾值動態自適應調整,無遮擋時閾值恒定不變。閾值調節如圖3所示。

圖3 密度自適應NMS示意圖Fig.3 Schematic of density adaptive NMS
通過上述方法對目標檢測網絡的輸出結果進行自適應處理,可提升檢測器在復雜多變水下多目標動態檢測場景下的性能,保持檢測系統在水下群集中遮擋時的可靠性與穩定性。
算法在Windows操作系統中,以顯卡GTX1070-8G,CPU i7-8700為模型訓練設備,選擇基于渤海海域海洋生物檢測的公開視頻進行實驗。為了驗證算法在通用水下檢測場景與純遮擋環境下不同的效果,實驗將公開視頻數據進行區分,即定義原視頻為通用數據集,而選擇所有存在不同程度遮擋的圖像為遮擋數據集,即定義為密集數據集。
為了有效完成對不同算法目標檢測性能的定量化評價,實驗選擇綜合考慮了準確率與召回率的平均精確度(mean average precision,mAP)作為評價標注,其定義為
(15)
式(15)中,P為準確率,R為召回率。mAP通過計算每個類別的準確率與召回率曲線所形成圖形的面積平均值,直接反映網絡對所有被檢目標的綜合檢測能力。
實驗過程中,超參數的設置主要包括設置Smoothln和Smoothl1的σ為0.5,遷移學習凍結特征提取網絡部分的初始學習率為0.003,開放訓練的初始學習率設定為0.000 3,學習率衰減策略為固定步長衰減,伽馬值設定為0.94,LRep-αCIoU中α為3,NMS無遮擋目標的抑制閾值為0.7。
為了分析本文所提出的不同網絡模塊對總體檢測結果的影響,實驗以YOLOv4為基礎網絡,對CSP-ECA結構、LRep-αCIoU損失函數改進、遮擋率Adaptive NMS進行消融實驗,實驗結果如表2所示。

表2 消融實驗結果Tab.2 Results of ablation experiments
表2中,CIoU loss為YOLOv4網絡基礎配置,而CSP-ECA、Rep-CIoU以及Adaptive NMS三個模塊為本文算法針對遮擋模板所提出的改進模塊,通過對比增加了上述各模塊的網絡在通用數據集與全部存在遮擋模板數據集的兩個mAP值可知,本文提出的三個模塊CSP-ECA、Rep-αCIoU以及Adaptive NMS,在檢測通用場景時mAP分別增加了0.23%、0.34%與0.48%,而在劃分的遮擋數據集中,三個模塊檢測的mAP值提升達0.53%、2.54%與1.65%。上述結果說明本文提出的三個模塊在水下目標檢測,尤其是在密集目標的遮擋檢測上均具有不同程度的優化作用。此外,融合上述三個模塊的網絡,其總體檢測mAP較YOLOv4網絡提升了1.43%與4.93%,說明三個模塊彼此并不存在干擾,且通過三個模塊的有力互補,系統檢測性能更優。
為了驗證本文算法的先進性,實驗選擇當前主流目標檢測神經網絡作為參考,通過相同的硬件平臺,相同的數據集以及遮擋數據集下對其mAP進行測試,實驗結果如表3所示。

表3 不同算法性能對比Tab.3 Performance comparison of different algorithms
對比表3中不同算法的檢測結果,相比多尺度檢測的SSD算法,本文算法檢測結果提升達到16.1%與11.95%。在傳統算法中YOLOv4性能最高,其通用場景與密集遮擋場景下mAP分別為78.1%與83.58%,而GIoU與DIoU算法在通用場景下檢測性能與之相當,但在密集遮擋的場景下,DIoU由于其針對遮擋目標損失函數的優化,性能較YOLOv4提升了1.75%。與上述算法相比,本文算法相較YOLOv4提升1.43%與4.4%,較針對遮擋的DIoU算法也提升了1.58%與3.18%,實驗結果表明本文算法相比較傳統算法,在水下應用場景中對存在遮擋的多目標群集檢測,具有更優的檢測性能。
部分檢測結果可視化如圖4所示。

圖4 檢測結果圖Fig.4 The detection results of differentalgorithm
圖4為六種不同場景下YOLOv4算法、DIoU算法與本文算法檢測結果對比圖。分析同一場景的不同算法檢測結果可以發現:YOLOv4對于特征鮮明的獨立個體,其檢測精度與召回率均相對較高,但對于遮擋目標,召回率受特征遮擋面積而明顯下降;DIoU算法由于其針對遮擋做了損失優化,召回率較YOLOv4有所提升,但與本文算法相比,上述二者檢測召回率明顯偏低。如場景1中被測目標約7個,而YOLOv4輸出檢測結果為5個,DIoU輸出檢測結果為6個,本文檢測結果為7個;場景2中被測目標約11個,而YOLOv4輸出為5個,DIoU輸出為8個,本文算法輸出為10個;密集遮擋程度相對較高的為場景6,被檢測目標約23個,YOLOv4檢測輸入17個,DIoU輸出為18個,本文算法檢測輸出為23個。同理分析其他場景,目標密集度越高,遮擋越嚴重,YOLOv4越容易丟失目標而造成漏檢,而本文算法則受影響相對較小,召回率仍維持在較高的水平。而在準確率方面,針對輸出目標的分類識別,YOLOv4、DIoU及本文算法,其準確率相當,均出現明顯識別錯誤等問題。
綜上所述,本文算法在水下目標群集環境下具有更強的自適應能力,檢測精度與召回率更高,系統更穩健,更適合水下探測機器人使用。
針對水下群集目標存在遮擋,傳統算法檢測的準確度與召回率不能滿足水下巡檢機器人作業要求的問題,本文從特征提取、損失函數及遮擋率預測三方面對YOLOv4網絡進行優化改進。算法首先通過通道注意力機制,提高了隨機殘差模塊的信息交互能力;其后,采用真值排斥因子RepGt與預測排斥因子RepBox優化α-IoU,提升遮擋目標的自適應檢測能力;最后,通過自適應Adaptive-DIoU-NMS,實現對目標遮擋率預測,提升水下多目標遮擋條件下的召回率。實驗結果表明,在水下環境條件下,本文算法較同級網絡的檢測的精度與召回率更高,在目標密集場景中能檢測出更多目標。但同時,本文方法在多尺度目標檢測時未考慮全局信息,整體參數量仍需進一步優化。