999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進(jìn)輕量化YOLOX的無人機(jī)航拍目標(biāo)檢測算法

2024-02-04 04:12:54潘申富
計(jì)算機(jī)測量與控制 2024年1期
關(guān)鍵詞:特征檢測模型

胡 瀟,潘申富

(中國電子科技集團(tuán)公司 第54研究所,石家莊 050081)

0 引言

近年來,多旋翼無人機(jī)因其行動靈活、操作門檻低、設(shè)備配置可塑性高,主動控制能力強(qiáng)[1]等優(yōu)點(diǎn)在多個領(lǐng)域中得到了廣泛的應(yīng)用。在邊境、城市巡邏中[2],無人機(jī)可以提供不同視角的現(xiàn)場圖像,便于工作人員掌握現(xiàn)場情況。隨著人工智能的發(fā)展,無人機(jī)更加智能自主[3],將目標(biāo)檢測技術(shù)應(yīng)用于無人機(jī),巡邏人員可以更快速地感知并捕獲現(xiàn)場關(guān)鍵信息,提高巡邏的效率。傳統(tǒng)方案將檢測算法部署在遠(yuǎn)程服務(wù)器中需要高清穩(wěn)定的圖像傳輸,對無線傳輸信道的要求高。在無線傳輸信道受限情況下,將檢測算法部署在機(jī)載側(cè)可以實(shí)現(xiàn)對連續(xù)采集圖像進(jìn)行目標(biāo)檢測,并根據(jù)信道情況向地面工作人員傳輸圖像或文字等類型檢測結(jié)果,減輕檢測任務(wù)對通信條件的依賴,提高巡邏效率。由于小型機(jī)載終端計(jì)算資源有限,需要對現(xiàn)有檢測算法進(jìn)行針對性的優(yōu)化訓(xùn)練,設(shè)計(jì)輕量化的無人機(jī)航拍目標(biāo)檢測算法。

目前基于深度學(xué)習(xí)的目標(biāo)檢測算法多基于卷積神經(jīng)網(wǎng)絡(luò),在主流數(shù)據(jù)集上有很好表現(xiàn)。Sevo和Avramovic[4]證明卷積神經(jīng)網(wǎng)絡(luò)可以有效地結(jié)合到航空圖像的目標(biāo)檢測算法中。一般來說,基于CNN的目標(biāo)檢測算法分為單階段和雙階段算法。R-CNN[5]和Fast R-CNN[6]是基于區(qū)域特征的雙階段算法,雙階段算法在選擇候選區(qū)域時耗時長、候選幀之間存在大量重疊、提取的特征冗余。單階段目標(biāo)檢測算法包括SSD[7]、YOLO[8]和RetinaNet[9]等,單階段算法速度快,更能得到航拍任務(wù)的青睞。Zhu[10]等人在YOLOv5算法基礎(chǔ)上增加了一個用于小微物體檢測的預(yù)測頭,提出TPH-YOLOXv5算法,提高了檢測精度。許多學(xué)者通過增加多種模塊提升網(wǎng)絡(luò)的檢測性能,但復(fù)雜的模型算法需要很大的內(nèi)存和計(jì)算開銷,無法應(yīng)用于機(jī)載終端。

隨著嵌入式目標(biāo)檢測成為研究熱點(diǎn),部分學(xué)者通過模型剪枝量化、替換輕量化模塊等方法進(jìn)行輕量化網(wǎng)絡(luò)的設(shè)計(jì),解決模型復(fù)雜度高無法運(yùn)行在邊緣端的問題。崔令飛[11]等人將SSD算法中的特征提取網(wǎng)絡(luò)替換為輕量化的MobileNet網(wǎng)絡(luò)進(jìn)行模型優(yōu)化,構(gòu)建了輕量化目標(biāo)檢測算法。黃海生[12]等人簡化了YOLOv5網(wǎng)絡(luò),提出了一種輕量化檢測網(wǎng)絡(luò)YOLOv5-tiny,提升了檢測速度。但小型機(jī)載終端計(jì)算資源更加有限,需要針對巡邏應(yīng)用進(jìn)一步設(shè)計(jì)輕量化算法。

針對巡邏應(yīng)用,論文首先選用單階段檢測算法中速度更快的YOLOX算法,在該算法基礎(chǔ)上使用輕量化Mobilenetv2[13]網(wǎng)絡(luò)替換原有CSPDarknet骨干網(wǎng)絡(luò),降低參數(shù)量;其次訓(xùn)練過程中為了更好的平衡正負(fù)、難易樣本,使用Focal Loss損失函數(shù)替代二元交叉熵置信度損失函數(shù);然后將定位損失改為CIOU損失函數(shù),改善網(wǎng)絡(luò)輕量化后檢測精度的下降問題,得到改進(jìn)后的輕量化目標(biāo)檢測算法。最后將算法移植到Jetson Xavier NX機(jī)載終端,實(shí)現(xiàn)目標(biāo)檢測應(yīng)用。

1 YOLOX目標(biāo)檢測算法

YOLOX[14]是2020年曠視基于YOLOv3提出的高性能單階段檢測器,目前已經(jīng)成為工業(yè)界實(shí)用算法之一。依照模型縮放的規(guī)則YOLOX有YOLOX-s、YOLOX-m、YOLOX-l和YOLOX-x四種不同參數(shù)量的模型。其中YOLOX-s模型參數(shù)量較少,且不像YOLOX-Nano等模型因過小的尺寸損失了檢測精度,達(dá)到了檢測速度和檢測精度的平衡,因此采用YOLOX-s作為改進(jìn)對象。其網(wǎng)絡(luò)主要包括輸入端、特征提取網(wǎng)絡(luò)Backbone、Neck特征融合層和Head預(yù)測頭,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 YOLOX網(wǎng)絡(luò)結(jié)構(gòu)

1)圖像輸入端。訓(xùn)練前對輸入的訓(xùn)練數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),豐富檢測數(shù)據(jù)集。實(shí)際檢測時輸入端向網(wǎng)絡(luò)輸入一張采集的航拍圖像。

2)骨干網(wǎng)絡(luò)Backbone。YOLOX-s沿用YOLOv5采用的CSPDarknet網(wǎng)絡(luò)進(jìn)行特征提取,首先使用Fcous結(jié)構(gòu)對輸入圖像切片堆疊,展開特征信息。然后通過conv(卷積)+BN(歸一化)+SiLu激活函數(shù)的CBL模塊和融合殘差結(jié)構(gòu)的CSP模塊進(jìn)行特征提取,在最后一層經(jīng)過SPP (Spatial Pyramid Pooling)結(jié)構(gòu)改善感受野捕捉特征,最終輸出三個不同尺寸的有效特征圖。

3)特征融合網(wǎng)絡(luò)Neck。對骨干網(wǎng)絡(luò)輸出不同尺度的三個特征圖實(shí)現(xiàn)特征融合。采用FPN(feature pyramid networks)與PAN(pyramid attention network)級聯(lián)結(jié)構(gòu),F(xiàn)PN對特征圖進(jìn)行上采樣向淺層傳遞深層特征信息,PAN下采樣實(shí)現(xiàn)深層信息和淺層信息的特征融合。

4)預(yù)測層。針對Neck層獲得的三個加強(qiáng)特征圖預(yù)測目標(biāo)位置、類別和置信度。傳統(tǒng)的耦合檢測頭使用相同的特征圖通過1×1的卷積對被檢測對象進(jìn)行分類定位,無法獲得良好的檢測效果[15]。YOLOX的預(yù)測層Head采用解耦結(jié)構(gòu),先使用一個1×1的卷積對特征融合層的輸出進(jìn)行降維,然后在分類和回歸兩個分支中各使用兩個3×3的卷積實(shí)現(xiàn)位置類別和置信度的分別預(yù)測,結(jié)果更有說服力。

同時,YOLOX采用了無錨框的方法并引入SimOTA方法動態(tài)分配正負(fù)樣本,減少了聚類超參數(shù)對于預(yù)測結(jié)果的影響,在減少計(jì)算量基礎(chǔ)上提高模型準(zhǔn)確率,與部署在巡邏無人機(jī)機(jī)載端中需要考慮網(wǎng)絡(luò)推理速度快的要求相符合,因此以YOLOX-s為基礎(chǔ)算法進(jìn)行輕量化改進(jìn)。

然而,YOLOX算法雖能在實(shí)驗(yàn)室的高性能GPU中可以得到優(yōu)秀的檢測效果,但在計(jì)算資源有限的無人機(jī)機(jī)載側(cè)的邊緣終端部署的目標(biāo)檢測算法,需要進(jìn)一步輕量化,降低參數(shù)規(guī)模。

2 改進(jìn)的YOLOX輕量化目標(biāo)檢測算法

2.1 改進(jìn)后整體網(wǎng)絡(luò)結(jié)構(gòu)

針對巡邏航拍場景,為降低模型參數(shù)保持檢測精度,在YOLOX算法基礎(chǔ)上,分別對骨干網(wǎng)絡(luò)和損失函數(shù)進(jìn)行了改進(jìn),對訓(xùn)練過程進(jìn)行微調(diào),設(shè)計(jì)了輕量化改進(jìn)算法,網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

圖2 改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)

在改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)中,為獲取更多特征,將網(wǎng)絡(luò)輸入的圖像大小均縮放為960×960大小。改進(jìn)后將YOLOX的特征提取網(wǎng)絡(luò)替換為Mobilenetv2輕量化網(wǎng)絡(luò),由于Mobilenetv2中最后的池化層和卷積層與YOLOX的特征融合層PAFPN功能冗余,為更符合輕量化設(shè)計(jì)目標(biāo)將其去除。利用新的骨干網(wǎng)絡(luò)對航拍圖像特征進(jìn)行提取,輸出120×120×32,60×60×96,30×30×320三種特征圖送入PAFPN模塊,經(jīng)過Neck層特征傳遞融合輸出三個通道數(shù)均為96的特征圖,分別送入各自不共享權(quán)重的三個預(yù)測頭Head中。另外,為提升輕量化后的檢測精度,在模型訓(xùn)練過程中將置信度損失替換為Focal Loss,定位損失設(shè)計(jì)為CIOU Loss,得到預(yù)測框的目標(biāo)類別、目標(biāo)邊框位置和置信度信息。最后將三種大小特征圖的預(yù)測框信息進(jìn)行合并,經(jīng)過NMS非極大值抑制得到改進(jìn)后網(wǎng)絡(luò)的最終預(yù)測結(jié)果。下文詳細(xì)介紹了具體的改進(jìn)設(shè)計(jì)。

2.2 骨干網(wǎng)絡(luò)輕量化

與VGG-16和Mobilenetv1骨干網(wǎng)絡(luò)相比,Mobilenetv2網(wǎng)絡(luò)具有更小的體積和計(jì)算量,但具有相當(dāng)?shù)臏?zhǔn)確率和更快的速度。因此,在對YOLOX的輕量化改進(jìn)中將骨干網(wǎng)絡(luò)替換為Mobilenetv2進(jìn)行圖像特征提取。

將輸入圖像放縮到960×960大小。表1為具體的網(wǎng)絡(luò)結(jié)構(gòu),t為Bottleneck結(jié)構(gòu)中的通道擴(kuò)展因子,s代表步長,c是輸出通道數(shù),n是操作重復(fù)次數(shù)。

表1 Mobilenetv2網(wǎng)絡(luò)結(jié)構(gòu)

Mobilenetv2網(wǎng)絡(luò)中最主要的結(jié)構(gòu)是輕量級的Bottleneck,與YOLOX-s網(wǎng)絡(luò)的CSP模塊中的Bottleneck結(jié)構(gòu)不同,由于Mobilenetv2網(wǎng)絡(luò)中使用了降低參數(shù)量和計(jì)算量的深度可分離卷積,為了不丟失特征,在Bottleneck中設(shè)計(jì)了倒殘差線性瓶頸結(jié)構(gòu),該結(jié)構(gòu)是網(wǎng)絡(luò)的核心。

2.2.1 深度可分離卷積

Mobilenetv2的Bottleneck主要應(yīng)用了深度可分離卷積,卷積是卷積神經(jīng)網(wǎng)絡(luò)中算法的核心,深度可分離卷積是CNN的一種,與標(biāo)準(zhǔn)卷積相比需要調(diào)整的參數(shù)更少,計(jì)算量更小,因此采用該操作可以實(shí)現(xiàn)網(wǎng)絡(luò)的輕量化。深度可分離卷積2016年首次在谷歌的Xception[16]網(wǎng)絡(luò)結(jié)構(gòu)中提出,Mobilenetv2的Bottleneck模塊繼承并使用了該結(jié)構(gòu)。它將傳統(tǒng)標(biāo)準(zhǔn)卷積拆分為一層深度卷積和一層逐點(diǎn)卷積,利用深度卷積分別對特征圖各個通道做卷積操作,一個卷積核對應(yīng)負(fù)責(zé)一個通道,深度卷積輸出的特征圖各通道再利用逐點(diǎn)卷積進(jìn)行關(guān)聯(lián)。最終得到的輸出特征圖效果與標(biāo)準(zhǔn)卷積相同,但該操作極大的降低了計(jì)算量。

下文給出了兩種卷積操作的計(jì)算量對比,具體方法和卷積操作對比如圖3和圖4所示。

圖3 深度可分離卷積

圖4 標(biāo)準(zhǔn)卷積與深度可分離卷積對比

設(shè)Sk×Sk×M為卷積核的大小,N為輸出特征圖的個數(shù),SF為輸出特征圖的通道數(shù),分別計(jì)算兩種卷積的參數(shù)量和計(jì)算量得到:

標(biāo)準(zhǔn)卷積的參數(shù)量:

Sk×Sk×M×N

(1)

標(biāo)準(zhǔn)卷積的計(jì)算量:

Sk×Sk×M×N×SF×SF

(2)

深度可分離卷積的參數(shù)量:

Sk×Sk×M+1×1×M×N

(3)

深度可分離卷積的計(jì)算量:

Sk×Sk×M×SF×SF+M×N×SF×SF

(4)

通過計(jì)算得到,深度可分離卷積的計(jì)算量和參數(shù)量是標(biāo)準(zhǔn)卷積的:

(5)

通過詳細(xì)計(jì)算可以證明該設(shè)計(jì)極大的降低了卷積的參數(shù)量和計(jì)算量,由該結(jié)構(gòu)組成的網(wǎng)絡(luò)更加輕量化,對硬件計(jì)算資源的要求更低。

2.2.2 線性瓶頸殘差塊

Mobilenetv2中Bottleneck是線性瓶頸殘差結(jié)構(gòu),基于深度可分離卷積設(shè)計(jì),分為線性瓶頸結(jié)構(gòu)和殘差結(jié)構(gòu)。殘差結(jié)構(gòu)早已在ResNet[17]中證明了對網(wǎng)絡(luò)檢測精度有提高作用,在YOLOX-s網(wǎng)絡(luò)中的CSP模塊中也有應(yīng)用。

而Mobilenetv2中對原始?xì)埐罱Y(jié)構(gòu)在卷積操作和維度操作上進(jìn)行了改進(jìn),設(shè)計(jì)了倒殘差結(jié)構(gòu),提升輕量化后網(wǎng)絡(luò)的檢測精度。傳統(tǒng)殘差結(jié)構(gòu)先通過1*1卷積降維、3*3卷積提取特征后再通過1*1卷積升維。Mobilenetv2將殘差結(jié)構(gòu)中的卷積操作替換為深度可分離卷積,降低殘差網(wǎng)絡(luò)的計(jì)算量。其次由于深度可分離卷積提取的特征被限制在輸入特征的維度中,若在此基礎(chǔ)上使用ResNet的殘差塊則會在輸入特征圖的基礎(chǔ)上先降維,先壓縮再進(jìn)行特征提取會丟失到大量的特征。因此,網(wǎng)絡(luò)設(shè)計(jì)為先通過1*1逐點(diǎn)卷積擴(kuò)張?zhí)卣鲌D通道數(shù),在更高維的特征圖中通過3*3卷積提取特征,然后通過1*1卷積降維,同時將輸入特征與經(jīng)過逆向殘差結(jié)構(gòu)輸出的特征圖相加,形成最終的輸出特征。

Bottleneck在倒殘差結(jié)構(gòu)中加入線性操作。由于傳統(tǒng)殘差結(jié)構(gòu)中采用統(tǒng)一的Relu激活函數(shù),在高維空間中Relu有效增加非線性能力,但在深度可分離卷積的低維空間中若輸入特征為負(fù)數(shù)則該特征被清零破壞造成信息丟失,因此在逐點(diǎn)卷積后將Relu改為Linear激活函數(shù)減少信息丟失對網(wǎng)絡(luò)進(jìn)行優(yōu)化。

實(shí)際網(wǎng)絡(luò)設(shè)計(jì)中表1的所有Bottleneck中,若步長為1,輸入輸出特征圖相同則使用殘差結(jié)構(gòu)。若步長設(shè)計(jì)為2時輸入輸出特征圖不同則不使用該殘差結(jié)構(gòu)。該設(shè)計(jì)很大程度上豐富了特征數(shù)量,同時保留輸入特征的信息,避免出現(xiàn)梯度消息和梯度爆炸的問題。具體Bottleneck模塊的結(jié)構(gòu)如圖5所示。

圖5 MobilenetV2中Bottleneck模塊

在骨干網(wǎng)絡(luò)替換時,將Mobilenetv2中最后的池化層和卷積層去除用以保證不與YOLOX的Neck層功能重復(fù),將其作為Backbone加入檢測算法中,使模型更加輕量化。

2.3 損失函數(shù)改進(jìn)

訓(xùn)練過程中,模型損失的計(jì)算是將網(wǎng)絡(luò)預(yù)測結(jié)果與真實(shí)結(jié)果進(jìn)行對比,計(jì)算梯度回傳從而不斷調(diào)整模型的網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化,模型訓(xùn)練的效果與損失函數(shù)的設(shè)計(jì)強(qiáng)相關(guān)。在訓(xùn)練過程中,所有特征點(diǎn)生成的預(yù)測框被SimOTA策略動態(tài)分配為正樣本和負(fù)樣本,網(wǎng)絡(luò)通過正樣本學(xué)習(xí)目標(biāo)特征,通過負(fù)樣本學(xué)習(xí)背景特征。

在YOLOX的解耦頭中,總共有三個小的預(yù)測分支,分別為得到預(yù)測框類別的分支,判斷預(yù)測框是目標(biāo)或背景的分支以及對預(yù)測框的坐標(biāo)信息(x,y,w,h)進(jìn)行回歸的分支。因此網(wǎng)絡(luò)的損失計(jì)算分為三部分,分別是分類損失、置信度損失和定位損失。定位損失和分類損失僅針對正樣本進(jìn)行計(jì)算,置信度損失包含正負(fù)所有樣本。計(jì)算公式如下:

L=Lcls+λLreg+Lobj

(6)

定位部分Lreg采用IoU[18]交并比作為邊界框預(yù)測的損失函數(shù),分類Lcls和置信度Lobj均采用二元交叉熵?fù)p失函數(shù)。

2.3.1 CIOU Loss

在訓(xùn)練過程中,已知所有目標(biāo)的真實(shí)框和其對應(yīng)的特征點(diǎn),網(wǎng)絡(luò)可以針對該特征點(diǎn)得到一個預(yù)測框,計(jì)算定位損失回傳使預(yù)測框向真實(shí)框方向移動。YOLOX預(yù)測頭的定位損失采用交并比IOU,計(jì)算預(yù)測框與真實(shí)框之間的重疊面積。IOU損失函數(shù)計(jì)算公式如下:

(7)

LIOU=1-IOU

(8)

但是當(dāng)兩個框不相交或者互相包含時,IOU并不能正確反映預(yù)測框與真實(shí)框之間的距離和位置關(guān)系,IOU值相同時兩個框的重合效果也不同,無法快速準(zhǔn)確的確認(rèn)定位框的優(yōu)化方向。而CIOU損失函數(shù)在懲罰項(xiàng)中加入了預(yù)測與真值框兩個框之間的重疊率、框中心點(diǎn)間距離和目標(biāo)框的長寬比,在不斷訓(xùn)練中使預(yù)測框更接近真實(shí)框,并且加快網(wǎng)絡(luò)的收斂速度和回歸精度,因此將定位損失替換為CIOU。CIOU計(jì)算定義如下:

(9)

(10)

(11)

其中:α為權(quán)重函數(shù),v為真實(shí)框和預(yù)測框長寬比一致性函數(shù)。b和bgt為預(yù)測框與真實(shí)框的中心點(diǎn),wgt、w、hgt、h分別為真實(shí)框與預(yù)測框的寬和高。ρ為兩中心點(diǎn)之間的歐氏距離。

2.3.2 Focal Loss

YOLOX解耦頭中判斷預(yù)測框中是否存在目標(biāo)的置信度損失為二元交叉熵?fù)p失,其計(jì)算定義如下:

(12)

式中,yi為預(yù)測框的標(biāo)簽值,p(yi)為邊界框?qū)儆趛標(biāo)簽的概率。

在YOLOX中每個真實(shí)目標(biāo)對應(yīng)可變K值個正樣本預(yù)測框,其余特征點(diǎn)生成的預(yù)測框均為負(fù)樣本,而圖像中的目標(biāo)數(shù)量相對所有待預(yù)測特征點(diǎn)是少數(shù),因此負(fù)樣本遠(yuǎn)多于正樣本,導(dǎo)致置信度損失計(jì)算時出現(xiàn)正負(fù)不平衡問題。同時在訓(xùn)練中還存在對一些樣本預(yù)測置信度值較低的難分樣本,這些樣本對模型訓(xùn)練精度的貢獻(xiàn)更大,YOLOX中僅使用二元交叉熵?fù)p失無法對難易樣本進(jìn)行平衡。因此加入Focal Loss損失函數(shù),同時平衡正負(fù)和難易樣本,計(jì)算公式如下:

(13)

在該損失函數(shù)中,加入了參數(shù)αi,通過設(shè)置αi的值控制正負(fù)樣本對總損失的權(quán)重。引入了調(diào)制參數(shù)γ解決難易分類樣本不平衡的問題,通過減少損失中易分類樣本權(quán)重,促使模型對難分類的樣本在訓(xùn)練中更關(guān)注。當(dāng)模型預(yù)測樣本概率較大時,(1-pi)γ趨近于0,降低其損失值,當(dāng)預(yù)測概率較小樣本難度較大時,(1-pi)γ趨近于1,提高該樣本對回傳梯度的貢獻(xiàn)。

通過對損失函數(shù)的改進(jìn)增加了模型檢測的性能,雖然一定程度會上導(dǎo)致計(jì)算速度下降,增加模型的訓(xùn)練時間,但損失函數(shù)計(jì)算量的小幅度增加并不會對檢測的推理應(yīng)用速度產(chǎn)生影響,符合輕量化設(shè)計(jì)目標(biāo)。

3 基于Jetson Xavier NX的模型部署

巡邏航拍目標(biāo)檢測任務(wù)的完成包括訓(xùn)練階段和移植部署應(yīng)用階段。訓(xùn)練階段在PC端將大量標(biāo)注好的數(shù)據(jù)投入到改進(jìn)的目標(biāo)檢測模型中進(jìn)行訓(xùn)練,通過計(jì)算網(wǎng)絡(luò)預(yù)測輸出和真值之間的損失值進(jìn)行梯度回傳更新網(wǎng)絡(luò)參數(shù)完成訓(xùn)練,得到迭代訓(xùn)練后的檢測網(wǎng)絡(luò)模型。部署階段是將上述改進(jìn)后的模型訓(xùn)練后加速優(yōu)化移植到機(jī)載端,最終在機(jī)載端調(diào)用機(jī)載攝像頭完成目標(biāo)檢測。

由于機(jī)載端推理并不需要網(wǎng)絡(luò)的反向傳播,為解決機(jī)載端的算力受限問題,部署階段利用TensorRT對已訓(xùn)練好的改進(jìn)后YOLOX模型優(yōu)化加速,部署在Jetson Xavier NX上。TensorRT[19]是一個基于深度學(xué)習(xí)前向傳播架構(gòu)的高性能推理優(yōu)化器,通過去除無用層、將卷積層、BN層和激活層合并為CBR層等操作對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行重構(gòu),加快模型在邊緣端的推理速度。

詳細(xì)的部署過程如圖6。首先在機(jī)載端配置好航拍檢測所依賴的環(huán)境,將PC端利用Pytorch框架訓(xùn)練生成的pth格式模型轉(zhuǎn)換為onnx中間格式模型,然后利用TensorRT加載解析onnx模型優(yōu)化為Engine格式模型,最后通過加載Engine模型完成對機(jī)載攝像頭獲取圖像的檢測推理。

圖6 模型部署步驟

4 實(shí)驗(yàn)與結(jié)果分析

4.1 數(shù)據(jù)集情況

VisDrone2019-DET[20]是一個在中國不同城市不同場景拍攝的無人機(jī)航拍圖像數(shù)據(jù)集,共有不同地點(diǎn)、不同高度圖像10 209張,其中訓(xùn)練集、驗(yàn)證集和測試集分別為6 471張、548張和3 190張。圖像大小囊括現(xiàn)有無人機(jī)航拍器的拍攝分辨率,場景涉及了雨天、霧天、夜晚等不同的天氣狀況和光照條件,還包含目標(biāo)遮擋和視角變化等多種挑戰(zhàn)性的情況,可使訓(xùn)練出的模型泛化性能更強(qiáng)。數(shù)據(jù)集共標(biāo)注了人、汽車、行人、面包車、公共汽車、卡車、摩托車、自行車、遮陽篷三輪車和三輪車十類目標(biāo),滿足巡邏任務(wù)對車輛和行人分布情況的感知應(yīng)用。

實(shí)驗(yàn)選取該數(shù)據(jù)集作為算法訓(xùn)練和測試的數(shù)據(jù)集。在該數(shù)據(jù)集基礎(chǔ)上為了提高訓(xùn)練出模型的魯棒性,訓(xùn)練過程中采用Mosaic[21]和MixUp[22]數(shù)據(jù)增強(qiáng)策略進(jìn)行隨機(jī)抽取縮放旋轉(zhuǎn)拼接,豐富現(xiàn)有數(shù)據(jù)集增加訓(xùn)練樣本。

4.2 實(shí)驗(yàn)環(huán)境與步驟

實(shí)驗(yàn)算法的訓(xùn)練和測試均采用顯存為12 GB的GPU型號NVIDIA GeForce RTX 3060的環(huán)境完成。實(shí)驗(yàn)系統(tǒng)版本為Ubuntu20.04,內(nèi)核為Linux,運(yùn)行環(huán)境基于開源深度學(xué)習(xí)框架PyTorch1.13,采用CUDA11.6加速計(jì)算,實(shí)驗(yàn)代碼由python3.8編寫,YOLOX模型的訓(xùn)練基于官方提出的YOLOX-s算法,改進(jìn)后的算法基于MMdetection框架完成。

由于VisDrone2019-DET數(shù)據(jù)集以小目標(biāo)為主,因此在訓(xùn)練硬件性能允許的情況下,設(shè)置圖像的輸入分辨率大小為960×960。設(shè)置網(wǎng)絡(luò)最多訓(xùn)練輪次為300次。在訓(xùn)練過程中,設(shè)置初始學(xué)習(xí)率為0.001 25,使用隨機(jī)梯度下降(SGD)方法,采用帶預(yù)熱策略的余弦學(xué)習(xí)率調(diào)度,權(quán)重衰減為0.000 5,SGD動量設(shè)為0.9。在訓(xùn)練的最后15輪關(guān)閉數(shù)據(jù)增強(qiáng)操作,避免訓(xùn)練出的模型脫離實(shí)際的巡邏目標(biāo)檢測應(yīng)用。將訓(xùn)練好的網(wǎng)絡(luò)模型作為各算法最終模型進(jìn)行檢測測試。

實(shí)驗(yàn)采用的機(jī)載計(jì)算邊緣端型號為Nvidia Jetson Xavier NX,訓(xùn)練好的算法模型最終部署到該平臺上用于實(shí)際應(yīng)用推理。算法運(yùn)行環(huán)境基于邊緣端的Jetpack5.1,由cuda 11.4、python3.8、pytorch2.0和tensorRT8.5搭建的深度學(xué)習(xí)框架實(shí)現(xiàn)算法目標(biāo)推理檢測。

4.3 實(shí)驗(yàn)結(jié)果與分析

4.3.1 模型評價(jià)指標(biāo)

在目標(biāo)檢測任務(wù)中,模型的評估指標(biāo)包括平均精度AP(average precision)、參數(shù)量、計(jì)算量即浮點(diǎn)運(yùn)算次數(shù)GFlops(giga floating-point operations)和單張圖像的推理速度等,AP值與精確率Precision和召回率Recall有關(guān)。mAP是模型檢測所有類別的平均精度。

(16)

(17)

(18)

其中:TP表示模型正確預(yù)測的正樣本個數(shù)。FP表示算法模型將負(fù)樣本錯誤預(yù)測為正樣本個數(shù)。FN表示模型將正樣本預(yù)測為負(fù)樣本的個數(shù)。為了證明改進(jìn)算法的有效性,進(jìn)行了消融實(shí)驗(yàn)。

4.3.2 消融實(shí)驗(yàn)

為了評估改進(jìn)后算法的檢測效果,分別設(shè)計(jì)了加入不同模塊后改進(jìn)算法的消融實(shí)驗(yàn),在PC端VisDrone2019-DET測試集上對訓(xùn)練好的模型進(jìn)行測試推理評估,測試環(huán)境為模型訓(xùn)練時使用的運(yùn)行環(huán)境。選取IOU閾值為0.5分別計(jì)算各類別和模型的mAP值,模型對各類別檢測情況如表2所示。

表2 改進(jìn)前后模型在十類目標(biāo)上的mAP

在測試集上對各類別的檢測結(jié)果表明,將特征提取網(wǎng)絡(luò)替換為Mobilenetv2輕量化網(wǎng)絡(luò),替換后模型的mAP降低了0.2%。在加入Focal Loss損失函數(shù)和CIOU Loss損失函數(shù)進(jìn)行訓(xùn)練后,模型mAP增長了0.3%和0.4%,與YOLOX算法的檢測精度相當(dāng),改進(jìn)后的算法提高了人、自行車等小型目標(biāo)的檢測精度。下面分別計(jì)算每個訓(xùn)練好模型的參數(shù)量、計(jì)算量和PC端單張圖像推理時間,各算法的模型性能如表3所示。

表3 各算法模型性能

由實(shí)驗(yàn)結(jié)果可知,將YOLOX算法的骨干網(wǎng)絡(luò)換為Mobilenetv2后,網(wǎng)絡(luò)模型參數(shù)量由8.94 M降低為3.914 M,降低了56.2%。計(jì)算量由26.78 G FLOPS降低為12.733 G FLOPS,單張圖片的推理時間降低了41.4%,后續(xù)損失函數(shù)的改進(jìn)對參數(shù)量和計(jì)算量并無明顯影響。與基準(zhǔn)算法YOLOX相比改進(jìn)后的算法在保持檢測精度的情況下大大提升了檢測速度。最后將改進(jìn)的Mobilenetv2-YOLOX-Focal Loss-CIOU算法移植到Nvidia Jetson Xavier NX巡邏無人機(jī)機(jī)載邊緣端中運(yùn)行測試,推理速度達(dá)到22 FPS,符合應(yīng)用要求。

4.3.3 實(shí)驗(yàn)結(jié)果

將航拍圖像輸入改進(jìn)后的網(wǎng)絡(luò)上進(jìn)行檢測推理,得到算法檢測到的目標(biāo)可視化結(jié)果。可以看出算法在(a)、(b)、(c)、(d)四幅圖像所示的密集、稀疏等不同場景、傍晚、黑夜等不同光照條件和模糊、旋轉(zhuǎn)等多種圖像中都表現(xiàn)出不錯的效果,檢測結(jié)果如圖7所示。

圖7 改進(jìn)后算法的檢測效果

為更好的驗(yàn)證部署后的算法在實(shí)際巡邏中的應(yīng)用效果,采用DJI M300 RTK無人機(jī)拍攝了國內(nèi)某城市的巡邏圖像,將其送入部署在Jetson Xavier NX機(jī)載端的模型中進(jìn)行檢測推理,各關(guān)注目標(biāo)均被明顯標(biāo)出,得到實(shí)際目標(biāo)檢測效果如圖8所示。

圖8 部署算法巡邏應(yīng)用情況

5 結(jié)束語

通過對無線傳輸信道受限情況下城市巡邏中無人機(jī)航拍目標(biāo)檢測的輕量化技術(shù)進(jìn)行研究,提出了改進(jìn)的YOLOX輕量化目標(biāo)檢測算法,并在機(jī)載邊緣端進(jìn)行了實(shí)驗(yàn)驗(yàn)證。提出的算法在YOLOX基礎(chǔ)上采用Mobilenetv2特征提取網(wǎng)絡(luò),降低了網(wǎng)絡(luò)的參數(shù)量和計(jì)算量;其次將置信度損失函數(shù)換為Focal Loss損失函數(shù),更好的平衡正負(fù)樣本和難易樣本;然后對定位損失進(jìn)行改進(jìn),在IOU交并比基礎(chǔ)上加入目標(biāo)框長寬比懲罰項(xiàng),將其替換為CIOU損失函數(shù),提升網(wǎng)絡(luò)的回歸精度。通過改進(jìn)前后模型參數(shù)、運(yùn)行速度和精度對比實(shí)驗(yàn),證明設(shè)計(jì)的輕量化的航拍目標(biāo)檢測網(wǎng)絡(luò)在同等檢測精度下模型更小、檢測速度更快,更適合部署在機(jī)載邊緣終端。為驗(yàn)證算法的實(shí)際應(yīng)用性能,將輕量化模型移植到部署在小型無人機(jī)上的Jetson Xavier NX中進(jìn)行測試,檢測速度達(dá)到22FPS,滿足巡邏任務(wù)的應(yīng)用需求,對機(jī)載目標(biāo)檢測算法的輕量化和工程實(shí)現(xiàn)有參考意義。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
如何表達(dá)“特征”
不忠誠的四個特征
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: 最新国产高清在线| 亚洲视频黄| 日韩少妇激情一区二区| www.日韩三级| 日本午夜精品一本在线观看| 亚洲精品片911| 欧美不卡在线视频| 亚洲无码高清一区| 色悠久久综合| 久草网视频在线| 日本欧美精品| 黄色片中文字幕| 亚洲三级色| 亚洲人成网站色7777| 色综合久久综合网| 日本不卡在线播放| 亚洲日韩欧美在线观看| 91在线精品麻豆欧美在线| 亚洲精品成人片在线观看| 98精品全国免费观看视频| 老熟妇喷水一区二区三区| 91po国产在线精品免费观看| www.亚洲一区| 久久综合九色综合97婷婷| AV无码国产在线看岛国岛| 老色鬼久久亚洲AV综合| 最新日韩AV网址在线观看| 谁有在线观看日韩亚洲最新视频| 自慰网址在线观看| 亚洲无码视频一区二区三区| 97视频免费在线观看| 亚洲天堂成人| 福利小视频在线播放| 中文国产成人久久精品小说| 欧美一级在线看| 国内精品九九久久久精品| 亚洲综合色婷婷中文字幕| 亚洲啪啪网| 国产99视频免费精品是看6| 国产av无码日韩av无码网站| 亚洲午夜福利在线| 国产激情第一页| 国产微拍一区| 亚洲天堂网站在线| 欧美中文字幕一区二区三区| 国产精品短篇二区| 丰满少妇αⅴ无码区| 亚洲侵犯无码网址在线观看| 综合色在线| 国产视频只有无码精品| 亚洲网综合| 国产一级毛片网站| 热re99久久精品国99热| 91视频免费观看网站| 国内精品自在欧美一区| 亚洲青涩在线| 精品午夜国产福利观看| 日韩欧美91| 日韩无码精品人妻| 欧美a在线视频| 亚洲欧美一区二区三区麻豆| 真实国产精品vr专区| 国产又爽又黄无遮挡免费观看| 国产无码精品在线播放| 五月丁香在线视频| 亚洲视频免费在线| 狠狠综合久久久久综| 婷婷色中文| 国产农村妇女精品一二区| 福利国产在线| 免费女人18毛片a级毛片视频| 亚洲成a人片| 色综合久久88| 人妻丰满熟妇AV无码区| 国产日本欧美在线观看| 日本亚洲最大的色成网站www| 成人福利免费在线观看| 华人在线亚洲欧美精品| 播五月综合| 在线精品亚洲一区二区古装| 四虎永久在线精品影院| 免费一极毛片|