999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于兩階段計算Transformer的小目標檢測

2023-12-08 11:49:04徐守坤顧佳楠莊麗華
計算機與生活 2023年12期
關鍵詞:特征檢測信息

徐守坤,顧佳楠,莊麗華,李 寧,石 林,劉 毅

常州大學 計算機與人工智能學院,江蘇 常州 213164

目標檢測作為計算機視覺的一個基礎研究熱點,在許多領域內進行應用,例如自動駕駛、智慧監控、虛擬現實和增強現實等。小目標檢測是目標檢測研究任務之一,其在衛星圖像和自動駕駛等領域有著非常廣泛的應用[1]。但是小目標攜帶的信息量相比常規目標要少,給小目標特征提取、識別、分類和定位都造成了很大的困難。

傳統的目標檢測方法通過人工提取目標特征,檢測的效果不佳。近年來,隨著深度學習技術不斷發展,目標檢測算法可以分為兩個類別:第一種是兩階段(Two-stage)算法,例如Faster R-CNN(faster region-based convolutional neural networks)[2]、OHEM(online hard example mining)[3]和MKLP(multi-scale location-aware kernel representation)[4]等。這些方法都是先通過區域建議網絡生成候選框,然后對候選區域進行分類和回歸,最終得到目標的準確分類和定位信息。另一種是一階段算法,例如SSD(single shot multibox detector)[5]、DSSD(deconvolutional single shot detector)[6]、YOLOv3(you only look once version 3)[7]、YOLOX(you only look once version X)[8]等,這些方法都是端到端的方法,直接通過網絡獲得目標的分類和定位信息。

目前現有的目標檢測方法對于清晰場景下的大尺寸目標都表現出良好的檢測效果,但是對于復雜場景中的小目標則會出現漏檢或錯檢問題。由于小目標的背景復雜度高、像素低本身的特征信息不明顯、易被遮擋等問題,小目標的檢測性能還有很大的提升空間。YOLOX 是一個端到端的一階段目標檢測算法,其創造性地提出解耦頭進一步提高了目標檢測的性能和收斂速度,但是其對于小目標檢測的性能不佳。圖1 展示了YOLOX 對于小目標檢測的失敗案例,左邊一張圖中對后面的汽車和人出現漏檢問題。右邊一張圖中對于兩匹在草原上奔跑的馬,只檢測出了前面一匹,后面的馬匹出現漏檢問題。因此,本文主要研究如何在檢測過程中有效增強小目標特征信息的鑒別性,保留并豐富小目標的淺層特征信息和上下文語義信息。

圖1 YOLOX算法中小目標檢測失敗案例Fig.1 Failure cases of YOLOX in detecting small objects

得益于Transformer 在自然語言處理(natural language processing,NLP)領域的有效性,其能高效捕獲長范圍依賴關系,學習全局自注意力權重并增強全局特征表達,將Transformer 應用于目標檢測成為了新的研究趨勢。現有小目標檢測方法中主干網絡(backbone)存在對小目標特征提取不充分或是小目標在特征提取過程中丟失特征信息,造成小目標漏檢的問題。本文提出了在backbone 的每一層特征提取后面增加兩階段計算Transformer(two-stage calculation Transformer,TCT),相比傳統CNN 方法,引入Transformer 機制的優勢是能大幅擴大對小目標特征的感受野,從而更好地捕獲全局依賴關系和提高檢測性能。另一方面,相比應用于小目標檢測的傳統Transformer 方法,使用通道級全連接進行小目標特征提取容易丟失小目標空間特征信息,造成小目標漏檢問題。本文提出的兩階段Transformer 能自適應地調整自注意力的核心變量Query、Key 和Value,增強Query 和Key 之間的相關性,避免大范圍背景信息淹沒小目標的問題,進而突顯小目標特征信息,避免小目標漏檢。此外,本文總結了YOLOX中使用路徑聚合網絡(path aggregation network,PANet)[9]進行特征融合的局限性。現有的CSPLayer層使用壓縮通道的卷積無法捕獲鄰域特征依賴關系,因此將其替換為不改變通道數的卷積,以進行帶感受野的迭代學習,從而更好地在空間層面上學習不同信息。同時,使用PReLU 激活函數進行非線性激活,提高特征的表達能力,并且使用多個殘差加法與殘差乘法進行特征細化與精煉。

本文主要貢獻如下:(1)提出了兩階段計算Transformer(TCT)改進現有的Transformer 結構,通過引入新穎的多分支一維空洞卷積以擴大感受野,從而準確捕獲空間層面鄰域依賴關系。并使用不同的融合方式以調整自注意力權重,增強全局自注意力機制的特征表達能力與信息交互能力。(2)提出了一個高效的殘差連接模塊,改進現有的CSPLayer 層中低效的卷積層與激活層,有利于促進信息流的交互,學習更豐富的上下文細節特征。(3)提出特征融合與精煉模塊以改進路徑聚合網絡,從而建立多層次之間的相互管理并精煉每層的特征細節,提取到更加豐富的目標特征信息。

1 相關工作

1.1 目標檢測

目標檢測一直是一個熱門的研究領域,隨著卷積網絡的不斷發展,出現了很多的檢測方法。目前最通用的兩個方法,一個是以R-CNN系列為代表的基于候選框的兩階段目標檢測算法,另一個是以YOLO系列為代表的基于回歸的一階段目標檢測算法。

R-CNN[10]、Fast R-CNN[11]、Faster R-CNN 這些方法都是基于候選框計算目標的分類置信度和目標具體檢測位置。趙珊等人[12]基于Faster R-CNN 提出了通道分離雙注意力機制的目標檢測算法,使得卷積神經網絡自動學習特征間的重要性。R-FCN(regionbased fully convolutional networks)[13]引入了位置敏感分數圖共享每一個ROI(region of interest)的特征計算,緩解目標分類之間的平移不變性與目標檢測之間的平移變化性之間的矛盾。TSD(revisiting the sibling head in object detector)[14]將分類和邊界框預測的感知分類建議任務與計算具體特征任務解耦合。Dynamic R-CNN[15]動態調整標簽分配的IoU(intersection over union)閾值和回歸超參數以提高檢測精度。Sparse R-CNN[16]學習了一組固定的稀疏候選區域建議框。

YOLO 系列算法和SSD 算法都是經典的一階段目標檢測算法。YOLO 算法的目的就是將檢測問題轉變成回歸問題,將整個圖像輸入到卷積網絡中,在輸出層同時預測邊界框的坐標和類別的概率。SSD算法采用不同尺度的特征圖進行檢測,并且直接使用卷積網絡預測檢測結果。YOLOv2[17]對YOLOv1[18]進行了改進,增加了批標準化處理并且同時引入錨框機制。YOLOv3采用Darknet53作為主干特征提取網絡,并且在分類器中使用Sigmoid 激活函數,將輸出結果范圍約束到0 到1 之間,提高模型檢測速度。邵偉平等人[19]將MoblieNet 與YOLOv3 進行融合,提高模型的檢測速度。YOLOv4[20]使用Mish激活函數,在不增加檢測時間的基礎上,提高了檢測精度。劉晉等人[21]基于YOLOv4使用MoblieNet作為主干特征提取網絡,引入通道注意力機制模塊提高特征提取能力。現在YOLOX 的出現,在某種程度上做到了最佳的檢測精度和檢測速度。

1.2 小目標檢測

小目標檢測一直是一個具有挑戰性的計算機視覺任務,現有的檢測算法對于大尺寸目標的檢測都取得了很好的效果,但是小目標的檢測效果仍然不太理想。人們提出越來越多的方法用來提高小目標檢測的準確度,主要分為四個類別:(1)尺度感知訓練。為了提高小目標的檢測準確度,旨在生成具有統一表示能力的特定尺度特征圖。Liu等人[22]提出了多分支并行特征金字塔網絡(multi-branch parallel feature pyramid network,MPFPN)用于恢復深層次丟失的特征信息,從而提取更加豐富的小尺寸目標特征信息。(2)過采樣和強大的數據增強。文獻[23]研究了過采樣和數據增強對于目標檢測的影響,使用一種自動化的方式來尋求目標檢測的最佳數據增強策略。(3)結合上下文信息。Zhang 等人[24]通過交錯級聯架構提出了多尺度特征預測和細化小目標的尺寸和位置。PANet[9]在特征金字塔(feature pyramid network,FPN)的基礎上增加了自上而下的路徑增強,在利用淺層特征精確定位目標信息的同時也縮短了信息傳輸路徑,進而提高小目標的檢測性能。奚琦等人[25]將SSD 中的主干網絡VGG16 替換為Densenet,使用連續3個3×3卷積生成特征圖,減小參數量的同時降低輸入圖像特征信息的消耗,盡可能地保留目標細節特征信息。(4)提高輸入圖像分辨率。陳幻杰等人[26]對SSD算法進行改進,在提取特征時使用不同的提取方式對淺層特征和深層特征進行提取,以此改善SSD 算法對于小目標的檢測效果。文獻[27]將圖像分割后進行超分辨率重建,再次分割送入目標檢測模塊,以此增強對小目標的檢測。

1.3 基于Transformer的目標檢測

得益于Transformer 在自然語言處理中的成功應用,人們也在積極探索其在計算機視覺上代替卷積計算來捕獲圖像特征全局范圍內的依賴關系。ViT(vision transformer)[28]是第一個基于Transformer的圖像分類方法,其分類性能優于卷積神經網絡。它提出了將圖像切分為尺寸為16×16 的圖像塊,將每個圖像塊看作一個整體,使用Transformer 對圖像進行全局自注意力。DETR(detection transformer)[29]提出了目標檢測的新范式,使用編碼器和目標查詢對特征圖和錨框進行編碼,使用解碼器和前饋神經網絡獲得目標的預測框和類別分類。此方法雖然在檢測性能上提到了提升,但還是犧牲了很大的計算量和參數量。Swin Transformer[30]提出了一個基于滑動窗口的多頭注意力機制以平衡性能和效率。DAB_DETR[31]基于原始DETR 生成動態錨框,使得DETR 中的Q(Query)與傳統目標檢測方法中的錨框類似。該方法不僅增強了Q的可理解性,還加速了模型的收斂。

2 本文算法

本文在現有的高性能目標檢測方法YOLOX 上進行改進,改進后的算法總體結構如圖2 所示。TCT表示兩階段計算注意力,詳細結構見圖3。整個算法由特征提取主干模塊、特征融合模塊和檢測頭模塊三部分組成。當傳入一張640×640×3 的圖像,首先對圖像進行Focus 操作,在圖像中間隔一個像素取值,這樣就可以獲得4 個獨立的特征層。將4 個特征層進行堆疊,輸入通道就擴充為原來的4 倍,圖像的寬高變為原來的一半。通過Focus 操作可以減小模型推理的時間。再經過卷積層和TCT 結構的堆疊,獲得特征信息。在最后一個TCT 結構輸出之后,通過SPPNeck 使用不同池化核大小的最大池化操作進行特征提取,提高網絡的感受野。網絡的特征融合模塊是基于PANet 結構搭建的,通過FFRM(feature fusion and refinement module)進行帶感受野的迭代學習,更好地學習空間中不同尺度的特征,并且將不同尺度的特征進行融合,從而得到不同尺度目標的預測結構。在網絡檢測頭部分使用解耦頭的方式,一個分支計算目標分類,另一個分支進行邊界框回歸和前景背景判斷。一方面,為了構建更加高效的特征提取網絡,本文提出兩階段計算Transformer(TCT)用作增強特征,分兩階段自適應地調整Q(Query)、K(Key)和V(Value)以更好地計算全局自注意力權重。從而提高網絡模型自適應捕獲全局依賴關系的能力,提高訓練階段收斂速度,從而更準確地鑒定目標信息。另一方面,本文改進了多層次的特征融合過程,提出了一個簡單而強大的模塊,僅僅由3×3 卷積和PReLU 激活函數組成,在經過不同形式的殘差連接之后,得到一個新的卷積神經網絡模塊,名為特征融合精煉模塊(FFRM)。FFRM 在本模型中取得了優異的檢測性能。

圖2 本文方法總體框架Fig.2 Proposed overall framework

圖3 傳統自注意力與兩階段計算自注意力的比較Fig.3 Comparison of conventional self-attention and two-stage computational self-attention

2.1 兩階段計算Transformer

2.1.1 兩階段計算Transformer總體設計

本小節將詳細介紹提出的兩階段計算Transformer(TCT)模塊。本文遵循大多數Transformer 方法的做法,TCT 由兩階段計算自注意力(two-stage calculation self-attention,TCSA)和前饋神經網絡(feed forward network,FFN)兩部分組成。二者分別經過層歸一化(layer normalization,LN)進行穩定梯度加速訓練,然后使用殘差加法用于保留原始信息與縮短反向傳播途徑。在目標檢測的backbone 特征提取階段中,將CSPLayer 輸出的特征圖X∈RH×W×C作為TCT 的輸入特征,所提出的兩階段計算Transformer總體公式如下所示:

其中,TCSA(?)表示兩階段計算自注意力方法,具體實現方法將在2.1.2小節詳細介紹。FFN(?)表示前饋神經網絡計算操作,具體實現方法將在2.1.3 小節詳細介紹。Y則為TCSA 模塊計算得到的臨時變量,用于傳入FFN 進行前饋網絡計算。LN(?)表示層歸一化,對B×C×H×W尺寸的特征圖按Batch(B)劃分并對C×H×W的子特征所有數值減去均值并除以標準差。

2.1.2 兩階段計算自注意力

現有的基于目標檢測的多頭注意力機制,如圖3(a)所示。使用3 個不同的全連接計算獲得Q(query)、K(key)、V(value)三個值(公式):

其中,fWQ(?)、fWK(?)、fWV(?)表示不同的全連接層計算,其采用三個不同的全連接層,按通道進行全連接計算,互相不共享參數,從而以不同的權重參數分別更新Q、K 和V 的所有層次特征到下一層特征的投影系數。

與現有的基于Transformer 的目標檢測方法不同,本文提出了兩階段計算模塊,用一維卷積替代全連接層,并設置不同的空洞率(dilated rate)以捕獲多尺度信息,同時將多尺度權重用于調整Q 與K。如圖3(b)所示,使用不同的計算方式得到Q、K、V的值,具體過程如下:

(1)計算Q、K、V

在視覺Transformer 中計算Q、K、V 的方法通常使用三個通道級別全連接計算得到,其好處在于對不同層次特征信息進行稠密連接,捕獲跨層次信息關聯性。然而目標檢測任務中,真實標簽更多體現在視覺空間層面上而非通道層面,這使得捕獲鄰域關系比捕獲跨層次通道信息更為重要。為此,本文避免使用通道級別全連接層,改進為使用一維卷積和空洞率為3 的一維空洞卷積。在不增加網絡參數量的同時,盡可能地擴大特征圖的感受野,以準確捕獲空間層面領域依賴關系,減少卷積過程中語義信息與細節信息丟失,提高目標檢測性能。

式中,fchunk(?)表示的是對特征圖按通道數拆分成兩半;表示的是第i次進行1×1 一維卷積操作;fWD(?)表示的是空洞率為3 的3×3 空洞卷積操作;Y′表示的是層歸一化后的張量。

(2)計算Q′、K′、V′

為了增強全局自注意力機制的特征表達能力與信息交互能力,相比傳統Transformer方法,本文提出的TCT 模塊引入第二階段對Q、K、V 進行自適應調整,Query 作為自注意力的原始特征表達,需要適當引入大感受野的空間細節以調整增加Query 的特征查詢能力。而Key作為自注意力的目標位置特征,僅采用全連接層或全空洞卷積容易丟失原本特征信息,因而引入Value 早期特征尤為必要。在一階段計算得到Key 和Value 分支后,二階段分別對其進行2倍通道膨脹并拆分。Key 分支得到Q1和K1,Q1以矩陣乘法的方法融合Query 分支特征Q以調整其特征權重,K1則是作為原始Key分支信息。

其中,Q′表示經過兩階段自適應調整之后Query 結果,用于計算自注意力權重。

Value 分支得到K2和V′,K2以矩陣加法的方式融合Key 分支的K1信息以微調信息表征。與Query 分支乘法不同的原因在于,Query 分支將多尺度特征以乘法方式特征融合,有利于訓練階段成倍增長梯度和加速收斂。而Value 分支融合的是早期信息與當前層目標關鍵特征,以殘差加法方式有利于穩定學習目標區域自注意力權重。

經過上述方法求得Q′、K′和V′之后,最終的注意力計算方式如下:

式中,K′T表示將K′進行轉置,dk是一個縮放因子,遵循多頭操作的計算公式dk=C/k,本文多頭分組k取值為8,主干網絡特征圖通道數C為{128,256,512,1 024},因而dk={16,32,64,128}。

得益于兩次跨分支信息流的特征融合,在訓練階段有效地避免了信息阻塞,促進了淺層特征與深層特征的信息交互,有效提升全局自注意力的準確性。3.5節消融實驗進一步證明了該結論。

2.1.3 前饋神經網絡

前饋神經網絡(feed forward network,FFN)在Transformer 架構中起到增加模型表達能力、提高自注意力機制的學習容量的作用,以應對小目標被遮擋、模糊和光線暗等復雜場景。傳統的FFN 一般采用Layer Normalization 和殘差連接以穩定梯度和縮短反向傳播路徑達到加速收斂的效果,同時采用Dense+Activation+Dense以增大模型表達能力。本文提出的前饋神經網絡FFN 采用雙分支結構,其中一個分支經過GELU激活函數以學習逐元素門控權重,由于GELU 是具有dropout 性質的門控激活函數,將雙分支相乘的操作有利于利用門控信息調整空間與通道上的有效特征。在先前的工作中,在現有的Transformer 中前饋神經網絡對于特征領域信息的獲取能力較弱。但是,在目標檢測中相鄰像素的信息對于整體目標表達非常重要。為了解決這個問題,如圖4 所示,本文使用二維卷積獲取特征信息,并且前饋神經網絡的激活函數使用的是GELU激活函數。FFN的計算公式如下:

圖4 前饋神經網絡結構圖Fig.4 Structure of feed forward network

式中,θ表示GELU 激活函數,fWpi(?),i∈{0,1,2}表示的是第i次二維卷積操作,fLN(?)表示的是層歸一化操作,∈RH×W×C表示的是經過兩階段計算注意力得到的受關注特征向量經過層歸一化轉置后的結果。

2.1.4 窗口化、滑動窗口與多頭操作

由于視覺任務中的特征圖尺寸較大,基于Transformer 的檢測方法普遍存在計算量大、參數量大和推理時間大的問題。因而采用適當的輕量化方法十分必要,本文遵循Swin-Transformer 的做法,給定H×W×C尺寸的特征圖,進行窗口化與滑動窗口操作(shift-window operation)和多頭操作(multi-head operation)。首先,按照尺寸進行窗口劃分,每兩個TCT中的第一個不進行滑動窗口,第二個按照H和W負方向循環位移位。然后,按通道拆分成k組通道,即k個head,本文方法中k固定設為8,從而劃分為n×k個(M×M)×(C/k)尺寸的特征圖用于計算多尺寸自適應轉換,其中n=(H×W)/(M×M)為窗口個數,M表示窗口尺寸(本文方法中M設為8)。

窗口化與多頭操作的本質是,從空間和通道維度對特征圖進行分塊和升維操作,從而以并行計算的方式對特征圖快速迭代學習。在計算復雜度上,傳統的Transformer 在計算Q、K、V 和最后重投影共采用4 次通道級全連接層,因而4 個全連接層復雜度為4HWC2,而計算自注意力權重時用到的2 次張量相乘為2H2W2C,從而傳統多頭自注意力的計算量為:

本文提出的TCT 將全連接層替換為卷積或空洞卷積,并額外多了2 次逐位加法和乘法,在引入尺寸為M的窗口化操作后,計算量為:

式中,Ω(TCT1)表示僅采用窗口化設計的TCT 模塊復雜度,本文M取值為8。

考慮到按通道分組的多頭操作,將C拆分為k組dk通道信息,最終TCT 模塊的計算復雜度進一步降低為:

考慮到實際應用中,時間復雜度與常數無關且僅需保留多項式中級數最大項,從而對比二者的時間復雜度公式如下:

可以看出,相比于傳統的Transformer,本文提出的TCT 在空間維度上由二次方復雜度降低為一次方復雜度,且M=8 和dk={16,32,64,128}均為較小常數,得到了極大的輕量化提升。

本文在滑動窗口內進行自注意力計算,增強特征的鑒別性,并且提高了收斂速度。如圖5 所示,雖然本文方法一開始訓練損失值比基準模型大,但是在50個批次之后,損失小于基準模型,模型的收斂速度得到顯著提高。針對是否窗口化、窗口尺寸M、是否滑動窗口、多頭操作分組k的進一步消融實驗說明將在3.5.1小節中詳細討論。

圖5 損失值曲線圖Fig.5 Loss value graph

2.2 特征融合與精煉模塊

2.2.1 高效殘差連接塊

現有的方法大多沿用ResNet 中的殘差連接思想,使用兩層卷積并與另一分支作殘差連接。如圖6所示,本文的基準方法CSPDarknet 主干分支運用的是1×1 卷積和3×3 卷積,并與殘差分支直接相加。其中用于壓縮通道的1×1卷積無法捕獲鄰域特征依賴關系,因此本文將其替換為不改變通道數的3×3卷積,以進行帶感受野的迭代學習,從而更好地在空間層面上結合不同信息。

圖6 特征融合與精煉模塊結構圖Fig.6 Structure of feature fusion and refinement module

得益于PReLU 激活函數在多個視覺任務中的卓越表現,其有效緩解ReLU 激活函數丟失負數區間信息的問題,在保持非線性激活功能的同時,使用可學習的負數分支斜率以對非激活區間進行抑制,對有效數值空間進行高效非線性激活,因而在主干分支的2 個卷積層后都運用PReLU 激活層。同時,殘差分支使用一個1×1卷積對原始淺層特征進行卷積運算,以增強殘差塊的特征表達能力。相比baseline,高效殘差連接塊(efficient residual connection block,ERCB)更好地進行迭代學習,其特征表達能力與模型收斂速度都有所提高,3.5.2 小節的消融實驗結果進一步證明了這一結論。

2.2.2 特征融合與精煉

本文的基準方法CSPDarknet 在主干網絡(backbone)之后使用CSPLayer 將不同尺度特征進行特征融合,如圖7 所示,CSPLayer 在兩個分支上進行迭代學習并按通道拼接方式進行殘差連接。由于僅僅按照通道對特征進行簡單拼接的操作,忽略了每個通道之間的相互聯系,本文提出更高效的特征融合與精煉模塊(FFRM),利用多次殘差連接操作,對每層通道數值進行細化與精煉。如圖6所示,用簡單的殘差加法與殘差乘法替代按通道拼接操作。首先用n個ERCB 層以增強模塊的特征表達能力。然后用一個層歸一化以穩定梯度和加速模型收斂速度,將其與早期的淺層特征殘差相加以保留原始空間細節,防止重要特征信息丟失。之后經過一層3×3卷積學習到一個自適應權重,再次與淺層特征進行殘差相乘,以精煉自身特征細節。

圖7 CSPLayer結構圖Fig.7 Structure of CSPLayer

2.3 損失函數計算

YOLOX 算法中的損失函數由三部分組成:第一個是模型預測出的x、y、w、h可以定位預測框的位置,通過度量預測框與真實框之間的交并比作為邊界框回歸損失函數。第二個是目標損失,所有真實框中的特征點都是正樣本,其他的都是負樣本,通過正負樣本和特征點是否包含目標的預測結果計算交叉熵作為目標損失函數。第三個分類損失,根據模型預測出的特征點得到該特征點所預測的種類結果,然后計算真實框的種類與特征點的預測種類的交叉熵作為分類損失函數。

為了提高整個模型對小目標檢測的效率,本文將目標損失中的交叉熵損失改用為Focal Loss 損失函數進行計算。交叉熵損失函數公式為:

當分類為正樣本時(s=1),損失函數為-lnp,當分類為負樣本時(s=0),損失函數為-ln(1-p),p表示樣本的預測概率。所有的樣本都采用同樣的損失度量方式,但是在實際檢測情況下,小目標總是比大目標難檢測出來,小目標獲得的預測概率比大目標要低很多,因此交叉熵損失函數并沒有很好地提高模型對小目標的預測精度。

Focal Loss損失函數公式為:

式中,?為控制難易分類樣本權重的平衡系數,及控制模型對小目標的偏向程度,類別概率p表示與真實樣本的接近程度,p越大說明越接近樣本,分類的置信度越高,代表樣本越易分類;p越小則說明分類的置信度越低,代表樣本越難分類。使用?之后,對于分類不準確的樣本,損失不會改變。對于分類準確的樣本,其損失值會減小。這樣相當于增加了分類不準確樣本在損失函數中的權重。?值越大,易分類樣本的loss 越小,這樣模型就會更加注意難分類樣本,本文選擇?值為2,獲得了顯著的檢測效果。當分類為正樣本時,當預測結果p趨近于1時,(1-p)在經過指數運算之后,損失函數的運算結果會很小。因此,當預測結果p比較小的時候,獲得的損失函數運算結果就會比較大。對于檢測模型來說,大尺寸的目標預測結果一般都比較大,但小目標的預測結果一般都比較小。因此通過Focal Loss 損失函數的計算,小目標可以獲得較大的損失值,提高整個模型對于小目標的預測能力。

3 實驗

3.1 實驗平臺及參數設置

在Linux 環境下,在Python3.7、Pytorch1.7 和CUDA11.0 的深度學習環境上實現所提出的方法。GPU 采用一塊32 GB 顯存的Tesla V100,CPU 型號為Intel?Xeon?Gold 5117 CPU@2.00 GHz。

對于PASCAL VOC2007 和PASCAL VOC2012數據集,本文合并二者的訓練集進行聯合訓練300輪,并在PASCAL VOC2007測試集上評估檢測性能。對于COCO2017 數據集,本文在其訓練集上訓練100輪,并在其驗證集上評估檢測性能。模型采用隨機梯度下降(stochastic gradient descent,SGD)優化器以0.01的初始學習率訓練,并使用余弦退火方式將學習率衰減到0.000 1,權重衰減設為0.000 5,動量固定為0.9。使用馬賽克數據增強方法,以64 的小批量值和640×640 的隨機裁剪尺寸進行隨機梯度下降權重更新。對于TinyPerson數據集,本文在訓練集上訓練了100輪,并在其測試集上評估性能。

3.2 數據集介紹

實驗數據集為PASCAL VOC2007[32]數據集、PASCAL VOC2012[33]數據集和COCO2017[34]數據集這3 個主流數據集以及TinyPerson[35]小目標數據集。PASCAL VOC 數據集一共有20 種不同的類別,訓練集一共有16 551 張圖像,測試集一共有4 952 張圖像。COCO2017 數據集一共包含80 種不同的類別,訓練集一共有118 287 張圖像,在COCO2017 的驗證集上評估本文方法效果,其由5 000 張圖像組成。TinyPerson 數據集[35]一共1 610 張圖像,包含兩個類別sea person 和earth person,其圖像中的目標都是小于20像素的人。

3.3 評價指標

使用mAP(mean average precison)作為算法檢測精度的評價指標,此外還用了更加精細化的評價指標來評估模型。AP50、AP75分別表示當IoU 為0.50 和0.75 時所有目標的AP 值,mAP 表示IoU 閾值由0.50至0.95,以0.05 為步長計算的AP 值的平均值。本文定義小目標(S<322)、中等目標(322962)。其中S、M、L為圖像中的目標像素,APS、APM和APL分別表示IoU 閾值為0.50 時小目標、中等目標和大目標的AP值,上述評價指標計算公式表示如下:

式中,TP、FP和FN分別表示正確檢測框、誤檢框和漏檢框的數量,P表示精確率,R表示召回率,AP值表示一個類別的檢測平均精準度。

本文使用每秒處理圖像的幀數(frame per second,FPS)、參數量(Parameter)以及計算量(FLOPs)來評估模型的速度和模型的復雜度。

3.4 對比實驗結果

3.4.1 PASCAL VOC實驗結果分析

表1 和表2 比較了本文算法與現有的先進目標檢測算法在PASCAL VOC2007 測試集的實驗結果。如表1 所示,本文方法取得了87.9%的mAP,達到最高,比基準模型YOLOX 高了1.9 個百分點。比二階段的檢測算法Faster R-CNN 高出14.7 個百分點,比一階段的SSD 算法高出了11.1 個百分點,比現有的基于Transformer 的目標檢測器DETReg 高出了3.7個百分點。每個類別的檢測精度相比這些方法也有了顯著提升,其中有17 個類別達到了最優。對于中等尺寸的物體,比如桌子,相比基準模型提升了8 個百分點;對于小尺寸的物體,比如瓶子,相較于基準提高4個百分點,植物有了10個百分點的提高。

表2 不同方法在PASCAL VOC2007測試集的檢測結果對比2(IoU=0.5)Table 2 2nd comparison of detection results of different methods on PASCAL VOC2007 test set(IoU=0.5) 單位:%

圖8 是本文方法與SSD、YOLOv3 和YOLOX 在PASCAL VOC2007 測試集上選取了兩張圖片。從圖中可以看出其他方法對于較遠處的輪船、馬車等小目標存在嚴重的漏檢問題,而本文方法都能精確檢測出來,進一步證明了本文方法使用兩階段計算注意力可以更精煉地提取目標的語義信息和細節信息,提高檢測性能。

3.4.2 COCO2017實驗結果分析

為了進一步驗證本文方法的有效性,在COCO-2017數據集上進行實驗。如表3所示,本文方法檢測精度與現有先進檢測方法相比有了顯著提升。本文方法與基準YOLOX_s 相比檢測mAP、AP50、AP75分別提高了2.7個百分點、2.2個百分點和2.8個百分點,相比最新的YOLOv7-tiny416分別提高了8.4個百分點、9.3個百分點和9.8個百分點。值得注意的是,本文方法對于小目標檢測的AP得到了顯著提升,達到了25.2%,相比基準模型YOLOX_s 提高了1.3 個百分點,證明了本文方法小目標檢測的有效性。本文方法的中等尺寸目標和大尺寸目標的檢測精度相較于基準模型分別提升了2.3 個百分點和4.3 個百分點。取得如此顯著提升的根本原因是本文模型使用兩階段計算轉換器可以更好地捕獲目標全局語義特征和目標的細節特征,更好提高網絡模型自適應捕獲全局依賴關系的能力。

表3 不同方法在COCO2017數據集的檢測結果對比Table 3 Comparison of detection results of different methods on COCO2017 dataset 單位:%

圖9是本文方法與YOLOv5、YOLOv7和YOLOX方法在COCO2017 測試集上選取了3 張圖片。從圖中可以看出其他方法對于較遠處的汽車、輪船、帆船等小目標存在嚴重的漏檢問題,而本文方法都能精確檢測出來,進一步證明了本文方法使用兩階段計算注意力對小目標檢測有了很大的改進。

圖9 本文方法與YOLOv5、YOLOv7和YOLOX在COCO2017數據集上的定性對比Fig.9 Qualitative comparison among proposed method,YOLOv5,YOLOv7 and YOLOX on COCO2017 dataset

3.4.3 TinyPerson數據集實驗結果分析

為了進一步驗證本文方法對于小目標檢測的有效性,在TinyPerson 數據集上進行實驗。如表4 所示,本文方法檢測精度與現有先進檢測方法相比有了顯著提升。本文方法在IoU 閾值為0.50 時的APS達到了最好的結果,相比YOLOX 增加了3.4 個百分點,相比YOLOv5 增加了2.9 個百分點,證明了本文方法小目標檢測的有效性。

表4 不同方法在TineyPerson數據集的檢測結果對比Table 4 Comparison of detection results of different methods on TineyPerson dataset

如圖10 所示,本文選取了兩組圖片用于本文算法與其他方法的定性對比,從圖片中可以看出本文方法的檢測效果明顯優于其他方法的檢測效果。在目標特別微小的情況下,本文方法相比其他方法檢測到的目標數量最多。由此表明本文方法對于小目標檢測有很大的改進。

圖10 本文方法與其他主流算法在TinyPerson數據集上的定性對比Fig.10 Qualitative comparison of proposed algorithm with other mainstream algorithms on TinyPerson dataset

3.5 消融實驗結果

3.5.1 基于Transformer的目標檢測

為了證明本文兩階段計算注意力模塊對于目標檢測的有效性,本文方法在PASCAL VOC2007 測試集上將與基準模型YOLOX 和增加Swin Transformer模塊后的YOLOX 進行對照實驗。如表5 所示,在增加了Swin Transformer 之后,這個模型對于目標檢測的性能有了提高,但是使用TCT 之后,目標檢測的性能得到了更大的提升。如表5第二行和第三行所示,增加了兩階段計算模塊之后,檢測的mAP相較于基準模型YOLOX 提升了2.6 個百分點,APS提升了6.4個百分點,APM提升了1.5 個百分點以及APL提升了2.3個百分點。從這些檢測精度上可以證明使用兩階段計算特征注意力可以有效增強全局自注意力機制的特征表達能力與信息交互能力。

表5 兩階段計算Transformer的消融實驗結果Table 5 Experimental results of ablation of two-stage calculation Transformer 單位:%

如表6 所示,本文在PASCAL VOC2007 測試集上對TCT中是否進行滑動窗口(shift_win)、窗口尺寸(M)以及多頭分組(k)進行消融實驗。從表6 的第一行和最后一行比較可以看出,使用滑動窗口進行跨窗口的連接計算使得檢測的效率得到了提高,mAP和APS都提高了1.1 個百分點,APL提高了1.2 個百分點。從表6的前三行可以看出,不同的窗口尺寸對于檢測效果也有很大的影響。當窗口較小時,雖然GFLOPs 減小了很多,但是檢測的準確度也下降了。當窗口較大時,相比8×8的窗口尺寸,其GFLOPs增大了很多,并且也損失了檢測的準確度。對于多頭分組的消融實驗可以看出,分組的多少對于計算量幾乎沒有影響。為了得到更優的檢測效果,最終選擇了k=8為模型的分組數。

表6 本文方法閾值設置消融實驗結果Table 6 Ablation experimental results of proposed method for threshold setting

3.5.2 特征融合與精煉模塊消融實驗

為了證明本文提出的高效殘差連接塊的有效性,如表7 的第一行和第三行所示,在PASCAL VOC2007 測試集上同樣使用CSPLayer 的級聯操作條件下,使用本文高效殘差連接塊的檢測mAP比基準YOLOX 提升了2.9 個百分點,APS提升了5.3 個百分點以及APL提升了1.3個百分點。這證明了本文的高效殘差連接塊對于小目標檢測是有利的,它增加了空間細節特征信息和上下文語義特征信息,因此提高了小目標的檢測精確度。如表7第一行、第二行和第四行所示,在增加了特征融合與精煉模塊之后,對于目標的檢測精度也有很大的提升,在特征融合與精煉模塊中使用高效殘差連接塊,得到的檢測mAP、APS以及APL分別比使用現有殘差塊提高了2.9個百分點、1.9 個百分點和1.6 個百分點,比基準YOLOX 提高了3.9 個百分點、6.7 個百分點和3.2 個百分點。從表7的最后兩行可以看出,本文提出的兩個模塊對于目標檢測都是有利的。將這兩個模塊同時應用,檢測效果達到了最佳。使用一個特征融合與精煉模塊的檢測方法的檢測精度得到了提升,使用兩個特征融合與精煉模塊的檢測精度更優,mAP相比使用一個特征融合與精煉模塊方法提升了0.4個百分點,APS提升了0.7 個百分點,APL提升了1.9 個百分點。

表7 特征融合與精煉模塊消融實驗結果Table 7 Ablation experiment results of feature fusion and refinement module 單位:%

針對本文提出的兩個改進模塊,進行了消融實驗,從表8 中可以看出在PASCAL VOC2007 測試集上本文兩個模塊的檢測性能得到了顯著提升。本文方法使用兩階段計算注意力增強對小目標特征的關注度,在之后多尺度特征融合中采用特征融合與精煉模塊,提取更加精煉的深層次小目標細節特征和語義特征,檢測結果達到最佳。最終檢測mAP比基準模型提升了4.8 個百分點,APS提升了8.2 個百分點,APM提升了2.5 個百分點,以及APL提升了5.3 個百分點,本文兩個模塊都改進了小目標檢測效果。

圖11 是增加不同模塊的熱力圖可視化結果,圖中顏色越紅代表該區域越受到關注。從圖中可以看出增加兩階段計算轉換器提升了模型的檢測效果,對重要的特征信息進行加權,抑制不重要的特征信息,增強主干網絡中小目標的特征提取能力。增加了特征融合與精煉模塊之后,整個網絡對于小目標的檢測變得更加精準和全面,在多尺度特征融合時,對深層特征信息使用逐元素相加和逐元素相乘結合的方式進行特征細化精煉,實驗證明這樣的檢測效果優于按通道拼接操作。熱力圖的可視化再一次證明了本文方法的有效性。

圖11 各模塊熱力圖的可視化Fig.11 Visualization of heat map of each module

3.5.3 高性能評估實驗

如表9 所示,本文算法的FPS 達到了24.26,雖然不是最高的,但是也能達到實時的效果。參數量相較于使用Swin Transformer 減小了2.0×106,計算量減小了1.57 GFLOPs。由此可以證明TCT 相較于Swin Transformer 不僅減小了不必要參數的增加,也能進一步說明本文方法的檢測優勢。使用特征融合與精煉模塊后FPS 得到了提升,相比基準YOLOX 提高了1.15幀,這表明了該模塊的運行速度優勢明顯。

表9 本文方法所有模塊的性能評估實驗結果Table 9 Experimental results of performance evaluation for all modules of proposed method

4 結束語

為了提高小目標檢測的準確度,本文提出了兩階段計算Transformer 用于主干網絡中進行特征增強,結合不同尺度特征信息并自適應地調整空間細節,以有效地保留容易丟失的小目標特征信息。在之后的多尺度特征融合中,提出了更加高效的特征融合與精煉模塊,使用高效殘差塊提取更加豐富的細節特征信息和上下文語義信息,然后對這些信息進行細化和精煉,提高小目標檢測的準確率。通過實驗結果可以得出本文算法在PASCAL VOC2007+2012數據集、COCO2017數據集及TinyPerson數據集上表現突出,對小目標的檢測性能也有了很大提升。未來將繼續探索復雜場景中小目標的檢測方法。

猜你喜歡
特征檢測信息
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
小波變換在PCB缺陷檢測中的應用
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
線性代數的應用特征
河南科技(2014年23期)2014-02-27 14:19:15
主站蜘蛛池模板: 成人综合网址| 欧洲极品无码一区二区三区| 欧美性色综合网| 高清不卡毛片| 日韩无码黄色网站| 中文字幕 91| 99久久国产精品无码| 香蕉久久永久视频| 日韩在线永久免费播放| a毛片免费看| 中文字幕第4页| 久久黄色视频影| 久久窝窝国产精品午夜看片| 无码专区第一页| 五月天在线网站| 欧美日韩国产在线播放| 亚洲欧美成人影院| 精品午夜国产福利观看| 国产视频资源在线观看| 呦视频在线一区二区三区| 亚洲毛片网站| 国产乱人激情H在线观看| 乱人伦视频中文字幕在线| 久久久久国产精品熟女影院| 91精品国产91欠久久久久| 亚洲香蕉在线| a级毛片毛片免费观看久潮| 强奷白丝美女在线观看| 亚洲欧美成aⅴ人在线观看| 亚洲AV成人一区二区三区AV| 99一级毛片| 日本免费福利视频| 欧美色伊人| 波多野结衣一区二区三区AV| 天天综合网在线| 亚洲精品国产精品乱码不卞| 亚洲成aⅴ人片在线影院八| 国产微拍精品| 亚洲最猛黑人xxxx黑人猛交 | 久草视频精品| 欧美日韩国产高清一区二区三区| 欲色天天综合网| 一级全黄毛片| 亚洲天堂日本| 成人在线不卡| 亚洲精品无码成人片在线观看| 欧美中文字幕在线二区| 一本色道久久88| 精品国产欧美精品v| 国产精品人成在线播放| 手机在线国产精品| 日韩黄色大片免费看| 日韩免费视频播播| 亚洲成人高清无码| 色亚洲激情综合精品无码视频 | 亚洲综合久久一本伊一区| 亚洲欧洲日产无码AV| 最新加勒比隔壁人妻| 福利姬国产精品一区在线| yy6080理论大片一级久久| 国产精品一区在线麻豆| 亚洲色图另类| 激情网址在线观看| 在线亚洲精品自拍| AV不卡无码免费一区二区三区| 日a本亚洲中文在线观看| 亚洲无码视频一区二区三区| 无码福利视频| 好久久免费视频高清| 2048国产精品原创综合在线| www.亚洲国产| 人人澡人人爽欧美一区| 午夜国产大片免费观看| A级毛片无码久久精品免费| 一级毛片免费观看久| 亚洲AV无码乱码在线观看代蜜桃 | 真实国产精品vr专区| 久久精品视频亚洲| 91久久青青草原精品国产| 91欧洲国产日韩在线人成| 国产在线一二三区| 91啪在线|