奉志強(qiáng),謝志軍,*,包正偉,陳科偉
1.寧波大學(xué) 信息科學(xué)與工程學(xué)院,寧波 315211
2.寧波極望信息科技有限公司,寧波 315000
3.寧波大學(xué) 機(jī)械工程與力學(xué)學(xué)院,寧波 315211
隨著無(wú)人機(jī)成本的下降,民用無(wú)人機(jī)市場(chǎng)進(jìn)入快速發(fā)展時(shí)期。同時(shí),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)在近年來(lái)也取得了矚目進(jìn)步,這使得無(wú)人機(jī)與目標(biāo)檢測(cè)技術(shù)更加緊密,兩者的結(jié)合可以在諸多領(lǐng)域如智能安防、智慧交通、智慧工地等發(fā)揮重要作用。在深度學(xué)習(xí)時(shí)代,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的目標(biāo)檢測(cè)技術(shù)顯著提高了目標(biāo)檢測(cè)的性能。然而,大多數(shù)目標(biāo)檢測(cè)模型都是基于自然場(chǎng)景圖像數(shù)據(jù)集進(jìn)行設(shè)計(jì),自然場(chǎng)景圖像與無(wú)人機(jī)航拍圖像之間存在顯著差異,這使得設(shè)計(jì)一種專(zhuān)門(mén)適用于無(wú)人機(jī)航拍視角的目標(biāo)檢測(cè)模型成為一項(xiàng)具有意義和挑戰(zhàn)性的課題。首先,在實(shí)際應(yīng)用場(chǎng)景中,對(duì)無(wú)人機(jī)航拍視頻流進(jìn)行實(shí)時(shí)目標(biāo)檢測(cè),對(duì)算法模型的檢測(cè)速度有較高要求;其次,與自然場(chǎng)景圖像不同,由于無(wú)人機(jī)飛行高度高,航拍圖像中存在大量小目標(biāo),其可提取特征少,且由于無(wú)人機(jī)飛行高度變化大,物體比例變化劇烈,導(dǎo)致檢測(cè)精度低;最后,在實(shí)際飛行拍攝中存在復(fù)雜場(chǎng)景,密集小目標(biāo)之間會(huì)存在大量遮擋,且易被其他目標(biāo)或背景遮擋[1]。綜上所述,需要設(shè)計(jì)一種適用于密集小目標(biāo)場(chǎng)景下的無(wú)人機(jī)航拍實(shí)時(shí)目標(biāo)檢測(cè)模型,以滿(mǎn)足實(shí)際應(yīng)用場(chǎng)景需求。
在Faster RCNN[2]之后,對(duì)目標(biāo)檢測(cè)速度慢、實(shí)時(shí)性低的問(wèn)題,提出了基于單階段檢測(cè)器(One-stage Detector)的YOLO(You Only Look Once)算法[3]和SSD(Single Shot MultiBox Detector)算法[4],及后續(xù)基于YOLO改進(jìn)的YOLOv2[5]、YOLOv3[6]、YOLOv4[7]、YOLOv5。與Faster RCNN不同,YOLO系列算法直接對(duì)目標(biāo)的坐標(biāo)和類(lèi)別進(jìn)行回歸,這種端到端的檢測(cè)方式使得檢測(cè)精度高且檢測(cè)速度FPS達(dá)到了45,滿(mǎn)足無(wú)人機(jī)實(shí)時(shí)視頻檢測(cè)的基本要求[8]。文獻(xiàn)[9]在SSD的基礎(chǔ)上提出了一種輕量、高效的特征融合模塊,更充分利用特征,在損失較少檢測(cè)速度的情況下精度有較大提升,且對(duì)小目標(biāo)檢測(cè)效果更佳。同時(shí)為了降低計(jì)算成本和存儲(chǔ)空間,進(jìn)行剪枝以實(shí)現(xiàn)模型壓縮,但檢測(cè)速度較慢,實(shí)時(shí)性不足以滿(mǎn)足實(shí)際需求;文獻(xiàn)[10]從特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)[11]上出發(fā),在FPN上添加一個(gè)融合因子描述相鄰層的耦合度,來(lái)控制深層傳遞淺層的信息,使得FPN更加適應(yīng)小目標(biāo),提高了小目標(biāo)檢測(cè)性能。但不同層的特征融合依舊是簡(jiǎn)單的線(xiàn)性操作(串聯(lián)或求和),不能根據(jù)特征所在場(chǎng)景不同,進(jìn)行自適應(yīng)特征權(quán)重分配;文獻(xiàn)[12]引入多尺度卷積模塊,自適應(yīng)優(yōu)化特征權(quán)重,并根據(jù)小目標(biāo)特點(diǎn)構(gòu)建多尺度特征融合預(yù)測(cè)網(wǎng)絡(luò),選取多層級(jí)特征映射融合成高分辨率特征圖,提升了無(wú)人機(jī)圖像的目標(biāo)檢測(cè)精度。但沒(méi)有很好解決在復(fù)雜背景下密集小目標(biāo)存在大量遮擋,導(dǎo)致小目標(biāo)大量漏檢的問(wèn)題。
針對(duì)上述問(wèn)題,本文選取Ultralytics 5.0版本的YOLOv5算法模型作為實(shí)時(shí)目標(biāo)檢測(cè)算法。其中,Conv模塊由一個(gè)二維卷積層、BN(Batch Normalization)層以及SiLU激活函數(shù)組成,將輸入特征經(jīng)過(guò)卷積層、激活函數(shù)、歸一化層,得到輸出層。C3模塊是基于BottleneckCSP模塊,去掉了殘差輸出后的Conv模塊,Concat(通道維度拼接)后的卷積模塊中的激活函數(shù)也由LeakyRelu變?yōu)榱薙iLU。SPP模塊先通過(guò)一個(gè)標(biāo)準(zhǔn)卷積模塊將輸入通道減半,然后分別做卷積核大小為5、9、13的最大池化操作,再對(duì)這3次最大池化的結(jié)果與未進(jìn)行池化操作的數(shù)據(jù)進(jìn)行Concat操作。
本文在YOLOv5的基礎(chǔ)上進(jìn)行改進(jìn),改進(jìn)后的結(jié)構(gòu)如圖1所示。首先,為了提高對(duì)小目標(biāo)區(qū)域的關(guān)注程度,將空間注意力與通道注意力結(jié)合,提出一種輕量級(jí)的空間-通道注意力模塊(Spatial Channel Attention Module,SCAM),得到基于空間和通道2個(gè)維度的注意力權(quán)重,可以增強(qiáng)小目標(biāo)特征,減少?gòu)?fù)雜背景對(duì)小目標(biāo)的干擾。其次,將SCAM運(yùn)用到多尺度特征融合中,提出一種新的多尺度注意力特征融合模塊(Spatial Channel Attention Feature Fusion,SC-AFF),改變?cè)谢诠潭?quán)重分配的特征融合方式,利用SCAM動(dòng)態(tài)獲取不同尺度特征圖的注意力權(quán)重,使每次特征融合過(guò)程都能更關(guān)注小目標(biāo)區(qū)域的特征,提高多尺度特征融合效率。最后,用SCAFF替換原有Transformer Encoder結(jié)構(gòu)中殘差連接處的特征融合模塊,提出一種新的基于空間和通道注意力的SC-Transformer模塊,替換主干網(wǎng)絡(luò)末端的卷積模塊。通過(guò)自注意力(Self-Attention)機(jī)制,提高模型捕獲特征圖全局信息和豐富上下文信息的能力,優(yōu)化復(fù)雜背景下密集小目標(biāo)特征提取難的問(wèn)題。
圖1 改進(jìn)YOLOv5s后的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Improved YOLOv5s network structure diagram
在滿(mǎn)足實(shí)時(shí)性和提高檢測(cè)精度的前提下,提出一種基于改進(jìn)YOLOv5算法的無(wú)人機(jī)航拍圖像密集小目標(biāo)檢測(cè)模型。改進(jìn)算法的核心思想是利用注意力機(jī)制和自注意力機(jī)制,在保證模型實(shí)時(shí)性的前提下,通過(guò)修改YOLOv5網(wǎng)絡(luò)結(jié)構(gòu),盡可能挖掘小目標(biāo)密集區(qū)域的特征信息,減少背景噪聲干擾,提高檢測(cè)精度。主要?jiǎng)?chuàng)新點(diǎn)如下:首先,本文針對(duì)性地改進(jìn)了CBAM注意力模塊,提出空間-通道注意力模塊SCAM,它更輕量化且更關(guān)注小目標(biāo)空間維度特征。然后,提出一種新的注意力特征融合方式SC-AFF,能根據(jù)不同尺度特征圖的特點(diǎn),計(jì)算并動(dòng)態(tài)分配基于SCAM的注意力權(quán)重。最后,在自注意力機(jī)制中加入注意力機(jī)制,用SC-AFF模塊替換Transformer Encoder中殘差連接處的特征融合模塊。綜上對(duì)YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行以下2部分的改進(jìn):① 特征融合網(wǎng)絡(luò):在特征金字塔結(jié)構(gòu)中,將Concat特征融合模塊替換為基于SCAM的SC-AFF模塊,并在特征金字塔網(wǎng)絡(luò)中嵌入SCAM模塊;② 主干網(wǎng)絡(luò):在YOLOv5主干網(wǎng)絡(luò)末端插入SC-Transformer,并在每次卷積提取特征后嵌入SCAM模塊。
SCAM的關(guān)鍵思想是將輸入的特征圖Y分別沿空間和通道2個(gè)維度得到注意力權(quán)重矩陣Zc、Zs,來(lái)為輸入特征圖中的區(qū)域特征分配權(quán)重,對(duì)于密集小目標(biāo)來(lái)說(shuō),單個(gè)特征區(qū)域會(huì)分配到更大的權(quán)重,權(quán)重越大表明該區(qū)域蘊(yùn)含更多的有效目標(biāo),模型會(huì)將更多的注意力用來(lái)學(xué)習(xí)該區(qū)域特征,以便在有限的計(jì)算資源下更好地提取特征。
本文參考卷積注意力模塊CBAM[13]中的2個(gè)注意力模塊:通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)。CAM聚焦特征圖中的有效特征是什么,即更關(guān)注特征的語(yǔ)義特征。通道注意力模塊對(duì)輸入大小為H×W×C的特征圖Y在空間維度上使用平均池化來(lái)聚合空間信息、最大池化來(lái)收集更細(xì)的目標(biāo)特征。同時(shí)使用這2種池化操作可以在減少特征圖大小和計(jì)算量的同時(shí),提高網(wǎng)絡(luò)的表達(dá)能力。將池化后的2個(gè)一維向量送入全連接層運(yùn)算,這里使用1×1卷積核實(shí)現(xiàn)特征向量間的權(quán)值共享。最后,經(jīng)加和操作和sigmoid激活操作生成通道注意力Zc為
SAM則更關(guān)注特征的位置信息,聚焦于特征圖中有效特征多的區(qū)域,是對(duì)通道注意力的補(bǔ)充。使用平均池化和最大池化對(duì)特征圖Yc在通道維度上做壓縮操作,得到2個(gè)二維特征圖,將其基于通道Concat在一起得到一個(gè)通道數(shù)為2的特征圖。為了保證最后得到的特征在空間維度上與輸入的Yc一致,使用一個(gè)包含單個(gè)卷積核的隱藏層對(duì)拼接后的特征圖進(jìn)行卷積操作,最后經(jīng)sigmoid操作生成空間注意力權(quán)重Zs為
由于CBAM在計(jì)算通道注意力時(shí)使用了全連接層對(duì)特征進(jìn)行映射,全連接層的計(jì)算量較大,即使對(duì)通道特征壓縮r倍,參數(shù)量仍然與輸入特征圖通道數(shù)的平方成正比。因此,當(dāng)在網(wǎng)絡(luò)中插入多個(gè)CBAM模塊時(shí),網(wǎng)絡(luò)參數(shù)和計(jì)算量會(huì)大量增長(zhǎng)。鑒于在中間特征圖的相鄰?fù)ǖ篱g的相關(guān)性更大,使用全連接層對(duì)通道特征進(jìn)行映射會(huì)產(chǎn)生許多冗余計(jì)算[14]。因此,本文針對(duì)參數(shù)量大導(dǎo)致計(jì)算量大的問(wèn)題,對(duì)CAM進(jìn)行改進(jìn)。選擇使用卷積核長(zhǎng)度為k的一維卷積對(duì)通道鄰域內(nèi)的k個(gè)通道進(jìn)行特征聚合。
對(duì)改進(jìn)后的CAM模塊加入YOLOv5中的參數(shù)量對(duì)比如表1所示。CAM表示通道特征壓縮率r=16下的通道注意力模塊,CAM-表示用一維卷積輕量化后的CAM??梢园l(fā)現(xiàn),CAM-不僅參數(shù)量和計(jì)算量減少,且mAP50提高了0.09%,分析認(rèn)為CAM在全連接層中引入了特征壓縮來(lái)減少運(yùn)算量,但也造成了特征信息丟失,這使得CAM的特征表達(dá)能力下降。
表1 改進(jìn)CAM模塊后參數(shù)量和計(jì)算量對(duì)比Table 1 Comparison of number of parameters and calculation volume after improvement of CAM module
另外,本文利用改進(jìn)后的CAM和SAM模塊提出一種新的SCAM結(jié)構(gòu),如圖2所示。首先利用CAM得到通道注意力權(quán)重Zc,將其與輸入的特征圖Y相乘得到基于通道注意力權(quán)重的特征
圖2 空間-通道注意力模塊Fig.2 spatial-channel attention module
Yc經(jīng)過(guò)SAM得到空間注意力權(quán)重Zs,其融合了通道和空間注意力。與CBAM不同的是,本文并未將Yc作為與Zs相乘的特征圖,這是考慮到在無(wú)人機(jī)視角下,密集小目標(biāo)眾多,模型能否準(zhǔn)確聚焦密集目標(biāo)區(qū)域?qū)z測(cè)精度會(huì)產(chǎn)生更大影響。然而Yc與Y相比具有更多的語(yǔ)義信息,這使得模型對(duì)同一類(lèi)別目標(biāo)變得更敏感,這可能會(huì)導(dǎo)致注意力區(qū)域更加聚集且感受野變小,處在聚集區(qū)域邊緣的有效目標(biāo)被識(shí)別為背景的概率變大。如圖3所示,處在注意力邊緣的特征丟失。
圖3 注意力區(qū)域分布對(duì)比圖Fig.3 Diagram of attention area distribution comparison
因此,想規(guī)避語(yǔ)義信息可能帶來(lái)的影響,本文選擇在更干凈的原始輸入特征圖Y中聚焦目標(biāo)位置區(qū)域,即用Y與Zs相乘得到特征圖Ys。計(jì)算公式為
式中:Zs為Yc經(jīng)過(guò)SAM獲取得到,本身已經(jīng)包含了一定通道注意力機(jī)制的先驗(yàn)知識(shí),因此權(quán)重Zs與Zc相比,能更好地聚焦Y的有效特征。另外,將Yc與Ys進(jìn)行加和操作是為了進(jìn)一步綜合空間圖Yc,計(jì)算公式為
和通道2個(gè)維度上的特征,互補(bǔ)地應(yīng)用于輸入特征圖。最后,sigmoid歸一化,得到基于空間和通道注意力權(quán)重矩陣Zcs,權(quán)重的大小可以反映特征圖中注意力分布情況,使得模型可以在更準(zhǔn)確的注意力區(qū)域獲取更多的有效特征。計(jì)算公式為
主干網(wǎng)絡(luò)在對(duì)輸入圖像不斷卷積提取特征的過(guò)程中,圖像分辨率不斷降低,這導(dǎo)致分辨率較小的小目標(biāo)特征信息丟失。FPN通過(guò)簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)改變,在計(jì)算量增加較少的情況下,采用多尺度特征融合方式,大幅提升了小目標(biāo)的檢測(cè)性能。YOLOv5采用PANet[15]結(jié)構(gòu)的多尺度特征融合方法,與FPN相比增加了自底向上的特征融合層,同時(shí)考慮淺層的高分辨率表征信息和深層的語(yǔ)義信息,以獲得分辨率高、語(yǔ)義特征強(qiáng)的特征信息。這種多尺度特征融合方式有利于提取小目標(biāo)特征。然而,特征融合會(huì)將不同層或分支的特征進(jìn)行組合,通常操作為特征的簡(jiǎn)單求和或拼接。這使得模型默認(rèn)對(duì)不同尺度特征圖以固定的權(quán)重分配特征,而忽視了不同尺度特征圖之間的差異[16]。與淺層大尺度特征圖相比,深層小尺度特征圖分辨率較低,小目標(biāo)的有效特征信息更少,更容易被模型識(shí)別為背景噪聲[17]。因此,在存在大量密集小目標(biāo)的無(wú)人機(jī)目標(biāo)檢測(cè)任務(wù)中,不同尺度特征圖的簡(jiǎn)單求和或拼接已經(jīng)不能有效地提取并融合小目標(biāo)的特征。
本文從特征融合角度出發(fā),設(shè)計(jì)了一種基于SCAM的空間-通道注意力特征融合(SC-AFF)模塊。核心思路是在特征融合過(guò)程中加入注意力機(jī)制,在通道和空間維度上對(duì)不同尺度特征圖分配注意力權(quán)重,來(lái)動(dòng)態(tài)地改變?cè)泄潭ㄌ卣鳈?quán)重分配方式,提高模型對(duì)小目標(biāo)特征提取能力提升。SC-AFF模塊對(duì)不同尺度特征圖的特征融合過(guò)程可以表示為
式中:Z代表經(jīng)過(guò)特征融合后的特征圖;X為特征金字塔中的低層高分辨率特征圖;Y為高層高語(yǔ)義特征圖經(jīng)過(guò)上采樣后的特征圖;SCAM(X⊕Y)表示X與Yelement-wise sum后,經(jīng)SCAM模塊后得到的注意力權(quán)重矩陣,記為η。
圖4為SC-AFF模塊的結(jié)構(gòu)示意圖,虛線(xiàn)框中內(nèi)容為原始特征融合結(jié)構(gòu)。本文認(rèn)為將更多有效權(quán)重分配給淺層高分辨率特征圖X,可以融合更多小目標(biāo)特征。同時(shí),將高權(quán)重分配給具有更多深層高語(yǔ)義信息的特征圖Y能減少淺層特征圖中語(yǔ)言歧義的問(wèn)題,提高模型的泛化能力。為了更加合理地分配權(quán)重,本文通過(guò)一種基于注意力機(jī)制的動(dòng)態(tài)權(quán)重分配方法來(lái)分配2種尺度下的特征圖權(quán)重。本文沒(méi)有分別計(jì)算X與Y的注意力權(quán)重,而是將X與Y融合后的特征圖,經(jīng)SCAM模塊計(jì)算注意力權(quán)重矩陣η。sigmoid后的η中權(quán)重范圍為0~1,因此可用式(4)中的權(quán)重分配方法[16],使得網(wǎng)絡(luò)能夠在X與Y之間進(jìn)行soft selection或weighted averaging。圖中虛線(xiàn)表示用元素全為1的系數(shù)矩陣減X的權(quán)重矩陣得到Y(jié)的權(quán)重矩陣。與原始特征融合相比,SCAFF能利用更加靈活和準(zhǔn)確的動(dòng)態(tài)注意力權(quán)重來(lái)融合更多小目標(biāo)特征,提高了最終的檢測(cè)精度。
圖4 SA-AFF模塊結(jié)構(gòu)示意圖Fig.4 Structure diagram of SC-AFF module
本文采用SC-AFF模塊替換YOLOv5特征金字塔網(wǎng)絡(luò)中的Concat模塊,替換后的結(jié)構(gòu)圖如圖5所示。從輸入圖像開(kāi)始,主干網(wǎng)絡(luò)中的下采樣操作會(huì)使得特征圖分辨率不斷減小,導(dǎo)致小目標(biāo)特征大量丟失。上采樣的目的是將較小特征圖放大到與較大特征圖相同尺寸,滿(mǎn)足特征融合的前提條件,這并沒(méi)有帶來(lái)更多的特征信息,但會(huì)對(duì)特征圖的質(zhì)量造成影響。修改后的特征融合網(wǎng)絡(luò)與原本直接由Concat操作進(jìn)行特征融合不同,SC-AFF利用SCAM模塊計(jì)算得到對(duì)應(yīng)特征圖的注意力權(quán)重,動(dòng)態(tài)分配權(quán)重到不同尺度特征圖,更好地融合上、下采樣后特征圖中的小目標(biāo)特征,緩解特征融合過(guò)程中小目標(biāo)特征丟失的問(wèn)題。
圖5 替換SC-AFF后的FPN結(jié)構(gòu)Fig.5 FPN structure after replacing SC-AFF
在無(wú)人機(jī)小目標(biāo)檢測(cè)中,復(fù)雜背景更容易遮擋小目標(biāo),不利于小目標(biāo)的特征提取。在主干網(wǎng)絡(luò)中,提取特征圖中的上下文信息,可以加強(qiáng)模型對(duì)有效目標(biāo)與背景噪聲的理解。但對(duì)復(fù)雜背景下的小目標(biāo)來(lái)說(shuō),提取到的上下文信息會(huì)存在大量無(wú)效信息,因此需要過(guò)濾掉這些噪聲,將更多注意力放到有效目標(biāo)上[18]。
近年來(lái),CNN和Self-Attention在計(jì)算機(jī)領(lǐng)域上都取得了長(zhǎng)足的發(fā)展。隨著Vision Transformer(ViT)[19]的出現(xiàn),基于Self-Attention結(jié)構(gòu)的模型在許多視覺(jué)領(lǐng)域中取得了優(yōu)異的表現(xiàn)。傳統(tǒng)卷積操作把局部感受野上得到的權(quán)值利用一個(gè)聚合函數(shù)在整個(gè)特征圖中共享,固有的特征為圖像處理帶來(lái)了至關(guān)重要的歸納偏置。Self-Attention則采用基于輸入特征上下文的加權(quán)平均操作,通過(guò)相似性函數(shù)動(dòng)態(tài)計(jì)算相關(guān)像素對(duì)之間的注意力權(quán)重,使得注意力模塊能夠自適應(yīng)地關(guān)注全局感受野下的不同區(qū)域,捕捉更多有效特征。卷積的局部性和Self-Attention的全局性存在互補(bǔ)的潛在性,因此將Self-Attention用于增強(qiáng)CNN的全局性成為了一種新的研究方向[20]。另一方面,注意力機(jī)制從本質(zhì)上來(lái)講是指從大量信息中篩選出重要信息,并讓模型聚焦到這些重要的信息上。注意力權(quán)重的大小表示模型對(duì)某一信息的聚焦程度,也代表了信息的重要性。Self-Attention機(jī)制屬于注意力機(jī)制的一種,減少了對(duì)外部信息的依賴(lài),更擅長(zhǎng)捕捉特征圖內(nèi)部的相關(guān)性,解決像素間的長(zhǎng)距離依賴(lài)問(wèn)題[21]。因此在Self-Attention網(wǎng)絡(luò)結(jié)構(gòu)中加入傳統(tǒng)的注意力機(jī)制,在不同維度上增強(qiáng)模型的特征提取能力也是本文的一個(gè)研究點(diǎn)。
在計(jì)算機(jī)視覺(jué)領(lǐng)域,圖像的每一個(gè)像素特征點(diǎn)都可以當(dāng)做是一個(gè)RGB三通道組成的1×1×3三維向量。一張圖像上有H×W個(gè)像素特征點(diǎn),輸入CNN模型的過(guò)程可以看做是將多個(gè)像素特征點(diǎn)組合輸入到模型,模型不僅僅考慮某一個(gè)像素,而是考慮由多個(gè)像素組成的方形感受野。類(lèi)似的,ViT將一張圖像切分為多個(gè)圖像塊,并嵌入位置編碼,得到輸入序列X。利用Self-Attention機(jī)制計(jì)算出X上每一圖像塊與其他圖像塊之間的相關(guān)性,得到注意力權(quán)重。這種相關(guān)性權(quán)重分配讓模型更多地集中在有效目標(biāo)而不是無(wú)關(guān)背景上。與CNN相比更利于捕獲在復(fù)雜背景干擾下密集小目標(biāo)的特征。利用Self-Attention機(jī)制計(jì)算自注意力全權(quán)重Z的過(guò)程為
十月的陽(yáng)光暖洋洋的,就像新麥面做的饅頭,又松軟又暄騰。蓮米問(wèn)我兒子取號(hào)冇,我說(shuō)他父取了,叫桂生,說(shuō)是桂子飄香時(shí)節(jié)生的。蓮米說(shuō),這兩個(gè)伢兒啊有福氣,都趕著節(jié)氣出生。我笑著說(shuō),我桂生中秋生的,有月餅吃;你二丫生在重陽(yáng),么事吃的都冇得,那福氣可就差遠(yuǎn)啰!蓮米說(shuō),那叫你桂生勻點(diǎn)兒福氣給二丫唦。我停下腳步,拉了蓮米一把,一本正經(jīng)地說(shuō),唉,蓮米呀,給這兩個(gè)伢兒結(jié)個(gè)親吧?蓮米哈哈笑著說(shuō),那要看你桂生將后有冇得好造化。我說(shuō),中秋生的,么會(huì)冇得好造化呢?你將后看吧。
式中:X為輸入序列;QKT用于計(jì)算每一個(gè)圖像塊對(duì)其他圖像塊(包括該圖像塊本身)的相關(guān)程度,通過(guò)softmax歸一化得到權(quán)重系數(shù),除以縮放因子來(lái)避免dK過(guò)大導(dǎo)致歸一化后產(chǎn)生的梯度過(guò)小的問(wèn)題。最后將權(quán)重系數(shù)和V進(jìn)行加權(quán)求和,得到每個(gè)圖像塊的自注意力權(quán)重矩陣Z。另外,Q、K、V分別是維度為dQ、dK、dV的3個(gè)矩陣(一般設(shè)置dQ=dK=dV),由輸入序列X分別乘以3個(gè)隨機(jī)初始化矩陣WQ、WK、WV計(jì)算得到:
因此,通過(guò)Self-Attention機(jī)制,只需要對(duì)輸入序列X進(jìn)行幾次矩陣變換就可得到不同圖像塊之間的注意力權(quán)重。然而,當(dāng)模型對(duì)當(dāng)前位置的圖像塊進(jìn)行注意力權(quán)重計(jì)算時(shí),Self-Attention會(huì)使得模型過(guò)度集中于自身位置而忽略其他位置的圖像塊特征,如圖6所示,Q與KT進(jìn)行矩陣相乘后,會(huì)導(dǎo)致對(duì)角線(xiàn)上的權(quán)重值較大。
圖6 注意力權(quán)重計(jì)算Fig.6 Attention weight calculation
基于以上需求和問(wèn)題,本文在YOLOv5主干網(wǎng)絡(luò)中引入基于Self-Attention的Transformer Encoder,可以在避免圖6中的特征權(quán)重過(guò)度集中在對(duì)角線(xiàn)問(wèn)題的同時(shí),進(jìn)一步加強(qiáng)主干網(wǎng)絡(luò)對(duì)特征圖中有效的上下文信息的提取能力。
另外,提出SC-Transformer結(jié)構(gòu),如圖7所示,該模塊包含2個(gè)子層,第1層為多頭注意力模塊(Multi-Head Attention Module);第2層為前饋神經(jīng)網(wǎng)絡(luò),主要由一個(gè)多層感知機(jī)(MLP)組成。每一子層前應(yīng)用LayerNorm,每一子層后應(yīng)用DropPath。在樣本數(shù)小的情況下,前者對(duì)隱含層做層歸一化,能加速模型收斂,后者在訓(xùn)練過(guò)程中隨機(jī)丟棄子圖層,防止模型過(guò)擬合。每一子層之間用殘差連接,避免由于網(wǎng)絡(luò)深度的增加,導(dǎo)致梯度消失問(wèn)題和權(quán)重矩陣退化,使得訓(xùn)練更加容易。最后將殘差連接處的特征融合模塊替換為SC-AFF模塊,引入注意力機(jī)制,將輸入的特征圖作為SC-AFF模塊的X,將DropPath的輸出特征圖作為Y。從通道和空間維度進(jìn)一步聚焦有效特征區(qū)域。
圖7 SC-Transformer Encoder結(jié)構(gòu)圖Fig.7 Structure diagram SC-Transformer Encoder
Multi-Head Attention Module可以理解為多個(gè)帶有Self-Attention機(jī)制的模塊組成的Multi-Head Attention。將輸入序列X分為多個(gè)子空間進(jìn)行多組Self-Attention處理,將每一子空間得到的結(jié)果拼接起來(lái)進(jìn)行一次線(xiàn)性變換得到最終的輸出,如圖8所示。這使得模型能夠綜合利用各子空間中的特征信息,緩解圖6中過(guò)度集中自身位置信息的問(wèn)題,有助于模型捕捉更豐富的特征信息。該過(guò)程可表示為
圖8 多頭注意力模塊計(jì)算流程Fig.8 Multi-head attention model calculation process
式中:i為頭的個(gè)數(shù),一個(gè)頭對(duì)應(yīng)一個(gè)子空間。將輸入序列X先經(jīng)過(guò)式(8)得到Q、K、V,再分別輸入到i個(gè)不同的子空間中,利用式(10)計(jì)算得到i個(gè)head,即i個(gè)自注意力權(quán)重矩陣Z1,Z2,…,Zi,再用Concat模塊拼接在一起,最終點(diǎn)乘權(quán)重矩陣WO,得到最終的自注意力權(quán)重矩陣Z。
本文在YOLOv5主干網(wǎng)絡(luò)中使用提出的SC-Transformer,首先需要生成一個(gè)(N,D)的二維序列X滿(mǎn)足輸入條件,如圖8中的序列X。其中N是序列的長(zhǎng)度,D是序列中每個(gè)向量的大小。然而,原始YOLOv5主干網(wǎng)絡(luò)中都是H×W×C的三維特征圖,因此需要將三維特征圖轉(zhuǎn)化為二維序列輸入。以維度為224×224×3的特征圖和P=16為例。首先,將224×224大小的特征圖劃分為N個(gè)16×16的圖像塊,其中N=HW/P2,共196個(gè)圖像塊。以取左上角這一圖像塊為例,在C個(gè)通道上展開(kāi)得到1×(P2×C)維度的特征向量,作為X′的第1行向量。其他圖像塊操作相同,拼接得到一個(gè)196×768的二維矩陣X′,最后對(duì)X′進(jìn)行線(xiàn)性變換,得到最終滿(mǎn)足條件的輸入序列X。序列化示意圖如圖9所示。
圖9 特征圖序列化Fig.9 Feature map serialization
多頭注意力模塊中的Self-Attention機(jī)制作為SC-Transformer中的核心模塊,使得當(dāng)前特征圖中每個(gè)像素更關(guān)注其他像素特征,建立各個(gè)像素間的相關(guān)性權(quán)重,根據(jù)權(quán)重大小分析出不同目標(biāo)之間存在的某種聯(lián)系,從全局提取出更多的有效特征,獲得更豐富的上下文信息。另外,用SCAFF模塊替換殘差連接處的特征融合模塊,引入動(dòng)態(tài)注意力權(quán)重,從通道和空間維度進(jìn)一步提高特征融合能力。因此,在主干網(wǎng)絡(luò)在中添加SCTransformer模塊,可以增強(qiáng)主干網(wǎng)絡(luò)在復(fù)雜背景下對(duì)小目標(biāo)的特征提取能力。
本文使用VisDrone2021數(shù)據(jù)集來(lái)訓(xùn)練和評(píng)估模型,該數(shù)據(jù)集由天津大學(xué)機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘?qū)嶒?yàn)室AISKYEYE團(tuán)隊(duì)負(fù)責(zé),全部基準(zhǔn)數(shù)據(jù)集由無(wú)人機(jī)拍攝,包括288個(gè)視頻片段,總共包括261 908幀和10 209個(gè)靜態(tài)圖像,其中選取了6 471張作為訓(xùn)練集,3 190張測(cè)試集和548張驗(yàn)證集。圖像種類(lèi)包括汽車(chē)、行人、公交車(chē)、自行車(chē)、三輪車(chē)、帶篷三輪車(chē)、卡車(chē)、面包車(chē)、人以及摩托車(chē)10類(lèi),共260萬(wàn)個(gè)標(biāo)注。圖10是訓(xùn)練集中所有標(biāo)簽大小的分布圖可以發(fā)現(xiàn)左下角聚集了更多的點(diǎn),說(shuō)明VisDrone2021數(shù)據(jù)集中存在更多的小目標(biāo),反映了無(wú)人機(jī)在實(shí)際應(yīng)用場(chǎng)景的一般情況,與本文的研究背景和問(wèn)題契合。
圖10 訓(xùn)練集中所有標(biāo)簽的大小分布Fig.10 Size distribution of all labels in training set
本文使用Ubuntu20.04系統(tǒng),實(shí)驗(yàn)環(huán)境為python3.6.13,pytorch1.8.0,cuda11.1。所有的模型都在NVIDIA RTX 3080Ti GPU運(yùn)行,在相同超參數(shù)下(不一定最優(yōu))進(jìn)行訓(xùn)練、驗(yàn)證和測(cè)試。其中,訓(xùn)練epochs設(shè)置為300,warmup epochs為3,初始學(xué)習(xí)率為0.01。采取mAP50、mAP75、mAP50:95、Params(參數(shù)量,Parameters)、Pre(精確率,Precision)、GFLOPs、FPS等指標(biāo)作為模型性能的評(píng)價(jià)指標(biāo)。mAP50、mAP75分別表示IoU閾值為0.5、0.75時(shí)所有目標(biāo)類(lèi)別的平均檢測(cè)精度,其中mAP50反映算法對(duì)不同類(lèi)別目標(biāo)的綜合分類(lèi)能力,mAP75更能反映算法對(duì)目標(biāo)邊界框的回歸能力。mAP50:95代表以步長(zhǎng)為0.05,計(jì)算IoU閾值從0.5~0.95的所有10個(gè)IoU閾值下的檢測(cè)精度的平均值。一般來(lái)說(shuō),IoU閾值越高對(duì)模型的回歸能力要求越高,在高閾值下的檢測(cè)指標(biāo)越高,模型的檢測(cè)結(jié)果更貼合實(shí)際目標(biāo)。GFLOPs為每秒10億次的浮點(diǎn)運(yùn)算,用于衡量訓(xùn)練模型時(shí)的計(jì)算復(fù)雜度。Params值模型的參數(shù)量,用于衡量計(jì)算內(nèi)存資源的消耗。FPS是指模型每秒能檢測(cè)多少?gòu)垐D像,用于衡量模型的實(shí)時(shí)性。由于無(wú)人機(jī)航拍圖像分辨率較高,且FPS與檢測(cè)圖像分辨率有直接的關(guān)系。一般來(lái)說(shuō),相同模型和運(yùn)行環(huán)境下,檢測(cè)時(shí)輸入圖像的分辨率越高,F(xiàn)PS越低。因此本文的FPS都是在檢測(cè)1 504×1 504的高分辨率圖像下測(cè)得,記FPS1504。
為驗(yàn)證提出的空間-通道注意力模塊SCAM和基于注意力特征融合模塊SC-AFF,以及引入Self-Attention機(jī)制的自注意力主干網(wǎng)絡(luò)的有效性,本文進(jìn)行消融實(shí)驗(yàn)評(píng)估不同模塊在相同實(shí)驗(yàn)條件下對(duì)目標(biāo)檢測(cè)算法性能的影響。消融實(shí)驗(yàn)中選擇Ultralytics 5.0版本的YOLOv5s作為基準(zhǔn)模型,設(shè)輸入圖像分辨率為640×640,訓(xùn)練300個(gè)epoch后的結(jié)果見(jiàn)表2和圖11所示。
表2 消融實(shí)驗(yàn)Table 2 Ablation experiment
圖11 消融實(shí)驗(yàn)的mAP50、mAP75、mAP50:95Fig.11 Ablation experiments of mAP50, mAP75, and mAP50:95
消融實(shí)驗(yàn)結(jié)果B和C表明SCAM具有更好的性能,mAP50比CBAM提高了0.7%,且網(wǎng)絡(luò)參數(shù)量減少了0.299 1 M,F(xiàn)LOPs減少了0.8 G,F(xiàn)PS1504提高了40。模型D在替換SC-AFF注意力特征融合模塊后與模型C相比,mAP50提升了2.7%,這說(shuō)明將注意力機(jī)制與特征融合模塊本身相結(jié)合比簡(jiǎn)單地將注意力模塊嵌入到FPN中效果更好。即為不同尺度的特征圖,根據(jù)注意力權(quán)重合理分配計(jì)算資源,能夠在不增加過(guò)多計(jì)算量的情況下有效提高模型的檢測(cè)精度。模型E在backbone引入Transformer模塊后檢測(cè)精度提升明顯,在YOLOv5s的基礎(chǔ)上提升了3.0%,證明了Self-Attention的有效性。但參數(shù)量增加了1.392 3M,GFLOPs增加了3.2,導(dǎo)致檢測(cè)速度大幅降低。分析認(rèn)為Self-Attention機(jī)制本身需要消耗較大的計(jì)算資源計(jì)算每張?zhí)卣鲌D中各像素之間的相關(guān)性權(quán)重,且檢測(cè)速度與參數(shù)量和計(jì)算復(fù)雜度呈明顯的負(fù)相關(guān)性。因此,考慮實(shí)際應(yīng)用情況,為減少計(jì)算開(kāi)銷(xiāo)、提高訓(xùn)練效率、提高模型檢測(cè)精度和速度,本文只在主干網(wǎng)絡(luò)末端插入Transformer結(jié)構(gòu)。模型F用SC-AFF模塊替換Transformer殘差連連接處的特征融合模塊后,mAP50進(jìn)一步提升1.2%,且模型收斂速度變快,如圖11所示。這說(shuō)明SC-AFF在Transformer中不僅能提高檢測(cè)精度,還可以提高收斂速度。分析認(rèn)為將殘差連接處的特征融合方式改為了SC-AFF,為skip connection來(lái)的特征圖計(jì)算注意力權(quán)重,將特征學(xué)習(xí)范圍縮小到注意力區(qū)域,讓網(wǎng)絡(luò)朝著梯度更快更準(zhǔn)的方向下降,因此提高了精度和加速了收斂。模型G在F的基礎(chǔ)上在backbone和neck中添加SCAM,以及在FPN中替換SC-AFF模塊,驗(yàn)證最終改進(jìn)模型在網(wǎng)絡(luò)規(guī)模為s下的性能。最終的mAP50比模型F提高了2.2%,比YOLOv5 baseline提高了6.4%,進(jìn)一步說(shuō)明了這2個(gè)模塊的有效性,證明本文改進(jìn)方法在YOLOv5的基礎(chǔ)上大幅提高了檢測(cè)精度,且保證了實(shí)時(shí)性。
為了適用與不同的應(yīng)用場(chǎng)景,YOLOv5通過(guò)調(diào)節(jié)網(wǎng)絡(luò)深度(depth_multiple)和網(wǎng)絡(luò)寬度(width_multiple)參數(shù),來(lái)改變網(wǎng)絡(luò)整體規(guī)模大小。在本文實(shí)驗(yàn)中,YOLOv5n是YOLOv5 6.0版本提出的新模型,網(wǎng)絡(luò)規(guī)模最小,具有最小的參數(shù)量和計(jì)算復(fù)雜度,且檢測(cè)速度更快,但檢測(cè)精度不如網(wǎng)絡(luò)規(guī)模更大的YOLOv5s、m、l 和x。因此,需要在不同大小的網(wǎng)絡(luò)規(guī)模中選擇一個(gè)最適合無(wú)人機(jī)小目標(biāo)實(shí)時(shí)目標(biāo)檢測(cè)的模型,其應(yīng)具備基本的檢測(cè)速度和較高的檢測(cè)精度。
本文在VisDrone2021數(shù)據(jù)集上,根據(jù)不同網(wǎng)絡(luò)規(guī)模參數(shù)(n、s、m)和輸入圖像分辨率參數(shù)(640、1 024、1 504)進(jìn)行改進(jìn)前后的對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示,其中YOLOv5n是6.0版本的網(wǎng)絡(luò)結(jié)構(gòu)。
表3 訓(xùn)練時(shí)不同輸入圖像分辨率和網(wǎng)絡(luò)規(guī)模的影響Table 3 Effect of different input image resolutions and network size during training
無(wú)人機(jī)航拍圖像往往分辨率高,由于小目標(biāo)分辨率低,高分辨率圖像可以保留更多的細(xì)節(jié)特征,最終的檢測(cè)性能也更好。如表3所示,在訓(xùn)練階段,YOLOv5s輸入圖像分辨率參數(shù)為1 504時(shí),mAP50比640提高了18.9%,且FPS保持不變。分析認(rèn)為,由于網(wǎng)絡(luò)結(jié)構(gòu)和規(guī)模并未改變,訓(xùn)練時(shí)輸入圖像分辨率的增大對(duì)模型的參數(shù)量和實(shí)時(shí)性都沒(méi)有影響。因此,可以提高模型訓(xùn)練時(shí)輸入圖像的分辨率,實(shí)現(xiàn)在不損失檢測(cè)實(shí)時(shí)性的前提下,大幅提高檢測(cè)精度。然而,高分辨率的輸入圖像使得計(jì)算量顯著增長(zhǎng),訓(xùn)練時(shí)間成倍增長(zhǎng)。以Proposed-s模型為例,對(duì)于分辨率參數(shù)為1 504的圖像,在本文實(shí)驗(yàn)環(huán)境下訓(xùn)練1 epoch需要15 min 32 s左右,且GFLOPs達(dá)到了109.7,是Proposed-s640的5倍。對(duì)于網(wǎng)絡(luò)規(guī)模更大的模型,由于其參數(shù)量和計(jì)算量更大,訓(xùn)練時(shí)間將更長(zhǎng),且模型權(quán)重文件大小過(guò)大導(dǎo)致部署難度上升,如Proposed-m模型的文件大小超過(guò)200 MB,這些因素可能無(wú)法滿(mǎn)足實(shí)際應(yīng)用場(chǎng)景需求。另外需要注意輸入圖像分辨率過(guò)高會(huì)導(dǎo)致模型計(jì)算過(guò)于復(fù)雜,出現(xiàn)過(guò)擬合現(xiàn)象,導(dǎo)致檢測(cè)精度降低。因此不能一味地提高輸入圖像分辨率。
對(duì)于實(shí)時(shí)性,如表3所示,YOLOv5s640比YOLOv5n640參數(shù)量增加5.26 M,計(jì)算量增加11.7 GFLOPs,F(xiàn)PS降低了262。說(shuō)明隨著網(wǎng)絡(luò)規(guī)模的增大,計(jì)算量和參數(shù)量都顯著增大,檢測(cè)實(shí)時(shí)性下降明顯。另外,如圖12所示,檢測(cè)階段輸入圖像的分辨率不僅對(duì)檢測(cè)速度產(chǎn)生影響,還會(huì)影響檢測(cè)精度。隨著檢測(cè)時(shí)輸入圖像分辨率的增大,F(xiàn)PS整體呈下降趨勢(shì)。當(dāng)分辨率參數(shù)由320增加到1 024和由1 920增加到2 048時(shí),對(duì)FPS的影響較小,由1 024增加到1920時(shí),影響較大。當(dāng)分辨率參數(shù)達(dá)到4 096時(shí),F(xiàn)PS最低。說(shuō)明檢測(cè)時(shí)圖像分辨率的大小會(huì)對(duì)檢測(cè)的實(shí)時(shí)性產(chǎn)生一定影響,且無(wú)人機(jī)航拍圖像分辨率較高,因此對(duì)模型實(shí)時(shí)性的要求更高。另外,隨著檢測(cè)時(shí)輸入圖像分辨率的增大,mAP50呈現(xiàn)快速上升后緩慢下降的趨勢(shì)。說(shuō)明檢測(cè)圖像分辨率大小會(huì)影響檢測(cè)精度,分析認(rèn)為在檢測(cè)階段,分辨率越高意味著目標(biāo)的特征信息更豐富,特別對(duì)于密集小目標(biāo)來(lái)說(shuō),分辨率的高低直接影響小目標(biāo)細(xì)節(jié)特征是否得到保留。然而,從圖中發(fā)現(xiàn)分辨率參數(shù)由1 504增大到4 096的過(guò)程中,mAP50開(kāi)始下降。分析認(rèn)為過(guò)高的檢測(cè)分辨率導(dǎo)致檢測(cè)模型與訓(xùn)練時(shí)的輸入圖像分辨率相差過(guò)大,出現(xiàn)模型學(xué)習(xí)到的特征參數(shù)與檢測(cè)圖像不匹配的問(wèn)題,導(dǎo)致檢測(cè)精度不升反降。因此,在訓(xùn)練階段的圖像分辨率應(yīng)與檢測(cè)時(shí)的分辨率相差不大,避免過(guò)擬合現(xiàn)象的發(fā)生。在VisDrone2021數(shù)據(jù)集中,大多數(shù)圖像分辨率為1 360×765與1 920×1 080,因此本文折中采用1 504分辨率參數(shù)作為訓(xùn)練和檢測(cè)時(shí)的圖像分辨率,實(shí)驗(yàn)表明在保證足夠的實(shí)時(shí)性的前提下,檢精度更高。
圖12 Proposed-s模型在不同檢測(cè)圖像分辨率下的FPS及mAP50變化圖Fig.12 Variation of FPS and mAP50 of Proposed-s model at different detection image resolutions
綜上實(shí)驗(yàn)結(jié)論,本文以檢測(cè)精度和速度為側(cè)重點(diǎn),同時(shí)考慮模型實(shí)際部署難度,考慮到l和x規(guī)模下的模型實(shí)時(shí)性會(huì)因?yàn)榫W(wǎng)絡(luò)規(guī)模的增大而大大降低,且n規(guī)模下模型的檢測(cè)速度性能過(guò)剩、檢測(cè)精度較低。因此本文認(rèn)為Proposed-s模型參數(shù)量和計(jì)算量較低,具有更好的實(shí)時(shí)性和檢測(cè)精度,能更好地滿(mǎn)足實(shí)際項(xiàng)目需求。
為驗(yàn)證本文改進(jìn)后的目標(biāo)檢測(cè)算法相比與其他算法的優(yōu)越性,本文與各種先進(jìn)的目標(biāo)檢測(cè)算法進(jìn)行對(duì)比實(shí)驗(yàn),主要測(cè)試算法的檢測(cè)精度和檢測(cè)速度,結(jié)果如表4所示。首先與一些經(jīng)典的目標(biāo)檢測(cè)算法做對(duì)比實(shí)驗(yàn),再與Ultralytics 9.6.0版本的YOLOv3算法、YOLOv4以及YOLOv5-v6.0版本模型進(jìn)行對(duì)比。其中,YOLOv3-SPP使用SPPNet[27]中的空間金字塔池化(Spatial Pyramid Pooling,SPP),在主干網(wǎng)絡(luò)中實(shí)現(xiàn)多尺度的特征融合,其mAP50較YOLOv3提高了0.2%,說(shuō)明添加該模塊后檢測(cè)精度有所提升,且YOLOv4、YOLOv5中也使用了SPP模塊。
表4 不同目標(biāo)檢測(cè)算法的對(duì)比實(shí)驗(yàn)Table 4 Comparison experiments of different object detection algorithms
由表4可得結(jié)論,本文所提出的改進(jìn)算法在保證基本的實(shí)時(shí)檢測(cè)的前提下,檢測(cè)精度也優(yōu)于其他算法,mAP50比YOLOv4提高了11.5%,達(dá)到54.5%,比YOLOv5 6.0提高了9.8%,且FPS可達(dá)到46。綜合來(lái)看,本文提出的算法在backbone引入注意力機(jī)制和自注意力機(jī)制,將更多注意力聚集到密集小目標(biāo)區(qū)域,提高小目標(biāo)特征提取能力;同時(shí)在neck的特征融合網(wǎng)絡(luò)中引入了注意力機(jī)制,動(dòng)態(tài)分配不同尺度特征圖的權(quán)重,提高小目標(biāo)特征圖融合能力。本文改進(jìn)算法在保證一定的實(shí)時(shí)性的前提下,有效地提高了小目標(biāo)的特征提取能力,使得模型在處理無(wú)人機(jī)航拍圖像目標(biāo)檢測(cè)任務(wù)時(shí)具有更大優(yōu)勢(shì)。
為驗(yàn)證改進(jìn)算法在實(shí)際場(chǎng)景中的目標(biāo)檢測(cè)效果,本文使用VisDrone2021測(cè)試集中的具有代表性并且檢測(cè)較為困難的圖像進(jìn)行測(cè)試,評(píng)估算法對(duì)所有類(lèi)別目標(biāo)的實(shí)際結(jié)果并可視化分析。檢測(cè)效果如圖13所示。
圖13 不同困難條件下的檢測(cè)效果圖Fig.13 Diagram of detection effect under different difficult conditions
圖13(a)為街道實(shí)際拍攝場(chǎng)景檢測(cè)效果,該場(chǎng)景下存在大量遮擋的小目標(biāo)。改進(jìn)后的算法可以很好檢測(cè)出被樹(shù)遮擋的不同種類(lèi)車(chē)輛,且遠(yuǎn)處騎車(chē)的人和自行車(chē)也可以區(qū)分開(kāi)來(lái),說(shuō)明模型能夠檢測(cè)出受遮擋和重疊度高的小目標(biāo)。圖13(b)為檢驗(yàn)光線(xiàn)變化大情況下對(duì)檢測(cè)效果的影響,圖中存在昏暗場(chǎng)景下的密集人群以及光線(xiàn)充足場(chǎng)景下的行人,可以發(fā)現(xiàn)模型受光線(xiàn)變換影響較小,在昏暗場(chǎng)景依舊具有較好的檢測(cè)能力。圖13(c)為高空拍攝下的檢測(cè)效果圖,路上的行人目標(biāo)極小,但都能被準(zhǔn)確地檢測(cè)出來(lái),說(shuō)明模型對(duì)小目標(biāo)的檢測(cè)能力突出。圖13(d)為實(shí)際拍攝場(chǎng)景中可能由于無(wú)人機(jī)或攝像頭云臺(tái)轉(zhuǎn)動(dòng)過(guò)快導(dǎo)致的拍攝圖像模糊失真的情況。可以發(fā)現(xiàn)模型依舊可以檢測(cè)出模糊場(chǎng)景下的目標(biāo),說(shuō)明算法具有較好的魯棒性,以應(yīng)對(duì)實(shí)際情況。
為驗(yàn)證本文改進(jìn)算法在密集小目標(biāo)場(chǎng)景下的檢測(cè)優(yōu)化效果,選取VisDrone2021測(cè)試集中不同環(huán)境背景條件下的密集小目標(biāo)場(chǎng)景圖像作為測(cè)試對(duì)象,做可視化對(duì)比。如圖14所示,圖14(a)為改進(jìn)后的算法,圖14(b)為YO-LOv5s baseline。選取街道、市場(chǎng)、白天與夜晚路口等場(chǎng)景作為檢測(cè)對(duì)象。改進(jìn)后算法通過(guò)注意力機(jī)制,強(qiáng)化了網(wǎng)絡(luò)對(duì)密集小目標(biāo)區(qū)域的特征提取能力。在不同尺度特征圖融合中引入注意力機(jī)制動(dòng)態(tài)分配權(quán)重,使得模型可以更好地結(jié)合不同尺度下的小目標(biāo)特征,保留更多特征融合后的小目標(biāo)特征信息。在主干網(wǎng)絡(luò)中引入自注意力機(jī)制,通過(guò)弱化背景噪聲干擾、提高全局特征提取能力,來(lái)強(qiáng)化小目標(biāo)區(qū)域特征。如圖14所示,在處理密集小目標(biāo)時(shí)具有更好的性能,不僅能減少漏檢和誤檢,且受環(huán)境光照變化的影響也更小??偟膩?lái)說(shuō),改進(jìn)后的YOLOv5算法檢測(cè)精度有一定提升,且對(duì)于密集小目標(biāo)區(qū)域檢測(cè)效果提升明顯。
圖14 檢測(cè)效果對(duì)比Fig.14 Comparison of object detection results
本文提出一種基于改進(jìn)YOLOv5的目標(biāo)檢測(cè)算法,意在提高其在密集小目標(biāo)場(chǎng)景下的檢測(cè)性能,用于實(shí)時(shí)的無(wú)人機(jī)航拍目標(biāo)檢測(cè)任務(wù)。
1) 在不損失過(guò)多精度的情況下,大量降低參數(shù)量和計(jì)算量。另外,使模塊更側(cè)重于捕獲空間維度的特征信息,減少了注意力過(guò)度聚集導(dǎo)致的特征丟失問(wèn)題。模型可以根據(jù)注意力權(quán)重大小分布,將更多計(jì)算資源聚焦到密集小目標(biāo)區(qū)域,減少?gòu)?fù)雜背景的噪聲干擾,提高小目標(biāo)特征提取能力。經(jīng)實(shí)驗(yàn),該模塊計(jì)算開(kāi)銷(xiāo)不大,效果明顯,可以在主干網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò)中多次使用。本文進(jìn)一步提高了特征融合效率,特別是小目標(biāo)區(qū)域特征。并提高了輸入圖像的全局特征提取能力,弱化背景噪聲的干擾。
2) 進(jìn)一步提高了主干網(wǎng)絡(luò)對(duì)密集小目標(biāo)區(qū)域的特征提取能力,并加速收斂。在Vis-Drone2021數(shù)據(jù)集中的實(shí)驗(yàn)結(jié)果表明,與其他目標(biāo)檢測(cè)算法相比,本文提出改進(jìn)算法在大幅提高檢測(cè)精度的同時(shí)保證了基本的實(shí)時(shí)性,可以應(yīng)用在實(shí)際無(wú)人機(jī)實(shí)時(shí)目標(biāo)檢測(cè)任務(wù)中。
3) 本文算法在引入Transformer Encoder結(jié)構(gòu)后,參數(shù)量、計(jì)算量大大增加,且實(shí)時(shí)性大幅降低,因此可以進(jìn)一步研究如何融合Self-Attention與CNN來(lái)實(shí)現(xiàn)更加輕量化且高效的模型。另外,對(duì)于如何利用無(wú)人機(jī)有限的機(jī)載計(jì)算資源,實(shí)現(xiàn)高性能的目標(biāo)檢測(cè)任務(wù)這一問(wèn)題,可以繼續(xù)展開(kāi)對(duì)改進(jìn)后的YOLOv5網(wǎng)絡(luò)模型輕量化的研究。