張?zhí)諏?,陳恩慶,肖文福
(鄭州大學 信息工程學院,鄭州 450001)
目標檢測技術(shù)是計算機視覺領(lǐng)域中的重要組成部分,具有較高的研究價值[1].它通常是許多實際應(yīng)用實現(xiàn)的起點,比如智能機器人和自動駕駛汽車,衛(wèi)星和航空圖像分析,以及醫(yī)療診斷和產(chǎn)品缺陷檢測等.目前主流的目標檢測方法包括基于圖像特征匹配的傳統(tǒng)機器學習算法[2]以及深度學習算法[3].傳統(tǒng)的特征匹配算法需要手動提取感興趣(ROI)區(qū)域,利用滑動窗口定位目標物體,再通過紋理特征匹配和顏色直方圖識別目標[4].但是傳統(tǒng)的機器學習算法檢測精度往往較低,無法達到實際應(yīng)用要求;深度學習類算法主要包括基于區(qū)域建議的R-CNN[5]系列以及基于回歸的算法YOLO[6]、SSD[7]等,其在目標檢測的精度上相較傳統(tǒng)方法有了質(zhì)的提升,但是也存在明顯的缺點,如候選框數(shù)量眾多導致運算量龐大、占用硬盤空間大等.深度學習類算法實施過程需要高性能GPU支持,很難滿足實時性要求[8],尤其是在運算能力較弱的嵌入式設(shè)備上很難實現(xiàn)實時應(yīng)用[9].針對此問題,Adamdad等人提出一種輕量化深度學習模型MobileNet_YOLOv3[10],將YOLOv3與深度可分離卷積結(jié)合,解決了深度學習模型參數(shù)量大、無法部署于嵌入式端的問題,但其在小目標與遮擋物的場景中精度較差,無法實現(xiàn)廣泛應(yīng)用.
針對傳統(tǒng)深度學習方法運算效率不高難以在嵌入式目標檢測中應(yīng)用的問題與難點,本文提出一種將MobileNet_YOLOv3目標檢測模型與多尺度特征融合思想相結(jié)合的改進MobileNet_YOLOv3模型——MSFAN,以克服輕量化目標檢測模型在小目標物體上精度較低的問題,在保持相對原MobileNet_YOLOv3模型檢測速度不降低太多的前提下有效提升檢測精度,從而能夠滿足嵌入式終端實時性、高精度目標檢測的要求.下面將首先簡要介紹原MobileNet_YOLOv3模型的相關(guān)理論基礎(chǔ),然后重點介紹所提出的MSFAN模型結(jié)構(gòu)和關(guān)鍵創(chuàng)新,最后給出在國際通用數(shù)據(jù)集上測試的結(jié)果以驗證所提模型的有效性.
YOLOv3[11]是一個端到端的回歸網(wǎng)絡(luò)模型,其基礎(chǔ)網(wǎng)絡(luò)是Joseph Redmon設(shè)計的Darknet-53網(wǎng)絡(luò)架構(gòu)(網(wǎng)絡(luò)中包含53個卷積層),它由連續(xù)的3×3和1×1卷積層組合而成.由于主干網(wǎng)絡(luò)設(shè)計為全卷積層,所以特征圖的尺寸的修改是通過卷積層來實現(xiàn)的.
通過Darknet-53網(wǎng)絡(luò)提取到圖像的特征信息后,YOLOv3使用K-Means[12]聚類來確定邊界框的先驗,即在基礎(chǔ)網(wǎng)絡(luò)后通過3個尺度的特征層進行邊界框的預(yù)測,從而提升小目標的檢測效果.將最后卷積層設(shè)為預(yù)測層,輸出邊界框、目標位置和分類置信度3個張量維度.YOLOv3將殘差的概念融入YOLOv2網(wǎng)絡(luò)中,并借鑒了ResNet的shortcut層,以更少的參數(shù)、更少的計算量實現(xiàn)了與R-CNN系列接近的目標檢測效果.
MobileNet[13]網(wǎng)絡(luò)是一種使用深度可分離卷積結(jié)構(gòu)來構(gòu)建的輕量級深度神經(jīng)網(wǎng)絡(luò)模型.如圖1所示,深度可分離卷積將標準卷積分解成DK×DK的深度卷積和一個1×1的逐點卷積.假設(shè)輸入特征圖有M個通道,輸出特征圖的通道數(shù)N,卷積核大小為DK×DK,則深度卷積與標準卷積部分的計算量比較如公式(1):

圖1 標準卷積結(jié)構(gòu)和深度可分離卷積結(jié)構(gòu)

(1)
其中N?K2,且DK=3.可見,MobileNet 網(wǎng)絡(luò)的卷積方式和標準卷積方式相比大大減少了計算量.
基于MobileNet模型的基本思想,MobileNet_YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.首先,MobileNet_YOLOv3模型將原始YOLOv3的基礎(chǔ)網(wǎng)絡(luò)Darknet-53中的標準卷積結(jié)構(gòu)替換為深度可分離卷積結(jié)構(gòu),然后去掉Darknet-53后面的全連接層和Softmax層.其中深度可分離卷積模塊將卷積操作分成了深度卷積和點卷積兩個步驟,其中3×3深度卷積對于不同輸入通道采取不同的卷積核進行卷積,再通過1×1點卷積完成對深度卷積輸出特征圖的整合,這樣就避免了普通卷積層中任意一個卷積核都需要對所有通道進行操作的缺陷.通過深度可分離卷積結(jié)構(gòu)建立的網(wǎng)絡(luò)模型,其參數(shù)量約為普通卷積的1/9,大大精簡了整個模型的規(guī)模,極大地減少了計算量.

圖2 MobileNet_YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
MobileNet_YOLOv3網(wǎng)絡(luò)模型在YOLOv3基礎(chǔ)上降低了計算量,使其模型參數(shù)量大大降低,但同時也存在著一些缺點,在檢測一些目標較小的物體或目標物體被其他物體遮擋時檢測精度并不高.導致此問題出現(xiàn)的原因分析如下:
對于一幀輸入圖像而言,其多尺度特征圖在 YOLOv3 網(wǎng)絡(luò)模型中的數(shù)學定義如公式(2)和公式(3):
Fn=tn(Fn-1)=tn(tn-1(…t1(I)))
(2)
D=f(dn(Fn),…,dn-k(Fn-k)),n>k>0
(3)
公式(2)中,函數(shù)tn代表第n層特征圖與第n-1層特征圖之間的非線性映射函數(shù),其中函數(shù)中主要的操作有3個,分別為池化、卷積和非線性激活函數(shù)操作;用Fn對第n層的特征圖表示;輸入圖像用t1(I)中的I表示,其中第1層特征圖用下標中的1表示,輸入圖像和第n層的特征圖之間的非線性函數(shù)可以用tn(I)表示;再用非線性函數(shù)對特征圖進行卷積操作,并獲得最終的檢測結(jié)果對應(yīng)的非線性函數(shù),在公式(3)中用f(·)表示;采用非線性映射的方法對第n層特征圖進行處理,進而可以獲得位于某一范圍內(nèi)的檢測結(jié)果,這個結(jié)果用dn(·)表示.
從上面的兩個公式中可以發(fā)現(xiàn),由于不同的特征層對應(yīng)著不同尺度大小的目標結(jié)果,為了保證所獲得的檢測結(jié)果更加準確,通常需要應(yīng)用各種非線性函數(shù),但是也需要保證網(wǎng)絡(luò)結(jié)構(gòu)中的每一層特征圖所包含的信息都足夠多.在利用MobileNet_YOLOv3網(wǎng)絡(luò)模型進行檢測的過程中,需要遵循上述一些假設(shè).要想保證特征圖中所具有的信息足夠復(fù)雜和豐富,必須滿足下面3個要求:首先為了保證提取的圖像信息更加抽象,需要提高網(wǎng)絡(luò)結(jié)構(gòu)的層數(shù);特征層要盡可能的大,保證分辨率滿足要求;其中所包含的語義信息要足夠豐富,便于對一些小目標物體或被其他物體遮擋的目標物體進行較為準確的檢測.
MobileNet_YOLOv3網(wǎng)絡(luò)雖然采用多尺度特征檢測來提高檢測的精確度,但在特征提取過程中有多次下采樣處理,最終的檢測層停留在深層特征圖中,淺層特征信息被忽略,從而導致小目標的像素度過小,因而網(wǎng)絡(luò)模型在學習過程中被大目標主導,對小目標的檢測性能較低.因此需要對MobileNet_YOLOv3網(wǎng)絡(luò)模型進行改進,將不同層次特征圖進行融合,提取出更豐富的語義信息,才能提高模型對小目標及遮擋物的檢測能力.
為了彌補淺層特征中缺乏的目標上下文語義信息,應(yīng)用注意力機制的思想,本文設(shè)計了一個特征融合注意力模塊(FA-Block:Feature-fusion Attention Block),如圖3,從中可以看出FA-Block主要包含兩個子模塊:特征融合子模塊和通道注意力子模塊.

圖3 特征融合通道注意力模塊
其中特征融合子模塊在特征融合操作模塊中通過合并通道信息獲取特征的全局空間信息,來降低局部特征造成的影響;注意力模塊將池化操作和注意力機制應(yīng)用于模型之中,對每個通道的全局信息進行整合,進而產(chǎn)生通道之間的非線性關(guān)系.FA-Block模塊的應(yīng)用不僅可以校準通道之間的特征,而且也能提高空間域信息的局部特征表達能力,其中在校準的過程中,充分利用了通道域注意力機制,將空間特征和通道注意力進行了有效的結(jié)合,使淺層特征中小目標的上下文語義信息得到了進一步的豐富,增強了網(wǎng)絡(luò)前向傳播過程中特征的表達能力,從而提升模型對小目標檢測的準確率.
特征融合模塊在目標檢測網(wǎng)絡(luò)的性能提升中具有顯著的優(yōu)勢,采用該模塊可以增強目標局部特征,其利用了通道特征壓縮和聚合全局空間特征的方式來實現(xiàn).增強局部特征的過程中,主要包括兩個步驟,首先對當前像素檢測特征圖中全部像素點的相似性值進行計算,然后對當前像素點的特征信息采用相似性值加權(quán)求和進行表征.
FA-Block在提取特征空間域到全局信息的過程中,首先需要利用特征融合的方法進行操作,接著可以對小目標空間維度特征表達能力進行提高,這個過程可以用公式(4)表示:
(4)
其中,輸入特征用X表示,輸出特征用Y表示,其中X∈RH×W×C,這里特征圖的高度用H表示,特征圖的寬度用W表示,通道數(shù)量用C表示,X和Y的維度相同.輸入特征和輸出特征位置索引分別用i和j表示.Xi和Xj之間的相似度通過F(Xi,Xj)函數(shù)進行計算,位置i的特征表示采用g(Xj)函數(shù)進行計算,其中的歸一化參數(shù)用T(X)表示,通過分析,本文采用的相似性函數(shù)是高斯函數(shù),對應(yīng)的表達式如公式(5):
F(Xi,Xj)=eθ(Xi)τφ(Xj)
(5)
其中θ(Xi)=WθXi,φ(Xj)=WφXj,通過學習得到權(quán)重矩陣Wθ和Wφ.這個模塊可以疊加原來的輸入信息,X和WZY疊加的過程應(yīng)用了殘差網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點,進而可以獲得通過全局信息增強的目標特征Z,這個操作具體可以用公式(6)表示:
Z=WZY+X
(6)
其中Y由公式(4)計算得到,WZ為權(quán)重矩陣.
合并特征圖的各個通道是進行特征融合的重要一步,特征圖之間的相關(guān)性在合并之后并沒有進行考慮.為了能夠有效地提取特征圖各個通道之間的依賴關(guān)系,將通道注意力機制應(yīng)用于其中,這就是特征融合通道注意力模塊,這是本文的一個創(chuàng)新點,采用這個模塊增強了空間目標特征和通道間的目標特征.采用這個模塊可以利用全局平均池化操作對特征圖的各個通道進行處理.進而可以降低特征度的空間維度,這個操作過程可以用公式(7)表示:
(7)
其中ZC表示第C個通道的特征,利用1×1×C的輸出特征表示H×W×C的輸入特征,在通道數(shù)量方面,輸入特征和輸出特征是相匹配的,利用這種方式可以獲得每個通道域的全局信息.
利用公式(7)獲得M的計算結(jié)果,但是在計算通道的權(quán)重時,需要將權(quán)重進行歸一化處理,最終使其處于0~1之間,具體需要利用兩個全連接層、ReLU函數(shù)以及Sigmoid函數(shù),然后在每個通道的特征上附加歸一化處理后的權(quán)重,重新標定特征Z,進而獲得特征S,具體的過程如公式(8):
S=σ(W2δ(W1M))*Z
(8)
利用公式(6)可以獲得特征Z,公式(7)可以得到M,ReLU激活函數(shù)用σ(·)表示,Sigmoid函數(shù)用δ(·)表示,權(quán)重矩陣用W1、W2表示.
最后疊加特征S和原始特征X的像素點,具體如公式(9):
Y=WXS+X
(9)
其中特征融合通道注意力模塊的輸出值用Y表示,權(quán)重矩陣用WX表示.
如圖4所示,MSFAN網(wǎng)絡(luò)是在MobileNet_YOLOv3基礎(chǔ)上改進而來.整個網(wǎng)絡(luò)以Darknet-53作為基礎(chǔ)部分,兩個全連接層可以利用兩個卷積過程進行替代.采用下采樣操作處理卷積層,主要是針對Conv7層之后的卷積層進行處理,進而得到尺度不同的特征圖,其中所包含的卷積過程共有11個.檢測層采用的卷積層有兩個,其中卷積層都屬于基礎(chǔ)網(wǎng)絡(luò)之中,此外也包括其他4個檢測層,這4個檢測層是新添加的卷積過程之中的4個卷積層,因此,在多個尺度目標檢測網(wǎng)絡(luò)的構(gòu)建過程中采用的尺度不同的檢測層共有6個.

圖4 MSFAN網(wǎng)絡(luò)模型
特征融合注意力模塊(FA-Block):將非局部通道注意力模塊添加到淺層部分之中,通過這樣的操作可以保證淺層特征中小目標的上下文語義信息得以提高.這個模塊首先合并了特征圖通道,在合并的過程中,需要利用1×1卷積操作,進而獲取特征信息空間域的相關(guān)性.然后壓縮特征圖的空間維度,壓縮過程所采用的操作是全局平均池化,并使用ReLU激活函數(shù)和Sigmoid函數(shù)構(gòu)建通道之間的非線性關(guān)系,來增強空間和通道之間的全局信息.在檢測小目標時,選擇的檢測層是Conv4_3和Conv7,這兩個檢測層的感受野較大.FA-Block相應(yīng)的特征圖尺寸大小分別等于38和19,利用這個模塊特征圖的大小并不會發(fā)生改變,相應(yīng)的通道數(shù)分別為512和1024.
密集連接模塊(Dense Block):利用FA-Block在淺層特征中得到了包含目標上下文信息的特征,同時還在網(wǎng)絡(luò)的深層部分采用卷積層的密集連接結(jié)構(gòu),進一步加強不相鄰的特征層之間的信息傳遞,避免梯度消失問題.每個密集單元的輸入特征是前面所有層的特征,這個單元的輸入特征可以采用合并的方式與輸出特征進行連接,下一個單元的輸入特征就是合并之后的特征.將密集連接結(jié)構(gòu)應(yīng)用于Conv8和Conv9的卷積過程之中,網(wǎng)絡(luò)中的特征傳遞得到了有效的提高.如圖4.2所示,在MSNAN中所包含的密集連接塊具有的密集連接單元共有6個,密集連接模塊的輸入特征圖對應(yīng)的是X0,相應(yīng)的通道數(shù)量等于512,這里設(shè)定增長率等于32,卷積核有兩種分別為1×1和3×3,進而獲得輸出特征圖X5.為了使深層網(wǎng)絡(luò)的特征獲取能力得以提升,并且有效的降低模型的參數(shù)量,在原網(wǎng)絡(luò)中加入了密集連接模塊.最后在檢測目標的過程中,采用了6個尺度不同的特征圖,這些特征圖的大小均不同,大小分別等于32,19,10,5,3,1.每個檢測層所產(chǎn)生的目標候選框都是默認的,產(chǎn)生候選框之后對候選框和真實標簽之間的損失進行計算,在對模型的分類損失進行計算的過程中,采用的函數(shù)是Softmax函數(shù).
總體而言,F(xiàn)A-Block從相鄰特征層提取淺層特征中小目標的語義信息,Dense Block從不相鄰特征層提取特征信息來彌補FA-Block對深層特征的缺失.因此,通過FA-Block和Dense Block的結(jié)合,可以充分提取到小目標的細節(jié)特征,從而增強整個網(wǎng)絡(luò)模型對小目標的檢測能力.
1)PASCAL VOC數(shù)據(jù)集
PASCAL VOC[14](PASCAL Visual Object Classification)數(shù)據(jù)集是目標檢測領(lǐng)域中最經(jīng)典的數(shù)據(jù)集之一,常用于目標檢測、分類、分割等.PASCAL VOC數(shù)據(jù)集包含20類可視目標,包含51700張圖像和53400個注釋目標.該數(shù)據(jù)集包括訓練集、驗證集和測試集.
2)MS COCO數(shù)據(jù)集
MS COCO[15](Microsoft Common Objects in Context)數(shù)據(jù)集是微軟于2014年出資標注的針對物體檢測、分割的大型數(shù)據(jù)集.在圖像的選取上主要以場景語義為目標,從復(fù)雜的日常場景中選取圖像,在位置標定的過程中,采用精確分割的方式.整個數(shù)據(jù)集有超過33萬張圖片,32萬個影像和250萬個標簽,提供的類別有80類,個體的數(shù)目超過150萬個,是目標領(lǐng)域到目前為止最大的數(shù)據(jù)集.
3)NVIDIA Jetson TX2嵌入式處理板
本文實驗采用英偉達公司設(shè)計的NVIDIA Jetson TX2作為嵌入式移動終端平臺.該平臺搭載一塊256核心GPU,包含豐富的API接口和CUDA庫,能夠確保人工智能終端化的實現(xiàn),盡可能地降低對網(wǎng)絡(luò)環(huán)境的依賴,滿足邊緣計算場景的有效應(yīng)用.
本文分別在PASCAL VOC和MS COCO數(shù)據(jù)集上對模型進行訓練及測試.實驗中選用不同的參數(shù)對模型進行調(diào)試,根據(jù)實驗結(jié)果(訓練時間、模型擬合程度、模型大小等)進行分析對比后,最佳的參數(shù)設(shè)置如下:
1)在PASCAL VOC 2007和PASCAL VOC 2012 數(shù)據(jù)集的訓練驗證集聯(lián)合訓練模型,包含的圖片有16551張,在測試的過程中選擇的是PASCAL VOC 2007測試集,對應(yīng)的圖片個數(shù)是4952.由于網(wǎng)絡(luò)輸出框大小已經(jīng)固定(32×32的倍數(shù)),且經(jīng)過網(wǎng)絡(luò)中下采樣操作后原圖縮小為原來的1/13,所以網(wǎng)絡(luò)輸入端的圖片尺寸大小設(shè)定為416×416(對訓練集圖片進行裁剪得到),并將其輸入其中對應(yīng)的批次設(shè)定為32.迭代次數(shù)隨著初始學習率的不同而不同,當學習力分別為10-3、10-4和10-5時,迭代的次數(shù)分別為6萬次、4萬次和2萬次.在優(yōu)化參數(shù)的過程中,采用的優(yōu)化方法是隨機梯度下降法,對應(yīng)的動量等于0.9,權(quán)重衰減參數(shù)等于0.005.
2)MS COCO 2015數(shù)據(jù)集中共有的訓練圖片有8萬張,其中測試圖片的個數(shù)為2萬張,驗證圖片的個數(shù)為4萬張.在訓練的過程中采用的是訓練驗證集,在測試的過程中采用的是測試集.由于網(wǎng)絡(luò)輸出框大小已經(jīng)固定(32×32的倍數(shù)),且經(jīng)過網(wǎng)絡(luò)中下采樣操作后原圖縮小為原來的1/13,所以網(wǎng)絡(luò)輸入端的圖片尺寸大小設(shè)定為416×416(對訓練集圖片進行裁剪得到),對應(yīng)的批次大小根據(jù)情況設(shè)定為128.初始學習率首先設(shè)定為10-2,對應(yīng)的迭代次數(shù)是16萬次,然后將初始學習率設(shè)定為10-3,對應(yīng)的迭代次數(shù)為4萬次,最后將學習率設(shè)定為10-4,對應(yīng)的迭代次數(shù)是4萬次.
實驗硬件環(huán)境為:模型訓練在AMAX服務(wù)器上進行,模型測試在NVIDIA Jetson TX2開發(fā)板上進行.
實驗軟件環(huán)境為:操作系統(tǒng)為Ubuntu 16.04,采用的集成開發(fā)環(huán)境是Anaconda3,采用TensorFlow做為深度學習框架,輔助工具有Opencv3.10、Numpy、Matplotlib等.
4.2.1 運算量與運算速度對比
首先我們通過實驗評估MSFAN在實際設(shè)備上的運算速度.由于MS COCO數(shù)據(jù)集數(shù)據(jù)量龐大,訓練模型參數(shù)量大,不適于在嵌入式平臺測試,因此本文的測試速度均由PASCAL VOC數(shù)據(jù)集上訓練得到的網(wǎng)絡(luò)模型測試得出.該速度(FPS)由不同設(shè)備處理的100張圖像的平均時間(將100張圖像處理10次求平均時間)計算得出,該時間包括圖像預(yù)處理時間與GPU計算時間,但不包括后處理部分的時間(解碼邊界框并執(zhí)行非最大抑制).后處理在CPU上完成,可以與在移動GPU上執(zhí)行的其他部分異步執(zhí)行.
表1為在輸入圖片尺寸為416×416時本文所提模型MSFAN與現(xiàn)有模型在參數(shù)量與模型大小方面的比較.從表中可以看出,由于MSFAN在MobileNet_YOLOv3基礎(chǔ)上加入了多尺度特征融合與注意力機制,使其網(wǎng)絡(luò)更加復(fù)雜,因此在參數(shù)量方面,MSFAN的浮點數(shù)計算量雖相比YOLOv3降低了82%,但相比MobileNet_YOLOv3增加了48%;而在模型規(guī)模方面,MSFAN相比YOLOv3縮小了56%,但相比MobileNet_YOLOv3增加了12%.

表1 不同模型運算量對比
表2給出了MSFAN與現(xiàn)有模型在NVIDIA 1070ti獨立顯卡和嵌入式平臺Jetson TX2上的運算速度對比.使用半精度浮點(FP16)代替單精度浮點(FP32)是加速深度學習推理的廣泛使用的方法,本文在兩種浮點模式下對模型進行了測試.從表2中可以看出,模型在FP16模式下具有更高的運算速度,其中MSFAN由于模型參數(shù)量更大,其運算速度相比MobileNet_YOLOv3略有降低,但相比YOLOv3提升1.6倍,基本達到實時檢測的目的,適于移植嵌入式平臺.

表2 不同模型在不同設(shè)備上的速度
4.2.2 標準數(shù)據(jù)集上檢測性能對比
本文所提模型MSFAN與現(xiàn)有模型在標準數(shù)據(jù)集PASCAL VOC和MS COCO上的測試結(jié)果分別總結(jié)在表3和表4中.根據(jù)MS COCO數(shù)據(jù)集的標準,設(shè)置小目標的面積在32×32以下,同時設(shè)置中等目標的面積在32×32與96×96之間,設(shè)置大目標的面積在96×96以上.實驗中采用mAP(mean Average Precision)做為衡量檢測精度的指標.在多類別物體檢測中,每一個類別都可以根據(jù)準確率(Precision)和召回率(Recall)繪制一條曲線(通常稱之為PR曲線),AP就是該曲線下的面積,mAP則是多個類別AP的平均值.在MS COCO數(shù)據(jù)集中,通過計算IoU0.5值來評價模型,IoU0.5表示:如果預(yù)測的邊界框與真實邊界框(Ground Truth)具有高于0.5的交并比(Intersection-over-Union,IoU),則被認為預(yù)測正確;在MS COCO數(shù)據(jù)集中,AP的定義與PASCAL VOC略有不同:為了提高精度,在PR曲線上采樣了100個點進行計算,求出IoU(0.5:0.95)的mAP值,即IoU的閾值從固定的0.5調(diào)整為在0.5-0.95的區(qū)間上每隔0.5計算一次AP的值,取所有結(jié)果的平均值作為最終的結(jié)果.

表3 PASCAL VOC test2007測試結(jié)果
除了對網(wǎng)絡(luò)進行改進外,本文還通過在訓練期間對訓練集圖像進行過采樣來解決小目標圖像較少的問題,從而提高小目標檢測的性能.采用數(shù)據(jù)增強的方法處理數(shù)據(jù)集中的原始圖片,通過這樣的操作,也可以使模型的性能得以提升.采用的方法主要有隨機篩選法、隨機光照補償法、隨機尺度變換、隨機水平和垂直翻轉(zhuǎn)等.
圖5為MSFAN模型在實際場景中的目標檢測結(jié)果,可以看到水杯、筆記本電腦等用MobileNet_YOLOv3無法檢測的小目標均能被正確檢測,從而證明采用多尺度特征融合與注意力機制可以有效改善網(wǎng)絡(luò)對小目標的檢測能力.

圖5 MSFAN檢測結(jié)果
1)PASCAL VOC數(shù)據(jù)集實驗結(jié)果
表3給出了本文所提出的MSFAN網(wǎng)絡(luò)模型與 Faster R-CNN、R-FCN、YOLOv3、SSD和SSD_MobileNet等目前主流模型以及原MobileNet_YOLOv3模型在PASCAL VOC 2007測試集中的檢測準確率對比結(jié)果,其中第3列(檢測速度)為在NVIDIA Jetson TX2的半精度(FP16)模式下測試得到的結(jié)果.從表中可以看出,與YOLOv3方法相比,MSFAN 的準確度提高了5.2%,并且速度快了18FPS.而與MobileNet_YOLOv3相比,準確度提升6.6%,但速度慢了6FPS.由此說明,特征融合通道注意力模塊和密集連接結(jié)構(gòu)能夠有效地提高檢測效果,但由于其增加了計算量,所以相對于MobileNet_YOLOv3模型會增加少量的運算時間,降低運算速度,但仍滿足多數(shù)場景下實時目標檢測應(yīng)用的需求.
2)MS COCO數(shù)據(jù)集實驗結(jié)果
表4給出所提出的MSFAN模型在MS COCO 2015測試集中的檢測精度性能,在檢測的過程中,分別采用了不同的交并比值.從表中可以看出,MSFAN的檢測效果明顯優(yōu)于Faster R-CNN、R-FCN等兩階段檢測方法.MSFAN在AP[0.5:0.95]、AP0.5和AP0.75標準下的結(jié)果分別為33.6%、56.8%、35.7%,與MobileNet_YOLOv3相比,AP分別提高5.2%、5.5%、4.6%,而與YOLOv3相比準確率近似相等.在小目標(面積<32×32)檢測中,MSFAN相比MobileNet_YOLOv3,AP(S)提高4.6%,同時中等目標(32×32<面積<96×96)與大目標(面積>96×96)檢測的準確率AP(M)和AP(L)也分別提高2.5%和4.4%,并與原模型YOLOv3相比準確率略有提高.

表4 MS COCO test-dev2015測試結(jié)果
表3和表4的結(jié)果表明,MSFAN網(wǎng)絡(luò)在增加多尺度特征融合后,其檢測精度相比MobileNet_YOLOv3有較為明顯的提升,達到甚至超過原有YOLOv3模型的檢測精度,但由于其在MobileNet_YOLOv3網(wǎng)絡(luò)模型基礎(chǔ)上增加了計算量,檢測速度較MobileNet_YOLOv3略有下降,但仍高于原有YOLOv3模型.因此本文所提出的MSFAN網(wǎng)絡(luò)模型無論在目標檢測精度和運算速度上都較原YOLOv3模型有所提高,在實時目標檢測識別場景下有更好的應(yīng)用前景.
本文針對小目標和遮擋情況下的目標檢測問題提出包含F(xiàn)A-Block 結(jié)構(gòu)的MSFAN網(wǎng)絡(luò)模型.該網(wǎng)絡(luò)模型基于MobileNet_YOLOv3模型的基礎(chǔ)網(wǎng)絡(luò),將不同尺度的特征進行融合,并結(jié)合注意力機制進行改進.實驗測試結(jié)果表明,本文所提出的MSFAN網(wǎng)絡(luò)模型在PASCAL VOC和MS COCO數(shù)據(jù)集上的檢測性能相比MobileNet_YOLOv3均有提升,達到甚至超過原YOLOv3模型精度水平,雖然在檢測速度上相比MobileNet_YOLOv3略有下降,但仍超過原YOLOv3模型的速度,從而說明所提出的MSFAN網(wǎng)絡(luò)模型能夠在保證速度足夠快的情況下有效實現(xiàn)小目標及遮擋情況下的目標檢測.因此本文方法可以滿足嵌入式移動終端的檢測需求,即在檢測精度足夠高的情況下保證較好的實時性,從而為嵌入式邊緣計算提供了可行的技術(shù)方案.