徐守坤,顧佳楠,莊麗華,李 寧,石 林,劉 毅
常州大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,江蘇 常州 213164
目標(biāo)檢測作為計(jì)算機(jī)視覺的一個基礎(chǔ)研究熱點(diǎn),在許多領(lǐng)域內(nèi)進(jìn)行應(yīng)用,例如自動駕駛、智慧監(jiān)控、虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)等。小目標(biāo)檢測是目標(biāo)檢測研究任務(wù)之一,其在衛(wèi)星圖像和自動駕駛等領(lǐng)域有著非常廣泛的應(yīng)用[1]。但是小目標(biāo)攜帶的信息量相比常規(guī)目標(biāo)要少,給小目標(biāo)特征提取、識別、分類和定位都造成了很大的困難。
傳統(tǒng)的目標(biāo)檢測方法通過人工提取目標(biāo)特征,檢測的效果不佳。近年來,隨著深度學(xué)習(xí)技術(shù)不斷發(fā)展,目標(biāo)檢測算法可以分為兩個類別:第一種是兩階段(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]等。這些方法都是先通過區(qū)域建議網(wǎng)絡(luò)生成候選框,然后對候選區(qū)域進(jìn)行分類和回歸,最終得到目標(biāo)的準(zhǔn)確分類和定位信息。另一種是一階段算法,例如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]等,這些方法都是端到端的方法,直接通過網(wǎng)絡(luò)獲得目標(biāo)的分類和定位信息。
目前現(xiàn)有的目標(biāo)檢測方法對于清晰場景下的大尺寸目標(biāo)都表現(xiàn)出良好的檢測效果,但是對于復(fù)雜場景中的小目標(biāo)則會出現(xiàn)漏檢或錯檢問題。由于小目標(biāo)的背景復(fù)雜度高、像素低本身的特征信息不明顯、易被遮擋等問題,小目標(biāo)的檢測性能還有很大的提升空間。YOLOX 是一個端到端的一階段目標(biāo)檢測算法,其創(chuàng)造性地提出解耦頭進(jìn)一步提高了目標(biāo)檢測的性能和收斂速度,但是其對于小目標(biāo)檢測的性能不佳。圖1 展示了YOLOX 對于小目標(biāo)檢測的失敗案例,左邊一張圖中對后面的汽車和人出現(xiàn)漏檢問題。右邊一張圖中對于兩匹在草原上奔跑的馬,只檢測出了前面一匹,后面的馬匹出現(xiàn)漏檢問題。因此,本文主要研究如何在檢測過程中有效增強(qiáng)小目標(biāo)特征信息的鑒別性,保留并豐富小目標(biāo)的淺層特征信息和上下文語義信息。

圖1 YOLOX算法中小目標(biāo)檢測失敗案例Fig.1 Failure cases of YOLOX in detecting small objects
得益于Transformer 在自然語言處理(natural language processing,NLP)領(lǐng)域的有效性,其能高效捕獲長范圍依賴關(guān)系,學(xué)習(xí)全局自注意力權(quán)重并增強(qiáng)全局特征表達(dá),將Transformer 應(yīng)用于目標(biāo)檢測成為了新的研究趨勢。現(xiàn)有小目標(biāo)檢測方法中主干網(wǎng)絡(luò)(backbone)存在對小目標(biāo)特征提取不充分或是小目標(biāo)在特征提取過程中丟失特征信息,造成小目標(biāo)漏檢的問題。本文提出了在backbone 的每一層特征提取后面增加兩階段計(jì)算Transformer(two-stage calculation Transformer,TCT),相比傳統(tǒng)CNN 方法,引入Transformer 機(jī)制的優(yōu)勢是能大幅擴(kuò)大對小目標(biāo)特征的感受野,從而更好地捕獲全局依賴關(guān)系和提高檢測性能。另一方面,相比應(yīng)用于小目標(biāo)檢測的傳統(tǒng)Transformer 方法,使用通道級全連接進(jìn)行小目標(biāo)特征提取容易丟失小目標(biāo)空間特征信息,造成小目標(biāo)漏檢問題。本文提出的兩階段Transformer 能自適應(yīng)地調(diào)整自注意力的核心變量Query、Key 和Value,增強(qiáng)Query 和Key 之間的相關(guān)性,避免大范圍背景信息淹沒小目標(biāo)的問題,進(jìn)而突顯小目標(biāo)特征信息,避免小目標(biāo)漏檢。此外,本文總結(jié)了YOLOX中使用路徑聚合網(wǎng)絡(luò)(path aggregation network,PANet)[9]進(jìn)行特征融合的局限性。現(xiàn)有的CSPLayer層使用壓縮通道的卷積無法捕獲鄰域特征依賴關(guān)系,因此將其替換為不改變通道數(shù)的卷積,以進(jìn)行帶感受野的迭代學(xué)習(xí),從而更好地在空間層面上學(xué)習(xí)不同信息。同時,使用PReLU 激活函數(shù)進(jìn)行非線性激活,提高特征的表達(dá)能力,并且使用多個殘差加法與殘差乘法進(jìn)行特征細(xì)化與精煉。
本文主要貢獻(xiàn)如下:(1)提出了兩階段計(jì)算Transformer(TCT)改進(jìn)現(xiàn)有的Transformer 結(jié)構(gòu),通過引入新穎的多分支一維空洞卷積以擴(kuò)大感受野,從而準(zhǔn)確捕獲空間層面鄰域依賴關(guān)系。并使用不同的融合方式以調(diào)整自注意力權(quán)重,增強(qiáng)全局自注意力機(jī)制的特征表達(dá)能力與信息交互能力。(2)提出了一個高效的殘差連接模塊,改進(jìn)現(xiàn)有的CSPLayer 層中低效的卷積層與激活層,有利于促進(jìn)信息流的交互,學(xué)習(xí)更豐富的上下文細(xì)節(jié)特征。(3)提出特征融合與精煉模塊以改進(jìn)路徑聚合網(wǎng)絡(luò),從而建立多層次之間的相互管理并精煉每層的特征細(xì)節(jié),提取到更加豐富的目標(biāo)特征信息。
目標(biāo)檢測一直是一個熱門的研究領(lǐng)域,隨著卷積網(wǎng)絡(luò)的不斷發(fā)展,出現(xiàn)了很多的檢測方法。目前最通用的兩個方法,一個是以R-CNN系列為代表的基于候選框的兩階段目標(biāo)檢測算法,另一個是以YOLO系列為代表的基于回歸的一階段目標(biāo)檢測算法。
R-CNN[10]、Fast R-CNN[11]、Faster R-CNN 這些方法都是基于候選框計(jì)算目標(biāo)的分類置信度和目標(biāo)具體檢測位置。趙珊等人[12]基于Faster R-CNN 提出了通道分離雙注意力機(jī)制的目標(biāo)檢測算法,使得卷積神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)特征間的重要性。R-FCN(regionbased fully convolutional networks)[13]引入了位置敏感分?jǐn)?shù)圖共享每一個ROI(region of interest)的特征計(jì)算,緩解目標(biāo)分類之間的平移不變性與目標(biāo)檢測之間的平移變化性之間的矛盾。TSD(revisiting the sibling head in object detector)[14]將分類和邊界框預(yù)測的感知分類建議任務(wù)與計(jì)算具體特征任務(wù)解耦合。Dynamic R-CNN[15]動態(tài)調(diào)整標(biāo)簽分配的IoU(intersection over union)閾值和回歸超參數(shù)以提高檢測精度。Sparse R-CNN[16]學(xué)習(xí)了一組固定的稀疏候選區(qū)域建議框。
YOLO 系列算法和SSD 算法都是經(jīng)典的一階段目標(biāo)檢測算法。YOLO 算法的目的就是將檢測問題轉(zhuǎn)變成回歸問題,將整個圖像輸入到卷積網(wǎng)絡(luò)中,在輸出層同時預(yù)測邊界框的坐標(biāo)和類別的概率。SSD算法采用不同尺度的特征圖進(jìn)行檢測,并且直接使用卷積網(wǎng)絡(luò)預(yù)測檢測結(jié)果。YOLOv2[17]對YOLOv1[18]進(jìn)行了改進(jìn),增加了批標(biāo)準(zhǔn)化處理并且同時引入錨框機(jī)制。YOLOv3采用Darknet53作為主干特征提取網(wǎng)絡(luò),并且在分類器中使用Sigmoid 激活函數(shù),將輸出結(jié)果范圍約束到0 到1 之間,提高模型檢測速度。邵偉平等人[19]將MoblieNet 與YOLOv3 進(jìn)行融合,提高模型的檢測速度。YOLOv4[20]使用Mish激活函數(shù),在不增加檢測時間的基礎(chǔ)上,提高了檢測精度。劉晉等人[21]基于YOLOv4使用MoblieNet作為主干特征提取網(wǎng)絡(luò),引入通道注意力機(jī)制模塊提高特征提取能力。現(xiàn)在YOLOX 的出現(xiàn),在某種程度上做到了最佳的檢測精度和檢測速度。
小目標(biāo)檢測一直是一個具有挑戰(zhàn)性的計(jì)算機(jī)視覺任務(wù),現(xiàn)有的檢測算法對于大尺寸目標(biāo)的檢測都取得了很好的效果,但是小目標(biāo)的檢測效果仍然不太理想。人們提出越來越多的方法用來提高小目標(biāo)檢測的準(zhǔn)確度,主要分為四個類別:(1)尺度感知訓(xùn)練。為了提高小目標(biāo)的檢測準(zhǔn)確度,旨在生成具有統(tǒng)一表示能力的特定尺度特征圖。Liu等人[22]提出了多分支并行特征金字塔網(wǎng)絡(luò)(multi-branch parallel feature pyramid network,MPFPN)用于恢復(fù)深層次丟失的特征信息,從而提取更加豐富的小尺寸目標(biāo)特征信息。(2)過采樣和強(qiáng)大的數(shù)據(jù)增強(qiáng)。文獻(xiàn)[23]研究了過采樣和數(shù)據(jù)增強(qiáng)對于目標(biāo)檢測的影響,使用一種自動化的方式來尋求目標(biāo)檢測的最佳數(shù)據(jù)增強(qiáng)策略。(3)結(jié)合上下文信息。Zhang 等人[24]通過交錯級聯(lián)架構(gòu)提出了多尺度特征預(yù)測和細(xì)化小目標(biāo)的尺寸和位置。PANet[9]在特征金字塔(feature pyramid network,F(xiàn)PN)的基礎(chǔ)上增加了自上而下的路徑增強(qiáng),在利用淺層特征精確定位目標(biāo)信息的同時也縮短了信息傳輸路徑,進(jìn)而提高小目標(biāo)的檢測性能。奚琦等人[25]將SSD 中的主干網(wǎng)絡(luò)VGG16 替換為Densenet,使用連續(xù)3個3×3卷積生成特征圖,減小參數(shù)量的同時降低輸入圖像特征信息的消耗,盡可能地保留目標(biāo)細(xì)節(jié)特征信息。(4)提高輸入圖像分辨率。陳幻杰等人[26]對SSD算法進(jìn)行改進(jìn),在提取特征時使用不同的提取方式對淺層特征和深層特征進(jìn)行提取,以此改善SSD 算法對于小目標(biāo)的檢測效果。文獻(xiàn)[27]將圖像分割后進(jìn)行超分辨率重建,再次分割送入目標(biāo)檢測模塊,以此增強(qiáng)對小目標(biāo)的檢測。
得益于Transformer 在自然語言處理中的成功應(yīng)用,人們也在積極探索其在計(jì)算機(jī)視覺上代替卷積計(jì)算來捕獲圖像特征全局范圍內(nèi)的依賴關(guān)系。ViT(vision transformer)[28]是第一個基于Transformer的圖像分類方法,其分類性能優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)。它提出了將圖像切分為尺寸為16×16 的圖像塊,將每個圖像塊看作一個整體,使用Transformer 對圖像進(jìn)行全局自注意力。DETR(detection transformer)[29]提出了目標(biāo)檢測的新范式,使用編碼器和目標(biāo)查詢對特征圖和錨框進(jìn)行編碼,使用解碼器和前饋神經(jīng)網(wǎng)絡(luò)獲得目標(biāo)的預(yù)測框和類別分類。此方法雖然在檢測性能上提到了提升,但還是犧牲了很大的計(jì)算量和參數(shù)量。Swin Transformer[30]提出了一個基于滑動窗口的多頭注意力機(jī)制以平衡性能和效率。DAB_DETR[31]基于原始DETR 生成動態(tài)錨框,使得DETR 中的Q(Query)與傳統(tǒng)目標(biāo)檢測方法中的錨框類似。該方法不僅增強(qiáng)了Q的可理解性,還加速了模型的收斂。
本文在現(xiàn)有的高性能目標(biāo)檢測方法YOLOX 上進(jìn)行改進(jìn),改進(jìn)后的算法總體結(jié)構(gòu)如圖2 所示。TCT表示兩階段計(jì)算注意力,詳細(xì)結(jié)構(gòu)見圖3。整個算法由特征提取主干模塊、特征融合模塊和檢測頭模塊三部分組成。當(dāng)傳入一張640×640×3 的圖像,首先對圖像進(jìn)行Focus 操作,在圖像中間隔一個像素取值,這樣就可以獲得4 個獨(dú)立的特征層。將4 個特征層進(jìn)行堆疊,輸入通道就擴(kuò)充為原來的4 倍,圖像的寬高變?yōu)樵瓉淼囊话搿Mㄟ^Focus 操作可以減小模型推理的時間。再經(jīng)過卷積層和TCT 結(jié)構(gòu)的堆疊,獲得特征信息。在最后一個TCT 結(jié)構(gòu)輸出之后,通過SPPNeck 使用不同池化核大小的最大池化操作進(jìn)行特征提取,提高網(wǎng)絡(luò)的感受野。網(wǎng)絡(luò)的特征融合模塊是基于PANet 結(jié)構(gòu)搭建的,通過FFRM(feature fusion and refinement module)進(jìn)行帶感受野的迭代學(xué)習(xí),更好地學(xué)習(xí)空間中不同尺度的特征,并且將不同尺度的特征進(jìn)行融合,從而得到不同尺度目標(biāo)的預(yù)測結(jié)構(gòu)。在網(wǎng)絡(luò)檢測頭部分使用解耦頭的方式,一個分支計(jì)算目標(biāo)分類,另一個分支進(jìn)行邊界框回歸和前景背景判斷。一方面,為了構(gòu)建更加高效的特征提取網(wǎng)絡(luò),本文提出兩階段計(jì)算Transformer(TCT)用作增強(qiáng)特征,分兩階段自適應(yīng)地調(diào)整Q(Query)、K(Key)和V(Value)以更好地計(jì)算全局自注意力權(quán)重。從而提高網(wǎng)絡(luò)模型自適應(yīng)捕獲全局依賴關(guān)系的能力,提高訓(xùn)練階段收斂速度,從而更準(zhǔn)確地鑒定目標(biāo)信息。另一方面,本文改進(jìn)了多層次的特征融合過程,提出了一個簡單而強(qiáng)大的模塊,僅僅由3×3 卷積和PReLU 激活函數(shù)組成,在經(jīng)過不同形式的殘差連接之后,得到一個新的卷積神經(jīng)網(wǎng)絡(luò)模塊,名為特征融合精煉模塊(FFRM)。FFRM 在本模型中取得了優(yōu)異的檢測性能。

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

圖3 傳統(tǒng)自注意力與兩階段計(jì)算自注意力的比較Fig.3 Comparison of conventional self-attention and two-stage computational self-attention
2.1.1 兩階段計(jì)算Transformer總體設(shè)計(jì)
本小節(jié)將詳細(xì)介紹提出的兩階段計(jì)算Transformer(TCT)模塊。本文遵循大多數(shù)Transformer 方法的做法,TCT 由兩階段計(jì)算自注意力(two-stage calculation self-attention,TCSA)和前饋神經(jīng)網(wǎng)絡(luò)(feed forward network,F(xiàn)FN)兩部分組成。二者分別經(jīng)過層歸一化(layer normalization,LN)進(jìn)行穩(wěn)定梯度加速訓(xùn)練,然后使用殘差加法用于保留原始信息與縮短反向傳播途徑。在目標(biāo)檢測的backbone 特征提取階段中,將CSPLayer 輸出的特征圖X∈RH×W×C作為TCT 的輸入特征,所提出的兩階段計(jì)算Transformer總體公式如下所示:
其中,TCSA(?)表示兩階段計(jì)算自注意力方法,具體實(shí)現(xiàn)方法將在2.1.2小節(jié)詳細(xì)介紹。FFN(?)表示前饋神經(jīng)網(wǎng)絡(luò)計(jì)算操作,具體實(shí)現(xiàn)方法將在2.1.3 小節(jié)詳細(xì)介紹。Y則為TCSA 模塊計(jì)算得到的臨時變量,用于傳入FFN 進(jìn)行前饋網(wǎng)絡(luò)計(jì)算。LN(?)表示層歸一化,對B×C×H×W尺寸的特征圖按Batch(B)劃分并對C×H×W的子特征所有數(shù)值減去均值并除以標(biāo)準(zhǔn)差。
2.1.2 兩階段計(jì)算自注意力
現(xiàn)有的基于目標(biāo)檢測的多頭注意力機(jī)制,如圖3(a)所示。使用3 個不同的全連接計(jì)算獲得Q(query)、K(key)、V(value)三個值(公式):
其中,fWQ(?)、fWK(?)、fWV(?)表示不同的全連接層計(jì)算,其采用三個不同的全連接層,按通道進(jìn)行全連接計(jì)算,互相不共享參數(shù),從而以不同的權(quán)重參數(shù)分別更新Q、K 和V 的所有層次特征到下一層特征的投影系數(shù)。
與現(xiàn)有的基于Transformer 的目標(biāo)檢測方法不同,本文提出了兩階段計(jì)算模塊,用一維卷積替代全連接層,并設(shè)置不同的空洞率(dilated rate)以捕獲多尺度信息,同時將多尺度權(quán)重用于調(diào)整Q 與K。如圖3(b)所示,使用不同的計(jì)算方式得到Q、K、V的值,具體過程如下:
(1)計(jì)算Q、K、V
在視覺Transformer 中計(jì)算Q、K、V 的方法通常使用三個通道級別全連接計(jì)算得到,其好處在于對不同層次特征信息進(jìn)行稠密連接,捕獲跨層次信息關(guān)聯(lián)性。然而目標(biāo)檢測任務(wù)中,真實(shí)標(biāo)簽更多體現(xiàn)在視覺空間層面上而非通道層面,這使得捕獲鄰域關(guān)系比捕獲跨層次通道信息更為重要。為此,本文避免使用通道級別全連接層,改進(jìn)為使用一維卷積和空洞率為3 的一維空洞卷積。在不增加網(wǎng)絡(luò)參數(shù)量的同時,盡可能地擴(kuò)大特征圖的感受野,以準(zhǔn)確捕獲空間層面領(lǐng)域依賴關(guān)系,減少卷積過程中語義信息與細(xì)節(jié)信息丟失,提高目標(biāo)檢測性能。
式中,fchunk(?)表示的是對特征圖按通道數(shù)拆分成兩半;表示的是第i次進(jìn)行1×1 一維卷積操作;fWD(?)表示的是空洞率為3 的3×3 空洞卷積操作;Y′表示的是層歸一化后的張量。
(2)計(jì)算Q′、K′、V′
為了增強(qiáng)全局自注意力機(jī)制的特征表達(dá)能力與信息交互能力,相比傳統(tǒng)Transformer方法,本文提出的TCT 模塊引入第二階段對Q、K、V 進(jìn)行自適應(yīng)調(diào)整,Query 作為自注意力的原始特征表達(dá),需要適當(dāng)引入大感受野的空間細(xì)節(jié)以調(diào)整增加Query 的特征查詢能力。而Key作為自注意力的目標(biāo)位置特征,僅采用全連接層或全空洞卷積容易丟失原本特征信息,因而引入Value 早期特征尤為必要。在一階段計(jì)算得到Key 和Value 分支后,二階段分別對其進(jìn)行2倍通道膨脹并拆分。Key 分支得到Q1和K1,Q1以矩陣乘法的方法融合Query 分支特征Q以調(diào)整其特征權(quán)重,K1則是作為原始Key分支信息。
其中,Q′表示經(jīng)過兩階段自適應(yīng)調(diào)整之后Query 結(jié)果,用于計(jì)算自注意力權(quán)重。
Value 分支得到K2和V′,K2以矩陣加法的方式融合Key 分支的K1信息以微調(diào)信息表征。與Query 分支乘法不同的原因在于,Query 分支將多尺度特征以乘法方式特征融合,有利于訓(xùn)練階段成倍增長梯度和加速收斂。而Value 分支融合的是早期信息與當(dāng)前層目標(biāo)關(guān)鍵特征,以殘差加法方式有利于穩(wěn)定學(xué)習(xí)目標(biāo)區(qū)域自注意力權(quán)重。
經(jīng)過上述方法求得Q′、K′和V′之后,最終的注意力計(jì)算方式如下:
式中,K′T表示將K′進(jìn)行轉(zhuǎn)置,dk是一個縮放因子,遵循多頭操作的計(jì)算公式dk=C/k,本文多頭分組k取值為8,主干網(wǎng)絡(luò)特征圖通道數(shù)C為{128,256,512,1 024},因而dk={16,32,64,128}。
得益于兩次跨分支信息流的特征融合,在訓(xùn)練階段有效地避免了信息阻塞,促進(jìn)了淺層特征與深層特征的信息交互,有效提升全局自注意力的準(zhǔn)確性。3.5節(jié)消融實(shí)驗(yàn)進(jìn)一步證明了該結(jié)論。
2.1.3 前饋神經(jīng)網(wǎng)絡(luò)
前饋神經(jīng)網(wǎng)絡(luò)(feed forward network,F(xiàn)FN)在Transformer 架構(gòu)中起到增加模型表達(dá)能力、提高自注意力機(jī)制的學(xué)習(xí)容量的作用,以應(yīng)對小目標(biāo)被遮擋、模糊和光線暗等復(fù)雜場景。傳統(tǒng)的FFN 一般采用Layer Normalization 和殘差連接以穩(wěn)定梯度和縮短反向傳播路徑達(dá)到加速收斂的效果,同時采用Dense+Activation+Dense以增大模型表達(dá)能力。本文提出的前饋神經(jīng)網(wǎng)絡(luò)FFN 采用雙分支結(jié)構(gòu),其中一個分支經(jīng)過GELU激活函數(shù)以學(xué)習(xí)逐元素門控權(quán)重,由于GELU 是具有dropout 性質(zhì)的門控激活函數(shù),將雙分支相乘的操作有利于利用門控信息調(diào)整空間與通道上的有效特征。在先前的工作中,在現(xiàn)有的Transformer 中前饋神經(jīng)網(wǎng)絡(luò)對于特征領(lǐng)域信息的獲取能力較弱。但是,在目標(biāo)檢測中相鄰像素的信息對于整體目標(biāo)表達(dá)非常重要。為了解決這個問題,如圖4 所示,本文使用二維卷積獲取特征信息,并且前饋神經(jīng)網(wǎng)絡(luò)的激活函數(shù)使用的是GELU激活函數(shù)。FFN的計(jì)算公式如下:

圖4 前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Structure of feed forward network
式中,θ表示GELU 激活函數(shù),fWpi(?),i∈{0,1,2}表示的是第i次二維卷積操作,fLN(?)表示的是層歸一化操作,∈RH×W×C表示的是經(jīng)過兩階段計(jì)算注意力得到的受關(guān)注特征向量經(jīng)過層歸一化轉(zhuǎn)置后的結(jié)果。
2.1.4 窗口化、滑動窗口與多頭操作
由于視覺任務(wù)中的特征圖尺寸較大,基于Transformer 的檢測方法普遍存在計(jì)算量大、參數(shù)量大和推理時間大的問題。因而采用適當(dāng)?shù)妮p量化方法十分必要,本文遵循Swin-Transformer 的做法,給定H×W×C尺寸的特征圖,進(jìn)行窗口化與滑動窗口操作(shift-window operation)和多頭操作(multi-head operation)。首先,按照尺寸進(jìn)行窗口劃分,每兩個TCT中的第一個不進(jìn)行滑動窗口,第二個按照H和W負(fù)方向循環(huán)位移位。然后,按通道拆分成k組通道,即k個head,本文方法中k固定設(shè)為8,從而劃分為n×k個(M×M)×(C/k)尺寸的特征圖用于計(jì)算多尺寸自適應(yīng)轉(zhuǎn)換,其中n=(H×W)/(M×M)為窗口個數(shù),M表示窗口尺寸(本文方法中M設(shè)為8)。
窗口化與多頭操作的本質(zhì)是,從空間和通道維度對特征圖進(jìn)行分塊和升維操作,從而以并行計(jì)算的方式對特征圖快速迭代學(xué)習(xí)。在計(jì)算復(fù)雜度上,傳統(tǒng)的Transformer 在計(jì)算Q、K、V 和最后重投影共采用4 次通道級全連接層,因而4 個全連接層復(fù)雜度為4HWC2,而計(jì)算自注意力權(quán)重時用到的2 次張量相乘為2H2W2C,從而傳統(tǒng)多頭自注意力的計(jì)算量為:
本文提出的TCT 將全連接層替換為卷積或空洞卷積,并額外多了2 次逐位加法和乘法,在引入尺寸為M的窗口化操作后,計(jì)算量為:
式中,Ω(TCT1)表示僅采用窗口化設(shè)計(jì)的TCT 模塊復(fù)雜度,本文M取值為8。
考慮到按通道分組的多頭操作,將C拆分為k組dk通道信息,最終TCT 模塊的計(jì)算復(fù)雜度進(jìn)一步降低為:
考慮到實(shí)際應(yīng)用中,時間復(fù)雜度與常數(shù)無關(guān)且僅需保留多項(xiàng)式中級數(shù)最大項(xiàng),從而對比二者的時間復(fù)雜度公式如下:
可以看出,相比于傳統(tǒng)的Transformer,本文提出的TCT 在空間維度上由二次方復(fù)雜度降低為一次方復(fù)雜度,且M=8 和dk={16,32,64,128}均為較小常數(shù),得到了極大的輕量化提升。
本文在滑動窗口內(nèi)進(jìn)行自注意力計(jì)算,增強(qiáng)特征的鑒別性,并且提高了收斂速度。如圖5 所示,雖然本文方法一開始訓(xùn)練損失值比基準(zhǔn)模型大,但是在50個批次之后,損失小于基準(zhǔn)模型,模型的收斂速度得到顯著提高。針對是否窗口化、窗口尺寸M、是否滑動窗口、多頭操作分組k的進(jìn)一步消融實(shí)驗(yàn)說明將在3.5.1小節(jié)中詳細(xì)討論。

圖5 損失值曲線圖Fig.5 Loss value graph
2.2.1 高效殘差連接塊
現(xiàn)有的方法大多沿用ResNet 中的殘差連接思想,使用兩層卷積并與另一分支作殘差連接。如圖6所示,本文的基準(zhǔn)方法CSPDarknet 主干分支運(yùn)用的是1×1 卷積和3×3 卷積,并與殘差分支直接相加。其中用于壓縮通道的1×1卷積無法捕獲鄰域特征依賴關(guān)系,因此本文將其替換為不改變通道數(shù)的3×3卷積,以進(jìn)行帶感受野的迭代學(xué)習(xí),從而更好地在空間層面上結(jié)合不同信息。

圖6 特征融合與精煉模塊結(jié)構(gòu)圖Fig.6 Structure of feature fusion and refinement module
得益于PReLU 激活函數(shù)在多個視覺任務(wù)中的卓越表現(xiàn),其有效緩解ReLU 激活函數(shù)丟失負(fù)數(shù)區(qū)間信息的問題,在保持非線性激活功能的同時,使用可學(xué)習(xí)的負(fù)數(shù)分支斜率以對非激活區(qū)間進(jìn)行抑制,對有效數(shù)值空間進(jìn)行高效非線性激活,因而在主干分支的2 個卷積層后都運(yùn)用PReLU 激活層。同時,殘差分支使用一個1×1卷積對原始淺層特征進(jìn)行卷積運(yùn)算,以增強(qiáng)殘差塊的特征表達(dá)能力。相比baseline,高效殘差連接塊(efficient residual connection block,ERCB)更好地進(jìn)行迭代學(xué)習(xí),其特征表達(dá)能力與模型收斂速度都有所提高,3.5.2 小節(jié)的消融實(shí)驗(yàn)結(jié)果進(jìn)一步證明了這一結(jié)論。
2.2.2 特征融合與精煉
本文的基準(zhǔn)方法CSPDarknet 在主干網(wǎng)絡(luò)(backbone)之后使用CSPLayer 將不同尺度特征進(jìn)行特征融合,如圖7 所示,CSPLayer 在兩個分支上進(jìn)行迭代學(xué)習(xí)并按通道拼接方式進(jìn)行殘差連接。由于僅僅按照通道對特征進(jìn)行簡單拼接的操作,忽略了每個通道之間的相互聯(lián)系,本文提出更高效的特征融合與精煉模塊(FFRM),利用多次殘差連接操作,對每層通道數(shù)值進(jìn)行細(xì)化與精煉。如圖6所示,用簡單的殘差加法與殘差乘法替代按通道拼接操作。首先用n個ERCB 層以增強(qiáng)模塊的特征表達(dá)能力。然后用一個層歸一化以穩(wěn)定梯度和加速模型收斂速度,將其與早期的淺層特征殘差相加以保留原始空間細(xì)節(jié),防止重要特征信息丟失。之后經(jīng)過一層3×3卷積學(xué)習(xí)到一個自適應(yīng)權(quán)重,再次與淺層特征進(jìn)行殘差相乘,以精煉自身特征細(xì)節(jié)。

圖7 CSPLayer結(jié)構(gòu)圖Fig.7 Structure of CSPLayer
YOLOX 算法中的損失函數(shù)由三部分組成:第一個是模型預(yù)測出的x、y、w、h可以定位預(yù)測框的位置,通過度量預(yù)測框與真實(shí)框之間的交并比作為邊界框回歸損失函數(shù)。第二個是目標(biāo)損失,所有真實(shí)框中的特征點(diǎn)都是正樣本,其他的都是負(fù)樣本,通過正負(fù)樣本和特征點(diǎn)是否包含目標(biāo)的預(yù)測結(jié)果計(jì)算交叉熵作為目標(biāo)損失函數(shù)。第三個分類損失,根據(jù)模型預(yù)測出的特征點(diǎn)得到該特征點(diǎn)所預(yù)測的種類結(jié)果,然后計(jì)算真實(shí)框的種類與特征點(diǎn)的預(yù)測種類的交叉熵作為分類損失函數(shù)。
為了提高整個模型對小目標(biāo)檢測的效率,本文將目標(biāo)損失中的交叉熵?fù)p失改用為Focal Loss 損失函數(shù)進(jìn)行計(jì)算。交叉熵?fù)p失函數(shù)公式為:
當(dāng)分類為正樣本時(s=1),損失函數(shù)為-lnp,當(dāng)分類為負(fù)樣本時(s=0),損失函數(shù)為-ln(1-p),p表示樣本的預(yù)測概率。所有的樣本都采用同樣的損失度量方式,但是在實(shí)際檢測情況下,小目標(biāo)總是比大目標(biāo)難檢測出來,小目標(biāo)獲得的預(yù)測概率比大目標(biāo)要低很多,因此交叉熵?fù)p失函數(shù)并沒有很好地提高模型對小目標(biāo)的預(yù)測精度。
Focal Loss損失函數(shù)公式為:
式中,?為控制難易分類樣本權(quán)重的平衡系數(shù),及控制模型對小目標(biāo)的偏向程度,類別概率p表示與真實(shí)樣本的接近程度,p越大說明越接近樣本,分類的置信度越高,代表樣本越易分類;p越小則說明分類的置信度越低,代表樣本越難分類。使用?之后,對于分類不準(zhǔn)確的樣本,損失不會改變。對于分類準(zhǔn)確的樣本,其損失值會減小。這樣相當(dāng)于增加了分類不準(zhǔn)確樣本在損失函數(shù)中的權(quán)重。?值越大,易分類樣本的loss 越小,這樣模型就會更加注意難分類樣本,本文選擇?值為2,獲得了顯著的檢測效果。當(dāng)分類為正樣本時,當(dāng)預(yù)測結(jié)果p趨近于1時,(1-p)在經(jīng)過指數(shù)運(yùn)算之后,損失函數(shù)的運(yùn)算結(jié)果會很小。因此,當(dāng)預(yù)測結(jié)果p比較小的時候,獲得的損失函數(shù)運(yùn)算結(jié)果就會比較大。對于檢測模型來說,大尺寸的目標(biāo)預(yù)測結(jié)果一般都比較大,但小目標(biāo)的預(yù)測結(jié)果一般都比較小。因此通過Focal Loss 損失函數(shù)的計(jì)算,小目標(biāo)可以獲得較大的損失值,提高整個模型對于小目標(biāo)的預(yù)測能力。
在Linux 環(huán)境下,在Python3.7、Pytorch1.7 和CUDA11.0 的深度學(xué)習(xí)環(huán)境上實(shí)現(xiàn)所提出的方法。GPU 采用一塊32 GB 顯存的Tesla V100,CPU 型號為Intel?Xeon?Gold 5117 CPU@2.00 GHz。
對于PASCAL VOC2007 和PASCAL VOC2012數(shù)據(jù)集,本文合并二者的訓(xùn)練集進(jìn)行聯(lián)合訓(xùn)練300輪,并在PASCAL VOC2007測試集上評估檢測性能。對于COCO2017 數(shù)據(jù)集,本文在其訓(xùn)練集上訓(xùn)練100輪,并在其驗(yàn)證集上評估檢測性能。模型采用隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化器以0.01的初始學(xué)習(xí)率訓(xùn)練,并使用余弦退火方式將學(xué)習(xí)率衰減到0.000 1,權(quán)重衰減設(shè)為0.000 5,動量固定為0.9。使用馬賽克數(shù)據(jù)增強(qiáng)方法,以64 的小批量值和640×640 的隨機(jī)裁剪尺寸進(jìn)行隨機(jī)梯度下降權(quán)重更新。對于TinyPerson數(shù)據(jù)集,本文在訓(xùn)練集上訓(xùn)練了100輪,并在其測試集上評估性能。
實(shí)驗(yàn)數(shù)據(jù)集為PASCAL VOC2007[32]數(shù)據(jù)集、PASCAL VOC2012[33]數(shù)據(jù)集和COCO2017[34]數(shù)據(jù)集這3 個主流數(shù)據(jù)集以及TinyPerson[35]小目標(biāo)數(shù)據(jù)集。PASCAL VOC 數(shù)據(jù)集一共有20 種不同的類別,訓(xùn)練集一共有16 551 張圖像,測試集一共有4 952 張圖像。COCO2017 數(shù)據(jù)集一共包含80 種不同的類別,訓(xùn)練集一共有118 287 張圖像,在COCO2017 的驗(yàn)證集上評估本文方法效果,其由5 000 張圖像組成。TinyPerson 數(shù)據(jù)集[35]一共1 610 張圖像,包含兩個類別sea person 和earth person,其圖像中的目標(biāo)都是小于20像素的人。
使用mAP(mean average precison)作為算法檢測精度的評價指標(biāo),此外還用了更加精細(xì)化的評價指標(biāo)來評估模型。AP50、AP75分別表示當(dāng)IoU 為0.50 和0.75 時所有目標(biāo)的AP 值,mAP 表示IoU 閾值由0.50至0.95,以0.05 為步長計(jì)算的AP 值的平均值。本文定義小目標(biāo)(S<322)、中等目標(biāo)(322
式中,TP、FP和FN分別表示正確檢測框、誤檢框和漏檢框的數(shù)量,P表示精確率,R表示召回率,AP值表示一個類別的檢測平均精準(zhǔn)度。
本文使用每秒處理圖像的幀數(shù)(frame per second,F(xiàn)PS)、參數(shù)量(Parameter)以及計(jì)算量(FLOPs)來評估模型的速度和模型的復(fù)雜度。
3.4.1 PASCAL VOC實(shí)驗(yàn)結(jié)果分析
表1 和表2 比較了本文算法與現(xiàn)有的先進(jìn)目標(biāo)檢測算法在PASCAL VOC2007 測試集的實(shí)驗(yàn)結(jié)果。如表1 所示,本文方法取得了87.9%的mAP,達(dá)到最高,比基準(zhǔn)模型YOLOX 高了1.9 個百分點(diǎn)。比二階段的檢測算法Faster R-CNN 高出14.7 個百分點(diǎn),比一階段的SSD 算法高出了11.1 個百分點(diǎn),比現(xiàn)有的基于Transformer 的目標(biāo)檢測器DETReg 高出了3.7個百分點(diǎn)。每個類別的檢測精度相比這些方法也有了顯著提升,其中有17 個類別達(dá)到了最優(yōu)。對于中等尺寸的物體,比如桌子,相比基準(zhǔn)模型提升了8 個百分點(diǎn);對于小尺寸的物體,比如瓶子,相較于基準(zhǔn)提高4個百分點(diǎn),植物有了10個百分點(diǎn)的提高。

表2 不同方法在PASCAL VOC2007測試集的檢測結(jié)果對比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 測試集上選取了兩張圖片。從圖中可以看出其他方法對于較遠(yuǎn)處的輪船、馬車等小目標(biāo)存在嚴(yán)重的漏檢問題,而本文方法都能精確檢測出來,進(jìn)一步證明了本文方法使用兩階段計(jì)算注意力可以更精煉地提取目標(biāo)的語義信息和細(xì)節(jié)信息,提高檢測性能。
3.4.2 COCO2017實(shí)驗(yàn)結(jié)果分析
為了進(jìn)一步驗(yàn)證本文方法的有效性,在COCO-2017數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。如表3所示,本文方法檢測精度與現(xiàn)有先進(jìn)檢測方法相比有了顯著提升。本文方法與基準(zhǔn)YOLOX_s 相比檢測mAP、AP50、AP75分別提高了2.7個百分點(diǎn)、2.2個百分點(diǎn)和2.8個百分點(diǎn),相比最新的YOLOv7-tiny416分別提高了8.4個百分點(diǎn)、9.3個百分點(diǎn)和9.8個百分點(diǎn)。值得注意的是,本文方法對于小目標(biāo)檢測的AP得到了顯著提升,達(dá)到了25.2%,相比基準(zhǔn)模型YOLOX_s 提高了1.3 個百分點(diǎn),證明了本文方法小目標(biāo)檢測的有效性。本文方法的中等尺寸目標(biāo)和大尺寸目標(biāo)的檢測精度相較于基準(zhǔn)模型分別提升了2.3 個百分點(diǎn)和4.3 個百分點(diǎn)。取得如此顯著提升的根本原因是本文模型使用兩階段計(jì)算轉(zhuǎn)換器可以更好地捕獲目標(biāo)全局語義特征和目標(biāo)的細(xì)節(jié)特征,更好提高網(wǎng)絡(luò)模型自適應(yīng)捕獲全局依賴關(guān)系的能力。

表3 不同方法在COCO2017數(shù)據(jù)集的檢測結(jié)果對比Table 3 Comparison of detection results of different methods on COCO2017 dataset 單位:%
圖9是本文方法與YOLOv5、YOLOv7和YOLOX方法在COCO2017 測試集上選取了3 張圖片。從圖中可以看出其他方法對于較遠(yuǎn)處的汽車、輪船、帆船等小目標(biāo)存在嚴(yán)重的漏檢問題,而本文方法都能精確檢測出來,進(jìn)一步證明了本文方法使用兩階段計(jì)算注意力對小目標(biāo)檢測有了很大的改進(jìn)。

圖9 本文方法與YOLOv5、YOLOv7和YOLOX在COCO2017數(shù)據(jù)集上的定性對比Fig.9 Qualitative comparison among proposed method,YOLOv5,YOLOv7 and YOLOX on COCO2017 dataset
3.4.3 TinyPerson數(shù)據(jù)集實(shí)驗(yàn)結(jié)果分析
為了進(jìn)一步驗(yàn)證本文方法對于小目標(biāo)檢測的有效性,在TinyPerson 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。如表4 所示,本文方法檢測精度與現(xiàn)有先進(jìn)檢測方法相比有了顯著提升。本文方法在IoU 閾值為0.50 時的APS達(dá)到了最好的結(jié)果,相比YOLOX 增加了3.4 個百分點(diǎn),相比YOLOv5 增加了2.9 個百分點(diǎn),證明了本文方法小目標(biāo)檢測的有效性。

表4 不同方法在TineyPerson數(shù)據(jù)集的檢測結(jié)果對比Table 4 Comparison of detection results of different methods on TineyPerson dataset
如圖10 所示,本文選取了兩組圖片用于本文算法與其他方法的定性對比,從圖片中可以看出本文方法的檢測效果明顯優(yōu)于其他方法的檢測效果。在目標(biāo)特別微小的情況下,本文方法相比其他方法檢測到的目標(biāo)數(shù)量最多。由此表明本文方法對于小目標(biāo)檢測有很大的改進(jìn)。

圖10 本文方法與其他主流算法在TinyPerson數(shù)據(jù)集上的定性對比Fig.10 Qualitative comparison of proposed algorithm with other mainstream algorithms on TinyPerson dataset
3.5.1 基于Transformer的目標(biāo)檢測
為了證明本文兩階段計(jì)算注意力模塊對于目標(biāo)檢測的有效性,本文方法在PASCAL VOC2007 測試集上將與基準(zhǔn)模型YOLOX 和增加Swin Transformer模塊后的YOLOX 進(jìn)行對照實(shí)驗(yàn)。如表5 所示,在增加了Swin Transformer 之后,這個模型對于目標(biāo)檢測的性能有了提高,但是使用TCT 之后,目標(biāo)檢測的性能得到了更大的提升。如表5第二行和第三行所示,增加了兩階段計(jì)算模塊之后,檢測的mAP相較于基準(zhǔn)模型YOLOX 提升了2.6 個百分點(diǎn),APS提升了6.4個百分點(diǎn),APM提升了1.5 個百分點(diǎn)以及APL提升了2.3個百分點(diǎn)。從這些檢測精度上可以證明使用兩階段計(jì)算特征注意力可以有效增強(qiáng)全局自注意力機(jī)制的特征表達(dá)能力與信息交互能力。

表5 兩階段計(jì)算Transformer的消融實(shí)驗(yàn)結(jié)果Table 5 Experimental results of ablation of two-stage calculation Transformer 單位:%
如表6 所示,本文在PASCAL VOC2007 測試集上對TCT中是否進(jìn)行滑動窗口(shift_win)、窗口尺寸(M)以及多頭分組(k)進(jìn)行消融實(shí)驗(yàn)。從表6 的第一行和最后一行比較可以看出,使用滑動窗口進(jìn)行跨窗口的連接計(jì)算使得檢測的效率得到了提高,mAP和APS都提高了1.1 個百分點(diǎn),APL提高了1.2 個百分點(diǎn)。從表6的前三行可以看出,不同的窗口尺寸對于檢測效果也有很大的影響。當(dāng)窗口較小時,雖然GFLOPs 減小了很多,但是檢測的準(zhǔn)確度也下降了。當(dāng)窗口較大時,相比8×8的窗口尺寸,其GFLOPs增大了很多,并且也損失了檢測的準(zhǔn)確度。對于多頭分組的消融實(shí)驗(yàn)可以看出,分組的多少對于計(jì)算量幾乎沒有影響。為了得到更優(yōu)的檢測效果,最終選擇了k=8為模型的分組數(shù)。

表6 本文方法閾值設(shè)置消融實(shí)驗(yàn)結(jié)果Table 6 Ablation experimental results of proposed method for threshold setting
3.5.2 特征融合與精煉模塊消融實(shí)驗(yàn)
為了證明本文提出的高效殘差連接塊的有效性,如表7 的第一行和第三行所示,在PASCAL VOC2007 測試集上同樣使用CSPLayer 的級聯(lián)操作條件下,使用本文高效殘差連接塊的檢測mAP比基準(zhǔn)YOLOX 提升了2.9 個百分點(diǎn),APS提升了5.3 個百分點(diǎn)以及APL提升了1.3個百分點(diǎn)。這證明了本文的高效殘差連接塊對于小目標(biāo)檢測是有利的,它增加了空間細(xì)節(jié)特征信息和上下文語義特征信息,因此提高了小目標(biāo)的檢測精確度。如表7第一行、第二行和第四行所示,在增加了特征融合與精煉模塊之后,對于目標(biāo)的檢測精度也有很大的提升,在特征融合與精煉模塊中使用高效殘差連接塊,得到的檢測mAP、APS以及APL分別比使用現(xiàn)有殘差塊提高了2.9個百分點(diǎn)、1.9 個百分點(diǎn)和1.6 個百分點(diǎn),比基準(zhǔn)YOLOX 提高了3.9 個百分點(diǎn)、6.7 個百分點(diǎn)和3.2 個百分點(diǎn)。從表7的最后兩行可以看出,本文提出的兩個模塊對于目標(biāo)檢測都是有利的。將這兩個模塊同時應(yīng)用,檢測效果達(dá)到了最佳。使用一個特征融合與精煉模塊的檢測方法的檢測精度得到了提升,使用兩個特征融合與精煉模塊的檢測精度更優(yōu),mAP相比使用一個特征融合與精煉模塊方法提升了0.4個百分點(diǎn),APS提升了0.7 個百分點(diǎn),APL提升了1.9 個百分點(diǎn)。

表7 特征融合與精煉模塊消融實(shí)驗(yàn)結(jié)果Table 7 Ablation experiment results of feature fusion and refinement module 單位:%
針對本文提出的兩個改進(jìn)模塊,進(jìn)行了消融實(shí)驗(yàn),從表8 中可以看出在PASCAL VOC2007 測試集上本文兩個模塊的檢測性能得到了顯著提升。本文方法使用兩階段計(jì)算注意力增強(qiáng)對小目標(biāo)特征的關(guān)注度,在之后多尺度特征融合中采用特征融合與精煉模塊,提取更加精煉的深層次小目標(biāo)細(xì)節(jié)特征和語義特征,檢測結(jié)果達(dá)到最佳。最終檢測mAP比基準(zhǔn)模型提升了4.8 個百分點(diǎn),APS提升了8.2 個百分點(diǎn),APM提升了2.5 個百分點(diǎn),以及APL提升了5.3 個百分點(diǎn),本文兩個模塊都改進(jìn)了小目標(biāo)檢測效果。
圖11 是增加不同模塊的熱力圖可視化結(jié)果,圖中顏色越紅代表該區(qū)域越受到關(guān)注。從圖中可以看出增加兩階段計(jì)算轉(zhuǎn)換器提升了模型的檢測效果,對重要的特征信息進(jìn)行加權(quán),抑制不重要的特征信息,增強(qiáng)主干網(wǎng)絡(luò)中小目標(biāo)的特征提取能力。增加了特征融合與精煉模塊之后,整個網(wǎng)絡(luò)對于小目標(biāo)的檢測變得更加精準(zhǔn)和全面,在多尺度特征融合時,對深層特征信息使用逐元素相加和逐元素相乘結(jié)合的方式進(jìn)行特征細(xì)化精煉,實(shí)驗(yàn)證明這樣的檢測效果優(yōu)于按通道拼接操作。熱力圖的可視化再一次證明了本文方法的有效性。

圖11 各模塊熱力圖的可視化Fig.11 Visualization of heat map of each module
3.5.3 高性能評估實(shí)驗(yàn)
如表9 所示,本文算法的FPS 達(dá)到了24.26,雖然不是最高的,但是也能達(dá)到實(shí)時的效果。參數(shù)量相較于使用Swin Transformer 減小了2.0×106,計(jì)算量減小了1.57 GFLOPs。由此可以證明TCT 相較于Swin Transformer 不僅減小了不必要參數(shù)的增加,也能進(jìn)一步說明本文方法的檢測優(yōu)勢。使用特征融合與精煉模塊后FPS 得到了提升,相比基準(zhǔn)YOLOX 提高了1.15幀,這表明了該模塊的運(yùn)行速度優(yōu)勢明顯。

表9 本文方法所有模塊的性能評估實(shí)驗(yàn)結(jié)果Table 9 Experimental results of performance evaluation for all modules of proposed method
為了提高小目標(biāo)檢測的準(zhǔn)確度,本文提出了兩階段計(jì)算Transformer 用于主干網(wǎng)絡(luò)中進(jìn)行特征增強(qiáng),結(jié)合不同尺度特征信息并自適應(yīng)地調(diào)整空間細(xì)節(jié),以有效地保留容易丟失的小目標(biāo)特征信息。在之后的多尺度特征融合中,提出了更加高效的特征融合與精煉模塊,使用高效殘差塊提取更加豐富的細(xì)節(jié)特征信息和上下文語義信息,然后對這些信息進(jìn)行細(xì)化和精煉,提高小目標(biāo)檢測的準(zhǔn)確率。通過實(shí)驗(yàn)結(jié)果可以得出本文算法在PASCAL VOC2007+2012數(shù)據(jù)集、COCO2017數(shù)據(jù)集及TinyPerson數(shù)據(jù)集上表現(xiàn)突出,對小目標(biāo)的檢測性能也有了很大提升。未來將繼續(xù)探索復(fù)雜場景中小目標(biāo)的檢測方法。