羅 順,李春國,楊綠溪
(東南大學(xué) 信息科學(xué)與工程學(xué)院,江蘇 南京 211189)
目標(biāo)檢測(cè)[1-2]是計(jì)算機(jī)視覺領(lǐng)域的重要研究問題,是理解和分析圖像或視頻數(shù)據(jù)的基礎(chǔ),在工業(yè)檢測(cè)、安全防控和目標(biāo)追蹤等領(lǐng)域具有廣泛的應(yīng)用前景。近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的通用目標(biāo)檢測(cè)技術(shù)取得了巨大的進(jìn)展。
當(dāng)前基于深度學(xué)習(xí)的通用目標(biāo)檢測(cè)算法主要分為兩大類:?jiǎn)坞A段檢測(cè)法和兩階段檢測(cè)法,單階段檢測(cè)法的代表算法有YOLO[3]和SSD[4],兩階段檢測(cè)法的代表算法有Faster-R-CNN[5]系列。在通用目標(biāo)檢測(cè)上,當(dāng)前的目標(biāo)檢測(cè)算法取得了良好的檢測(cè)效果。然而,在某些應(yīng)用場(chǎng)景下,采集到的圖像背景較為復(fù)雜,或者待檢測(cè)目標(biāo)帶有天然或人工的偽裝色,從而導(dǎo)致待檢測(cè)的前景目標(biāo)與背景具有高度的相似性,難以區(qū)分。對(duì)于上述復(fù)雜背景下的目標(biāo)檢測(cè)任務(wù),目前的通用目標(biāo)檢測(cè)算法無法取得良好的檢測(cè)性能。為了更好地開展復(fù)雜背景下目標(biāo)檢測(cè)方面的研究,范登平等人[6]構(gòu)建并公開了包含10 000張圖片的復(fù)雜背景下目標(biāo)檢測(cè)數(shù)據(jù)集COD10K,為探索復(fù)雜背景下的目標(biāo)檢測(cè)技術(shù)提供了豐富的數(shù)據(jù)支持。同時(shí),范登平等人提出了基于搜索識(shí)別策略的復(fù)雜背景下的目標(biāo)檢測(cè)算法(Search Identification Network,SINet)。
SINet網(wǎng)絡(luò)的搜索識(shí)別策略在獲取復(fù)雜背景下目標(biāo)的大致位置方面具有良好的表現(xiàn),但是在目標(biāo)的精確定位和局部細(xì)節(jié)的甄別方面表現(xiàn)欠佳。為了更好地對(duì)復(fù)雜背景下目標(biāo)進(jìn)行精確的定位和檢測(cè),本文在以下兩方面做出改進(jìn):① 提出了一種漸進(jìn)式的策略,即由粗到細(xì)的一種目標(biāo)定位方法;② 采用能夠模擬人類大腦注意力信號(hào)處理機(jī)制的雙邊注意力機(jī)制(Bilateral Attention)來加強(qiáng)目標(biāo)信息的篩選和提取,提高特征融合的效率,進(jìn)而提高對(duì)偽裝目標(biāo)的有效檢測(cè),這種改進(jìn)的SINet算法被命名為Bi-SINet。Bi-SINet在公開數(shù)據(jù)集COD10K[6]、CAMO[7]和CHAMELEON[6]上都取得了優(yōu)于SINet的性能。
相對(duì)于SINet,Bi-SINet從兩方面進(jìn)行優(yōu)化改進(jìn):① 引入漸進(jìn)式的檢測(cè)框架,精細(xì)化目標(biāo)定位過程;② 提出基于雙邊注意力機(jī)制的特征融合模塊,從而提高多尺度特征的信息提取效率。
如圖1所示,Bi-SINet總體上包含兩個(gè)主要組成部分:特征提取器和漸進(jìn)式的檢測(cè)框架。其中,特征提取器采用ResNet-50網(wǎng)絡(luò)模型[8],它能針對(duì)輸入圖像提取并輸出4層不同尺度的抽象特征,用{f1,f2,…,fk|k=4}來表示。
圖1 Bi-SINet模型的整體框架
漸進(jìn)式的檢測(cè)框架基于特征提取器輸出的每一層抽象特征進(jìn)行由粗到細(xì)的定位和檢測(cè),并輸出檢測(cè)結(jié)果,用于監(jiān)督訓(xùn)練。在逐層的識(shí)別和檢測(cè)過程中,更高一層的特征和檢測(cè)結(jié)果會(huì)與當(dāng)前層特征進(jìn)行融合,利用基于雙邊注意力的特征融合模塊對(duì)當(dāng)前層的檢測(cè)過程起到指導(dǎo)與優(yōu)化的作用。
Bi-SINet中的漸進(jìn)式檢測(cè)框架是多層監(jiān)督,且由粗到細(xì),主要由感受野增強(qiáng)模塊(Receptive Filed Block,RFB)、基于雙邊注意力的特征融合模塊和檢測(cè)模塊組成。
其中,感受野增強(qiáng)模塊是一個(gè)包含多個(gè)感受野分支的卷積模塊[9]。其結(jié)構(gòu)類似GoogleNet[10]中的Inception模塊,通過設(shè)置多種尺寸卷積核的卷積層與膨脹卷積層組合的方式,模擬不同尺度的感受野。感受野增強(qiáng)模塊首先利用不同感受野分支對(duì)輸入特征fk進(jìn)行感受野增強(qiáng),再通過拼接和卷積操作進(jìn)行融合,進(jìn)而輸出增強(qiáng)特征f′k。增強(qiáng)后的特征在綜合不同尺度感受野增強(qiáng)效果的同時(shí),降低了特征的通道數(shù),減少后續(xù)檢測(cè)過程的計(jì)算量。
檢測(cè)模塊由一個(gè)小型的Unet圖像分割網(wǎng)絡(luò)[11]組成。由于輸入特征已經(jīng)進(jìn)行了增強(qiáng),出于降低計(jì)算量的目的,檢測(cè)模塊所采用的Unet網(wǎng)絡(luò)只在編碼和解碼階段分別對(duì)輸入特征進(jìn)行一次下采樣和上采樣,輸出檢測(cè)結(jié)果predk(k=1,2,3,4)。在基于最低層特征f″1進(jìn)行檢測(cè)后,為了進(jìn)一步提高模型檢測(cè)的精細(xì)程度,檢測(cè)框架將f″1特征上采樣兩倍得到特征f″0,輸入檢測(cè)模塊進(jìn)行檢測(cè),得到檢測(cè)結(jié)果pred0作為模型最終的檢測(cè)結(jié)果。
為了更加高效地利用多尺度特征,本文提出的漸進(jìn)式的檢測(cè)框架在基于第k(k=1,2,3)層感受野增強(qiáng)特征f′k進(jìn)行檢測(cè)前,會(huì)融合來自更高一層的增強(qiáng)特征f′k+1和識(shí)別結(jié)果predk+1,對(duì)本層的檢測(cè)過程進(jìn)行優(yōu)化和引導(dǎo)。
圖2為鄰接特征融合模塊的內(nèi)部結(jié)構(gòu),對(duì)于第k+1層傳來的增強(qiáng)特征f′k+1,特征融合模塊利用雙邊注意力模塊進(jìn)行特征優(yōu)化和增強(qiáng),再將其上采樣兩倍,使其尺度與當(dāng)前第k層特征保持一致。對(duì)于第k+1層傳來的檢測(cè)結(jié)果predk+1,融合模塊同樣將其上采樣兩倍,隨后將其與經(jīng)過雙邊注意力增強(qiáng)的f′k+1相乘,通過全局注意力機(jī)制的方式將第k+1層特征中可能與前景目標(biāo)相關(guān)的特征進(jìn)行增強(qiáng)。最后,將增強(qiáng)后的k+1層特征與當(dāng)前第k層特征通過拼接卷積的方式進(jìn)行融合。上述特征融合過程可以表示為:
圖2 基于雙邊注意力機(jī)制的鄰接特征融合模塊
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(·)表示在通道維度上對(duì)特征進(jìn)行拼接操作,?表示矩陣相乘,Conv(·)表示卷積層。
圖3為雙邊注意力機(jī)制[12]的內(nèi)部結(jié)構(gòu),由圖3可知,雙邊注意力機(jī)制的編碼過程類似雙邊濾波,從值和距離的相關(guān)性兩個(gè)角度來考慮某像素點(diǎn)特征與周圍像素點(diǎn)特征之間的關(guān)系。輸入特征分別在值注意力和距離注意力兩個(gè)分支中完成編碼過程,輸出的編碼特征經(jīng)過拼接和卷積操作后輸出融合結(jié)果。
圖3 雙邊注意力機(jī)制的內(nèi)部結(jié)構(gòu)
在計(jì)算當(dāng)前像素點(diǎn)特征的值注意力編碼值時(shí),需要綜合考慮以當(dāng)前點(diǎn)為中心,周圍像素點(diǎn)的特征與當(dāng)前像素點(diǎn)特征在值方面的相關(guān)性,此處用向量的點(diǎn)積運(yùn)算來衡量。其計(jì)算表達(dá)式如下:
(4)
計(jì)算當(dāng)前像素點(diǎn)的距離注意力編碼值時(shí),需要考慮以當(dāng)前像素點(diǎn)為中心,周圍像素點(diǎn)特征與當(dāng)前像素點(diǎn)特征在距離方面的相似度,利用高斯分布和歐式距離來刻畫。距離注意力編碼過程可以用式(5)表達(dá):
(5)
(6)
式中,d表示兩像素點(diǎn)之間的歐式距離,αs為一個(gè)平滑參數(shù),在模型中設(shè)置為αs=1.5。
為了驗(yàn)證算法Bi-SINet的有效性,本文采用國際公開的數(shù)據(jù)集COD10K[6]、CAMO[7]和CHAMEMELON[6]進(jìn)行訓(xùn)練和測(cè)試。訓(xùn)練集包含COD10K訓(xùn)練集中的3 040張圖片和CAMO訓(xùn)練集中的1 000張圖片,共4 040張圖片。驗(yàn)證集包含COD10K數(shù)據(jù)集中的101張圖片,測(cè)試集包含COD10K測(cè)試集中的2 026張圖片、CAMO測(cè)試集中的250張圖片和CHAMEMELON數(shù)據(jù)集的76張圖片。
在本文提出的Bi-SINet中共輸出5個(gè)尺度上的檢測(cè)結(jié)果{predk|k=0,1,2,3,4}能夠在訓(xùn)練階段對(duì)模型提供豐富的監(jiān)督信息。為了引導(dǎo)模型輸出與真實(shí)標(biāo)簽近似的檢測(cè)結(jié)果,采用的損失函數(shù)綜合了交叉熵?fù)p失和交并比損失。在復(fù)雜背景下難以區(qū)分的目標(biāo)邊緣區(qū)域,損失函數(shù)會(huì)分配更高的權(quán)重系數(shù)。綜上所述,Bi-SINet所采用的損失函數(shù)Lall如下式所示:
(7)
(8)
(9)
(10)
(11)
式中,Axy表示以坐標(biāo)(x,y)為中心,周圍像素點(diǎn)的集合。
本文采用4個(gè)客觀評(píng)價(jià)指標(biāo)來對(duì)算法性能做客觀評(píng)價(jià):結(jié)構(gòu)指標(biāo)[14](Structure Measure,SM)、增強(qiáng)對(duì)齊指標(biāo)[15](Enhanced-alignment Measure,EM)、加權(quán)的F指標(biāo)[16](Weighted F-Meausre,WFM)和平均絕對(duì)誤差[17](Mean Absolute Error,MAE)。其中,SM主要關(guān)注結(jié)構(gòu)信息,從目標(biāo)和區(qū)域兩個(gè)維度來衡量檢測(cè)結(jié)果和真實(shí)值之間的結(jié)構(gòu)相似程度;EM在像素層面和圖像整體層面衡量檢測(cè)結(jié)果和真實(shí)值之間的匹配程度,符合人類的視覺感官;WFM指標(biāo)是常用的綜合考慮檢測(cè)準(zhǔn)確度和召回率的評(píng)價(jià)指標(biāo);MAE能夠衡量檢測(cè)結(jié)果和真實(shí)標(biāo)簽之間在像素點(diǎn)級(jí)別上的誤差大小。
全文實(shí)驗(yàn)的開展基于Ubuntu 16.04的服務(wù)器平臺(tái),同時(shí)深度學(xué)習(xí)架構(gòu)采用Pytorch[18]1.7版本。服務(wù)器的主要硬件參數(shù)為:AMD Ryzen7 3700x 8核16線程處理器,GeForce RTX 3090顯卡和32 GB內(nèi)存。
在訓(xùn)練階段,訓(xùn)練集中的圖片的大小被調(diào)整為384×384,使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化器對(duì)Bi-SINet模型參數(shù)進(jìn)行更新。采用批量處理數(shù)據(jù)的方式,在一次參數(shù)迭代中隨機(jī)選擇20張圖片同時(shí)輸入模型進(jìn)行計(jì)算。初始學(xué)習(xí)率設(shè)置為0.001,采用多項(xiàng)式衰減[19]的方法在訓(xùn)練中對(duì)學(xué)習(xí)率進(jìn)行衰減,整個(gè)學(xué)習(xí)過程共進(jìn)行50輪迭代。
表1顯示了Bi-SINet模型和SINet模型在COD10K、CHAMELEON和CAMO數(shù)據(jù)集的測(cè)試集上的測(cè)試結(jié)果。由表1中數(shù)據(jù)可以得知:Bi-SINet在各個(gè)數(shù)據(jù)集上,各項(xiàng)評(píng)價(jià)指標(biāo)的數(shù)值結(jié)果上均優(yōu)于原版的SINet。
表1 Bi-SINet與SINet測(cè)試結(jié)果對(duì)比
具體來看,在COD10K測(cè)試集上,Bi-SINet在EM上提高了7%,在WFM上提高了13%,MAE下降了14%。此外,在CAMO和CHAMELEON數(shù)據(jù)集上Bi-SINet的檢測(cè)性能也有較大的提升。由此可見本文提出的檢測(cè)算法Bi-SINet的檢測(cè)性能優(yōu)于SINet算法。
本文還從視覺上對(duì)比了Bi-SINet算法和SINet算法的性能,圖4對(duì)比了Bi-SINet和SINet的檢測(cè)結(jié)果。從圖4的第1列圖片對(duì)比可知,Bi-SINet能夠在復(fù)雜背景下保證檢測(cè)結(jié)果的完整性,這得益于漸進(jìn)式的檢測(cè)框架,待檢測(cè)目標(biāo)的大體細(xì)節(jié)在最高層被確定,在由上到下漸進(jìn)式的檢測(cè)過程中被逐步推理出來。
從圖4第2列和第3列圖片可以看出,Bi-SINet能夠在前景目標(biāo)部分邊緣區(qū)域模糊不清的情況下,依然將待檢測(cè)目標(biāo)準(zhǔn)確地與背景目標(biāo)進(jìn)行區(qū)分,保證檢測(cè)結(jié)果的可靠性。第4列對(duì)比表明Bi-SINet能夠避免復(fù)雜背景帶來的干擾,將感興趣目標(biāo)精確地檢測(cè)出來。
圖4 Bi-SINet和SINet在圖像上的檢測(cè)性能對(duì)比
本文針對(duì)復(fù)雜背景下目標(biāo)檢測(cè)算法SINet檢測(cè)準(zhǔn)確度不足的問題,提出了一種改進(jìn)的檢測(cè)算法Bi-SINet。相對(duì)于SINet,Bi-SINet引入了基于雙邊注意力機(jī)制的特征融合模塊,能夠更加有效地提取有效特征,同時(shí)還引入了一種漸進(jìn)式的檢測(cè)框架,能夠更加準(zhǔn)確地定位目標(biāo)區(qū)域。實(shí)驗(yàn)結(jié)果表明,相對(duì)于SINet,Bi-SINet在各個(gè)測(cè)試指標(biāo)上均取得了顯著提升,證明了Bi-SINet是一種在復(fù)雜背景下的高效目標(biāo)檢測(cè)算法。