羅 順,李春國,楊綠溪
(東南大學 信息科學與工程學院,江蘇 南京 211189)
目標檢測[1-2]是計算機視覺領域的重要研究問題,是理解和分析圖像或視頻數據的基礎,在工業檢測、安全防控和目標追蹤等領域具有廣泛的應用前景。近年來,隨著深度學習技術的發展,基于深度學習的通用目標檢測技術取得了巨大的進展。
當前基于深度學習的通用目標檢測算法主要分為兩大類:單階段檢測法和兩階段檢測法,單階段檢測法的代表算法有YOLO[3]和SSD[4],兩階段檢測法的代表算法有Faster-R-CNN[5]系列。在通用目標檢測上,當前的目標檢測算法取得了良好的檢測效果。然而,在某些應用場景下,采集到的圖像背景較為復雜,或者待檢測目標帶有天然或人工的偽裝色,從而導致待檢測的前景目標與背景具有高度的相似性,難以區分。對于上述復雜背景下的目標檢測任務,目前的通用目標檢測算法無法取得良好的檢測性能。為了更好地開展復雜背景下目標檢測方面的研究,范登平等人[6]構建并公開了包含10 000張圖片的復雜背景下目標檢測數據集COD10K,為探索復雜背景下的目標檢測技術提供了豐富的數據支持。同時,范登平等人提出了基于搜索識別策略的復雜背景下的目標檢測算法(Search Identification Network,SINet)。
SINet網絡的搜索識別策略在獲取復雜背景下目標的大致位置方面具有良好的表現,但是在目標的精確定位和局部細節的甄別方面表現欠佳。為了更好地對復雜背景下目標進行精確的定位和檢測,本文在以下兩方面做出改進:① 提出了一種漸進式的策略,即由粗到細的一種目標定位方法;② 采用能夠模擬人類大腦注意力信號處理機制的雙邊注意力機制(Bilateral Attention)來加強目標信息的篩選和提取,提高特征融合的效率,進而提高對偽裝目標的有效檢測,這種改進的SINet算法被命名為Bi-SINet。Bi-SINet在公開數據集COD10K[6]、CAMO[7]和CHAMELEON[6]上都取得了優于SINet的性能。
相對于SINet,Bi-SINet從兩方面進行優化改進:① 引入漸進式的檢測框架,精細化目標定位過程;② 提出基于雙邊注意力機制的特征融合模塊,從而提高多尺度特征的信息提取效率。
如圖1所示,Bi-SINet總體上包含兩個主要組成部分:特征提取器和漸進式的檢測框架。其中,特征提取器采用ResNet-50網絡模型[8],它能針對輸入圖像提取并輸出4層不同尺度的抽象特征,用{f1,f2,…,fk|k=4}來表示。

圖1 Bi-SINet模型的整體框架
漸進式的檢測框架基于特征提取器輸出的每一層抽象特征進行由粗到細的定位和檢測,并輸出檢測結果,用于監督訓練。在逐層的識別和檢測過程中,更高一層的特征和檢測結果會與當前層特征進行融合,利用基于雙邊注意力的特征融合模塊對當前層的檢測過程起到指導與優化的作用。
Bi-SINet中的漸進式檢測框架是多層監督,且由粗到細,主要由感受野增強模塊(Receptive Filed Block,RFB)、基于雙邊注意力的特征融合模塊和檢測模塊組成。
其中,感受野增強模塊是一個包含多個感受野分支的卷積模塊[9]。其結構類似GoogleNet[10]中的Inception模塊,通過設置多種尺寸卷積核的卷積層與膨脹卷積層組合的方式,模擬不同尺度的感受野。感受野增強模塊首先利用不同感受野分支對輸入特征fk進行感受野增強,再通過拼接和卷積操作進行融合,進而輸出增強特征f′k。增強后的特征在綜合不同尺度感受野增強效果的同時,降低了特征的通道數,減少后續檢測過程的計算量。
檢測模塊由一個小型的Unet圖像分割網絡[11]組成。由于輸入特征已經進行了增強,出于降低計算量的目的,檢測模塊所采用的Unet網絡只在編碼和解碼階段分別對輸入特征進行一次下采樣和上采樣,輸出檢測結果predk(k=1,2,3,4)。在基于最低層特征f″1進行檢測后,為了進一步提高模型檢測的精細程度,檢測框架將f″1特征上采樣兩倍得到特征f″0,輸入檢測模塊進行檢測,得到檢測結果pred0作為模型最終的檢測結果。
為了更加高效地利用多尺度特征,本文提出的漸進式的檢測框架在基于第k(k=1,2,3)層感受野增強特征f′k進行檢測前,會融合來自更高一層的增強特征f′k+1和識別結果predk+1,對本層的檢測過程進行優化和引導。
圖2為鄰接特征融合模塊的內部結構,對于第k+1層傳來的增強特征f′k+1,特征融合模塊利用雙邊注意力模塊進行特征優化和增強,再將其上采樣兩倍,使其尺度與當前第k層特征保持一致。對于第k+1層傳來的檢測結果predk+1,融合模塊同樣將其上采樣兩倍,隨后將其與經過雙邊注意力增強的f′k+1相乘,通過全局注意力機制的方式將第k+1層特征中可能與前景目標相關的特征進行增強。最后,將增強后的k+1層特征與當前第k層特征通過拼接卷積的方式進行融合。上述特征融合過程可以表示為:

圖2 基于雙邊注意力機制的鄰接特征融合模塊
Maskk+1=Up(predk+1),
(1)
Fk+1=Up(BiAtt(f′k+1)),
(2)
f″k=Conv(Cat(f′k,Maskk+1?Fk+1)),
(3)
式中,Up(·)表示兩倍上采樣,BiAtt(·)表示雙邊注意力模塊,Cat(·)表示在通道維度上對特征進行拼接操作,?表示矩陣相乘,Conv(·)表示卷積層。
圖3為雙邊注意力機制[12]的內部結構,由圖3可知,雙邊注意力機制的編碼過程類似雙邊濾波,從值和距離的相關性兩個角度來考慮某像素點特征與周圍像素點特征之間的關系。輸入特征分別在值注意力和距離注意力兩個分支中完成編碼過程,輸出的編碼特征經過拼接和卷積操作后輸出融合結果。

圖3 雙邊注意力機制的內部結構
在計算當前像素點特征的值注意力編碼值時,需要綜合考慮以當前點為中心,周圍像素點的特征與當前像素點特征在值方面的相關性,此處用向量的點積運算來衡量。其計算表達式如下:
(4)

計算當前像素點的距離注意力編碼值時,需要考慮以當前像素點為中心,周圍像素點特征與當前像素點特征在距離方面的相似度,利用高斯分布和歐式距離來刻畫。距離注意力編碼過程可以用式(5)表達:
(5)

(6)
式中,d表示兩像素點之間的歐式距離,αs為一個平滑參數,在模型中設置為αs=1.5。
為了驗證算法Bi-SINet的有效性,本文采用國際公開的數據集COD10K[6]、CAMO[7]和CHAMEMELON[6]進行訓練和測試。訓練集包含COD10K訓練集中的3 040張圖片和CAMO訓練集中的1 000張圖片,共4 040張圖片。驗證集包含COD10K數據集中的101張圖片,測試集包含COD10K測試集中的2 026張圖片、CAMO測試集中的250張圖片和CHAMEMELON數據集的76張圖片。
在本文提出的Bi-SINet中共輸出5個尺度上的檢測結果{predk|k=0,1,2,3,4}能夠在訓練階段對模型提供豐富的監督信息。為了引導模型輸出與真實標簽近似的檢測結果,采用的損失函數綜合了交叉熵損失和交并比損失。在復雜背景下難以區分的目標邊緣區域,損失函數會分配更高的權重系數。綜上所述,Bi-SINet所采用的損失函數Lall如下式所示:
(7)
(8)

(9)
(10)

(11)
式中,Axy表示以坐標(x,y)為中心,周圍像素點的集合。
本文采用4個客觀評價指標來對算法性能做客觀評價:結構指標[14](Structure Measure,SM)、增強對齊指標[15](Enhanced-alignment Measure,EM)、加權的F指標[16](Weighted F-Meausre,WFM)和平均絕對誤差[17](Mean Absolute Error,MAE)。其中,SM主要關注結構信息,從目標和區域兩個維度來衡量檢測結果和真實值之間的結構相似程度;EM在像素層面和圖像整體層面衡量檢測結果和真實值之間的匹配程度,符合人類的視覺感官;WFM指標是常用的綜合考慮檢測準確度和召回率的評價指標;MAE能夠衡量檢測結果和真實標簽之間在像素點級別上的誤差大小。
全文實驗的開展基于Ubuntu 16.04的服務器平臺,同時深度學習架構采用Pytorch[18]1.7版本。服務器的主要硬件參數為:AMD Ryzen7 3700x 8核16線程處理器,GeForce RTX 3090顯卡和32 GB內存。
在訓練階段,訓練集中的圖片的大小被調整為384×384,使用隨機梯度下降(Stochastic Gradient Descent,SGD)優化器對Bi-SINet模型參數進行更新。采用批量處理數據的方式,在一次參數迭代中隨機選擇20張圖片同時輸入模型進行計算。初始學習率設置為0.001,采用多項式衰減[19]的方法在訓練中對學習率進行衰減,整個學習過程共進行50輪迭代。
表1顯示了Bi-SINet模型和SINet模型在COD10K、CHAMELEON和CAMO數據集的測試集上的測試結果。由表1中數據可以得知:Bi-SINet在各個數據集上,各項評價指標的數值結果上均優于原版的SINet。

表1 Bi-SINet與SINet測試結果對比
具體來看,在COD10K測試集上,Bi-SINet在EM上提高了7%,在WFM上提高了13%,MAE下降了14%。此外,在CAMO和CHAMELEON數據集上Bi-SINet的檢測性能也有較大的提升。由此可見本文提出的檢測算法Bi-SINet的檢測性能優于SINet算法。
本文還從視覺上對比了Bi-SINet算法和SINet算法的性能,圖4對比了Bi-SINet和SINet的檢測結果。從圖4的第1列圖片對比可知,Bi-SINet能夠在復雜背景下保證檢測結果的完整性,這得益于漸進式的檢測框架,待檢測目標的大體細節在最高層被確定,在由上到下漸進式的檢測過程中被逐步推理出來。
從圖4第2列和第3列圖片可以看出,Bi-SINet能夠在前景目標部分邊緣區域模糊不清的情況下,依然將待檢測目標準確地與背景目標進行區分,保證檢測結果的可靠性。第4列對比表明Bi-SINet能夠避免復雜背景帶來的干擾,將感興趣目標精確地檢測出來。

圖4 Bi-SINet和SINet在圖像上的檢測性能對比
本文針對復雜背景下目標檢測算法SINet檢測準確度不足的問題,提出了一種改進的檢測算法Bi-SINet。相對于SINet,Bi-SINet引入了基于雙邊注意力機制的特征融合模塊,能夠更加有效地提取有效特征,同時還引入了一種漸進式的檢測框架,能夠更加準確地定位目標區域。實驗結果表明,相對于SINet,Bi-SINet在各個測試指標上均取得了顯著提升,證明了Bi-SINet是一種在復雜背景下的高效目標檢測算法。