楊昶楠,張振榮+,鄭嘉利,曲勃源
(1.廣西大學(xué) 計算機與電子信息學(xué)院,廣西 南寧 530004;2.廣西大學(xué) 廣西多媒體通信與網(wǎng)絡(luò)技術(shù)重點實驗室,廣西 南寧 530004)
目前,計算機視覺技術(shù)愈發(fā)成熟,深度學(xué)習(xí)模型在數(shù)據(jù)集上的表現(xiàn)也更加卓越[1-4],然而在實際應(yīng)用中,視覺模型并不能很好適應(yīng)復(fù)雜多變的實地場景,如在各種的噪音干擾下,模型性能會出現(xiàn)較為嚴(yán)重的退化現(xiàn)象[5,6]。
為了能夠解決目標(biāo)檢測模型對于噪音敏感的問題,相關(guān)研究結(jié)果表明[7-10]可以引入稀疏建模(sparse moding)與卷積相融合的方式來得到改善。其核心思想是:基于圖像信息的可稀疏性和噪音的稀疏性。通過構(gòu)建可學(xué)習(xí)的稀疏字典[11]將圖像信息與噪音區(qū)分開,過濾掉噪音后就能保留有效的圖像信息從而完成重構(gòu)。Sun等[12]構(gòu)造了寬窄兩種專門的稀疏字典互補網(wǎng)絡(luò)做到了顯著減少可學(xué)習(xí)參數(shù)的數(shù)量的同時不會導(dǎo)致網(wǎng)絡(luò)性能的損失。Xili Dai等[13]提出的SD-Net,將稀疏編碼封裝到了傳統(tǒng)卷積網(wǎng)絡(luò)的隱式層中[14],實現(xiàn)了稀疏建模與卷積層的有效融合,極大節(jié)省了訓(xùn)練成本。上述方法都驗證了稀疏編碼處理噪聲數(shù)據(jù)的獨特優(yōu)勢,但還未能在更復(fù)雜的目標(biāo)檢測任務(wù)中驗證稀疏編碼的潛力。
為了更好地提升稀疏編碼在檢測任務(wù)上的性能,本文在CenterNet[15]的基礎(chǔ)上提出了一種注意力機制與卷積稀疏編碼(convolutional sparse coding,CSC)相結(jié)合的目標(biāo)檢測框架。本文主要貢獻如下:①針對卷積稀疏編碼的缺點專門設(shè)計了一種新的雙支路注意力特征融合(double branch attention feature fusion,DBAFF)模塊,該模塊分別對傳統(tǒng)卷積后的特征信息和卷積稀疏編碼后的特征信息進行加權(quán)融合,實現(xiàn)互補學(xué)習(xí),有效提高檢測精度。②在SD-Net的基礎(chǔ)上,對卷積稀疏編碼去噪模塊進行了改進:使用空洞卷積替代傳統(tǒng)卷積,保證分辨率的同時擴大了感受野。本文與其它方法相比,檢測精度更高,并且能保持較低的復(fù)雜度。
為了使去噪模塊提取的圖像特征更好地轉(zhuǎn)變?yōu)橛行畔?,基于CenterNet的結(jié)構(gòu),在去噪模塊前后兩條支路里嵌入了DBAFF模塊將去噪特征與原始模糊特征相結(jié)合,解決雙模態(tài)之間的語義信息不一致的問題,還能進行互補學(xué)習(xí),獲取更好的細(xì)節(jié)。如圖1所示,展示了雙支路注意力特征融合網(wǎng)絡(luò)DBAFFNet的主要結(jié)構(gòu)。
圖1 DBAFFNet結(jié)構(gòu)
該網(wǎng)絡(luò)包含了3個主體部分,分別為卷積稀疏編碼去噪模塊(CSC)、雙支路注意力特征融合模塊(Fusion)和殘差塊(Resblock)。本框架的特點是在輸入處分出兩條支路,一條支路與原網(wǎng)絡(luò)一致,另一條經(jīng)過卷積稀疏編碼去噪模塊,輸出維度一致的特征圖,最終兩條支路匯入DBAFF模塊中實現(xiàn)特征融合。
稀疏表示的含義是用盡可能少的字典原子(Atom)就可以完整表達原信號。為了能達到少量(稀疏)的效果,基向量(字典)都應(yīng)該是過完備[16]的,且這些過完備向量一般不具備正交等性質(zhì)。圖2描述了三維圖像稀疏表達過程。基向量A=[a1,…,aM], 也被稱為字典;稀疏表達系數(shù)z=[z1,…,zM], 稱為輸入樣本的編碼。
圖2 稀疏表達
本模塊參考了SD-Net中使用Fista迭代算法[16]的卷積稀疏編碼層(CSC)。其核心思想是將稀疏建模以神經(jīng)網(wǎng)絡(luò)的隱式層的形式引入,基于此,該隱式層權(quán)重參數(shù)可跟隨神經(jīng)網(wǎng)絡(luò)的訓(xùn)練得到動態(tài)更新,并且該層的輸出就是稀疏編碼的解決方案。其目標(biāo)函數(shù)如式(1)所示
(1)
其中,conv.A(·) 為卷積算子[13],可由Pytorch庫實現(xiàn)。λ是稀疏約束系數(shù),由于過完備字典的原因,會有無窮種方式(線性組合)能夠?qū)斎胄盘栠M行表示,因此使用過完備字典時必須有稀疏約束。本文的稀疏約束系數(shù)設(shè)置為0.1。
本模塊還將傳統(tǒng)卷積替換為5×5、膨脹率為3的空洞卷積[17]。更大卷積核意味著可以獲得更多的信息,但也增大了訓(xùn)練難度。而空洞卷積在不增加參數(shù)和模型復(fù)雜度的條件下,擴大了卷積核的感受野,可以檢測分割大目標(biāo),又能更準(zhǔn)確地定位目標(biāo),還能保證分辨率。本文使用的5×5大小,膨脹率3的空洞卷積在參數(shù)上比原方法7×7卷積更小,但是卻等效于傳統(tǒng)13×13卷積核,有效提升了去噪模塊提取信息的能力。
為了改善單一去噪模塊不夠穩(wěn)定的缺陷,本文提出了DBAFF模塊,實現(xiàn)了去噪圖像與原圖像雙支路特征的融合,便于后續(xù)的目標(biāo)檢測。其結(jié)構(gòu)如圖3所示,包含了通道增強模塊(channel enhancement model,CEM)和空間增強模塊(spatial enhancement model,SEM)。其中CEM主要是針對去噪模塊進行的一種注意力機制改善,使其能更好地關(guān)注稀疏化后的特征信息。SEM則是對原圖像特征Fn和去噪圖像特征Fd的特征融合,獲得融合特征圖Ffuse, 改善了稀疏編碼后語義丟失的問題。基于此,可以使檢測模型在噪音數(shù)據(jù)集上獲得更好的訓(xùn)練,并且在干凈數(shù)據(jù)集上也能表現(xiàn)出優(yōu)良的性能。接下來分別對CEM和SEM的結(jié)構(gòu)進行說明。
圖3 DBAFF模塊結(jié)構(gòu)
(1)通道增強模塊
由于過完備字典中字典原子個數(shù)遠(yuǎn)大于特征維度,如圖3所示,即列數(shù)遠(yuǎn)大于行數(shù),也就說明字典里包含了更多其它維度的信息,也就造成卷積稀疏編碼層的輸出特征會傾向分布在更廣的維度中。而在CNN中特征的每一個通道(維度)都代表著一個專門的檢測器,所以需要一種機制來關(guān)注什么樣的特征是有意義的。受Wang等[18]工作的啟發(fā),本文提出了改進的高效通道注意力(improved efficient channel attention,IECA)機制。其結(jié)構(gòu)如圖3中的CEM所示。與ECA[18]不同的是,添加了全局最大池化層的支路,更關(guān)注紋理信息,有利于對象的檢測。并且在多層感知機(MLP)部分將激活函數(shù)由Relu改為PRelu。這是由于Relu激活函數(shù)會剔除小于零的特征值[19],造成語義丟失,所以改用PRelu來給這部分小于零的特征信息加上一個可學(xué)習(xí)的系數(shù),以保留有用的信息,更有利于模型的學(xué)習(xí)。
通道增強模塊單元具體實現(xiàn)步驟如下:
經(jīng)過去噪模塊后會生成特征圖Fd∈C×H×W, 先沿空間維度分別使用最大池化(Maxpool)和平均池化(Avgpool),然后分別經(jīng)過一個改進的多層感知機(P-MLP),通過自適應(yīng)的一維卷積捕獲不同通道之間的信息,然后將兩邊輸出的特征逐點相加,再經(jīng)過sigmoid激活函數(shù)獲得通道注意權(quán)重,最后再與特征圖Fd做逐元素乘法,就實現(xiàn)了通道注意力機制,得到融合特征圖Mc。 上述過程可用式(2)、式(3)表達
F′d=fprelu(fbn(fconv(Avgpool(Fd)+Maxpool(Fd))))
(2)
Mc=σ(F′d)
(3)
(2)空間增強模塊
Hu等[20]的工作表明了通過搭建通道之間的相互依賴性可以提高網(wǎng)絡(luò)的表達質(zhì)量,選擇性強調(diào)特征信息的同時抑制無用的特征,但是這類方法忽略了空間位置信息的重要性。Woo等[21]的工作將通道注意力和空間注意力串聯(lián)起來,能做到通道和空間兩者兼顧,進一步提高了網(wǎng)絡(luò)性能,但是此類方法無法捕捉圖像信息的長距離依賴關(guān)系[22]。為了使原圖像和去噪圖像兩模態(tài)獲得更好的特征互補學(xué)習(xí),加入了空間增強模塊SEM。如圖3中的SEM部分所示。受坐標(biāo)注意力(coordinate attention,CA)機制[23]啟發(fā),設(shè)計了空間位置信息融合進通道注意力的機制,將通道注意力分解為并行的兩個分別基于圖像長(H)、寬(W)的特征編碼,由此獲得特征圖沿一個空間方向的長距離依賴關(guān)系,有效地將空間信息保留在通道注意力中,并且僅增加了極少的計算開銷。本文模塊與CA機制不同之處在于:①將全局平均池化替換為了全局最大池化。這是由于本模塊添加在特征網(wǎng)絡(luò)的淺層,需要保留主要特征,突出前景,獲取目標(biāo)的紋理信息。②先將兩個空間方向的特征融合獲得特征圖Fz, 再使用sigmoid函數(shù)加權(quán)用于自適應(yīng)選擇雙模態(tài)中的有效信息。
具體步驟分為3個部分:
(1)空間信息嵌入。由于要從兩種變換沿空間方向進行聚合特征,于是需將原圖像特征Fn∈C×H×W和去噪圖像特征Fd融合獲得Ft, 然后分別在長、寬方向?qū)θ诤咸卣鬟M行最大池化,即使用尺寸為(H,1)或(1,W)的池化核(pooling kernel)分別沿著水平坐標(biāo)和垂直坐標(biāo)對每個通道(c)進行編碼。從而能夠捕捉兩個方向的距離依賴關(guān)系。公式如下
(4)
(5)
(2)生成融合注意力。空間信息嵌入之后,獲得兩個方向的特征向量,之后通過拼接(concat)操作,具體來說,就是使每一特征的信息量保持不變但描述圖像的通道數(shù)增加了,從而獲得更豐富的語義信息;再通過1×1卷積降維、BN層和PRelu激活函數(shù)來減少模型復(fù)雜度,獲得特征Ftmp∈C×1×(H+W); 隨后通過分離操作再獲得兩個方向的特征向量,分別經(jīng)過自適應(yīng)的1×1卷積還原特征向量維度,最后再通過逐元素乘法得到與原圖像特征、去噪圖像特征維度大小一致的特征圖Fz∈C×H×W。 具體操作如下
Ftmp=fprelu(fbn(fconv([hc,wc])))
(6)
(7)
(3)最優(yōu)特征信息選擇。使用sigmoid函數(shù)對特征Fz加權(quán),生成注意力權(quán)值特征圖Fatt和1-Fatt, 通過與原圖像特征Fn和去噪圖像特征Fd進行逐元素點積操作,由此可以自適應(yīng)選擇更優(yōu)的特征信息,剔除無用信息,具體操作如下
Fatt=σ(Fz)
(8)
(9)
最后,雙模態(tài)的最終融合特征Ffuse可由下式獲得
Ffuse=Fk+FL
(10)
(1)數(shù)據(jù)集
VOC-Noisy數(shù)據(jù)集:在PASCAL VOC數(shù)據(jù)集[24]基礎(chǔ)上使用Skimage庫添加3種合成噪音,分別是高斯(gaus-sian)、泊松(poisson)、散斑(speckle)。VOCN-tr是在VOC07+VOC12的訓(xùn)練分割(共16 551張圖片)基礎(chǔ)上抽取其中的2/3的數(shù)據(jù)圖片添加隨機強度的隨機噪音(類型限定為上述3種之內(nèi))作為訓(xùn)練集;VOCN-te是在VOC07的測試分割(共4952張圖片)基礎(chǔ)上隨機抽取其中的1/3添加固定強度的噪音,有3個子集:VOCN-te-G、VOCN-te-P、VOCN-te-S,分別對應(yīng)3種噪音類型。評估時取3種噪音的平均值。數(shù)據(jù)集樣本示例如圖4所示。
圖4 添加了噪音的數(shù)據(jù)集樣本
(2)評價指標(biāo)
本文的實驗均在一臺搭載了Intel i7-13700K CPU和一塊NVIDIA GTX3090 GPU的深度學(xué)習(xí)服務(wù)器上進行。操作系統(tǒng)為Windows10,采用Pytorch深度學(xué)習(xí)框架,所用的依賴庫及驅(qū)動包括了numpy1.20.2、CUDA11.6和CUDNN11.x等。總訓(xùn)練輪次(epoch)設(shè)置為100;批量大小(batch size)設(shè)置為16;輸入圖像大小設(shè)置為512×512;使用余弦退火的優(yōu)化策略;優(yōu)化器選用的是Adam且初始學(xué)習(xí)率為0.005,動量為0.92。在數(shù)據(jù)增強上,采用了仿射變換warpAffine,對原圖中進行裁剪,然后縮放到512×512的大小。
為了探究DBAFF模塊對于整個檢測網(wǎng)絡(luò)的影響,本節(jié)在VOC-Noisy數(shù)據(jù)集上以不同種類注意力機制和DBAFF模塊中不同組件所起作用這兩個方面來對本文方法的先進性進行綜合評估。
(1)不同種類注意力機制組件對目標(biāo)檢測結(jié)果影響
表1中將本文方法與SE注意力機制、ECA注意力機制、CBAM注意力機制這3種主流方法作對比。具體步驟為:在SDNet-CenterNet的框架基礎(chǔ)上,保留DBAFF中的SEM模塊,將CEM模塊分別替換為SE模塊、ECA模塊;隨后保留CEM模塊將SEM模塊替換為CBAM模塊??梢钥闯觯珼BAFF模塊比使用全連接加權(quán)的SE性能提升了6%,比只使用全局平局池化的ECA性能提升了5%,說明了CEM模塊能更好地處理去噪后的稀疏特征信息。而相比于CBAM模塊,性能更是提升了9%,說明了雙支路融合且嵌入空間信息的SEM模塊能比CBAM獲得更全面的圖像空間信息,進而提高了檢測精度。
表1 不同注意力機制對于目標(biāo)檢測結(jié)果的影響
(2)DBAFF模塊中單組件對目標(biāo)檢測結(jié)果的影響
為了進一步探究DBAFF模塊中單組件對性能的影響,見表2。僅CEM單元的模型使用級聯(lián)方式替代SEM實現(xiàn)雙支路融合,與DBAFF(SEM+CEM)相比,性能下降了3%以上,下降最為嚴(yán)重,說明了SEM對于雙模態(tài)的融合有重要的作用。而在僅包含SEM單元的變體模塊中,雖然FPS有所提升,但是精度上與DBAFF(SEM+CEM)相比依然有所差距,特別是在mAP50中低了0.7個百分點,說明了CEM模塊在融合前對于去噪圖像的處理,有助于保留更多的語義信息。
表2 融合模塊單個組件對目標(biāo)檢測結(jié)果的影響
本節(jié)在VOC-Noisy數(shù)據(jù)集和VOC原數(shù)據(jù)集上制定了3種不同的訓(xùn)練策略用于驗證本文方法的有效性:直接數(shù)據(jù)集訓(xùn)練(Direct);單一去噪模塊訓(xùn)練(Denosing);去噪模塊與本文DBAFF模塊聯(lián)合訓(xùn)練(Union)。具體見表3。為了全面比較,本節(jié)用VOC-te測試集來驗證在VOC-Nosiy數(shù)據(jù)集上訓(xùn)練的網(wǎng)絡(luò);用VOC07測試集來驗證在原VOC數(shù)據(jù)集上訓(xùn)練的網(wǎng)絡(luò)。
表3 不同算法基于3種策略分別在VOC-Nosiy、VOC數(shù)據(jù)集上性能比較
表3中詳細(xì)給出了在兩種數(shù)據(jù)集中3種策略下檢測性能的狀況,可以看出本文的算法在噪音測試集VOCN-te中獲得了最高的mAP50、mAP75和mAP。在噪音數(shù)據(jù)中,對比直接訓(xùn)練,本文方法性能比原網(wǎng)絡(luò)提高了16%以上;對比單一去噪網(wǎng)絡(luò),本文方法性能提高了10%以上;而在原數(shù)據(jù)集中,可以看出單一去噪網(wǎng)絡(luò)的性能對比原網(wǎng)絡(luò)都發(fā)生了一定的退化,這表明了卷積稀疏編碼的去噪模塊會丟失一部分語義信息。而本文方法有效彌補了這一缺陷,在原數(shù)據(jù)集上的性能基本沒有變化,甚至在mAP50指標(biāo)上還比原網(wǎng)絡(luò)提高了0.2個百分點。
為了進一步探索DBAFF算法性能,表4中對Faster-RCNN、YOLOv3、SSD、原CenterNet網(wǎng)絡(luò)、單一去噪CenterNet+SDNet網(wǎng)絡(luò)和本文CenterNet+DBAFF網(wǎng)絡(luò)進行算法復(fù)雜度和檢測速度比較。
表4 在網(wǎng)絡(luò)參數(shù)、計算復(fù)雜度、檢測速度和mAP50方面性能的比較
由表4可以看出,SSD算法屬于輕量級算法,在參數(shù)量和計算復(fù)雜度上都表現(xiàn)出了最好的效果,但是在檢測性能上就較為落后;Faster-RCNN是二階段算法,在檢測精度上還有一定優(yōu)勢,但計算太過復(fù)雜,并且檢測速度最低。本文算法在參數(shù)量上與原網(wǎng)絡(luò)差別不大,但是檢測速度上提高了1幀,性能也得到較大的提高,也驗證雙特征融合的注意力機制是輕量級的,并不會過度增加模型的復(fù)雜度。在實用部署中,通過硬件優(yōu)化還能獲得進一步的提升。
如圖5所示,本文對比了原網(wǎng)絡(luò)、單一去噪網(wǎng)絡(luò)和本文方法的實際檢測效果。如圖5(a)中,在高斯噪聲的影響下對比原網(wǎng)絡(luò)和單一去噪網(wǎng)絡(luò),可以看出本文方法能夠更精準(zhǔn)地識別更遠(yuǎn)端的轎車等小目標(biāo)且保持了更高的mAP指數(shù)。如圖5(b)、圖5(c)中,在泊松和散斑噪聲影響下,對于一些位置大量重合的目標(biāo),原網(wǎng)絡(luò)與單一去噪網(wǎng)絡(luò)都未能識別,而本文方法依舊可以精準(zhǔn)定位。這些都表明了本方法在對加性噪聲的干擾下具有更好的魯棒性。
圖5 與原網(wǎng)絡(luò)、單一去噪網(wǎng)絡(luò)在VOC-Nosiy數(shù)據(jù)集上的比較
本文針對卷積稀疏編碼的目標(biāo)檢測網(wǎng)絡(luò)性能不夠理想的問題,提出了結(jié)合原圖像和去噪圖像雙支路特征融合的注意力機制DBAFF。在特征提取過程中,利用注意力融合機制,分別將去噪網(wǎng)絡(luò)通道上的特征和原圖像的空間上的特進行互補學(xué)習(xí),有效彌補了去噪網(wǎng)絡(luò)中丟失的有用信息,進一步提高檢測精度。實驗結(jié)果表明,本文方法在加性噪聲的干擾下,對于小目標(biāo)和重合目標(biāo)的檢測表現(xiàn)出了更優(yōu)秀的性能。未來的研究工作是致力于網(wǎng)絡(luò)輕量化,將其移植入嵌入式平臺,進一步應(yīng)用到實踐當(dāng)中。