陳 亮,楊羽翼,張 劍,吳亮紅,時慧晶,彭 輝
(1.湖南科技大學(xué)信息與電氣工程學(xué)院,湖南 湘潭 4112012.昆明船舶設(shè)備研究試驗中心,云南 昆明 650051)
水下目標(biāo)視覺檢測是水下機器人環(huán)境感知與高精度定位作業(yè)的重要保障[1]。視覺目標(biāo)檢測的主要任務(wù)是實現(xiàn)對被檢目標(biāo)圖像位置回歸預(yù)測與目標(biāo)屬性分類識別。不同于傳統(tǒng)二階段目標(biāo)檢測方法[2],YOLO系列的目標(biāo)檢測算法采用端到端的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[3],將整個檢測過程看成統(tǒng)一的回歸問題,通過簡化任務(wù)成本,有效節(jié)省了算法訓(xùn)練與前向推導(dǎo)的時間,提高了算法運行效率。
然而,在YOLO系列算法[4-6]中,目標(biāo)檢測與識別是以整體對象為特征提取的基礎(chǔ),其檢測與識別的性能主要受中心點位置偏差、預(yù)測框與真實框之間的交并比及目標(biāo)分類誤差三方面因素影響。而水下機器人在海底作業(yè)時,由于受泥沙、懸浮物以及多目標(biāo)動態(tài)位置變化等因素影響,被檢目標(biāo)容易被遮擋,形態(tài)差異性變化大,因而檢測效果較差。
針對上述問題,文獻[7]提出了廣義交并比(generalized intersection over union,GIoU),通過優(yōu)化錨框與目標(biāo)重疊時的交并比(IoU)部分損失函數(shù),實現(xiàn)了算法在任意條件下?lián)p失函數(shù)的可導(dǎo),解決了算法的穩(wěn)定性問題,但當(dāng)錨框彼此相關(guān)聯(lián)時,GIoU將退回為普通IoU,且在水平與垂直方向收斂困難。此外,在中心點位置回歸方面,文獻[8]提出的基于距離的交并比(DIoU),通過對錨框與目標(biāo)之間的中心距離歸一化,提高算法的收斂性,同時,針對其在不同方向上歸一尺度不統(tǒng)一的問題,提出綜合考慮重疊面積、中心點距離以及長寬比等因素的完全交并比(CIoU),提高了對遮擋目標(biāo)的檢測效果。但是二者均沒有考慮遮擋目標(biāo)的動態(tài)變化問題,算法自適應(yīng)能力弱,無法勝任機器人動態(tài)巡檢任務(wù)需求[9-10]。
為此,本文針對遮擋目標(biāo)特征信息相對較弱,重疊區(qū)域不確定的問題,在CIoU的基礎(chǔ)上,提出一種基于特征增強與損失優(yōu)化的YOLO改進算法,設(shè)計了隨機殘差通道注意力提升水下圖像的特征表征能力,同時采用真值排斥因子與預(yù)測因子優(yōu)化損失函數(shù),實現(xiàn)對不同遮擋目標(biāo)的多尺度位置回歸,最后,針對在遮擋區(qū)域較多時目標(biāo)預(yù)測概率偏低而采用傳統(tǒng)非極大值抑制法容易漏檢的問題,算法在預(yù)測器輸出端加入遮擋預(yù)測率信息,實現(xiàn)對不同程度遮擋目標(biāo)檢測框的自適應(yīng),提升被遮擋目標(biāo)檢測的召回率。
YOLO系列作為端到端的一階段目標(biāo)檢測算法,其以darknet53作為特征提取網(wǎng)絡(luò),通過將輸出的3層多尺度空間特征圖作為檢測與識別網(wǎng)絡(luò)輸入,并融合了FPN的結(jié)構(gòu)與思路,實現(xiàn)對不同大小目標(biāo)的有效檢測。而作為集當(dāng)今主流有效模塊的YOLOv4[11],其不僅利用跨階段局部網(wǎng)絡(luò)(cross stage partial network,CSPNet)改進特征提取網(wǎng)絡(luò),同時,采用馬賽克增強方法與MixCut方法相結(jié)合,有效提升了算法的自適應(yīng)能力。但在水下環(huán)境中,由于圖像過度退化,應(yīng)用上述噪聲擾動的離線預(yù)處理方法仍會造成一定的精度損失。
YOLOv4算法結(jié)構(gòu)框架如圖1所示。
圖1 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 YOLOv4 network architecture diagram
上述網(wǎng)絡(luò)首先將離線處理的圖片輸入給特征提取網(wǎng)絡(luò)CSP-Darknet,通過多尺度特征提取,獲得基礎(chǔ)特征的映射圖,然后再通過密集連接模塊將信息傳遞給下一階段,從而實現(xiàn)淺層特征映射圖分離。此后,網(wǎng)絡(luò)通過多層級特征融合的整合器PAN結(jié)構(gòu)完成多尺度的信息交互。最后,網(wǎng)絡(luò)采用3種分辨率的特征圖作為預(yù)測器,分析圖像檢測結(jié)果,獲得最終的目標(biāo)位置信息與屬性信息。從網(wǎng)絡(luò)總體結(jié)構(gòu)分析,YOLO v4網(wǎng)絡(luò)通過優(yōu)化結(jié)構(gòu)深度,較好地提升了對多尺度目標(biāo)的檢測效果,但算法仍存在寬度利用率不足,深度空間的各層通道信息冗余,彼此獨立等問題。
此外,在錨框回歸上,YOLOv4采用非極大值抑制(NMS)優(yōu)化CIoU,并通過閾值濾除一定量的正樣本,實現(xiàn)了正負樣本平衡。算法在優(yōu)化交并比機制以提高計算精度的基礎(chǔ)上,實現(xiàn)了對目標(biāo)檢測召回率的提升。但在水下環(huán)境中,由于目標(biāo)的遮擋尺度存在多樣化變化,交并比計算精度低,網(wǎng)絡(luò)對遮擋目標(biāo)檢測仍存在漏檢的可能,自適應(yīng)能力偏弱。
水下環(huán)境中對被檢目標(biāo)的遮擋問題主要包括兩類,一類是環(huán)境遮擋如礁石、泥沙、水藻等以及水生動植物棲息所引起的遮擋問題,另一類是同類目標(biāo)與異類目標(biāo)彼此之間的相互遮擋。前者由于遮擋物在顏色、形態(tài)上與環(huán)境存在同質(zhì)化現(xiàn)象,因而在目標(biāo)檢測時常通過設(shè)計復(fù)雜的網(wǎng)絡(luò),提升對環(huán)境的感知能力,最終解決目標(biāo)的虛檢、漏檢問題;而后者則因為目標(biāo)檢測器候選框容易交疊,預(yù)測候選框目標(biāo)類別評分偏低,采用非極大值抑制法容易將真值也進行濾除。此外,在YOLO中預(yù)先設(shè)定檢測柵格中每個尺度特征層僅有3種不同形態(tài)的錨框,如果柵格鄰域內(nèi)目標(biāo)數(shù)量較多,則候選框容易向特征更顯著的目標(biāo)偏移從而造成漏檢。
針對上述問題,本文在YOLOv4目標(biāo)檢測框架上,通過在Darknet-CSP結(jié)構(gòu)中加入隨機殘差通道注意力,提升通道之間的信息交互;同時,采用候選框排斥項Rep-GTIoU loss與預(yù)測框排斥項RepBox loss[12]優(yōu)化目標(biāo)損失函數(shù),增加被檢目標(biāo)預(yù)測框之間的回歸界限,緩解目標(biāo)群集因遮擋所引起定位與回歸效果差的問題。
YOLOv4采用隨機殘差連接的方式有效縮減了計算量,剔除了部分無用的殘差網(wǎng)絡(luò),增強了已學(xué)習(xí)特征的比重。但在水下探測的場景下,目標(biāo)物受環(huán)境干擾極大,僅采用CSP改進Darknet通道,通過隨機堆疊的方式減少計算量,雖然降低了訓(xùn)練成本,但訓(xùn)練方向難以控制,模型無法快速有效地獲得最優(yōu)參數(shù)。針對上述問題,本文結(jié)合注意力機制(efficient channel attention,ECA)[13]提出了改進CSP殘差單元CSP-ECA,結(jié)構(gòu)如圖2所示,通過通道注意力機制快速獲得有效堆疊通道,并通過增強其融合權(quán)重,實現(xiàn)訓(xùn)練方向的最優(yōu)化。
圖2 CSP-ECA結(jié)構(gòu)圖Fig.2 CSP-ECA structure diagram
CSP-ECA在堆疊通道后首先采用全局池化獲得特征圖的全局語義信息;其后,模型在不降低維度信息條件下將全局特征聚合在對應(yīng)的通道內(nèi),盡可能保留不失真的信息;最后,通過對濾波卷積核采用自適應(yīng)k近鄰算法,實現(xiàn)對堆疊后的通道信息互通。卷積核參數(shù)自適應(yīng)如式(1)所示:
(1)
在上述結(jié)構(gòu)中,網(wǎng)絡(luò)首先通過卷積獲得通道特征,其后通過對堆疊后的特征圖進行權(quán)重加權(quán),實現(xiàn)對高維特征的重點學(xué)習(xí)。該方式使得每個CSP Block都可應(yīng)用一次通道信息整合,提升信息關(guān)注度。雖然會增加參數(shù)量與計算量,但增加的量相對較少,在訓(xùn)練與檢測時基本可忽略不記。
文獻[9]在YOLOv4的基礎(chǔ)上將損失函數(shù)由IoU loss調(diào)整為CIoU loss,解決了當(dāng)錨框彼此不相交時損失函數(shù)始終為常數(shù)而無法給出優(yōu)化方向的問題。CIoU loss具體定義為
(2)
(3)
(4)
式中,A為目標(biāo)框間的交并比(IoU),ρ為距離度量函數(shù),b、bgt分別是輸入損失函數(shù)中的候選框與目標(biāo)框的中心點,c為兩框最小外接矩形的對角線距離,β表示用于平衡比例的系數(shù),v用于衡量Anchor框和目標(biāo)框之間的比例一致性。
由于上述計算時沒有引入功率懲罰項,因此CIoU loss無法實現(xiàn)對不同目標(biāo)相對權(quán)重的自適應(yīng),因而在動態(tài)檢測時,YOLOv4召回率容易偏低。
α-IoU作為IoU的冪次推廣[14],具有梯度自適應(yīng)重加權(quán)特性,通過自適應(yīng)地重新加權(quán)高和低IoU目標(biāo)的損失和梯度,提高預(yù)測框的回歸精度,因而本文采用α-IoU優(yōu)化CIoU loss,通過參數(shù)自適應(yīng)提升不同目標(biāo)的相對權(quán)重。
首先對IoU進行功率變換:
Lα-IoU=1-Aα1+Ρα2(b,bgt) (α1、α2>0),
(5)
式(5)中,Ρα2(b,bgt)是根據(jù)預(yù)測框和真實框計算的懲罰項,經(jīng)實驗證明Lα-IoU對α2取值不敏感,因此為了保持一致性取α=α1=α2。
采用α-IoU優(yōu)化參數(shù)α后的Lα-CIoU為
(6)
(7)
(8)
式中,ρ為二階閔氏距離函數(shù)。
當(dāng)α>1時,損失函數(shù)將更加側(cè)重于高IoU目標(biāo)區(qū)域,尤其在多個候選框彼此無交集的場景下,模型訓(xùn)練也將更容易朝候選框交疊域正增長方向優(yōu)化。
此外,為提升對水下目標(biāo)遮擋問題的檢測能力,本文在上述優(yōu)化的CIoU loss的基礎(chǔ)上加入真值目標(biāo)框排斥因子,拓寬預(yù)測框與其他真值目標(biāo)框之間的間距,防止預(yù)測框全部陷入置信得分最高的區(qū)域。
真值排斥項因子LRepGT定義為
(9)
(10)
(11)
此外,為了預(yù)測框更加獨立,算法同時給損失函數(shù)添加預(yù)測目標(biāo)框的排斥因子。通過排斥因子,擴大已匹配真值的目標(biāo)框與預(yù)測目標(biāo)框之間界限,使得已匹配的目標(biāo)框不再朝更顯著真值框回歸。
定義預(yù)測目標(biāo)框排斥因子LRepBox:
(12)
式(12)中,Bp為已匹配了真值框的預(yù)測框,I[·]為identity函數(shù),ε為一個極小值防止函數(shù)出現(xiàn)無窮大。
引入真值目標(biāo)框排斥因子和預(yù)測目標(biāo)框排斥因子后的回歸損失函數(shù)為
LRep-αCIoU=LαCIoU+aLRepGt+bLRepBox,
(13)
式(13)中,a、b為權(quán)重平衡因子。過大的權(quán)重和預(yù)測框回歸的任務(wù)相沖突,從而會導(dǎo)致檢測精確度的下降,因此,a,b因子取值應(yīng)保持二者之和為1。
針對預(yù)測相同目標(biāo)且得分較差的邊界框,深度學(xué)習(xí)的目標(biāo)檢測方法常采用非最大值抑制法NMS進行濾除,即僅保留評分值最高的邊界框。而傳統(tǒng)NMS沒有考慮上下文信息[15],容易造成遮擋目標(biāo)的漏檢。為此,本文以YOLOv4的優(yōu)化soft NMS[16]為基礎(chǔ),在其3層檢測器原有輸出維度的基礎(chǔ)上增加一維目標(biāo)遮擋率信息,為網(wǎng)絡(luò)的位置回歸提供遮擋上下文信息輔助,提高檢測的召回率。預(yù)測器輸出參數(shù)如表1所示。
表1 預(yù)測器輸出參數(shù)Tab.1 Predictor output parameters
改進后的檢測器共享網(wǎng)絡(luò)參數(shù),因而并不會引入冗余參數(shù),但該預(yù)測信息為判別不同類型遮擋目標(biāo)提供動態(tài)自適應(yīng)的閾值。
在水下圖像中,采用與真值目標(biāo)框計算獲得的最大IoU值作為遮擋率標(biāo)簽,其后對每個位置的遮擋率進行有監(jiān)督回歸。為簡化計算,減少離群點的干擾,遮擋率預(yù)測損失函數(shù)設(shè)為Smoothl1,則遮擋率計算為
S=argmaxIoU(Gi,Gj),
(14)
式(14)中,Gi、Gj為不同目標(biāo)真實框。
通過預(yù)測遮擋率與真實遮擋率之間的回歸,并利用最后獲得的預(yù)測遮擋率信息對NMS進行加權(quán),實現(xiàn)在有遮擋時閾值動態(tài)自適應(yīng)調(diào)整,無遮擋時閾值恒定不變。閾值調(diào)節(jié)如圖3所示。
圖3 密度自適應(yīng)NMS示意圖Fig.3 Schematic of density adaptive NMS
通過上述方法對目標(biāo)檢測網(wǎng)絡(luò)的輸出結(jié)果進行自適應(yīng)處理,可提升檢測器在復(fù)雜多變水下多目標(biāo)動態(tài)檢測場景下的性能,保持檢測系統(tǒng)在水下群集中遮擋時的可靠性與穩(wěn)定性。
算法在Windows操作系統(tǒng)中,以顯卡GTX1070-8G,CPU i7-8700為模型訓(xùn)練設(shè)備,選擇基于渤海海域海洋生物檢測的公開視頻進行實驗。為了驗證算法在通用水下檢測場景與純遮擋環(huán)境下不同的效果,實驗將公開視頻數(shù)據(jù)進行區(qū)分,即定義原視頻為通用數(shù)據(jù)集,而選擇所有存在不同程度遮擋的圖像為遮擋數(shù)據(jù)集,即定義為密集數(shù)據(jù)集。
為了有效完成對不同算法目標(biāo)檢測性能的定量化評價,實驗選擇綜合考慮了準(zhǔn)確率與召回率的平均精確度(mean average precision,mAP)作為評價標(biāo)注,其定義為
(15)
式(15)中,P為準(zhǔn)確率,R為召回率。mAP通過計算每個類別的準(zhǔn)確率與召回率曲線所形成圖形的面積平均值,直接反映網(wǎng)絡(luò)對所有被檢目標(biāo)的綜合檢測能力。
實驗過程中,超參數(shù)的設(shè)置主要包括設(shè)置Smoothln和Smoothl1的σ為0.5,遷移學(xué)習(xí)凍結(jié)特征提取網(wǎng)絡(luò)部分的初始學(xué)習(xí)率為0.003,開放訓(xùn)練的初始學(xué)習(xí)率設(shè)定為0.000 3,學(xué)習(xí)率衰減策略為固定步長衰減,伽馬值設(shè)定為0.94,LRep-αCIoU中α為3,NMS無遮擋目標(biāo)的抑制閾值為0.7。
為了分析本文所提出的不同網(wǎng)絡(luò)模塊對總體檢測結(jié)果的影響,實驗以YOLOv4為基礎(chǔ)網(wǎng)絡(luò),對CSP-ECA結(jié)構(gòu)、LRep-αCIoU損失函數(shù)改進、遮擋率Adaptive NMS進行消融實驗,實驗結(jié)果如表2所示。
表2 消融實驗結(jié)果Tab.2 Results of ablation experiments
表2中,CIoU loss為YOLOv4網(wǎng)絡(luò)基礎(chǔ)配置,而CSP-ECA、Rep-CIoU以及Adaptive NMS三個模塊為本文算法針對遮擋模板所提出的改進模塊,通過對比增加了上述各模塊的網(wǎng)絡(luò)在通用數(shù)據(jù)集與全部存在遮擋模板數(shù)據(jù)集的兩個mAP值可知,本文提出的三個模塊CSP-ECA、Rep-αCIoU以及Adaptive NMS,在檢測通用場景時mAP分別增加了0.23%、0.34%與0.48%,而在劃分的遮擋數(shù)據(jù)集中,三個模塊檢測的mAP值提升達0.53%、2.54%與1.65%。上述結(jié)果說明本文提出的三個模塊在水下目標(biāo)檢測,尤其是在密集目標(biāo)的遮擋檢測上均具有不同程度的優(yōu)化作用。此外,融合上述三個模塊的網(wǎng)絡(luò),其總體檢測mAP較YOLOv4網(wǎng)絡(luò)提升了1.43%與4.93%,說明三個模塊彼此并不存在干擾,且通過三個模塊的有力互補,系統(tǒng)檢測性能更優(yōu)。
為了驗證本文算法的先進性,實驗選擇當(dāng)前主流目標(biāo)檢測神經(jīng)網(wǎng)絡(luò)作為參考,通過相同的硬件平臺,相同的數(shù)據(jù)集以及遮擋數(shù)據(jù)集下對其mAP進行測試,實驗結(jié)果如表3所示。
表3 不同算法性能對比Tab.3 Performance comparison of different algorithms
對比表3中不同算法的檢測結(jié)果,相比多尺度檢測的SSD算法,本文算法檢測結(jié)果提升達到16.1%與11.95%。在傳統(tǒng)算法中YOLOv4性能最高,其通用場景與密集遮擋場景下mAP分別為78.1%與83.58%,而GIoU與DIoU算法在通用場景下檢測性能與之相當(dāng),但在密集遮擋的場景下,DIoU由于其針對遮擋目標(biāo)損失函數(shù)的優(yōu)化,性能較YOLOv4提升了1.75%。與上述算法相比,本文算法相較YOLOv4提升1.43%與4.4%,較針對遮擋的DIoU算法也提升了1.58%與3.18%,實驗結(jié)果表明本文算法相比較傳統(tǒng)算法,在水下應(yīng)用場景中對存在遮擋的多目標(biāo)群集檢測,具有更優(yōu)的檢測性能。
部分檢測結(jié)果可視化如圖4所示。
圖4 檢測結(jié)果圖Fig.4 The detection results of differentalgorithm
圖4為六種不同場景下YOLOv4算法、DIoU算法與本文算法檢測結(jié)果對比圖。分析同一場景的不同算法檢測結(jié)果可以發(fā)現(xiàn):YOLOv4對于特征鮮明的獨立個體,其檢測精度與召回率均相對較高,但對于遮擋目標(biāo),召回率受特征遮擋面積而明顯下降;DIoU算法由于其針對遮擋做了損失優(yōu)化,召回率較YOLOv4有所提升,但與本文算法相比,上述二者檢測召回率明顯偏低。如場景1中被測目標(biāo)約7個,而YOLOv4輸出檢測結(jié)果為5個,DIoU輸出檢測結(jié)果為6個,本文檢測結(jié)果為7個;場景2中被測目標(biāo)約11個,而YOLOv4輸出為5個,DIoU輸出為8個,本文算法輸出為10個;密集遮擋程度相對較高的為場景6,被檢測目標(biāo)約23個,YOLOv4檢測輸入17個,DIoU輸出為18個,本文算法檢測輸出為23個。同理分析其他場景,目標(biāo)密集度越高,遮擋越嚴重,YOLOv4越容易丟失目標(biāo)而造成漏檢,而本文算法則受影響相對較小,召回率仍維持在較高的水平。而在準(zhǔn)確率方面,針對輸出目標(biāo)的分類識別,YOLOv4、DIoU及本文算法,其準(zhǔn)確率相當(dāng),均出現(xiàn)明顯識別錯誤等問題。
綜上所述,本文算法在水下目標(biāo)群集環(huán)境下具有更強的自適應(yīng)能力,檢測精度與召回率更高,系統(tǒng)更穩(wěn)健,更適合水下探測機器人使用。
針對水下群集目標(biāo)存在遮擋,傳統(tǒng)算法檢測的準(zhǔn)確度與召回率不能滿足水下巡檢機器人作業(yè)要求的問題,本文從特征提取、損失函數(shù)及遮擋率預(yù)測三方面對YOLOv4網(wǎng)絡(luò)進行優(yōu)化改進。算法首先通過通道注意力機制,提高了隨機殘差模塊的信息交互能力;其后,采用真值排斥因子RepGt與預(yù)測排斥因子RepBox優(yōu)化α-IoU,提升遮擋目標(biāo)的自適應(yīng)檢測能力;最后,通過自適應(yīng)Adaptive-DIoU-NMS,實現(xiàn)對目標(biāo)遮擋率預(yù)測,提升水下多目標(biāo)遮擋條件下的召回率。實驗結(jié)果表明,在水下環(huán)境條件下,本文算法較同級網(wǎng)絡(luò)的檢測的精度與召回率更高,在目標(biāo)密集場景中能檢測出更多目標(biāo)。但同時,本文方法在多尺度目標(biāo)檢測時未考慮全局信息,整體參數(shù)量仍需進一步優(yōu)化。