冀金金,荊有波
(1.鄭州大學(xué) 河南先進(jìn)技術(shù)研究院,河南 鄭州 450002;2.中國(guó)科學(xué)院微電子研究所 通信與信息工程研發(fā)中心,北京 100029)
隨著人類生活方式智能化、生產(chǎn)方式精細(xì)化的推進(jìn),基于深度學(xué)習(xí)方法[1]的小目標(biāo)檢測(cè)模型在無(wú)人駕駛、國(guó)防安全、工業(yè)自動(dòng)化等領(lǐng)域有著越來(lái)越重要的研究意義和應(yīng)用價(jià)值。文獻(xiàn)[2]中提到目標(biāo)尺寸小于原圖尺寸的10%定義為相對(duì)小目標(biāo),其分辨率低,包含信息少,且易受環(huán)境干擾,對(duì)該類目標(biāo)的檢測(cè)一直是計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)和難點(diǎn)。目前,已有的目標(biāo)檢測(cè)算法分為檢測(cè)精度較高的二階段(Two-stage)目標(biāo)檢測(cè)方法和檢測(cè)速度較快的一階段(One-stage)目標(biāo)檢測(cè)方法兩大類別。二階段檢測(cè)方法網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,不易在算力有限的嵌入式設(shè)備部署。一階段算法受戶外天氣、能見度、距離、障礙物遮擋等因素影響較大,檢測(cè)結(jié)果易出現(xiàn)抖動(dòng),且小目標(biāo)漏檢嚴(yán)重。此外,現(xiàn)有模型不夠緊湊、壓縮,較大算力帶來(lái)較多功耗,需要依托常規(guī)電網(wǎng)供電,限制了目標(biāo)檢測(cè)任務(wù)的靈活性。針對(duì)以上問題,本文對(duì)模型的精度與算力進(jìn)行均衡,提出適用于戶外因素復(fù)雜多變無(wú)依托供電場(chǎng)景的小目標(biāo)檢測(cè)輕量級(jí)模型。
隨著目標(biāo)檢測(cè)算法的深入研究以及應(yīng)用場(chǎng)景的多元化,許多學(xué)者開始圍繞典型算法如Faster-RCNN[3]、SSD[4-6](single shot multi-box detector)、YOLO[7-9](you only look once)等進(jìn)行改進(jìn)。Ren等[10]結(jié)合精簡(jiǎn)后的FPN(feature pyramid network)和改進(jìn)的SSD模型平衡小目標(biāo)檢測(cè)速度和精度。Hu等[11]在YOLOv3中引入顯著性映射,得到更大IoU(intersection over union)值。Wang等[12]對(duì)YOLOv4網(wǎng)絡(luò)進(jìn)行刪改,引入擴(kuò)展卷積層。這些算法各有優(yōu)點(diǎn),但網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,較大計(jì)算開銷會(huì)帶來(lái)過多功耗,不適用于無(wú)依托供電場(chǎng)景。因此,本文基于YOLOv4-tiny,提出一種面向無(wú)依托供電場(chǎng)景的小目標(biāo)檢測(cè)模型。主要工作如下:
(1)引入平滑的Mish激活函數(shù),使更多細(xì)節(jié)信息深入神經(jīng)網(wǎng)絡(luò),補(bǔ)償LeakyReLU函數(shù)由于梯度跳躍造成的信息丟失;
(2)設(shè)計(jì)一種淺層特征加固的特征融合網(wǎng)絡(luò)SCFPN。選擇從主干特征提取網(wǎng)絡(luò)獲取的3個(gè)有效特征層參與特征融合,使淺層細(xì)節(jié)信息與高層語(yǔ)義信息融合的更加充分,加固淺層信息的基礎(chǔ)上再進(jìn)行FPN特征融合,不易丟失淺層細(xì)節(jié)信息,有利于小目標(biāo)的檢測(cè);
(3)反復(fù)嵌入通道注意力機(jī)制,多次自適應(yīng)的對(duì)各通道特征進(jìn)行權(quán)重分配,有利于提升網(wǎng)絡(luò)對(duì)關(guān)鍵信息的感知力。
本文通過對(duì)以上各項(xiàng)策略進(jìn)行仿真并對(duì)仿真結(jié)果進(jìn)行分析,提出一種改進(jìn)YOLOv4-tiny的輕量級(jí)算法。最終對(duì)提出的新算法的性能進(jìn)行測(cè)試并在嵌入式設(shè)備上進(jìn)行可行性驗(yàn)證,給出驗(yàn)證數(shù)據(jù)和結(jié)論。
YOLOv4-tiny網(wǎng)絡(luò)由3部分組成:進(jìn)行特征提取的骨干網(wǎng)(Backbone)、進(jìn)行多尺度特征融合的頸部(Neck)以及進(jìn)行分類回歸的檢測(cè)頭(YOLO Head)。YOLOv4-tiny網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLOv4-tiny網(wǎng)絡(luò)結(jié)構(gòu)
(1)Backbone部分
YOLOv4-tiny的主干特征提取網(wǎng)絡(luò)CSPdarknet53_tiny由CBL卷積模塊、CSP殘差模塊和池化層組成。CBL模塊使用卷積層conv提取特征,通過BN層縮放平移,激活函數(shù)則使用更快速的LeakyReLU[13]。CSP模塊先將基礎(chǔ)層拆分成兩部分,一部分通過卷積得到更豐富的語(yǔ)義特征,另一部分作為殘差邊,最終將二者跨階段通道合并[14]。CSP后的池化層,既能擴(kuò)大感知野,又能對(duì)特征進(jìn)行降維壓縮防止過擬合。
(2)Neck部分
圖片通過主干網(wǎng)后,獲得shape分別為13*13*512、26*26*256的兩個(gè)有效特征層,二者作為輸入,傳入FPN結(jié)構(gòu)[15]。FPN由兩部分構(gòu)成,一部分將13*13*512的有效特征層經(jīng)過CBL卷積塊直接得到FPN的第一個(gè)輸出out1。第二部分將out1經(jīng)過卷積和上采樣處理后與26*26*256的有效特征層進(jìn)行通道維度堆疊,獲得FPN的第二個(gè)輸出out2。
(3)YOLO Head部分
YOLOv4-tiny僅保留了32倍降采樣和16倍降采樣的兩個(gè)檢測(cè)分支,即當(dāng)輸入尺寸為416*416*3時(shí),僅在13*13和26*26的特征層上完成檢測(cè)。26*26的檢測(cè)層感受野小,進(jìn)行小目標(biāo)檢測(cè),13*13的檢測(cè)層感受野大,進(jìn)行大目標(biāo)檢測(cè)。每個(gè)檢測(cè)分支輸出的張量大小為
N*N*(3*(1+4+n))
(1)
N*N表示檢測(cè)分支的尺寸,n表示檢測(cè)的類別數(shù),1和4分別代表1個(gè)置信度得分和4個(gè)邊界框參數(shù)。
表1 本文實(shí)驗(yàn)環(huán)境
作為近期被提出的新型輕量級(jí)網(wǎng)絡(luò),YOLOv4-tiny雖然在速度和精度方面均有很大提升,但其在特定場(chǎng)景中的應(yīng)用仍有缺陷。本文應(yīng)用場(chǎng)景的特殊性表現(xiàn)在:①無(wú)依托供電要求功耗低,戶外天氣、能見度、光線、角度、障礙物遮擋等因素復(fù)雜多變;②對(duì)遠(yuǎn)距離的小目標(biāo)檢測(cè)效果要求高。YOLOv4-tiny算法在本文場(chǎng)景的實(shí)際應(yīng)用中存在兩點(diǎn)不足:第一,其檢測(cè)效果受天氣、能見度、光線等因素的影響較大,模型魯棒性不強(qiáng);第二,遠(yuǎn)距離的小目標(biāo)體積小、分辨率低,該類目標(biāo)的特征信息易在YOLOv4-tiny結(jié)構(gòu)中淹沒,出現(xiàn)漏檢。經(jīng)過分析,原因總結(jié)為以下兩點(diǎn):①YOLOv4-tiny使用較快速的LeakyReLU函數(shù),會(huì)產(chǎn)生梯度跳躍,訓(xùn)練過程中對(duì)細(xì)節(jié)特征的學(xué)習(xí)能力不足;②特征增強(qiáng)網(wǎng)絡(luò)僅使用兩個(gè)感受野較大的特征層參與特征融合,易丟失邊緣細(xì)節(jié)信息。本文結(jié)合實(shí)際應(yīng)用場(chǎng)景和YOLOv4-tiny模型本身的缺陷,通過在主干網(wǎng)之后引入Mish函數(shù)、設(shè)計(jì)基于FPN改進(jìn)的淺層特征加固融合網(wǎng)絡(luò)SCFPN、嵌入通道注意力機(jī)制3種策略對(duì)YOLOv4-tiny進(jìn)行改進(jìn),改進(jìn)后的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。如下進(jìn)行改進(jìn)策略的具體介紹。
圖2 改進(jìn)后的整體網(wǎng)絡(luò)結(jié)構(gòu)
神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本單元,它可以對(duì)輸入進(jìn)行不同的操作,可以激活變大或者激活變小。假設(shè)一個(gè)神經(jīng)元接收Q個(gè)輸入x1,x2,…,xQ, 令x=[x1;x2;…;xQ] 表示輸入向量,ω=[ω1;ω2;…;ωQ] 表示權(quán)重向量,b表示偏置,凈輸入y∈R表示神經(jīng)元接收到的輸入信號(hào)的加權(quán)和,則
(2)
(3)
凈輸入通過非線性函數(shù)f(·),就可得到神經(jīng)元的活性值α,即
α=f(y)
(4)
非線性函數(shù)f(·)被稱為激活函數(shù),由此可看,它可以將原本的線性關(guān)系轉(zhuǎn)換為非線性,使得神經(jīng)網(wǎng)絡(luò)可以逼近任何函數(shù)。一層神經(jīng)網(wǎng)絡(luò)用作分類器正是由于激活函數(shù)的作用,正樣本就讓激活函數(shù)激活變大,負(fù)樣本就讓激活函數(shù)激活變小。因此,激活函數(shù)的選擇會(huì)影響整個(gè)網(wǎng)絡(luò)的表達(dá)效果。
相比sigmoid函數(shù)的兩端飽和,Relu函數(shù)為左飽和函數(shù),在x>0時(shí)導(dǎo)數(shù)固定為1,緩解了神經(jīng)網(wǎng)絡(luò)中梯度消失的問題,且允許網(wǎng)絡(luò)快速收斂。但Relu激活功能存在 “死區(qū)”。當(dāng)學(xué)習(xí)率較大時(shí),某些情況下會(huì)引起一半神經(jīng)元死亡。LeakyReLU函數(shù)很好解決了這個(gè)問題,通過引入超參數(shù)β,保證函數(shù)永不死亡,且使用LeakyReLU函數(shù)的神經(jīng)元只需進(jìn)行加、乘和比較的操作,計(jì)算高效[16]。其數(shù)學(xué)表達(dá)式為
(5)
YOLOv4-tiny網(wǎng)絡(luò)計(jì)算高效的重要原因之一就是激活函數(shù)選用LeakyReLU函數(shù),但是LeakyReLU函數(shù)不夠平滑,梯度跳躍會(huì)導(dǎo)致信息丟失,為了緩解這一問題,本文引入Mish函數(shù),其數(shù)學(xué)表達(dá)式為
Mish(x)=x*tanh(ln(1+ex))
(6)
LeakyReLU函數(shù)和Mish函數(shù)平滑度的對(duì)比如圖3所示。
圖3 LeakyReLU函數(shù)與Mish函數(shù)曲線
顯然,Mish函數(shù)更平滑,平滑的激活函數(shù)允許更多細(xì)節(jié)信息深入神經(jīng)網(wǎng)絡(luò),能夠得到更優(yōu)的準(zhǔn)確性和泛化效果。但Mish函數(shù)的計(jì)算要比LeakyReLU函數(shù)復(fù)雜,考慮到計(jì)算開銷與準(zhǔn)確度的均衡,本文提出的YOLOv4-tiny改進(jìn)模型將YOLOv4-tiny頸部和檢測(cè)頭的激活函數(shù)換成Mish函數(shù),主干特征提取網(wǎng)絡(luò)仍然使用LeakyReLU函數(shù)。
特征融合方式直接影響整個(gè)模型的檢測(cè)效果,Lin Tsung-Yi提出的FPN[17]結(jié)構(gòu)將圖像金字塔中的特征從深到淺融合,該方法在參與融合的特征層較多時(shí)能很好提升目標(biāo)檢測(cè)率,但YOLOv4-tiny只有兩個(gè)高層參與融合,F(xiàn)PN結(jié)構(gòu)單一的自上而下的信息流動(dòng)方向在參與融合的特征層較少時(shí),會(huì)引起信息丟失。Li Zuoxin等提出的FSSD[18](feature fusion SSD)結(jié)構(gòu)先對(duì)前三層特征層進(jìn)行融合,融合后的特征層重新生成特征金字塔進(jìn)行預(yù)測(cè),可以有效提升小目標(biāo)檢測(cè)效率,但會(huì)產(chǎn)生過多計(jì)算開銷,不能很好滿足本文高精度、低算力的需求。于是,本文提出淺層特征加固的特征融合方式SCFPN,SCFPN網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 淺層特征加固的特征融合網(wǎng)絡(luò)SCFPN
feat1代表YOLOv4-tiny主干特征提取網(wǎng)絡(luò)中第二個(gè)CSP模塊中的feat輸出,其shape為52*52*128,feat2代表主干特征提取網(wǎng)絡(luò)中第三個(gè)CSP模塊中的feat輸出,其shape為26*26*256,feat3如圖1中標(biāo)注所示,為主干特征提取網(wǎng)絡(luò)的輸出,其shape為13*13*512。原始YOLOv4-tiny只使用feat2和feat3作為FPN結(jié)構(gòu)的輸入,會(huì)丟失細(xì)節(jié)信息[19],本文使用52*52*128的有效特征層進(jìn)行淺層信息的加固,淺層信息的反復(fù)利用,有利于目標(biāo)檢測(cè)精度的提高。
本文采用的特征增強(qiáng)網(wǎng)絡(luò)SCFPN由兩部分構(gòu)成,一部分是將13*13*512的有效特征層經(jīng)過CBL卷積塊直接得到網(wǎng)絡(luò)的第一個(gè)輸出out1。第二部分包含兩條路徑,feat1經(jīng)過卷積塊和下采樣簡(jiǎn)單處理后自下而上與語(yǔ)義信息更強(qiáng)的feat2進(jìn)行通道維度拼接,再通過1*1卷積進(jìn)行降維,輸出記為P1,將out1經(jīng)過卷積和上采樣的處理后自上而下與細(xì)節(jié)信息更強(qiáng)的P1進(jìn)行同尺寸feature map的通道拼接,獲得網(wǎng)絡(luò)的第二個(gè)輸出out2。YOLO Head由一個(gè)卷積核大小為3*3的CBM模塊(CBM模塊結(jié)構(gòu)如圖4所示)和一個(gè)1*1卷積相連而成,用于先驗(yàn)框參數(shù)調(diào)整。最終檢測(cè)的目標(biāo)框回歸公式如下
(7)
其中,tx、ty為網(wǎng)絡(luò)預(yù)測(cè)結(jié)果,δ(tx)、δ(ty) 是其經(jīng)過sigmoid函數(shù)的輸出,cx、cy代表網(wǎng)格偏移量,stridei代表下采樣倍數(shù),Pbw、Pbh代表預(yù)設(shè)anchor尺寸的寬和高。
SCFPN融合網(wǎng)絡(luò)先讓52*52*128有效特征層參與淺層特征的加固,然后進(jìn)行淺層與深層的融合,這樣使細(xì)節(jié)信息更豐富的淺層特征與語(yǔ)義信息更豐富的深層特征融合更加充分的同時(shí),增強(qiáng)了網(wǎng)絡(luò)整體的感受野,有利于提升模型檢測(cè)的準(zhǔn)確度與穩(wěn)定性。SCFPN網(wǎng)絡(luò)包括自上而下和自下而上兩種信息流向,淺層信息自下而上流動(dòng),加固細(xì)節(jié)特征基礎(chǔ)上再對(duì)兩個(gè)高層進(jìn)行FPN自上而下特征融合,有利于小目標(biāo)的檢測(cè)。
近幾年,注意力機(jī)制成為深度學(xué)習(xí)最受關(guān)注的核心技術(shù)之一,它的主要作用是從大量信息中提取出對(duì)當(dāng)前任務(wù)目標(biāo)較關(guān)鍵的信息。其中,倍受關(guān)注的SENet[20](squeeze-and-excitation networks)是獲取通道維度的注意力,它的一個(gè)模塊單元分為壓縮和激勵(lì)兩部分。SENet單元結(jié)構(gòu)如圖5所示。
圖5 SENet單元結(jié)構(gòu)
如圖5假設(shè)SENet的輸入特征圖尺寸大小為H*W*C,SENet先對(duì)每個(gè)通道的特征進(jìn)行全局平均池化(global average pooling,GAP),則輸入特征圖被壓縮為具有全局感受野的權(quán)重因子,壓縮過程為
(8)
接著經(jīng)過兩個(gè)全連接(fully connected,F(xiàn)C)層和ReLU激活函數(shù)建立通道間復(fù)雜的相關(guān)性,具體如下
(9)
然后通過sigmoid激活函數(shù)進(jìn)行歸一化,獲得最終的權(quán)重因子,最后進(jìn)行權(quán)重的重標(biāo),如下所示
(10)
SENet利用全局信息學(xué)習(xí)各個(gè)通道的重要程度,自適應(yīng)增強(qiáng)對(duì)當(dāng)前任務(wù)相對(duì)重要的特征通道并削弱非重要的特征通道,使網(wǎng)絡(luò)對(duì)關(guān)鍵信息擁有更強(qiáng)的判識(shí)能力[21]。本文設(shè)計(jì)在特征融合網(wǎng)絡(luò)SCFPN中多次嵌入SENet模塊,如圖4實(shí)心圓處為嵌入SENet模塊的位置,多次利用全局信息過濾網(wǎng)絡(luò)中的通道特征,反復(fù)從全局視野提取通道間的相關(guān)性信息,對(duì)小目標(biāo)檢測(cè)能力的提升具有促進(jìn)作用。
4.1.1 實(shí)驗(yàn)環(huán)境
本文實(shí)驗(yàn)環(huán)境,見表1。
4.1.2 訓(xùn)練過程
圖6 訓(xùn)練過程中的Loss曲線
由圖6可看,在凍結(jié)和解凍兩個(gè)階段本文模型的Loss值均隨著迭代輪數(shù)的不斷增加而不斷下降,最終收斂于2.3,沒有產(chǎn)生欠擬合和過擬合現(xiàn)象。圖中,將改進(jìn)后模型的Loss曲線與YOLOv4-tiny的Loss曲線對(duì)比可見,二者的曲線收斂趨勢(shì)相同,說明改進(jìn)時(shí)采用的策略合理。
4.2.1 評(píng)價(jià)指標(biāo)
在評(píng)價(jià)目標(biāo)檢測(cè)模型的指標(biāo)中,精確率又叫查準(zhǔn)率,描述了模型檢測(cè)的準(zhǔn)確程度。召回率又叫查全率,描述了所有目標(biāo)被檢測(cè)出來(lái)的完成程度。查準(zhǔn)率和查全率是一對(duì)矛盾體,一方偏高,另一方就會(huì)偏低,因此,不能僅用一方評(píng)價(jià)模型的好壞。AP(average precision)由查準(zhǔn)率和查全率共同決定,綜合描述了一個(gè)模型的泛化程度,可以評(píng)估模型檢測(cè)單個(gè)類別的準(zhǔn)確度性能;mAP表示多類別平均精度,是對(duì)不同類別、不同尺度目標(biāo)檢測(cè)精度的一個(gè)綜合性評(píng)價(jià);模型大小指模型訓(xùn)練后的權(quán)重文件大小,它可以衡量模型的復(fù)雜度。本文是針對(duì)無(wú)依托供電場(chǎng)景,對(duì)模型的精度與復(fù)雜度進(jìn)行均衡,因此,使用AP、mAP、模型大小3項(xiàng)指標(biāo)評(píng)判網(wǎng)絡(luò)性能。AP與mAP的計(jì)算方式如下。
分類任務(wù)的結(jié)果存在以下4種情況:tp:實(shí)際為正樣本且被正確預(yù)測(cè)為正樣本的樣本數(shù)。fp:實(shí)際為負(fù)樣本被錯(cuò)誤預(yù)測(cè)為正樣本的樣本數(shù)。tn:實(shí)際為負(fù)樣本被正確預(yù)測(cè)為負(fù)樣本的樣本數(shù)。fn:實(shí)際為正樣本被預(yù)測(cè)為負(fù)樣本的樣本數(shù)。
檢測(cè)的精確率指正確檢測(cè)出來(lái)的目標(biāo)框數(shù)量占所有預(yù)測(cè)目標(biāo)框數(shù)量的比例。其數(shù)學(xué)表達(dá)式為
(11)
檢測(cè)的召回率指正確檢測(cè)出來(lái)的目標(biāo)框數(shù)量占所有真實(shí)目標(biāo)框數(shù)量的比例。其數(shù)學(xué)表達(dá)式為
(12)
對(duì)于不同目標(biāo)的檢測(cè)結(jié)果,能依據(jù)召回測(cè)量值和精度測(cè)量值描繪各自的曲線,對(duì)該曲線積分就得到該類目標(biāo)平均精度AP[22]。其數(shù)學(xué)表達(dá)式為
(13)
對(duì)所有類別的目標(biāo)的精度求平均值可以得到平均精確度,即mAP,其數(shù)學(xué)表達(dá)式為
(14)
4.2.2 改進(jìn)策略的效果分析
(1)激活函數(shù)效果
YOLOv4-tiny模型使用的激活函數(shù)是LeakyReLU,該函數(shù)不夠平滑,AMS-YOLOv4-tiny模型將主干特征提取網(wǎng)絡(luò)之后的激活函數(shù)換成Mish函數(shù)。模型訓(xùn)練過程中,每迭代5輪保存一次mAP值,得到如圖7所示的mAP隨迭代輪數(shù)變化的趨勢(shì)圖。
圖7 網(wǎng)絡(luò)使用不同激活函數(shù)mAP隨迭代輪數(shù)變化的趨勢(shì)
由圖7可看,由于LeakyReLU函數(shù)產(chǎn)生梯度跳躍,在梯度下降法尋找頂點(diǎn)時(shí),波動(dòng)較大,收斂效果較差。而Mish函數(shù)避免了梯度跳躍,使更多細(xì)節(jié)信息流入神經(jīng)網(wǎng)絡(luò),收斂效果較好,有利于找到檢測(cè)效果最佳的一組模型權(quán)重組合。
(2)SCFPN結(jié)構(gòu)效果
SCFPN融合網(wǎng)絡(luò)先讓52*52*128有效特征層參與淺層特征的加固,然后進(jìn)行淺層與深層的融合,這樣使細(xì)節(jié)信息更豐富的淺層特征與語(yǔ)義信息更豐富的深層特征融合更加充分的同時(shí),增強(qiáng)了網(wǎng)絡(luò)整體的感受野。SENet利用全局信息學(xué)習(xí)各個(gè)通道的重要程度,自適應(yīng)增強(qiáng)對(duì)當(dāng)前任務(wù)相對(duì)重要的特征通道并削弱非重要的特征通道,使網(wǎng)絡(luò)對(duì)關(guān)鍵信息擁有更強(qiáng)的判識(shí)能力?,F(xiàn)為驗(yàn)證網(wǎng)絡(luò)的效果,從數(shù)據(jù)集中隨機(jī)取出一張圖片,對(duì)其進(jìn)行網(wǎng)絡(luò)中間特征層的可視化,得到如圖8所示可視化結(jié)果。
圖8 網(wǎng)絡(luò)中間特征層的可視化結(jié)果
圖8中,將YOLOv4-tiny特征融合前的特征圖與AMS-YOLOv4-tiny淺層特征加固后的特征圖對(duì)比可知,前者特征圖更為抽象,語(yǔ)義特征較強(qiáng),細(xì)節(jié)特征較弱,AMS-YOLOv4-tiny進(jìn)行淺層特征加固后的特征圖減少了細(xì)節(jié)信息的丟失,目標(biāo)區(qū)域的整體輪廓更加清晰。將YOLOv4-tiny模型FPN結(jié)構(gòu)后的特征圖與AMS-YOLOv4-tiny模型SCFPN結(jié)構(gòu)后的特征圖對(duì)比可知,前者特征圖背景信息與目標(biāo)信息邊界模糊,后者特征圖使重點(diǎn)信息更加突出,對(duì)關(guān)鍵信息抓取有利于提高目標(biāo)檢測(cè)的精度。
4.2.3 消融實(shí)驗(yàn)
為研究各創(chuàng)新策略對(duì)模型的影響程度,本文以YOLOv4-tiny為基礎(chǔ),PASCAL VOC07+12作為訓(xùn)練的數(shù)據(jù)集,設(shè)計(jì)了如表2所示的消融實(shí)驗(yàn)?!啊獭北硎景撤N策略,“×”表示不包含某種策略。由表2可看,各項(xiàng)策略中,SCFPN特征融合網(wǎng)絡(luò)策略對(duì)模型性能的貢獻(xiàn)最大,該策略使mAP提升了2.33%。第二組、第六組和第七組對(duì)比可知,Mosaic數(shù)據(jù)增強(qiáng)[23]效果在本模型易抖動(dòng)。因此,本文通過選用效果最佳的第六組策略組合對(duì)YOLOv4-tiny進(jìn)行改進(jìn),提出一種輕量級(jí)模型AMS-YOLOv4-tiny。
表2 消融實(shí)驗(yàn)性能對(duì)比
4.2.4 不同模型性能比較實(shí)驗(yàn)
為了進(jìn)一步驗(yàn)證模型的可靠性和有效性,將本文提出的算法AMS-YOLOv4-tiny與當(dāng)前主流的幾種一階段算法,Mobilenetv2-SSD算法、YOLOv4算法、YOLOv4-tiny算法,在PASCAL VOC07+12數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表3。
表3 不同模型對(duì)比實(shí)驗(yàn)
無(wú)依托供電場(chǎng)景要求盡可能減小算力節(jié)省功耗,加之嵌入式設(shè)備計(jì)算資源有限,需要模型的精度與算力達(dá)到一種均衡,且模型的速度要滿足實(shí)時(shí)性的需求。如表3所示,YOLOv4算法檢測(cè)效果較好,但模型復(fù)雜,體積較大,不適合部署在算力有限的嵌入式設(shè)備。Mobilenetv2-SSD與YOLOv4-tiny算法屬于輕量級(jí)算法,模型簡(jiǎn)單,速度快,體積較小分別為23.89 MB和22.65 MB,易部署在嵌入式設(shè)備,但是二者目標(biāo)檢測(cè)精度低。本文提出的AMS-YOLOv4-tiny算法達(dá)到了模型精度與大小的均衡,與YOLOv4-tiny相比,mAP提升4.45%,車的AP提升4.9%,人的AP提升4.01%;與Mobilenetv2-SSD相比,mAP提升9.35%,車的AP提升6.79%,人的AP提升11.93%;與YOLOv4相比,mAP僅低其1.28%,而模型大小為其1/10。
本文使用君正T40嵌入式平臺(tái)進(jìn)行算法的性能驗(yàn)證,T40是一款擁有1.2 GHz XBurst2雙核CPU的4K視頻AloT應(yīng)用處理器,支持int16/int8/int4/int2等多種量化等級(jí),內(nèi)置算法后處理單元,支持非卷積計(jì)算硬件加速。將算法移植到此平臺(tái)的過程分為3步:①在Linux Host機(jī)上安裝用來(lái)編譯和調(diào)試嵌入式設(shè)備程序的交叉工具鏈,其具體版本信息為gcc 7.2.0、glibc 2.26、uclibc 0.9.33.2;②程序在宿主機(jī)上經(jīng)過交叉編譯后得到可執(zhí)行文件;③將可執(zhí)行文件燒寫到T40并運(yùn)行。
將YOLOv4-tiny算法和本文提出的改進(jìn)算法AMS-YOLOv4-tiny在嵌入式設(shè)備T40上進(jìn)行對(duì)比測(cè)試,檢測(cè)效果如圖9所示。圖9中第一行的兩張圖是對(duì)空曠場(chǎng)景下單個(gè)遠(yuǎn)距離的小目標(biāo)進(jìn)行檢測(cè),當(dāng)天天氣狀況為陰天、輕度霾,左邊圖為YOLOv4-tiny的檢測(cè)效果圖,右邊圖為AMS-YOLOv4-tiny的檢測(cè)效果圖。圖9第二行的兩張圖是對(duì)復(fù)雜場(chǎng)景下的多目標(biāo)進(jìn)行檢測(cè),當(dāng)天天氣狀況為陰天,空氣質(zhì)量良好,左邊圖為YOLOv4-tiny的檢測(cè)效果圖,右邊圖為AMS-YOLOv4-tiny的檢測(cè)效果圖。將兩種場(chǎng)景下兩種算法的檢測(cè)效果分別對(duì)比發(fā)現(xiàn),YOLOv4-tiny小目標(biāo)漏檢嚴(yán)重,AMS-YOLOv4-tiny算法明顯提升了小目標(biāo)的檢測(cè)效果。
圖9 YOLOv4-tiny與AMS-YOLOv4-tiny檢測(cè)效果對(duì)比
將AMS-YOLOv4-tiny算法在多種復(fù)雜場(chǎng)景下進(jìn)行測(cè)試,效果如圖10所示。
圖10 AMS-YOLOv4-tiny模型多種復(fù)雜場(chǎng)景下測(cè)試效果
圖10左上圖的天氣狀況為中雪,有霧,能見度不足1 km,從測(cè)試效果來(lái)看,在天氣惡劣的雪天目標(biāo)車被明顯遮擋的情況下,AMS-YOLOv4-tiny仍有很好的檢測(cè)效果;
圖10右上圖顯示,目標(biāo)處于附近大樓投下的陰影中,且周圍環(huán)境雜亂,目標(biāo)人距離設(shè)備鏡頭50 m,AMS-YOLOv4-tiny仍能精準(zhǔn)捕捉到目標(biāo);
圖10左下圖顯示,夜晚目標(biāo)較小且模糊的情況下,AMS-YOLOv4-tiny依舊能將目標(biāo)檢測(cè)出來(lái);
實(shí)驗(yàn)驗(yàn)證本文提出的改進(jìn)算法AMS-YOLOv4-tiny明顯提升了小目標(biāo)檢測(cè)性能,且檢測(cè)效果穩(wěn)定,檢測(cè)結(jié)果受天氣、能見度、周圍環(huán)境雜亂程度、光線、障礙物遮擋等因素影響小,具有很強(qiáng)的魯棒性,滿足多種復(fù)雜場(chǎng)景下目標(biāo)檢測(cè)任務(wù)的精度與實(shí)時(shí)性要求。
針對(duì)無(wú)依托供電場(chǎng)景下,現(xiàn)有模型受戶外天氣、能見度、距離、周圍環(huán)境雜亂程度、障礙物遮擋等因素影響較大,檢測(cè)結(jié)果易出現(xiàn)抖動(dòng),且小目標(biāo)漏檢嚴(yán)重的問題,本文基于YOLOv4-tiny提出一種新的小目標(biāo)檢測(cè)輕量級(jí)模型AMS-YOLOv4-tiny?;跍\層信息加固的三路特征融合網(wǎng)絡(luò)SCFPN,提升了檢測(cè)層對(duì)目標(biāo)的表達(dá)能力;嵌入通道注意力機(jī)制,有利于網(wǎng)絡(luò)對(duì)關(guān)鍵信息進(jìn)行捕獲;更加平滑的Mish函數(shù)使得更多細(xì)節(jié)信息深入網(wǎng)絡(luò),獲得更高的準(zhǔn)確率和更好的泛化效果。與YOLOv4-tiny相比,AMS-YOLOv4-tiny將mAP提升4.45%,車的AP提升4.9%,人的AP提升4.01%,且模型大小僅增加3.08 MB。與當(dāng)前主流的一階段算法YOLOv4相比,AMS-YOLOv4-tiny的mAP僅比大型網(wǎng)絡(luò)YOLOv4低1.28%,而模型大小縮減為YOLOv4的1/10,達(dá)到了精度與算力的均衡。將AMS-YOLOv4-tiny模型部署在在嵌入式設(shè)備T40上測(cè)試,滿足多種復(fù)雜場(chǎng)景下目標(biāo)檢測(cè)任務(wù)的精度與實(shí)時(shí)性要求。