趙會(huì)盼 喬任重 張學(xué)軍
摘要:針對(duì)在嵌入式平臺(tái)上采用深度學(xué)習(xí)目標(biāo)檢測(cè)識(shí)別模型很難在精度和速度之間保持平衡的問(wèn)題,提出一種基于深度可分離卷積塊和反向特征融合結(jié)構(gòu)的方法對(duì)YOLOv3模型進(jìn)行改進(jìn),并通過(guò)基于距離的非極大抑制和損失函數(shù)的設(shè)計(jì)(DIoU-NMS和DIoU-Loss),最終實(shí)現(xiàn)在快速目標(biāo)檢測(cè)的同時(shí)提升了檢測(cè)準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,在VOC2007+2012數(shù)據(jù)集上,實(shí)時(shí)性滿足79FPS的同時(shí)mAP可達(dá)到80.22%,并在Jetson AGX Xavier嵌入式平臺(tái)進(jìn)行了測(cè)試。
關(guān)鍵詞:嵌入式;深度可分離卷積;反向特征融合結(jié)構(gòu);DIoU
中圖分類號(hào):TP391文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-1739(2021)15-55- 6
0引言
隨著自然科學(xué)與現(xiàn)代化技術(shù)的迅速發(fā)展,安防、交通等領(lǐng)域的多樣化需求環(huán)境對(duì)目標(biāo)檢測(cè)的速度和精度要求越來(lái)越高。而由于目標(biāo)環(huán)境復(fù)雜、光照情況差異及目標(biāo)遮擋不同等因素,傳統(tǒng)的檢測(cè)技術(shù)難以滿足當(dāng)前社會(huì)的現(xiàn)實(shí)需求。
深度學(xué)習(xí)的出現(xiàn)極大程度地促進(jìn)了相關(guān)問(wèn)題的解決和相關(guān)技術(shù)的高速發(fā)展。神經(jīng)網(wǎng)絡(luò)的相關(guān)模型早在上個(gè)世紀(jì)就被研究者提出,近年來(lái)隨著GPU和CUDA的發(fā)展,計(jì)算機(jī)的計(jì)算能力得到爆發(fā)性提高,卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)目標(biāo)檢測(cè)領(lǐng)域的應(yīng)用中取得突破性進(jìn)展。2014年,Ross B.Girshick將CNN用于目標(biāo)檢測(cè),提出了基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法的開(kāi)山之作———R-CNN算法;2015年,Girshick提出了Fast R-CNN,同年Ren等人[1]提出了Faster R-CNN,并提出RPN算法,進(jìn)一步減少了檢測(cè)識(shí)別的時(shí)間開(kāi)銷。在此基礎(chǔ)上,后續(xù)學(xué)者提出了RFCN、Mask R-CNN等two-stage目標(biāo)檢測(cè)框架,需要首先生成候選區(qū)域,在其基礎(chǔ)上進(jìn)行分類判斷和位置計(jì)算。另一類檢測(cè)識(shí)別框架直接得到目標(biāo)的位置坐標(biāo)以及類別概率,稱為one-stage目標(biāo)檢測(cè)框架。2015年,Redmon等人提出YOLO框架,直接將目標(biāo)檢測(cè)問(wèn)題轉(zhuǎn)化成一個(gè)回歸問(wèn)題,檢測(cè)過(guò)程無(wú)區(qū)域生成步驟,速度非???2016年,劉偉等人集成RPN、YOLO及多尺度思想,提出了SDD算法,改善了YOLO定位準(zhǔn)確性低的問(wèn)題;YOLO研究團(tuán)隊(duì)[2]于2017年推出了YOLO v2版本,于2018年提出了YOLO v3,在準(zhǔn)確度和速度上均取得了較大突破。
然而,現(xiàn)有卷積神經(jīng)網(wǎng)絡(luò)不能很好地適應(yīng)現(xiàn)今的智能移動(dòng)端設(shè)備,尤其是在目標(biāo)檢測(cè)這類復(fù)雜度較高的任務(wù)中,算力和內(nèi)存空間成為模型在移動(dòng)端部署的兩大瓶頸。因此,最近的很多研究成果旨在減少模型計(jì)算量和模型參數(shù),然而,目標(biāo)檢測(cè)模型通常輸入分辨率較大,同時(shí)網(wǎng)絡(luò)結(jié)構(gòu)較復(fù)雜,還可能包括多個(gè)輸入以及一些后處理,這些都對(duì)目標(biāo)檢測(cè)技術(shù)應(yīng)用于嵌入式平臺(tái)提出了更高的要求。
本文提出一種基于嵌入式平臺(tái)的輕量化目標(biāo)檢測(cè)識(shí)別方法,以YOLOv3模型為基礎(chǔ),采用深度可分離卷積代替全卷積,減少模型整體參數(shù)量;采用反向特征融合結(jié)構(gòu),提升檢測(cè)性能;采用基于距離的非極大抑制方法,優(yōu)化邊界框的回歸并在模型訓(xùn)練過(guò)程中采用基于距離的邊界框回歸損失函數(shù),提升模型訓(xùn)練效率,并最終應(yīng)用于嵌入式平臺(tái),在滿足目標(biāo)檢測(cè)器實(shí)時(shí)性要求的前提下,有效提高了檢測(cè)準(zhǔn)確率。
1模型整體架構(gòu)
輕量化的網(wǎng)絡(luò)模型旨在保持模型精度的基礎(chǔ)上進(jìn)一步減少模型參數(shù)量和復(fù)雜度,一般通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)和模型壓縮2種方法實(shí)現(xiàn)。本文以設(shè)計(jì)一種輕量化深度學(xué)習(xí)網(wǎng)絡(luò)實(shí)現(xiàn),模型結(jié)構(gòu)如圖1所示。該模型的特征提取網(wǎng)絡(luò)以Darknet53網(wǎng)絡(luò)為基礎(chǔ),借鑒MobileNetv2主干網(wǎng)絡(luò)來(lái)進(jìn)行輕量化設(shè)計(jì),稱為MobileDarknet。其中,MobileNetv2是專為移動(dòng)端設(shè)計(jì)的小型網(wǎng)絡(luò)[3],通過(guò)深度可分離卷積塊大大減少計(jì)算量的同時(shí),保持了很高的準(zhǔn)確率,且對(duì)硬件資源較為友好,在ImageNet公共數(shù)據(jù)集上達(dá)到了72.0%的Top-1準(zhǔn)確率。
在特征提取網(wǎng)絡(luò)MobileDarknet的后面,使用了改進(jìn)后的特征金字塔網(wǎng)絡(luò)(Feature Parymid Network,F(xiàn)PN)進(jìn)行特征融合[4],且為了降低計(jì)算量,將網(wǎng)絡(luò)中所有的3×3全卷積層替換為3×3的逐通道卷積與1×1的逐點(diǎn)卷積的組合。改進(jìn)后的特征金字塔網(wǎng)絡(luò)增加了一個(gè)反向特征融合結(jié)構(gòu)[5-6],如果模型輸入為416×416的3通道可見(jiàn)光圖片,經(jīng)過(guò)特征提取網(wǎng)絡(luò)后輸入到改進(jìn)特征金字塔網(wǎng)絡(luò)的3種有效特征圖的尺度分別為下采樣8倍,16倍,32倍的52×52,26×26,13×13大小的特征圖,反向特征融合結(jié)構(gòu)將經(jīng)過(guò)FPN的特征圖再進(jìn)行反向下采樣,最后使上采樣和下采樣的各層特征圖進(jìn)行融合,這樣得到的特征圖中就充分融合了低層特征圖的空間信息和高層特征圖的語(yǔ)義信息,即加強(qiáng)了多尺度特征信息的融合,對(duì)檢測(cè)精度有較大提升。
將經(jīng)過(guò)解碼的3個(gè)檢測(cè)頭預(yù)測(cè)的檢測(cè)框位置和類別信息通過(guò)基于距離的非極大值抑制進(jìn)行篩選,最終獲得檢測(cè)結(jié)果。
2深度可分離卷積塊設(shè)計(jì)
2.1深度可分離卷積原理
標(biāo)準(zhǔn)的卷積塊操作實(shí)現(xiàn)了通道相關(guān)性和空間相關(guān)性的聯(lián)合映射。深度可分離卷積塊主要是以逐通道卷積和逐點(diǎn)卷積組成,將標(biāo)準(zhǔn)卷積結(jié)構(gòu)進(jìn)行了拆分,分為逐通道卷積和逐點(diǎn)卷積,其背后的理論假設(shè)為:卷積層通道間的相關(guān)性和空間相關(guān)性是可以退耦合的,將它們分開(kāi)映射,能更好地降低網(wǎng)絡(luò)的參數(shù)量,原理圖如圖2所示。
2.2逆置殘差結(jié)構(gòu)
由于采用深度可分離卷積不可避免地帶來(lái)特征信息的損失,為了模型學(xué)習(xí)目標(biāo)特征的能力有更好的保證,本文借鑒ResNet的思想,將每個(gè)深度可分離卷積塊加入逆置殘差結(jié)構(gòu)。逆置殘差結(jié)構(gòu)的思想是,先將較小的特征圖采用逐點(diǎn)卷積升維,即擴(kuò)大特征圖增加特征通道數(shù),再通過(guò)逐通道卷積進(jìn)行特征提取,獲得更豐富的目標(biāo)特征,最后用逐點(diǎn)卷積降維,即壓縮特征圖減小通道數(shù)。這樣深度可分離卷積塊在輸入和輸出端的參數(shù)量不多,同時(shí)也保證了逐通道卷積有較多可提取的目標(biāo)特征信息。
2.3線性卷積層
通常情況下,在每個(gè)卷積層后面都會(huì)使用非線性激活函數(shù)ReLU,增加特征稀疏性來(lái)提高特征的魯棒性,但如果利用多層非線性激活有可能產(chǎn)生過(guò)度稀疏,使模型學(xué)不到有效特征,尤其是在低維空間通道數(shù)較少時(shí)。因此,為了避免特征的破壞,在每個(gè)深度可分離卷積塊的最后一層設(shè)置為線性卷積層,且每個(gè)線性卷積層之間采用跳連,促進(jìn)數(shù)據(jù)在層間的流動(dòng)并進(jìn)行線性映射保護(hù)特征。
整體上來(lái)說(shuō),深度可分離卷積塊在整個(gè)實(shí)時(shí)性和準(zhǔn)確率之間做了很好的權(quán)衡。標(biāo)準(zhǔn)全卷積塊和深度可分離卷積塊的結(jié)構(gòu)對(duì)比,如圖3所示。
3反向特征融合結(jié)構(gòu)改進(jìn)設(shè)計(jì)
在傳統(tǒng)的特征金字塔網(wǎng)絡(luò)中,一般將特征提取網(wǎng)絡(luò)中生成的不同尺度特征圖作為輸入,如圖4中的特征圖1、特征圖2和特征圖3,接著進(jìn)行自上而下的單向融合再輸出,融合后對(duì)應(yīng)的3種特征圖尺度沒(méi)有改變,但是特征圖中包含的信息更加豐富。為了加強(qiáng)特征圖中包含的特征信息,以達(dá)到提升檢測(cè)準(zhǔn)確率的目的,改進(jìn)后的特征金字塔網(wǎng)絡(luò)增加了反向特征融合結(jié)構(gòu),即增加一個(gè)自下而上的反向融合過(guò)程,并將自上而下的過(guò)程與自下而上的過(guò)程通過(guò)融合中間層來(lái)連接,簡(jiǎn)化了自上而下的過(guò)程,一定程度上加快了網(wǎng)絡(luò)的推理速度。在融合過(guò)程中,融合中間層包含有效特征層3的高層語(yǔ)義信息和有效特征層2的較低層的空間和輪廓信息,融合過(guò)程沒(méi)有引入過(guò)多的復(fù)雜計(jì)算參數(shù),而是采用concate作各特征圖的通道拼接,且FPN+反向特征融合結(jié)構(gòu)各層之間的融合都是采用concate操作。除此之外,為了降低模型參數(shù)量,所有的卷積都以深度可分離卷積代替。FPN+反向特征融合結(jié)構(gòu)如圖4所示。
4基于距離的非極大抑制和邊界框回歸損失函數(shù)
4.1基于距離的非極大抑制方法
與DIoU-NMS不同的是,DIoU-Loss懲罰項(xiàng)中為真實(shí)框的中心點(diǎn),為預(yù)測(cè)框的中心點(diǎn)。
5實(shí)驗(yàn)分析
5.1硬件平臺(tái)
本模型實(shí)驗(yàn)分析過(guò)程分為模型訓(xùn)練過(guò)程和實(shí)際性能測(cè)試過(guò)程。其中,模型訓(xùn)練過(guò)程在服務(wù)器完成,深度學(xué)習(xí)框架為Pytorch;模型實(shí)際性能測(cè)試環(huán)境為NVIDIA公司的嵌入式GPU設(shè)備Jetson AGX Xavier,具體硬件平臺(tái)配置信息如表1所示。
5.2數(shù)據(jù)集的選擇和先驗(yàn)框的設(shè)置
本模型以VOC2007+2012數(shù)據(jù)集為基礎(chǔ)進(jìn)行訓(xùn)練并測(cè)試,且在原有的20類目標(biāo)中增加并標(biāo)注了一類卡車(truck)以應(yīng)對(duì)實(shí)際場(chǎng)景中具體類別的區(qū)分,PASCAL VOC挑戰(zhàn)賽(The PASCAL Visual Object Classes)是一個(gè)世界級(jí)的計(jì)算機(jī)視覺(jué)挑戰(zhàn)賽。很多優(yōu)秀的計(jì)算機(jī)視覺(jué)模型比如分類、定位、檢測(cè)、分割和動(dòng)作識(shí)別等模型都是基于PASCAL VOC挑戰(zhàn)賽及其數(shù)據(jù)集推出的,尤其是一些經(jīng)典目標(biāo)檢測(cè)模型。針對(duì)增擴(kuò)后的VOC數(shù)據(jù)集,需要通過(guò)均值聚類算法來(lái)獲取先驗(yàn)框的大小參數(shù),有助于減小先驗(yàn)框和預(yù)測(cè)邊界框的偏移量,提高檢出率。均值聚類的過(guò)程可描述為:①選取個(gè)樣本作為聚類中心;②計(jì)算各樣本與各個(gè)聚類中心的距離;③將各樣本回歸于與之距離最近的聚類中心;④求各個(gè)類的樣本的均值,作為新的聚類中心;⑤判定,聚類中心不再發(fā)生變動(dòng)或達(dá)到迭代次數(shù),算法結(jié)束,否則回到②。
除此之外,模型訓(xùn)練采用了遷移學(xué)習(xí)的方法,將預(yù)訓(xùn)練的特征提取網(wǎng)絡(luò)進(jìn)行遷移,獲得已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)參數(shù),加載到目標(biāo)檢測(cè)網(wǎng)絡(luò)上,使其擁有能夠識(shí)別底層通用特征的能力,在一定程度上節(jié)約了訓(xùn)練時(shí)間,降低欠擬合和過(guò)擬合的風(fēng)險(xiǎn)。
5.3模型性能對(duì)比
表2是本模型與經(jīng)典的深度學(xué)習(xí)目標(biāo)檢測(cè)算法的對(duì)比,實(shí)驗(yàn)結(jié)果表明,與基準(zhǔn)模型YOLOv3相比,更換主干網(wǎng)絡(luò)并引入深度可分離卷積降低了近6倍的模型整體參數(shù)量,檢測(cè)速度相比YOLOv3提高了34FPS;采用反向特征融合結(jié)構(gòu)和基于距離的非極大抑制方法,在沒(méi)有引入過(guò)多參數(shù)的同時(shí)完成對(duì)模型檢測(cè)準(zhǔn)確率2%的提高。整體來(lái)看,在檢測(cè)準(zhǔn)確率方面,本模型的mAP達(dá)到了80.22%,與其他模型相比是最高的,排在第2位的是Faster RCNN,屬于雙階段目標(biāo)檢測(cè)模型,一般來(lái)講雙階段模型的檢測(cè)準(zhǔn)確率更高但在實(shí)時(shí)性上較難達(dá)到應(yīng)用要求;在檢測(cè)速度和模型參數(shù)量方面,YOLOv3-tiny表現(xiàn)最好,但是準(zhǔn)確率與本模型的mAP相差15%,很大程度上會(huì)造成對(duì)目標(biāo)的漏檢和誤檢??傮w上講,本算法在檢測(cè)準(zhǔn)確率和檢測(cè)實(shí)時(shí)性方面都達(dá)到了很好的效果[8]。
表3是幾種不同類別的檢測(cè)準(zhǔn)確率對(duì)比,由表可以看到,本模型對(duì)于人(person)和汽車(car)類別的檢測(cè)準(zhǔn)確率與基準(zhǔn)模型(YOLOv3)持平,在其他類別上的檢測(cè)準(zhǔn)確率高出基準(zhǔn)模型0.03~0.06。且在表中展示的不同類別中,本模型的檢測(cè)準(zhǔn)確率均達(dá)到85%及以上,表現(xiàn)出本模型對(duì)于不同類型的目標(biāo)仍有較好的檢測(cè)效果。
5.4實(shí)際場(chǎng)景測(cè)試
為了驗(yàn)證模型在實(shí)際中復(fù)雜場(chǎng)景的檢測(cè)性能和整體的泛化能力,從項(xiàng)目實(shí)際采集的數(shù)據(jù)集中抽取了3個(gè)典型場(chǎng)景在嵌入式設(shè)備上進(jìn)行了測(cè)試。圖6為密集目標(biāo)場(chǎng)景下的檢測(cè)效果,可以看到,人、汽車和卡車都能得到較好的檢出,且對(duì)分布在圖像邊緣的小目標(biāo)也有很好的檢測(cè)效果;圖7為物體遮擋情況下的檢測(cè)效果,可以看到,不管對(duì)于汽車和卡車之間的遮擋還是樹對(duì)卡車的遮擋的情況下,都能夠有很好的檢測(cè)效果;圖8是有較大背景干擾的檢測(cè)效果,可以看到,在廣闊的農(nóng)田背景下,汽車的檢測(cè)對(duì)于檢測(cè)任務(wù)有一定的難度,但本模型仍能夠檢測(cè)準(zhǔn)確,所以從整體上講,模型的泛化能力達(dá)到了在實(shí)際場(chǎng)景應(yīng)用的基本要求。
6結(jié)束語(yǔ)
目標(biāo)檢測(cè)是近年來(lái)計(jì)算機(jī)視覺(jué)發(fā)展的一個(gè)流行方向,在諸多領(lǐng)域都有較成功的應(yīng)用。但是隨著社會(huì)的發(fā)展和科技的進(jìn)步,技術(shù)也需要不斷迭代和更新來(lái)滿足各種場(chǎng)景需求,如在實(shí)際場(chǎng)景中,往往對(duì)檢測(cè)模型提出了兼顧檢測(cè)實(shí)時(shí)性和準(zhǔn)確率的要求。為了在嵌入式平臺(tái)上達(dá)到應(yīng)用需求,設(shè)計(jì)了一種輕量化的目標(biāo)檢測(cè)識(shí)別模型,以達(dá)到快速準(zhǔn)確的檢測(cè)識(shí)別效果。
本文設(shè)計(jì)的模型以YOLOv3的架構(gòu)為基礎(chǔ),采用基于深度可分離卷積塊和反向特征融合結(jié)構(gòu)的方法對(duì)模型進(jìn)行改進(jìn),并通過(guò)基于距離的非極大抑制(DIOU-NMS)進(jìn)行檢測(cè)框篩選,最終獲得更加準(zhǔn)確檢測(cè)結(jié)果,訓(xùn)練過(guò)程采用的邊界框損失函數(shù)是DIOU-Loss,提升了模型的訓(xùn)練效果。以公共目標(biāo)檢測(cè)數(shù)據(jù)集VOC為基準(zhǔn),本模型同經(jīng)典的目標(biāo)檢測(cè)模型進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果表明在檢測(cè)速度和檢測(cè)準(zhǔn)確率上都取得了較為出色的表現(xiàn)。最后在嵌入式平臺(tái)上進(jìn)行了測(cè)試,在項(xiàng)目?jī)?nèi)部數(shù)據(jù)集的不同場(chǎng)景下都表現(xiàn)出了很好的魯棒性,且表現(xiàn)出很好的泛化能力。
參考文獻(xiàn)
[1] REN SQ,HE KM,GIRSHICK R,et al. Faster R-CNN: Towards Real-time Object Detection With Region Proposal Wetworks[J]. IEEE Trans Pattern Anal Mach Intell,2017,39(6):1137-1149.
[2] REDMON J,F(xiàn)ARHADI A.YOLOv3: An Incremental Improvement[J]. arXiv 2018,arxiv:1804.02767.
[3] SANDLER M, HOWARD A, ZHU Menglong L, et al. MobileNetV2: Inverted Residuals and Linear Bottle-enecks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City: IEEE,2018:4510-4520.
[4] LIN T Y, DOLLAR P, GIRSHICK R, et al.Feature Pyramid Networks for Object Detection [C]//IEEE Conference on Computer Vision and Pattern Recognition.Honolulu: IEEE, 2017:936-944.
[5] LIU S, QI L, QIN H F, et al. Path Aggregation Network for Instance Segmentation[C]//In Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition(CVPR). Salt Lake City: IEEE, 2018: 8759-8768.
[6] TAN M X , PANG R M , LE V Q . EfficientDet : Scalable and Efficient Object Detection[C]//In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Seattle: IEEE, 2020: 1-10.
[7] ZHENG Z H , WANG P , LIU W , et al. Distance-IoU Loss: Faster and BetterLearning for Bounding Box Regression. In Proceedings of the AAAI Conference on Artificial Intelligence(AAAI) [S.l.]: [s.n.]2020: 1-10.
[8] LIU W, ANGUELOV D, ERHAN D, et al. Ssd: Single Shot Multibox Detector[C]// In European Conference on Computer Vision . Amsterdam: ECCV, 2016: 5-15.