秦強(qiáng)強(qiáng),廖俊國(guó),周弋荀
基于多分支混合注意力的小目標(biāo)檢測(cè)算法
秦強(qiáng)強(qiáng),廖俊國(guó)*,周弋荀
(湖南科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,湖南 湘潭 411201)( ? 通信作者電子郵箱jgliao@hnust.edu.cn)
針對(duì)圖像中的小目標(biāo)特征信息少、占比低、易受環(huán)境影響等特點(diǎn),提出一種基于多分支混合注意力的小目標(biāo)檢測(cè)算法SMAM-YOLO。首先,將通道注意力(CA)和空間注意力(SA)相結(jié)合,重新組合連接結(jié)構(gòu),提出一種混合注意力模塊(MAM),增強(qiáng)模型對(duì)小目標(biāo)特征在空間維度上的表達(dá)能力。其次,根據(jù)不同大小的感受野對(duì)目標(biāo)影響的不同,基于混合注意力提出一種多分支混合注意力模塊(SMAM);根據(jù)輸入特征圖的尺度自適應(yīng)調(diào)整感受野大小,同時(shí)使用混合注意力增強(qiáng)不同分支下對(duì)小目標(biāo)特征信息的捕獲能力。最后,使用SMAM改進(jìn)YOLOv5中的核心殘差模塊,提出一種基于CSPNet(Cross Stage Partial Network)和SMAM的特征提取模塊CSMAM,而且CSMAM的額外計(jì)算開(kāi)銷可以忽略不計(jì)。在TinyPerson數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,與基線算法YOLOv5s相比,當(dāng)交并比(IoU)閾值為0.5時(shí),SMAM-YOLO算法的平均檢測(cè)精度(mAP50)提升了4.15個(gè)百分點(diǎn),且檢測(cè)速度達(dá)到74 frame/s;此外,與現(xiàn)有的一些主流小目標(biāo)檢測(cè)模型相比,SMAM-YOLO算法在mAP50上平均提升了1.46~6.84個(gè)百分點(diǎn),且能滿足實(shí)時(shí)性檢測(cè)的需求。
小目標(biāo)檢測(cè);多分支網(wǎng)絡(luò);混合注意力;特征融合;實(shí)時(shí)檢測(cè)
隨著深度學(xué)習(xí)的不斷發(fā)展以及硬件成本的不斷降低,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法取得了長(zhǎng)足的進(jìn)步。與中大型目標(biāo)檢測(cè)相比,小目標(biāo)檢測(cè)具有目標(biāo)特征信息少、數(shù)據(jù)集比例不均衡以及易受環(huán)境影響等特點(diǎn),這些特點(diǎn)導(dǎo)致小目標(biāo)檢測(cè)的精度不高。小目標(biāo)檢測(cè)在海上救援、監(jiān)控識(shí)別、無(wú)人機(jī)識(shí)別、遙感衛(wèi)星、海洋生物檢測(cè)等任務(wù)中有廣泛的應(yīng)用。因此,研究小目標(biāo)檢測(cè)算法并提高小目標(biāo)的檢測(cè)精度與效率具有重要意義。
由于不斷下采樣,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)在特征提取過(guò)程中過(guò)濾了相關(guān)噪聲,增強(qiáng)了目標(biāo)的特征表達(dá),同時(shí)也導(dǎo)致小目標(biāo)在網(wǎng)絡(luò)的前向傳播中丟失信息。為此,有些學(xué)者提出了基于特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN)[1]的多尺度特征融合網(wǎng)絡(luò),如路徑聚合網(wǎng)絡(luò)(Path Aggregation Network, PANet)[2]、神經(jīng)架構(gòu)搜索網(wǎng)絡(luò)(Neural Architecture Search Network, NAS-Net)[3]、深度特征金字塔網(wǎng)絡(luò)(Deep Feature Pyramid Network, DFPN)[4]、雙向加權(quán)特征金字塔網(wǎng)絡(luò)(Bidirectional Feature Pyramid Network, BiFPN)[5]等。但是,在這些網(wǎng)絡(luò)中,不同層之間的融合方式僅僅是簡(jiǎn)單求和,忽略了目標(biāo)在場(chǎng)景中的相關(guān)性,對(duì)于小目標(biāo)檢測(cè)的性能提升有限。擠壓-激勵(lì)網(wǎng)絡(luò)(Squeeze Excitation Network, SE-Net)[6]、卷積注意力模塊(Convolutional Block Attention Module, CBAM)[7]、頻域通道注意力網(wǎng)絡(luò)(Frequency channel attention Network, FcaNet)[8]等方法從通道和空間注意力等不同角度對(duì)小目標(biāo)建模,得到了兩個(gè)維度的注意力權(quán)重矩陣,從而增強(qiáng)小目標(biāo)特征表達(dá),抑制其他目標(biāo)及復(fù)雜環(huán)境信息;但是,這些注意力網(wǎng)絡(luò)設(shè)計(jì)忽略了不同卷積核對(duì)小目標(biāo)檢測(cè)的影響。
針對(duì)上述問(wèn)題,本文提出了一種基于多分支網(wǎng)絡(luò)結(jié)構(gòu)與混合注意力的小目標(biāo)檢測(cè)算法SMAM-YOLO。該算法使用YOLOv5s作為小目標(biāo)檢測(cè)的基線算法,然后利用混合注意力機(jī)制和多分支網(wǎng)絡(luò)結(jié)構(gòu)對(duì)基線算法進(jìn)行改進(jìn)優(yōu)化。主要改進(jìn)如下:
1)將通道注意力(Channel Attention, CA)和空間注意力(Spatial Attention, SA)相結(jié)合,重新組合連接結(jié)構(gòu),提出混合注意力模塊(Mixed Attention Module, MAM)。MAM可以獲得豐富的全局空間權(quán)重注意力矩陣,增強(qiáng)小目標(biāo)特征信息,抑制背景等無(wú)關(guān)信息。
2)結(jié)合多分支網(wǎng)絡(luò)和MAM,提出一種新的多分支混合注意力模塊(Split Mixed Attention Module, SMAM)。SMAM可以根據(jù)輸入目標(biāo)的尺度自適應(yīng)調(diào)整感受野的大小,增強(qiáng)小目標(biāo)的特征表達(dá)。
3)為提升小目標(biāo)的特征提取能力,改進(jìn)YOLOv5的核心殘差塊C3,將SMAM和C3結(jié)合,提出基于CSPNet(Cross Stage Partial Network)[9]的特征提取殘差塊CSMAM。CSMAM在特征提取時(shí)可以將更多的注意力聚焦在小目標(biāo)上,增強(qiáng)小目標(biāo)的特征信息。同時(shí)在P2層引入一個(gè)新的預(yù)測(cè)分支和小目標(biāo)檢測(cè)頭,以獲得更多的淺層信息,有利于小目標(biāo)的檢測(cè)。
SMAM-YOLO是一種基于多分支混合注意力的小目標(biāo)檢測(cè)方法,涉及以下相關(guān)知識(shí):1)小目標(biāo)檢測(cè);2)多分支和注意力機(jī)制;3)多尺度特征融合;4)YOLO。本章對(duì)相關(guān)知識(shí)的研究工作進(jìn)行簡(jiǎn)述。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法大多使用卷積神經(jīng)網(wǎng)絡(luò),然而不同的卷積核對(duì)不同大小的目標(biāo)敏感程度并不同。2017年,Szegedy等[15]提出的GoogleNet取得了巨大的成功,網(wǎng)絡(luò)中的Inception結(jié)構(gòu)由4個(gè)具有不同卷積核的網(wǎng)絡(luò)塊組成。之后Xie等[16]提出的ResNeXt在ResNet的Bottleneck中引入分組卷積,在基礎(chǔ)結(jié)構(gòu)中使用了多分支結(jié)構(gòu),并通過(guò)實(shí)驗(yàn)證明了多分支結(jié)構(gòu)的有效性。SE-Net通過(guò)在特征的通道層加入通道注意力機(jī)制來(lái)自適應(yīng)地重新標(biāo)定特征,從而增強(qiáng)有效目標(biāo)特征、抑制背景信息。SK-Net(Selective Kernel Network)[17]使用2個(gè)不同卷積核分支網(wǎng)絡(luò),通過(guò)對(duì)融合特征引入通道注意力機(jī)制、再自適應(yīng)拆分對(duì)分支網(wǎng)絡(luò)重標(biāo)定。ResNeSt[18]對(duì)SK-Net進(jìn)行改進(jìn),使用個(gè)不同卷積核,同時(shí)為了共享計(jì)算,后續(xù)卷積核使用第一個(gè)空洞卷積,引入通道注意力后,拆分為個(gè)注意力重新校準(zhǔn)不同感受野下的特征。CBAM使用通道間的均值和最大值之和重新定義通道注意力,同時(shí)引入空間注意力,使用通道和空間的串聯(lián)混合注意力重標(biāo)定特征圖,實(shí)驗(yàn)證明CBAM的效果比單一的注意力效果更優(yōu)。受到這些方法的啟發(fā),本文改進(jìn)混合注意力結(jié)構(gòu),將多分支網(wǎng)絡(luò)和混合注意力結(jié)合起來(lái),并通過(guò)實(shí)驗(yàn)驗(yàn)證了方法的有效性。
目前,絕大多數(shù)目標(biāo)檢測(cè)算法都使用多次下采樣后的深層特征來(lái)分類和回歸。但是,小目標(biāo)的尺寸非常小,隨著網(wǎng)絡(luò)的不斷深入,小目標(biāo)的特征很難保留下來(lái),將顯著影響小目標(biāo)的檢測(cè);而淺層網(wǎng)絡(luò)的特征具有更加詳細(xì)的位置信息和小目標(biāo)信息,所以,將淺層特征和深層特征進(jìn)行多尺度特征融合是一種有效的解決方法。FPN通過(guò)自上而下的橫向連接網(wǎng)絡(luò)將深層和淺層特征融合起來(lái);然而,F(xiàn)PN自上而下的連接結(jié)構(gòu)導(dǎo)致網(wǎng)絡(luò)淺層擁有深層所有的語(yǔ)義信息,而深層沒(méi)有融合相對(duì)應(yīng)的淺層信息。PANet在FPN的基礎(chǔ)上增加了一條額外的自下而上的連接網(wǎng)絡(luò)解決了這一問(wèn)題。
BiFPN改進(jìn)了PANet的拓?fù)浣Y(jié)構(gòu),并提出了更加高效的路徑聚合網(wǎng)絡(luò)。本文選擇帶有PANet的YOLOv5s作為基礎(chǔ)網(wǎng)絡(luò)。
YOLO[19]是目標(biāo)檢測(cè)中單階段網(wǎng)絡(luò)結(jié)構(gòu)的典型算法,它的檢測(cè)速度比雙階段的Faster RCNN[20]、Mask RCNN[21]等算法更快,因?yàn)閅OLO算法的核心思想是將整個(gè)分類和定位當(dāng)成一個(gè)回歸問(wèn)題,在對(duì)圖像提取特征后直接回歸得到類別和位置,大幅降低了算法所消耗的資源和時(shí)間開(kāi)銷[22]。YOLOv2[23]在之前的基礎(chǔ)上改進(jìn)了錨框策略,使用K-means聚類生成更加貼合數(shù)據(jù)集的先驗(yàn)框;YOLOv3[24]使用Darknet53結(jié)構(gòu)的骨干網(wǎng)絡(luò),增強(qiáng)了特征提取的能力與效果;YOLOv4[25]使用改進(jìn)的CSPDarknet53結(jié)構(gòu),同時(shí)使用FPN的特征融合方法;YOLOv5在前述基礎(chǔ)上作了很多改進(jìn),根據(jù)網(wǎng)絡(luò)的深度和寬度提供不同復(fù)雜度的模型,包括YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x共五種大小的模型。YOLOv5整體網(wǎng)絡(luò)包括輸入(Input)、特征提取主干網(wǎng)絡(luò)(Backbone)、特征融合層(Neck)、檢測(cè)輸出(Head)四個(gè)部分。一般來(lái)說(shuō),在YOLOv5中,Backbone采用CSPDarknet53和快速空間金字塔池化(Spatial Pyramid Pooling-Fast, SPPF),Neck使用PANet。本文選擇YOLOv5s作為小目標(biāo)檢測(cè)的基線模型。
與背景相比,小目標(biāo)的尺寸非常小,且自身信息非常缺乏,直接輸入YOLOv5會(huì)導(dǎo)致網(wǎng)絡(luò)將它當(dāng)成普通目標(biāo)計(jì)算,忽略了它的特殊性。首先,受文獻(xiàn)[7,18]工作的啟發(fā),本文改進(jìn)了單一感受野下的通道-空間注意力機(jī)制,并結(jié)合多分支網(wǎng)絡(luò)結(jié)構(gòu),提出多分支混合注意力模塊(SMAM)。相較于文獻(xiàn)[7]的方法,SMAM在增加少量計(jì)算量的情況下,能更加有效地挖掘小目標(biāo)的特征信息,并根據(jù)不同尺度的特征圖動(dòng)態(tài)地為小目標(biāo)的貢獻(xiàn)分配混合注意力權(quán)重。然后,在Backbone的最后一層引入改進(jìn)的特征提取模塊CSMAM,增強(qiáng)主干網(wǎng)絡(luò)的特征提取能力;同時(shí)在Neck的多尺度融合過(guò)程的上下采樣中引入SMAM和CSMAM,增強(qiáng)小目標(biāo)的特征表達(dá)。最后,在PANet的網(wǎng)絡(luò)結(jié)構(gòu)中增加一個(gè)P2檢測(cè)分支,用來(lái)檢測(cè)小目標(biāo)。綜上所述,SMAM-YOLO算法的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,基于YOLOv5s主要作了以下改進(jìn):
1)主干網(wǎng)絡(luò):在Backbone末端中引入所提出的基于CSPNet的CSMAM。
2)特征融合網(wǎng)絡(luò):增加小目標(biāo)檢測(cè)分支,并在特征金字塔上采樣的每一層融合后插入SMAM模塊,在下采樣的每一層插入CSMAM和SMAM模塊。
圖1 SMAM-YOLO算法的整體網(wǎng)絡(luò)結(jié)構(gòu)
受文獻(xiàn)[7]中工作的啟發(fā),本文設(shè)計(jì)了2個(gè)卷積注意力模塊:CA模塊和SA模塊。
CA的結(jié)構(gòu)如圖2所示,計(jì)算公式如式(1)所示:
其中:輸入特征圖F大小為;Sigmoid為激活函數(shù),AdaAvgPooling為全局自適應(yīng)平均池化,AdaMaxPooling為全局自適應(yīng)最大池化; 為全連接網(wǎng)絡(luò)。首先,對(duì)特征圖F分別作全局自適應(yīng)平均池化和最大池化;然后將得到的2種通道權(quán)重通過(guò)全連接層fc(Conv+ReLU+Conv);最后對(duì)全連接的2個(gè)不同的權(quán)重求和,并由Sigmoid激活得到通道注意力XCA,此時(shí)大小為。
SA的結(jié)構(gòu)如圖3所示,計(jì)算公式如式(2)所示:
由于文獻(xiàn)[7]在通道注意力后先重標(biāo)定特征空間,再串聯(lián)空間注意力后再次重標(biāo)定,得到兩次注意力加權(quán)后的特征圖,但輸出是加權(quán)后的特征圖,不利于結(jié)合多分支網(wǎng)絡(luò);同時(shí)串聯(lián)方式雖然簡(jiǎn)單且效果良好,但是沒(méi)有充分考慮合理的連接方式對(duì)小目標(biāo)的影響。為了在不增加額外計(jì)算量的情況下更好地結(jié)合多分支網(wǎng)絡(luò)結(jié)構(gòu),對(duì)CBAM網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn),提出MAM,結(jié)構(gòu)如圖4所示,計(jì)算公式如式(3)所示:
其中:輸入特征圖F大小為;CA是通道注意力,輸出大小為;SA是空間注意力,輸出大小為;mul是矩陣乘法;XMAM是CA和SA的未重標(biāo)定的混合注意力權(quán)重,輸出大小為。
圖4 MAM的結(jié)構(gòu)
文獻(xiàn)[18]中的多分支注意力模塊僅使用了通道注意力對(duì)小目標(biāo)進(jìn)行特征提取,有一定的效果,但是缺乏對(duì)空間的思考,并不全面。因此,將MAM引入多分支網(wǎng)絡(luò),提出SMAM,它的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
分配好各分支的權(quán)重后,對(duì)多分支特征圖重標(biāo)定,并且對(duì)應(yīng)元素求和,得到多分支混合注意力加權(quán)后的特征圖out,如式(6)所示:
其中:S為分支數(shù);i為重標(biāo)定的分支;Fi是第個(gè)分支。最后輸出大小為。
YOLOv5中特征提取的核心模塊C3,主要使用基于CSPNet結(jié)構(gòu)堆疊的Bottleneck殘差塊。對(duì)C3結(jié)構(gòu)進(jìn)行改進(jìn),將殘差塊中的3×3卷積替換為SMAM;同時(shí)為了降低參數(shù)量,替換過(guò)后不再堆疊殘差塊,提出基于CSPNet和SMAM的特征提取模塊CSMAM,它的網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 CSMAM的網(wǎng)絡(luò)結(jié)構(gòu)
3.1.1數(shù)據(jù)集概述
本文實(shí)驗(yàn)的數(shù)據(jù)集是一個(gè)具有高質(zhì)量標(biāo)注的小目標(biāo)數(shù)據(jù)集TinyPerson[26],其中的圖像場(chǎng)景多數(shù)為遠(yuǎn)距離大背景航拍下的圖像,非常符合小目標(biāo)檢測(cè)的需求。TinyPerson數(shù)據(jù)集包含2個(gè)類別(earth person、sea person),一共有1 610張圖片(其中訓(xùn)練集794張圖片,測(cè)試集816張圖片),共包含72 651個(gè)人類目標(biāo)注釋。
3.1.2評(píng)估標(biāo)準(zhǔn)
為了評(píng)估模型的有效性,本文使用平均精度 (Average Percision, AP)、平均精度均值(mean Average Precision, mAP)、每秒10億次的浮點(diǎn)運(yùn)算次數(shù)(Giga Floating-point Operations Per Second, GFLOPs)及幀率(Frame Per Second, FPS)作為評(píng)估標(biāo)準(zhǔn)。
再以軸為召回率、軸為精確率建立二維坐標(biāo)軸,同時(shí)繪制精確率-召回率(Precision-Recall, PR)曲線,PR曲線所圍面積即為AP大小,計(jì)算如式(9)所示:
mAP為多個(gè)類別的平均精度均值,其中表示類別總數(shù),計(jì)算如式(10)所示:
GFLOPs為每秒10億次的浮點(diǎn)運(yùn)算,一般用于衡量模型的計(jì)算復(fù)雜度。
幀率表示每秒可以檢測(cè)圖片的數(shù)量(單位:frame/s),用于衡量算法是否具有實(shí)時(shí)性,一般認(rèn)為FPS大于30 frame/s即具備實(shí)時(shí)檢測(cè)效果。
AP50、mAP50表示交并比(Intersection over Union, IoU)閾值為0.5時(shí)的平均精度和平均精度均值。一般來(lái)說(shuō),IoU越高,表示預(yù)測(cè)出目標(biāo)與真實(shí)目標(biāo)交集越大,越貼合真實(shí)目標(biāo),此時(shí)檢測(cè)精度越大即表明模型預(yù)測(cè)能力越強(qiáng)。由于小目標(biāo)占比像素少,如果使用較大的IoU,檢測(cè)精度將會(huì)非常低,不能較好地衡量小目標(biāo)檢測(cè)算法的效果,為此,本文選擇IoU為0.5的折中方案。
實(shí)驗(yàn)的硬件環(huán)境為Intel Core i7-10750H CPU@2.60 GHz、16 GB內(nèi)存、NVIDIA GeForce GTX 1660Ti GPU;軟件環(huán)境為Windows 11家庭中文版系統(tǒng)、Python3.8、PyTorch 1.8.2、CUDA 10.2。
圖7為訓(xùn)練時(shí)回歸損失的變化曲線,其中BatchSize設(shè)置為4,訓(xùn)練150輪,前三輪為預(yù)熱,優(yōu)化器使用隨機(jī)梯度下降(Stochastic Gradient Descent, SGD),初始學(xué)習(xí)率設(shè)置為0.01,動(dòng)量設(shè)置為0.937,學(xué)習(xí)率衰減使用余弦策略。從圖7可以看出,訓(xùn)練的回歸損失值可以平滑下降,達(dá)到理想效果。除了必要的改進(jìn)外,本文實(shí)驗(yàn)中所有模型的超參數(shù)都設(shè)置為默認(rèn)(不一定是最佳參數(shù)),并在此設(shè)置下進(jìn)行訓(xùn)練、驗(yàn)證和測(cè)試。
圖7 訓(xùn)練損失曲線
由于YOLOv5s默認(rèn)輸入大小是640×640,但是TinyPerson數(shù)據(jù)集中的目標(biāo)為小目標(biāo),圖片為遠(yuǎn)距離大背景下的航拍圖像,圖片大小都遠(yuǎn)大于默認(rèn)大小。顯然,輸入分辨率越大,對(duì)于檢測(cè)小目標(biāo)越有利,但是越大的分辨率會(huì)導(dǎo)致越大的計(jì)算開(kāi)銷,同時(shí)檢測(cè)圖像時(shí)的FPS也會(huì)更低。
為此,將YOLOv5s和本文算法在不同分辨率下進(jìn)行測(cè)試,結(jié)果如表1所示。由表1可知,在TinyPerson數(shù)據(jù)集上,YOLOv5s訓(xùn)練的分辨率為960×960和1 280×1 280時(shí),mAP50相較于640×640時(shí)分別提高了9.07和15.65個(gè)百分點(diǎn),且測(cè)試分辨率為1 280×1 280時(shí)FPS都為122 frame/s;SMAM-YOLO在分辨率為960×960和1 280×1 280時(shí)mAP50相較于640×640分別提高了7.66和13.91個(gè)百分點(diǎn),且測(cè)試分辨率為1 280×1 280時(shí)FPS都為74 frame/s。由此可見(jiàn),在同一個(gè)目標(biāo)檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)下增大模型的圖像分辨率可以提高模型的準(zhǔn)確率;但增大分辨率也使計(jì)算量成倍增加、訓(xùn)練時(shí)間成倍增長(zhǎng)。以SMAM-YOLO為例,在本文實(shí)驗(yàn)配置下,1 280×1 280分辨率輸入時(shí)訓(xùn)練1輪需要26 min左右,74.4 GFLOPs;然而,640×640分辨率輸入時(shí)訓(xùn)練1輪僅需要9 min左右,19.9 GFLOPs。同時(shí)生成的權(quán)重文件大小也會(huì)增加,加大模型部署難度。但是,如果同一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)的算法使用不同分辨率訓(xùn)練得到的不同模型,在檢測(cè)時(shí)圖像的輸入使用同一分辨率,對(duì)于FPS并無(wú)影響,這表明訓(xùn)練時(shí)可以適當(dāng)增加模型輸入分辨率來(lái)提高檢測(cè)精度。此外,太大的分辨率也會(huì)導(dǎo)致過(guò)擬合,因此不能盲目增大分辨率。
表1 分辨率實(shí)驗(yàn)結(jié)果
注:FPS1 280中1 280表示測(cè)試時(shí)圖像的分辨率為1 280×1 280。
為了驗(yàn)證本文所提出的SMAM和CSMAM的有效性,以及增加小目標(biāo)檢測(cè)頭對(duì)結(jié)果的影響,對(duì)不同模塊對(duì)結(jié)果的影響進(jìn)行消融實(shí)驗(yàn)評(píng)估:使用YOLOv5s作為基線模型,訓(xùn)練圖像輸入分辨率為1 280×1 280,測(cè)試圖像分辨率為1 280×1 280的場(chǎng)景下,共訓(xùn)練150輪,使用預(yù)訓(xùn)練權(quán)重加速訓(xùn)練,實(shí)驗(yàn)結(jié)果如表2所示。
1)額外檢測(cè)頭的影響。由表2可知,a模型為無(wú)改進(jìn)的基線模型,b模型在基線模型上增加了P2檢測(cè)頭,由于P2檢測(cè)層擁有更多的淺層信息,對(duì)小目標(biāo)檢測(cè)更加有利。實(shí)驗(yàn)結(jié)果表明,相較于a模型,b模型層數(shù)由270增加到328,GFLOPs由57.27到65.39,參數(shù)量從7.02×106增加到7.17×106,但是對(duì)于小目標(biāo)的mAP50增加了1.78個(gè)百分點(diǎn),同時(shí)FPS仍滿足實(shí)時(shí)檢測(cè)的需求。因此,增加少量的計(jì)算量,得到更好的小目標(biāo)檢測(cè)效果是值得的。
2)MAM的影響。SMAM可以自適應(yīng)地結(jié)合混合注意力機(jī)制調(diào)整更適合小目標(biāo)的不同感受野,以此得到對(duì)小目標(biāo)充分加權(quán)并且重定向后的特征圖。c模型分別在Backbone的SPPF層前和Neck的上下采樣最后部分引入SMAM。相較于b模型,c模型的層數(shù)、GFLOPs、參數(shù)量分別增加了168、10.77個(gè)百分點(diǎn)、0.45×106,但mAP50提升了2.01個(gè)百分點(diǎn)。d模型以c模型為基礎(chǔ),在Neck的下采樣輸入Head之前,將原來(lái)無(wú)注意力加權(quán)的CSPNet結(jié)構(gòu)C3模塊替換成引入了SMAM的CSMAM結(jié)構(gòu)。相較于c模型,d模型層數(shù)增加了91,GFLOPs減少了1.76,參數(shù)量減少了0.25×106,同時(shí)mAP50上升了0.36個(gè)百分點(diǎn)。這說(shuō)明增加SMAM模塊和在特征提取中將C3替換成更輕量的CSMAM后,能夠使模型獲得更加豐富的小目標(biāo)特征。
綜上所述,本文模型相較于基線模型YOLOv5s的mAP50提升了4.15個(gè)百分點(diǎn),大幅提升了小目標(biāo)的檢測(cè)精度,同時(shí)FPS達(dá)到了74 frame/s,具有一定的實(shí)時(shí)檢測(cè)效果。
在TinyPerson數(shù)據(jù)集上,對(duì)SMAM-YOLO和近年來(lái)已有的幾種小目標(biāo)檢測(cè)模型(主要包含CBAM、PP-YOLO[27]、DETR[28]、YOLOv7[29]、YOLOX[30]、YOLOv5)進(jìn)行對(duì)比實(shí)驗(yàn),其中YOLOX和PP-YOLO使用S版本,YOLOv7使用tiny版本,YOLOv5s使用較新的6.2版本,實(shí)驗(yàn)結(jié)果如表3所示。由表3可知,在對(duì)比的算法中,引入CBAM的YOLOv5具有最高的mAP50,達(dá)到50.61%,比SMAM-YOLO的mAP50低1.46個(gè)百分點(diǎn),其他參數(shù)與CBAM相差不大,在提高檢測(cè)精度的同時(shí),也保證了速度、參數(shù)量和模型大小的穩(wěn)定。YOLOv7-tiny具有最快的檢測(cè)速度,達(dá)到131.21 frame/s,同時(shí)參數(shù)量、模型大小、GFLOPs也最小,但是比SMAM-YOLO的mAP50低6.84個(gè)百分點(diǎn)。由此可見(jiàn),SMAM-YOLO算法將更多的注意力聚焦到小目標(biāo)身上,動(dòng)態(tài)地對(duì)不同尺度下特征圖中的小目標(biāo)重定向,不僅提高了檢測(cè)精度,同時(shí)保證了檢測(cè)速度,具有一定的實(shí)時(shí)性,在實(shí)時(shí)檢測(cè)小目標(biāo)任務(wù)上具有更大的優(yōu)勢(shì)。
表2 消融實(shí)驗(yàn)結(jié)果
表3 不同小目標(biāo)檢測(cè)模型的對(duì)比實(shí)驗(yàn)結(jié)果
為了更直觀驗(yàn)證SMAM對(duì)小目標(biāo)特征的影響情況,以及對(duì)最后檢測(cè)小目標(biāo)時(shí)產(chǎn)生的影響,使用TinyPerson測(cè)試集中具有代表性的圖片驗(yàn)證。
圖8(a)是沒(méi)有添加混合注意力的YOLOv5基線模型,圖8(b)是添加了混合注意力的YOLOv5模型,分別使用Grad-CAM[31]做熱力圖可視化。從圖的左上、右上、左下,右下對(duì)比中可以看出,在不同的角度,目標(biāo)數(shù)量多且小的時(shí)候,MAM可以更加有效地聚焦小目標(biāo)的特征,在圖中則表現(xiàn)為目標(biāo)邊界更加清晰,顏色與環(huán)境差異明顯,從而提高檢測(cè)效果。
圖9是添加混合注意力前后的YOLOv5的實(shí)際檢測(cè)效果,其中紅色框是模型檢測(cè)的人類標(biāo)簽,黃色框?yàn)橹攸c(diǎn)標(biāo)出的差異。從圖9可以看出,在不同的條件下,陸地或者海上、白天或者傍晚,基線模型對(duì)于小目標(biāo)存在漏檢的情況,而添加混合注意力后可以較好地檢測(cè)出小目標(biāo)。
綜上所述,SMAM可以有效提升小目標(biāo)的檢測(cè)效果。
圖8 添加混合注意力前后的熱力圖
圖9 添加混合注意力前后的檢測(cè)效果圖
本文結(jié)合通道、空間注意力與多分支網(wǎng)絡(luò)結(jié)構(gòu),提出了多分支混合注意力模塊,通過(guò)自適應(yīng)的多感受野聚焦更適合小目標(biāo)的豐富尺度信息,再結(jié)合混合注意力對(duì)小目標(biāo)信息重標(biāo)定,使小目標(biāo)特征更加突出,以此提高對(duì)小目標(biāo)特征的識(shí)別能力。對(duì)本文所提出的小目標(biāo)檢測(cè)算法SMAM-YOLO在TinyPerson數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,SMAM-YOLO的檢測(cè)效果較為優(yōu)異,不僅檢測(cè)精度高,而且檢測(cè)速度高,能滿足實(shí)時(shí)檢測(cè)需求。
本文主要使用多分支混合注意力模塊來(lái)改進(jìn)YOLOv5s模型,以提升小目標(biāo)檢測(cè)的效果,并沒(méi)有考慮與其他相關(guān)方法(如數(shù)據(jù)增強(qiáng)和自注意力機(jī)制等)相結(jié)合。因此,在后續(xù)的研究工作中,可以進(jìn)一步研究如何將SMAM-YOLO與更多先進(jìn)方法相結(jié)合,實(shí)現(xiàn)高性能的小目標(biāo)檢測(cè)。
[1] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2017: 936-944.
[2] LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 8759-8768.
[3] GHIASI G, LIN T Y, LE Q V. NAS-FPN: learning scalable feature pyramid architecture for object detection[C]// Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2019: 7029-7038.
[4] LIANG Z, SHAO J, ZHANG D, et al. Small object detection using deep feature pyramid networks[C]// Proceedings of the 2018 Pacific Rim Conference on Multimedia, LNCS 11166. Cham: Springer, 2018: 554-564.
[5] TAN M, PANG R, LE Q V. EfficientDet: scalable and efficient object detection[C]// Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2020: 10778-10787.
[6] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2018: 7132-7141.
[7] WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module[C]// Proceedings of the 2018 European Conference on Computer Vision, LNCS 11211. Cham: Springer, 2018: 3-19.
[8] QIN Z, ZHANG P, WU F, et al. FcaNet: frequency channel attention networks[C]// Proceedings of the 2021 IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE, 2021: 763-772.
[9] WANG C Y, LIAO H Y M, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]// Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2020: 1571-1580.
[10] 李科岑,王曉強(qiáng),林浩,等. 深度學(xué)習(xí)中的單階段小目標(biāo)檢測(cè)方法綜述[J]. 計(jì)算機(jī)科學(xué)與探索, 2022, 16(1):41-58.(LI K C, WANG X Q, LIN H, et al. A survey of one-stage small object detection methods in deep learning[J]. Journal of Frontiers of Computer Science and Technology, 2022, 16(1): 41-58.)
[11] KISANTAL M, WOJNA Z, MURAWSKI J, et al. Augmentation for small object detection[EB/OL]. [2023-02-12].https://arxiv.org/pdf/1902.07296.pdf.
[12] GONG Y, YU X, DING Y, et al. Effective fusion factor in FPN for tiny object detection[C]// Proceedings of the 2021 IEEE Winter Conference on Applications of Computer Vision. Piscataway: IEEE, 2021: 1159-1167.
[13] JIANG N, YU X, PENG X, et al. SM+: refined scale match for tiny person detection[C]// Proceedings of the 2021 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway: IEEE, 2021: 1815-1819.
[14] 李文濤,彭力. 多尺度通道注意力融合網(wǎng)絡(luò)的小目標(biāo)檢測(cè)算法[J]. 計(jì)算機(jī)科學(xué)與探索, 2021, 15(12):2390-2400.(LI W T, PENG L. Small objects detection algorithm with multi-scale channel attention fusion network[J]. Journal of Frontiers of Computer Science and Technology, 2021, 15(12): 2390-2400.)
[15] SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2015: 1-9.
[16] XIE S, GIRSHICK R, DOLLáR P, et al. Aggregated residual transformations for deep neural networks[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2017: 5987-5995.
[17] LI X, WANG W, HU X, et al. Selective kernel networks[C]// Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2019: 510-519.
[18] ZHANG H, WU C, ZHANG Z, et al. ResNeSt: split-attention networks[C]// Proceedings of the 2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2022: 2735-2745.
[19] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]// Proceedings of the IEEE 2016 Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 779-788.
[20] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]// Proceedings of the 28th International Conference on Neural Information Processing Systems — Volume 1. Cambridge: MIT Press, 2015:91-99.
[21] HE K, GKIOSARI G, DOLLáR P, et al. Mask R-CNN[C]// Proceedings of the 2017 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2017: 2980-2988.
[22] 曹家樂(lè),李亞利,孫漢卿,等.基于深度學(xué)習(xí)的視覺(jué)目標(biāo)檢測(cè)技術(shù)綜述[J].中國(guó)圖象圖形學(xué)報(bào),2022,27(6):1697-1722. (CAO J L, LI Y L, SUN H Q, et al. A survey on deep learning based visual object detection[J]. Journal of Image and Graphics, 2022, 27(6): 1697-1722.)
[23] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2017: 6517-6525.
[24] REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. [2023-02-12].https://arxiv.org/pdf/1804.02767.pdf.
[25] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. [2023-02-12].https://arxiv.org/pdf/2004.10934.pdf.
[26] YU X, GONG Y, JIANG N, et al. Scale match for tiny person detection[C]// Proceedings of the 2020 IEEE Winter Conference on Applications of Computer Vision. Piscataway: IEEE, 2020: 1246-1254.
[27] LONG X, DENG K, WANG G, et al. PP-YOLO: an effective and efficient implementation of object detector[EB/OL]. [2023-02-12].https://arxiv.org/pdf/2007.12099.pdf.
[28] ZHU X, SU W, LU L, et al. Deformable DETR: deformable transformers for end-to-end object detection[EB/OL]. [2023-02-12].https://arxiv.org/pdf/2010.04159.pdf.
[29] WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[EB/OL]. [2023-02-12].https://arxiv.org/pdf/2207.02696.pdf.
[30] GE Z, LIU S, WANG F, et al. YOLOX: exceeding YOLO series in 2021[EB/OL]. [2023-02-12].https://arxiv.org/pdf/2107.08430.pdf.
[31] SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-CAM: visual explanations from deep networks via gradient-based localization[C]// Proceedings of the 2017 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2017: 618-626.
Small object detection algorithm based on split mixed attention
QIN Qiangqiang, LIAO Junguo*, ZHOU Yixun
(,,411201,)
Focusing on the characteristics of small objects in images, such as less feature information, low percentage, and easy to be influenced by the environment, a small object detection algorithm based on split mixed attention was proposed, namely SMAM-YOLO. Firstly, by combining Channel Attention (CA) and Spatial Attention (SA), as well as recombining the connection structures, a Mixed Attention Module (MAM) was proposed to enhance the model’s representation of small object features in spatial dimension. Secondly, according to the different influence of receptive fields with different sizes on the object, a Split Mixed Attention Module (SMAM) was proposed to adaptively adjust the size of the receptive field according to the scale of the input feature map, and the mixed attention was used to enhance the ability to capture small object feature information in different branches. Finally, the core residual module in YOLOv5 was improved by using SMAM, and a feature extraction module CSMAM was proposed on the basis of CSPNet (Cross Stage Partial Network) and SMAM, and the additional computational overhead of CSMAM can be ignored. Experimental results on TinyPerson dataset show that compared with the baseline algorithm YOLOv5s, when the Intersection over Union (IoU) threshold is 0.5, the mean Average Precision (mAP50) of SMAM-YOLO algorithm is improved by 4.15 percentage points, and the detection speed reaches 74 frame/s. In addition, compared with some existing mainstream small object detection models, SMAM-YOLO algorithm improves the mAP50by 1.46 - 6.84 percentage points on average, and it can meet the requirements of real-time detection.
small object detection; split network; mixed attention; feature fusion; real-time detection
QIN Qiangqiang, born in 1990, M. S. candidate. His research interests include artificial intelligence, object detection.
1001-9081(2023)11-3579-08
10.11772/j.issn.1001-9081.2022111660
2022?11?09;
2023?03?03;
秦強(qiáng)強(qiáng)(1997—),男,安徽蕪湖人,碩士研究生,CCF會(huì)員,主要研究方向:人工智能、目標(biāo)檢測(cè); 廖俊國(guó)(1972—),男,湖南衡陽(yáng)人,教授,博士,CCF會(huì)員,主要研究方向:網(wǎng)絡(luò)安全、人工智能、模式識(shí)別; 周弋荀(1998—),男,湖北黃石人,碩士研究生,CCF會(huì)員,主要研究方向:人工智能、目標(biāo)檢測(cè)。
TP391; TP183
A
2023?03?03。
LIAO Junguo, born in 1972, Ph. D., professor. Her research interests include cyber security, artificial intelligence, pattern recognition.
ZHOU Yixun, born in 1998, M. S. candidate. His research interests include artificial intelligence, object detection.