任 彬,王宇慶,叢 振,聶海濤,楊 航
(1.中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春 130033;2.中國(guó)科學(xué)院大學(xué),北京 100049;3.中國(guó)人民解放軍聯(lián)勤保障部隊(duì)第946醫(yī)院 醫(yī)學(xué)工程科,吉林 長(zhǎng)春 130033)
目標(biāo)檢測(cè)作為機(jī)器學(xué)習(xí)的一個(gè)重要研究領(lǐng)域,經(jīng)過(guò)了傳統(tǒng)的目標(biāo)檢測(cè)算法和基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法兩個(gè)階段[1]。2014年之前,傳統(tǒng)的目標(biāo)檢測(cè)算法一直占據(jù)著主流地位。2001年,Paul Viola在CVPR會(huì)議中提出了Viola-Jones 算法,通過(guò)Haar-like特征和Adaboots算法有機(jī)結(jié)合實(shí)現(xiàn)了人臉檢測(cè)。4年之后,Dalal提出了HOG+SVM的方法,并應(yīng)用于行人檢測(cè)。2008年,Pedro Felzenszwalb在其基礎(chǔ)上提出了DPM算法,通過(guò)多組件(Component)的策略解決了多視角的問(wèn)題,通過(guò)基于圖結(jié)構(gòu)(Pictorial Structure)的部件模型策略解決了目標(biāo)的形變問(wèn)題。但這些傳統(tǒng)的目標(biāo)檢測(cè)算法在進(jìn)行區(qū)域選擇時(shí)往往需要遍歷整個(gè)圖像,存在時(shí)間復(fù)雜度高的問(wèn)題,同時(shí)手工設(shè)計(jì)的特征魯棒性也較差。2014年之后,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法快速崛起,形成了基于候選區(qū)域的目標(biāo)檢測(cè)算法和基于回歸的目標(biāo)檢測(cè)算法兩個(gè)流派。前者以R-CNN為代表,這類算法精度較高,但實(shí)時(shí)性較差,不利于工程項(xiàng)目的實(shí)際應(yīng)用[2];后者以Yolo為代表,這類算法雖然在精度方面略有遜色,但檢測(cè)速度卻遠(yuǎn)快于基于候選區(qū)域的目標(biāo)檢測(cè)算法。
另一方面,隨著無(wú)人機(jī)在軍事偵察和森林火災(zāi)預(yù)警方面的應(yīng)用日益普遍[3],針對(duì)無(wú)人機(jī)平臺(tái)的航空?qǐng)D像目標(biāo)檢測(cè)技術(shù)引起越來(lái)越多國(guó)家的注意。國(guó)外很早便開(kāi)展了針對(duì)無(wú)人機(jī)平臺(tái)的檢測(cè)跟蹤系統(tǒng)的研究[4]。1997年,Olson等人提出了基于模型的準(zhǔn)實(shí)時(shí)性跟蹤系統(tǒng),該系統(tǒng)在目標(biāo)發(fā)生一定形變或者被短暫遮擋時(shí)依舊能保持較好的準(zhǔn)確度[5]。2006年,美國(guó)先進(jìn)技術(shù)研究局發(fā)布了COCOA監(jiān)控系統(tǒng),可以實(shí)現(xiàn)對(duì)行人、車輛等多種類型目標(biāo)的自動(dòng)檢測(cè)和軌跡跟蹤[6]。2010 年,Ibrahim 提出的 MODAT系統(tǒng)彌補(bǔ)了COCOA系統(tǒng)在復(fù)雜背景下準(zhǔn)確度不高的問(wèn)題[7]。國(guó)內(nèi)相關(guān)方面的研究雖然起步較晚,但發(fā)展迅速。2011年,譚熊等人提出了一種計(jì)算量小、滿足實(shí)時(shí)性的目標(biāo)檢測(cè)與跟蹤算法[8],2018年,湯軼等人提出了一種基于 Kalman 濾波和粒子群優(yōu)化(PSO)算法的目標(biāo)跟蹤檢測(cè)算法,將PSO算法代替窮舉法,極大地降低了計(jì)算量[9]。2020年,李航等人將深度可分離卷積應(yīng)用于Yolo算法,通過(guò)減少參數(shù)量加快了網(wǎng)絡(luò)傳播速度,使算法具備嵌入式平臺(tái)移植基礎(chǔ)[10]。
在實(shí)際無(wú)人機(jī)目標(biāo)檢測(cè)場(chǎng)景中檢測(cè)速度往往是比檢測(cè)精度更重要的評(píng)價(jià)指標(biāo),所以本文選擇了速度較快的一階段網(wǎng)絡(luò)Yolo V3作為基礎(chǔ)網(wǎng)絡(luò)。針對(duì)航空?qǐng)D像目標(biāo)檢測(cè)的應(yīng)用場(chǎng)景,本文設(shè)計(jì)了合適的錨框(Anchor),通過(guò)對(duì)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行調(diào)整,使其平均精度均值(MAP)提升了1.3%。之后對(duì)各卷積層進(jìn)行基于L1范數(shù)的敏感度分析,通過(guò)剪枝操作,使模型具備了多處理器片上系統(tǒng)(MPSOC)平臺(tái)的移植基礎(chǔ)。
本文所采用的MPSOC硬件平臺(tái)為Xilinx推出的第二代多處理器片上系統(tǒng)(SOC)器件Zynq UltraScale+ MPSoC。作為異構(gòu)SOC平臺(tái),該芯片中集成了多核應(yīng)用處理器(四核ARM Cortex-A53應(yīng)用處理器)、多核圖形處理器(雙核ARM Mali-400圖形處理器)、多核實(shí)時(shí)處理器(雙核ARM Cortex-R5實(shí)時(shí)處理器)、平臺(tái)管理單元(電源管理、錯(cuò)誤管理、配置管理以及安全管理)和可編程邏輯資源(高性能計(jì)算和豐富I/O擴(kuò)展等)。與傳統(tǒng)的SOC平臺(tái)相比該平臺(tái)擁有更多的資源和更高的安全性。
Yolo V3主干網(wǎng)絡(luò)采用DarkNet53,只保留了前52個(gè)卷積層,用于圖片特征的選擇與提取。網(wǎng)絡(luò)的具體結(jié)構(gòu)如圖1所示。整個(gè)網(wǎng)絡(luò)由5個(gè)Yolo模塊組成,每個(gè)Yolo模塊所含有的殘差模塊數(shù)目互不相同。以第二個(gè)Yolo模塊為例,整個(gè)Yolo模塊由2個(gè)殘差模塊組成,而每個(gè)殘差模塊又由2個(gè)卷積層組成,第一個(gè)卷積層所用的卷積核大小為3×3,第二個(gè)卷積層所用的卷積核的大小為1×1。同時(shí)Yolo V3算法借鑒了FPN(Feature pyramid networks)的思想,利用不同的特征層檢測(cè)不同尺度的目標(biāo)[11]。整個(gè)算法會(huì)產(chǎn)生3個(gè)不同尺度特征圖,分別對(duì)應(yīng)圖1中的scale1、scale2和scale3。對(duì)于輸入608×608的圖像會(huì)得到19×19、38×38和76×76的3個(gè)特征圖。
圖1 Yolo V3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Yolo V3 network structure diagram
特征圖中每個(gè)單像素點(diǎn)(特征點(diǎn))都對(duì)應(yīng)著原圖中的一個(gè)區(qū)域。如76×76的特征圖,它由原圖經(jīng)8倍降采樣后得到,每個(gè)點(diǎn)對(duì)應(yīng)的原圖區(qū)域大小為8×8。在網(wǎng)絡(luò)訓(xùn)練的過(guò)程中,真實(shí)框(Ground truth)的中心點(diǎn)落在特征圖中哪個(gè)特征點(diǎn)對(duì)應(yīng)的區(qū)域,哪個(gè)特征點(diǎn)就負(fù)責(zé)這個(gè)真實(shí)框的回歸。每個(gè)特征點(diǎn)對(duì)應(yīng)3種不同的錨框,所以一個(gè)特征點(diǎn)可同時(shí)回歸3個(gè)不同的真實(shí)框。負(fù)責(zé)該真實(shí)框的特征點(diǎn)會(huì)選擇與其擁有最大交并比的錨框?qū)ζ湮恢眠M(jìn)行回歸。在原始Yolo V3網(wǎng)絡(luò)中檢測(cè)結(jié)果的通道數(shù)為255。每個(gè)255維的通道由邊框回歸和分類情況兩部分組成。對(duì)于每個(gè)點(diǎn)的每個(gè)預(yù)測(cè)框(bounding box)的回歸情況需要用(x,y,w,h,confidence)5個(gè)基本參數(shù)描述,其中x、y為中心點(diǎn)坐標(biāo),w、h為預(yù)測(cè)框的長(zhǎng)寬,confidence為置信度。對(duì)于分類情況部分,類別數(shù)目等于分類部分通道的維數(shù)。如COCO數(shù)據(jù)集,需要檢測(cè)的類別數(shù)為80,那么就需要一個(gè)80維的通道描述其類別情況。所以最終確定的維數(shù)情況為:3×(5+80)=255。其中3為每個(gè)單像素點(diǎn)擁有預(yù)測(cè)框的數(shù)量,5為邊框回歸情況,80為類別數(shù)。
一個(gè)好的訓(xùn)練數(shù)據(jù)集首先需要與應(yīng)用場(chǎng)景一致。目前應(yīng)用較多的COCO、VOC等數(shù)據(jù)集顯然不具備目標(biāo)尺寸偏小、多尺度以及成像背景復(fù)雜等航空?qǐng)D像的基本特點(diǎn)。目前可供選擇的數(shù)據(jù)集主要有DATO和VISDRONE。DATO數(shù)據(jù)集的目標(biāo)為高空無(wú)人機(jī)所拍攝,目標(biāo)多為飛機(jī)、船舶、籃球場(chǎng)一類,且擁有的圖片數(shù)量為2 806張。VISDRONE數(shù)據(jù)集由天津大學(xué)標(biāo)注,該數(shù)據(jù)集覆蓋了中國(guó)從北到南14個(gè)城市的城市/郊區(qū)。整個(gè)數(shù)據(jù)集合共有12類,分別是:people,pedestrian,bicycle,car,van,truck,tricycle,awning-tricycle,bus,motor,other,ignore regions,圖片數(shù)量為8 629張。往往數(shù)據(jù)集越大,所得到的模型泛化能力和精度越高。本文最終選擇的數(shù)據(jù)集為VISDRONE。VISDRONE數(shù)據(jù)集主類為前10類,所以在進(jìn)行模型訓(xùn)練與檢測(cè)時(shí),只采用了前10類。訓(xùn)練集、測(cè)試集、驗(yàn)證集中各個(gè)類別的分布情況如表1所示。
表1 VISDRONE數(shù)據(jù)分布情況Tab.1 The distribution of the VISDRONE dataset
續(xù) 表
Yolo V3原始模型在進(jìn)行訓(xùn)練與驗(yàn)證任務(wù)時(shí)所選擇的錨框都是根據(jù)COCO數(shù)據(jù)集而設(shè)定,并不適用于VISDRONE數(shù)據(jù)集中的目標(biāo),存在尺度偏大的問(wèn)題,嚴(yán)重影響回歸的準(zhǔn)確度和效率,特別是對(duì)小目標(biāo)的檢測(cè)。此處采用改進(jìn)的k均值聚類方法對(duì)VISDRONE數(shù)據(jù)集中的錨框重新聚類。由于錨框聚類的根本目的在于,使錨框與所有真實(shí)框最相似,即擁有最大的平均交并比(IOU)。所以在聚類時(shí)直接用交并比代替?zhèn)鹘y(tǒng)的歐氏距離作為距離度量指標(biāo)。IOU的具體定義如圖2所示:兩個(gè)矩形分別代表聚類中心邊框和待分類邊框,上面的黑色區(qū)域?yàn)閮蓚€(gè)邊框的交集面積,下面黑色區(qū)域?yàn)閮蓚€(gè)邊框的并集面積。
圖2 IOU定義Fig.2 Definition of IOU
雖然IOU可以較好地描述兩個(gè)邊框的距離,但我們通常把損失函數(shù)定義為:與模型的性能呈負(fù)相關(guān),即損失函數(shù)值越小,模型性能更好。最終將k均值聚類的損失函數(shù)定義為:
loss=1-IOUavg,
(1)
其中l(wèi)oss為定義的損失函數(shù),1為常數(shù),IOUavg為所有類別交并比的平均,算法終止的條件為loss不再變化。由于k均值聚類需要事先給出聚類的類別數(shù)量k,這里對(duì)k依次取值1~19,觀察IOUavg的變化情況。
平均IOU隨k的變化趨勢(shì)如圖3所示,可以發(fā)現(xiàn)隨著k的增大,OUavg也在增大且趨于平緩。普遍認(rèn)為曲線由陡峭到平滑的拐點(diǎn)為anchor box的最優(yōu)值[12]。從圖3可以看出k的最優(yōu)值為2,此時(shí)既可以加快損失函數(shù)的收斂,又可以消除候選框帶來(lái)的誤差。多次試驗(yàn)后發(fā)現(xiàn)得到的兩個(gè)聚類中心框均為細(xì)長(zhǎng)型,即高度遠(yuǎn)大于寬度。所以此處為了保持Yolo V3的原始結(jié)構(gòu)的優(yōu)勢(shì),只對(duì)最小的兩個(gè)細(xì)長(zhǎng)型anchor進(jìn)行替換。替換后的9個(gè)anchor box值為:[10,17],[16,30],[33,23],[27,38],[62,45],[59,119],[116,90],[156,198],[373,326]。
圖3 類別k與平均IOU關(guān)系曲線Fig.3 Relationship curve between category variable k and variable average IOU
Yolo V3網(wǎng)絡(luò)利用3個(gè)不同尺度的特征圖對(duì)不同大小的目標(biāo)進(jìn)行檢測(cè)[13]。當(dāng)輸入的圖片為608×608時(shí),最大的特征圖也只有76×76。由于在該尺度特征圖中每一個(gè)點(diǎn)都對(duì)應(yīng)著原圖一個(gè)8×8的區(qū)域。若待檢測(cè)目標(biāo)在原圖中是一個(gè)7×7的區(qū)域,那么它將會(huì)變成特征圖上的單像素點(diǎn),目標(biāo)檢測(cè)幾乎不可能。在更大的特征圖中尚且如此,在更小的特征圖中該區(qū)域?qū)?huì)變得更小,更加無(wú)法檢測(cè)。
(a)目標(biāo)框分布三維圖(a)3D distribution image of target box
對(duì)VISDRONE數(shù)據(jù)集中真實(shí)框的分布進(jìn)行統(tǒng)計(jì),如圖4所示:圖4(a)圖為目標(biāo)框的三維分布情況,可以發(fā)現(xiàn)目標(biāo)分布比較集中,且多為小目標(biāo)。圖4(b)為圖4(a)的俯視圖并二值化后的圖像。定性分析并不利于問(wèn)題的解決,所以將分布情況進(jìn)行量化。將所有的真實(shí)框被分為5類,統(tǒng)計(jì)目標(biāo)框真實(shí)框的長(zhǎng)和寬在不同取值范圍的實(shí)際分布情況。具體如表2所示。
表2 真實(shí)框分布情況Tab.2 Ground truth distribution
表2中第一行表示真實(shí)框的大小。x、y分別表示邊框的長(zhǎng)與寬。第二行表示在該長(zhǎng)寬范圍內(nèi)邊框的數(shù)量。可以發(fā)現(xiàn)有25 486個(gè)真實(shí)框在原圖上的長(zhǎng)和寬均小于8,約占目標(biāo)總量的5%,這也符合在實(shí)際航空?qǐng)D像中的目標(biāo)分布特點(diǎn)。這些真實(shí)框在最大特征圖中也僅僅是單像素點(diǎn),特征無(wú)法得到很好的表達(dá),最終造成目標(biāo)無(wú)法檢出。本文提出的解決辦法為去除一個(gè)降采樣過(guò)程,這樣得到的最大特征圖中,一個(gè)點(diǎn)將代表原圖一個(gè)4×4的區(qū)域,這時(shí)只有3 716個(gè)實(shí)際目標(biāo)框回歸會(huì)比較難,占總目數(shù)比例不足1%。極大地增加了模型對(duì)小目標(biāo)的適應(yīng)性。
去除一個(gè)降采樣過(guò)程,有圖5所示的4種方式:圖5(a)所示方式是直接去除darknet53網(wǎng)絡(luò)的最后一個(gè)Yolo模塊,此時(shí)主干網(wǎng)絡(luò)卷積層數(shù)目將變?yōu)?4,極大地減小了模型的參數(shù)量。但目前大量的研究表明,網(wǎng)絡(luò)層數(shù)越多越有利于特征的表達(dá)和檢測(cè)精度的提高[14],所以并沒(méi)有選擇圖5(a)方式。另一種方式為保留網(wǎng)絡(luò)的整體結(jié)構(gòu)不變,分別將第一個(gè)或第二個(gè)或第三個(gè)降采樣過(guò)程中3×3卷積核的步長(zhǎng)改變?yōu)?。在越大的尺度上,小目標(biāo)所占的像素越多,對(duì)其進(jìn)行卷積特征提取工作越有意義。所以在小目標(biāo)特征表達(dá)方面圖5(b)性能優(yōu)于圖5(c),圖5(c)性能優(yōu)于圖5(d)。對(duì)于圖中的圖5(b),去除一個(gè)降采樣過(guò)程后會(huì)在第一個(gè)卷積模塊中集中大量卷積層,且這些操作是在608×608的圖像中進(jìn)行,會(huì)增加大量的計(jì)算。圖5(c)與圖5(d)結(jié)構(gòu)的變化也會(huì)在對(duì)應(yīng)位置增加大量計(jì)算。在計(jì)算量方面圖5(b)>圖5(c)>圖5(d),為了最終在MPSOC平臺(tái)中進(jìn)行部署,需要在小目標(biāo)特征表達(dá)與計(jì)算量之間權(quán)衡,本文最終選擇了圖5(c)結(jié)構(gòu)。
(a)解決思路一(a)Solution idea one
目前主流進(jìn)行模型壓縮的方式有:量化、剪枝、蒸餾[15]。本文采用基于L1范數(shù)的敏感度模型剪枝方法。這種方法以每一個(gè)卷積層為基本單元,依次對(duì)每一個(gè)卷積層裁剪一定比例卷積核,計(jì)算剪枝之后模型MAP的變化情況。MAP下降越多代表卷積層越敏感。每一個(gè)卷積層擁有數(shù)量較多的卷積核,如何確定剪枝順序也是一個(gè)難題。本文通過(guò)對(duì)每個(gè)卷積核計(jì)算其L1范數(shù),按照L1范數(shù)從大到小排列,來(lái)確定裁剪順序。L1范數(shù)越小越先被裁減掉,這是由于L1范數(shù)較小的卷積核趨向于產(chǎn)生激活值較小的特征圖[16]。表3為對(duì)主干網(wǎng)絡(luò)darknet53的敏感度分析結(jié)果。
表3 各卷積層敏感分析結(jié)果Tab.3 Sensitivity analysis results of each convolutional layer
通過(guò)大量實(shí)驗(yàn),最終確定各個(gè)卷積層的裁減比例依次為0.41,0.35,0.77,0.10,0.40,0.67,0.11,0.91,0.14,0.14,0.95,0.16,0.95,0.15,0.95,0.07,0.95,0.07,0.95,0.10,0.95,0.13,0.95,0.08,0.95,0.06,0.31,0.95,0.26,0.95,0.26,0.95,0.23,0.95,0.21,0.95,0.22,0.95,0.27,0.95,0.27,0.95,0.28,0.76,0.95,0.49,0.95,0.59,0.95,0.49,0.95,0.55。為了恢復(fù)模型的精度,需要對(duì)剪枝后的模型進(jìn)行再訓(xùn)練,以恢復(fù)精度。本文沒(méi)有采用傳統(tǒng)的每剪枝一個(gè)卷積層就再訓(xùn)練一次的方法,而是一次性剪枝所有層,最后統(tǒng)一再訓(xùn)練,極大地降低了工作量。
續(xù) 表
本文所有模型訓(xùn)練及模型壓縮過(guò)程均在NVIDIA 2080Ti中進(jìn)行,最終模型的MPSOC驗(yàn)證在百度Edgeboard FZ3開(kāi)發(fā)板中進(jìn)行。FZ3主控芯片采用Xilinx的MPSOC平臺(tái)ZYNQ,具體型號(hào)為XAZU3EG-1SFVC784I。
XAZU3EG芯片提供的硬件資源具體如圖6所示。可以看出ZYNQ芯片由兩部分組成,分別為多核同構(gòu)的ARM(Advanced RISC Machine)部分(PS)和傳統(tǒng)現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)部分(PL)。這種異構(gòu)結(jié)構(gòu)將處理器的軟件可編程性與 FPGA 的硬件可編程性有機(jī)結(jié)合在一塊芯片上。利用片內(nèi)AXI方式代替?zhèn)鹘y(tǒng)的PCI-E通信,可以帶來(lái)更大的通信帶寬和通信穩(wěn)定性。具體的硬件資源為:運(yùn)行速率高達(dá)1.5 GHz的四核ARM Cortex-A53平臺(tái),雙核Cortex-R5實(shí)時(shí)處理器、Mali-400 MP2圖形處理單元及16 nm FinFET+可編程邏輯。在算力方面,與模型訓(xùn)練平臺(tái)RTX 2080Ti相比,ZYNQ系列MPSOC遠(yuǎn)落后于其1 755 MHz的核心頻率和4 352個(gè)流處理單元。但在功耗方面,MPSOC卻擁有著巨大的優(yōu)勢(shì)。正常工作時(shí)MPSOC功耗只有7~10 W,RTX 2080Ti卻達(dá)到了260 W。在便攜性和體積方面,ZYNQ系列MPSOC擁有更大的優(yōu)勢(shì)。采用MPSOC異構(gòu)結(jié)構(gòu)同時(shí)簡(jiǎn)化了開(kāi)發(fā)過(guò)程,PS部分為主控部分,可以先行驗(yàn)證速算法的可行性,之后利用FPGA部分對(duì)算法進(jìn)行硬件加速,提高算法性能。在開(kāi)發(fā)工具方面,Xilinx提供的vivado系列工具極大地簡(jiǎn)化了開(kāi)發(fā)流程。本文同時(shí)對(duì)系統(tǒng)環(huán)境進(jìn)行了搭建,具體工作包括利用Petalinux制作Linux系統(tǒng),編譯與移植OpenCV庫(kù)及百度開(kāi)發(fā)的深度學(xué)習(xí)接口工具PaddleLite等。MPSOC平臺(tái)外接的硬件設(shè)備包括USB攝像頭與HDMI顯示器,分別用于對(duì)圖像進(jìn)行采集與結(jié)果顯示。
圖6 MPSOC資源介紹[17]Fig.6 Introduction to MPSOC hardware resources
對(duì)優(yōu)化前后模型的性能進(jìn)行分析,評(píng)價(jià)指標(biāo)為平均準(zhǔn)確率(Average Precision,AP)和召回率。其中AP用于衡量模型對(duì)某一類的檢測(cè)精度。對(duì)圖7和圖8比較可以發(fā)現(xiàn),大多數(shù)類別的AP都有所上升。這是由于去除一個(gè)降采樣過(guò)程后,不只是小目標(biāo)的特征得到了更好的表達(dá),識(shí)別難度不大的大目標(biāo)特征也能得到更好的表達(dá)。
圖7 優(yōu)化前模型APFig.7 AP index of the model before optimization
圖8 優(yōu)化后模型APFig.8 AP index of the optimized model
另一個(gè)評(píng)價(jià)指標(biāo)為召回率。召回率用于描述陽(yáng)性樣本經(jīng)過(guò)模型后的輸出結(jié)果依舊為陽(yáng)性的樣本占所有陽(yáng)性的比例。每一類的召回率所取的值為P-R曲線中最小非零精確度所對(duì)應(yīng)的召回率。從圖9可以發(fā)現(xiàn)優(yōu)化后模型的各個(gè)類的召回率都有所上升。其中對(duì)于car這一類目標(biāo)的召回率達(dá)到了93%以上。在圖10中橫坐標(biāo)為模型回歸所得到的預(yù)測(cè)框的數(shù)量和數(shù)據(jù)集中實(shí)際擁有邊框的比值。以people為例,其驗(yàn)證集中共有目標(biāo)21 006個(gè),優(yōu)化前模型檢測(cè)出的people類共有8 053個(gè),優(yōu)化后模型檢出4 946個(gè),所以其橫坐標(biāo)分別為0.38和0.23。結(jié)合圖9可以發(fā)現(xiàn),優(yōu)化前的模型可以檢測(cè)較多的people預(yù)測(cè)框,但是其召回率卻不高,這意味著將很多不是people的物體檢測(cè)為people,誤檢率較高。而這種誤檢情況在優(yōu)化前模型的各個(gè)類別中普遍存在。與原始模型相比優(yōu)化后的模型誤檢率降低,準(zhǔn)確度得到了較大地提高。
圖9 優(yōu)化前后模型召回率變化Fig.9 Change of model recall rate before and after optimization
圖10 優(yōu)化前后模型回歸邊框數(shù)量變化Fig.10 Number of regression borders changed before and after optimization
圖11所示為改進(jìn)前后模型對(duì)同一張圖片的檢測(cè)效果的比較。左側(cè)圖(a)、(c)為原始模型檢測(cè)結(jié)果,右側(cè)圖(b)、(d)為優(yōu)化后模型的檢測(cè)結(jié)果。可以發(fā)現(xiàn)無(wú)論是對(duì)于小目標(biāo)還是大目標(biāo),優(yōu)化后的網(wǎng)絡(luò)檢測(cè)精度都得到了明顯提高。利用VISDRONE測(cè)試集對(duì)算法改進(jìn)前后、剪枝前后的性能進(jìn)行了統(tǒng)計(jì)比較。如表4所示,其中MAP50為10個(gè)類的AP50平均后的結(jié)果,可以得到優(yōu)化后網(wǎng)絡(luò)的MAP50提高了1.3%,性能甚至優(yōu)于最新的YoloV4算法。通過(guò)基于敏感度的剪枝后模型MAP雖然有所下降,但在算法規(guī)模方面剪枝后網(wǎng)絡(luò)卻達(dá)到了91.9 M,是原模型246 M的37%。檢測(cè)速度達(dá)到34.4 fps,是原模型的2倍。
(a)優(yōu)化前模型檢測(cè)結(jié)果一(a)Detection result 1 of the model before optimization
表4 模型性能比較Tab.4 Model performance comparison
同時(shí)將剪枝后的模型在MPSOC平臺(tái)中進(jìn)行了實(shí)景驗(yàn)證,搭建的實(shí)驗(yàn)平臺(tái)如圖12所示。該算法對(duì)視頻序列中出現(xiàn)的一些較小目標(biāo)也取得了較好的效果,相比較原始算法,速度方面也有了較大提升。對(duì)于接入的608×608圖像,檢測(cè)速度可以達(dá)到13 fps,基本滿足航空?qǐng)D像目標(biāo)檢測(cè)的要求。與GPU平臺(tái)相比,該平臺(tái)可以在資源有限的情況下實(shí)現(xiàn)對(duì)航空?qǐng)D像中多類目標(biāo)的檢測(cè),同時(shí)擁有更高的便攜性和更低的功耗。
圖12 MPSOC硬件平臺(tái)Fig.12 MPSOC hardware platform
本文針對(duì)航空?qǐng)D像目標(biāo)檢測(cè)的特點(diǎn),通過(guò)改變錨框和調(diào)整卷積層結(jié)構(gòu)對(duì)Yolo V3算法進(jìn)行優(yōu)化,使算法的MAP提高了1.3%。同時(shí)利用基于敏感度的剪枝算法對(duì)模型進(jìn)行壓縮,參數(shù)規(guī)模變?yōu)樵瓉?lái)的37%,檢測(cè)速度提高了1倍。最后在MPSOC平臺(tái)進(jìn)行了實(shí)驗(yàn)驗(yàn)證,并取得了較好的檢測(cè)效果。實(shí)驗(yàn)結(jié)果表明,該算法基本滿足航空體圖像目標(biāo)檢測(cè)的需求,同時(shí)系統(tǒng)平臺(tái)也為深度學(xué)習(xí)算法在無(wú)人機(jī)端的移植奠定了基礎(chǔ)。