国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于無(wú)錨框的紅外多類別多目標(biāo)實(shí)時(shí)跟蹤網(wǎng)絡(luò)

2022-02-23 07:49宋子壯楊嘉偉張東方王詩(shī)強(qiáng)
關(guān)鍵詞:實(shí)時(shí)性特征向量卡爾曼濾波

宋子壯, 楊嘉偉, 張東方, 王詩(shī)強(qiáng), 張 碩

(北京遙感設(shè)備研究所, 北京 100854)

0 引 言

近年來(lái),隨著海洋工程技術(shù)的發(fā)展,海上目標(biāo)類型日趨多樣化,如貨船、快艇、無(wú)人機(jī)等。日趨復(fù)雜的海上航行環(huán)境使得航行安全變得更加重要,相關(guān)海上目標(biāo)的檢測(cè)、識(shí)別與跟蹤逐漸成為熱點(diǎn)問(wèn)題。為了有效應(yīng)對(duì)各種可能的突發(fā)情況,利用智能化手段對(duì)相關(guān)可疑目標(biāo)進(jìn)行預(yù)先檢測(cè)與跟蹤顯得尤為重要,而將紅外探測(cè)手段用于海上目標(biāo)跟蹤,相較于雷達(dá)或可見(jiàn)光擁有抗海雜波能力強(qiáng)與全天候探測(cè)的優(yōu)勢(shì)。

傳統(tǒng)跟蹤方法通過(guò)提取目標(biāo)表觀特征對(duì)目標(biāo)狀態(tài)進(jìn)行建模,然后利用模板進(jìn)行后續(xù)的匹配跟蹤過(guò)程,如粒子濾波、均值漂移、卡爾曼濾波,但存在計(jì)算量大、實(shí)時(shí)性差、模板更新不及時(shí)與對(duì)目標(biāo)尺寸或速度變化魯棒性差等問(wèn)題。相關(guān)濾波跟蹤通過(guò)提取目標(biāo)特征模板并與下一幀進(jìn)行相關(guān)匹配,成功跟蹤后利用匹配上的圖像進(jìn)行模板的更新,并進(jìn)行后續(xù)的跟蹤,但匹配模板存在著漂移的問(wèn)題,且實(shí)時(shí)性不高。隨著深度卷積神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,其強(qiáng)大的深層特征提取能力逐漸代替了傳統(tǒng)手工設(shè)計(jì)特征提取的方法,且GPU加速了相關(guān)運(yùn)算的處理過(guò)程并被應(yīng)用到目標(biāo)跟蹤領(lǐng)域當(dāng)中。孿生網(wǎng)絡(luò)是其中的典型代表,通過(guò)端到端的訓(xùn)練使得網(wǎng)絡(luò)學(xué)習(xí)到目標(biāo)模板與待測(cè)圖像塊之間的相似程度,使得提取特征更加魯棒的同時(shí)提升跟蹤速度,但其始終需要特定的目標(biāo)模板進(jìn)行相關(guān)跟蹤過(guò)程。此外,上述方法多用于單目標(biāo)跟蹤過(guò)程,在多目標(biāo)跟蹤中應(yīng)用時(shí),算法往往受到實(shí)時(shí)性的制約。

檢測(cè)后跟蹤是目前主流的深度學(xué)習(xí)多目標(biāo)跟蹤方法,現(xiàn)有方法通常由檢測(cè)模型與識(shí)別模型組成。檢測(cè)模型用于對(duì)每一幀中的多個(gè)目標(biāo)進(jìn)行檢測(cè)定位,利用定位將識(shí)別模型中的特征向量抽取并進(jìn)行幀間匹配,從而達(dá)到多目標(biāo)跟蹤。SORT使用卡爾曼濾波預(yù)測(cè)下一幀目標(biāo)定位框的狀態(tài),并采用交并比(intersection over union,IoU)匹配的方式對(duì)當(dāng)前幀與下一幀的目標(biāo)利用匈牙利算法進(jìn)行關(guān)聯(lián),從而進(jìn)行跟蹤。DeepSORT在SORT的基礎(chǔ)上利用深度學(xué)習(xí)網(wǎng)絡(luò)獲取的表觀特征進(jìn)行級(jí)聯(lián)匹配,同時(shí)加入了軌跡確認(rèn)的過(guò)程確保跟蹤的魯棒性。Wang等將DeepSORT中的檢測(cè)模型與識(shí)別模型進(jìn)行了整合(joint learning of detection and embedding, JDE),極大提高整體架構(gòu)運(yùn)行速度,且進(jìn)一步提升了跟蹤精度。FairMOT注意到JDE網(wǎng)絡(luò)基于錨框檢測(cè)框架中提取的特征與錨框存在錯(cuò)位的問(wèn)題,采用了無(wú)錨框的CenterNet網(wǎng)絡(luò)重新設(shè)計(jì)了跟蹤網(wǎng)絡(luò),JDE網(wǎng)絡(luò)進(jìn)一步提升了跟蹤整體精度與實(shí)時(shí)性。李震霄等在DeepSORT的基礎(chǔ)上使用更輕量級(jí)的網(wǎng)絡(luò)模型,同時(shí)利用長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò)解決卡爾曼濾波在非線性系統(tǒng)中產(chǎn)生的預(yù)測(cè)誤差。趙朵朵等利用改進(jìn)后的輕量級(jí)DeepSORT進(jìn)行人流統(tǒng)計(jì),能夠適應(yīng)復(fù)雜場(chǎng)景并具有一定實(shí)時(shí)性。張宏鳴等設(shè)計(jì)了長(zhǎng)短距離語(yǔ)義增強(qiáng)模塊并應(yīng)用于DeepSORT當(dāng)中,同時(shí)使用輕量級(jí)骨干網(wǎng)絡(luò),進(jìn)一步提升跟蹤的性能。

現(xiàn)有深度學(xué)習(xí)檢測(cè)后跟蹤方法多在單類別多目標(biāo)跟蹤數(shù)據(jù)集中進(jìn)行,如行人跟蹤數(shù)據(jù)集,少有研究進(jìn)行多類別多目標(biāo)跟蹤,且現(xiàn)有方法僅在算力強(qiáng)勁的PC端部署時(shí)擁有較好的實(shí)時(shí)性,而部署在邊緣設(shè)備上時(shí)無(wú)法滿足實(shí)時(shí)性要求。在相機(jī)無(wú)規(guī)則運(yùn)動(dòng)時(shí),現(xiàn)有卡爾曼濾波預(yù)測(cè)與IoU匹配無(wú)法有效關(guān)聯(lián)目標(biāo)的幀間運(yùn)動(dòng),跟蹤表現(xiàn)不佳。此外,在優(yōu)化識(shí)別模型的目標(biāo)特征向量方面依然有很大的研究空間。為解決上述問(wèn)題,本文提出了一種基于無(wú)錨框的紅外多類別多目標(biāo)實(shí)時(shí)跟蹤網(wǎng)絡(luò),在確保跟蹤精度的同時(shí),極大提升了網(wǎng)絡(luò)在邊緣設(shè)備部署的實(shí)時(shí)性。

1 本文方法

1.1 基于RepVGG的無(wú)錨框跟蹤網(wǎng)絡(luò)設(shè)計(jì)

1.1.1 骨干網(wǎng)絡(luò)

基于RepVGG的無(wú)錨框跟蹤網(wǎng)絡(luò)如圖1所示。其中,骨干網(wǎng)絡(luò)選用RepVGG-A0,其借鑒ResNet的殘差結(jié)構(gòu),在傳統(tǒng)VGG模型中引入多分支結(jié)構(gòu),從而設(shè)計(jì)了訓(xùn)練模式(train)的網(wǎng)絡(luò)模型,如圖2所示。相較傳統(tǒng)VGG模型,能夠顯著提升精度。同時(shí),多分支融合技術(shù)將卷積層與批歸一化層進(jìn)行融合,將多路不同大小的卷積核等價(jià)變形為多路3×3卷積核,并最終融合為單路3×3卷積核,設(shè)計(jì)了部署模式(deploy)的網(wǎng)絡(luò)模型。該模型僅含有3×3卷積與ReLU激活層,因沒(méi)有殘差旁路的引入而擁有更小的顯存消耗,且3×3卷積相較其他大小的卷積計(jì)算密度更高,更加有效。類VGG的模型結(jié)構(gòu)使得網(wǎng)絡(luò)易于拓展到其他任務(wù)中。通道系數(shù)控制著最后一層輸出特征圖通道數(shù)大小,通道系數(shù)控制其余每一層的通道數(shù)大小。為了更好地權(quán)衡骨干網(wǎng)絡(luò)的參數(shù)量、計(jì)算速度與精度,同時(shí)借鑒SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)通道數(shù)的設(shè)計(jì)思路,本文將通道數(shù)系數(shù),均調(diào)整為1。

圖1 基于RepVGG的無(wú)錨框跟蹤網(wǎng)絡(luò)Fig.1 Anchor-free tracking network based on RepVGG

圖2 RepVGG網(wǎng)絡(luò)訓(xùn)練模式與部署模式結(jié)構(gòu)對(duì)比Fig.2 Structure comparison between RepVGG network training mode and deployment mode

1.1.2 快速特征金字塔

原有檢測(cè)后跟蹤深度學(xué)習(xí)跟蹤算法采用可變形卷積(deformable convolution,DCN)與逆卷積對(duì)特征圖進(jìn)行上采樣,同時(shí)保證網(wǎng)絡(luò)整體的實(shí)時(shí)性與精度,但特征金字塔結(jié)構(gòu)(feature pyramid networks,FPN)是更加有效的精度提升方法。含有DCN的特征金字塔(DCN-FPN,DFPN)推理時(shí)間較慢,其層間融合結(jié)構(gòu)如圖3(a)所示,主要包括可變形卷積、逆卷積與線性相加操作。為了獲得更多的精度收益同時(shí)確保跟蹤網(wǎng)絡(luò)的實(shí)時(shí)性,本文設(shè)計(jì)了快速FPN(fast-FPN,FFPN),其層間融合結(jié)構(gòu)如圖3(b)所示。該結(jié)構(gòu)使用最少卷積操作次數(shù)進(jìn)行搭建,進(jìn)一步提升速度。同時(shí),舍棄逆卷積操作與DCN操作,改為常規(guī)卷積與線性上采樣,僅使用一個(gè)3×3大小的卷積核同時(shí)進(jìn)行特征提取與通道數(shù)匹配調(diào)整,并消除采樣混疊效應(yīng)。此外,在最終用于預(yù)測(cè)的最淺層層間特征融合后追加3×3大小的卷積操作,用于消除采樣混疊效應(yīng)。

圖3 DFPN與FFPN層間融合結(jié)構(gòu)對(duì)比Fig.3 Comparison of DFPN and FFPN inter layer fusion structure

1.1.3 檢測(cè)與識(shí)別分支

設(shè)輸入圖像大小為3××(與分別為圖像的高與寬,3為通道數(shù)),則經(jīng)FFPN輸出的特征圖大小為256×4×4。在此基礎(chǔ)上,使用并行的4路卷積分支生成最終用于檢測(cè)與識(shí)別的特征圖。

(1) 熱力圖預(yù)測(cè)頭:輸出特征圖大小為num_classes×4×/4,num_classes為跟蹤目標(biāo)類別數(shù)量,用于檢測(cè)目標(biāo)的類型。

(2) 目標(biāo)中心定位補(bǔ)償預(yù)測(cè)頭:輸出特征圖大小為2×4×4,用于進(jìn)一步提升目標(biāo)定位的精度。

(3) 目標(biāo)邊框尺寸預(yù)測(cè)頭:輸出特征圖大小為2×4×4,用于預(yù)測(cè)目標(biāo)的寬高大小。

(4) 目標(biāo)識(shí)別預(yù)測(cè)頭:輸出特征圖大小為128×4×4,用于提取目標(biāo)的特征向量。

1.2 識(shí)別特征向量改進(jìn)

1.2.1 含有標(biāo)簽平滑的交叉熵?fù)p失

對(duì)于輸入圖像,目標(biāo)識(shí)別預(yù)測(cè)頭輸出當(dāng)前圖像中所有目標(biāo)的特征向量,并用輸出尺度為目標(biāo)種類數(shù)量的全連接層(fully connected layer,FC Layer)進(jìn)行識(shí)別任務(wù)回歸,原始交叉熵?fù)p失(cross entropy loss,CE Loss)計(jì)算如下:

(1)

(2)

式中:為輸入目標(biāo)特征向量;為目標(biāo)種類總數(shù);為樣本;為實(shí)際標(biāo)簽;為全連接層關(guān)于識(shí)別真值標(biāo)簽的預(yù)測(cè)值。

上述回歸問(wèn)題可以被認(rèn)為是標(biāo)簽分類問(wèn)題,使用標(biāo)簽平滑策略有助于減少目標(biāo)識(shí)別預(yù)測(cè)頭訓(xùn)練過(guò)程中的過(guò)擬合問(wèn)題,即含有標(biāo)簽平滑的交叉熵?fù)p失(label smooth cross entropy loss, LSCE Loss):

(3)

(4)

式中:為一個(gè)很小的常數(shù)。鼓勵(lì)模型減少對(duì)訓(xùn)練集標(biāo)簽的信任度,從而減少訓(xùn)練過(guò)程中的過(guò)擬合問(wèn)題,提高模型在測(cè)試集中的泛化能力。

122 中心損失

對(duì)于三元組損失有公式:

=max(-+,0)

(5)

式中:為正樣本對(duì)的特征距離;為負(fù)樣本對(duì)的特征距離;為邊緣閾值。

三元組損失僅對(duì)正負(fù)樣本對(duì)之間的距離-的大小進(jìn)行了限制,但沒(méi)有對(duì)正樣本與負(fù)樣本類內(nèi)距離的大小進(jìn)行限制。中心損失被用于解決上述問(wèn)題,針對(duì)訓(xùn)練時(shí)批量樣本中的每個(gè)樣本的特征,希望甚至類內(nèi)特征中心的距離越小越好,使類內(nèi)距離變得更加緊湊,進(jìn)一步提升識(shí)別效果。中心損失表達(dá)式如下:

(6)

式中:為第個(gè)類別的特征向量中心;表示樣本特征向量;為訓(xùn)練批量的大小。

123 特征向量歸一化層

特征向量歸一化層(batch normalization neck,BNNeck)結(jié)構(gòu)使得類間特征在超球面附近成高斯分布,使得與更容易收斂,同時(shí)保持了屬于同類特征的緊湊分布,其結(jié)構(gòu)如圖4所示。在訓(xùn)練階段,使用歸一化前的特征向量計(jì)算與,使用歸一化后的特征向量計(jì)算。在推理階段,僅使用特征向量用于目標(biāo)識(shí)別任務(wù)。

圖4 BNNeck結(jié)構(gòu)Fig.4 BNNeck structure

1.3 跟蹤處理改進(jìn)

跟蹤處理主要含3個(gè)部分:特征向量匹配、卡爾曼濾波目標(biāo)運(yùn)動(dòng)預(yù)測(cè)、IoU匹配。與公開(kāi)數(shù)據(jù)集不同,所采集的紅外跟蹤數(shù)據(jù)集存在相機(jī)無(wú)規(guī)則運(yùn)動(dòng),導(dǎo)致目標(biāo)幀間位置變化較大。當(dāng)目標(biāo)在視場(chǎng)中無(wú)規(guī)則運(yùn)動(dòng)時(shí),卡爾曼濾波無(wú)法對(duì)目標(biāo)的下一幀位置準(zhǔn)確估計(jì),如圖5(a)所示,其中矩形框內(nèi)為目標(biāo)當(dāng)前幀所在位置,圓點(diǎn)為目標(biāo)下一幀運(yùn)動(dòng)位置。結(jié)合圓點(diǎn)位置,卡爾曼濾波預(yù)估目標(biāo)運(yùn)動(dòng)位置如圖中菱形所示,明顯與圖中三角形所示的真實(shí)位置存在較大偏差。當(dāng)目標(biāo)在圖中成像大小較小時(shí),如圖5(b)所示,箭頭代表目標(biāo)幀間運(yùn)動(dòng)軌跡,相機(jī)的無(wú)規(guī)則運(yùn)動(dòng)導(dǎo)致目標(biāo)幀間運(yùn)動(dòng)位置變化較大,目標(biāo)框無(wú)法有效交疊,IoU無(wú)法準(zhǔn)確匹配。上述問(wèn)題致使原有卡爾曼濾波目標(biāo)運(yùn)動(dòng)預(yù)測(cè)與IoU匹配過(guò)程無(wú)法達(dá)到預(yù)期效果,故舍棄上述過(guò)程換取速度。

圖5 卡爾曼濾波目標(biāo)運(yùn)動(dòng)預(yù)測(cè)與IoU匹配過(guò)程失效Fig.5 Kalman filter target motion prediction and IoU matching process failure

為引入卡爾曼濾波與IoU匹配過(guò)程相似的位置關(guān)聯(lián)效果,在原有計(jì)算特征向量間余弦距離的基礎(chǔ)上,加入目標(biāo)幀間運(yùn)動(dòng)距離的懲罰項(xiàng),對(duì)特征向量賦予幀間運(yùn)動(dòng)距離信息,進(jìn)一步提升跟蹤處理的效果。

(7)

1.4 邊緣設(shè)備部署

141 融合卷積層與批歸一化層

為了進(jìn)一步提高網(wǎng)絡(luò)在邊緣設(shè)備部署時(shí)的推理速度,對(duì)網(wǎng)絡(luò)中卷積層與批歸一化層進(jìn)行融合。卷積層可表示為

=·+

(8)

式中:為卷積層權(quán)重;為卷積層偏置。

融合卷積層后的批歸一化層可表示為

(9)

式中:E[·]為計(jì)算訓(xùn)練批量樣本均值;Var[·]為計(jì)算訓(xùn)練批量樣本方差;與為可學(xué)習(xí)參數(shù)。

(10)

(11)

則融合后的卷積層與批歸一化層可表示為

(12)

1.4.2 GPU與CPU的選取

為解決跟蹤網(wǎng)絡(luò)在邊緣設(shè)備中部署實(shí)時(shí)性較差的問(wèn)題,對(duì)訓(xùn)練后的網(wǎng)絡(luò)在NVIDIA Jetson Xavier NX中的處理時(shí)間進(jìn)行了分析,主要過(guò)程有三部分:GPU中運(yùn)行的前向傳播(forward propagation,F(xiàn)P)時(shí)間,GPU與CPU中運(yùn)行的結(jié)果解碼(result decoding,RD)時(shí)間與CPU中運(yùn)行的跟蹤時(shí)間(tracking time,TT)。其中,RD部分耗時(shí)最多,其次為跟蹤處理,最快為FP,總時(shí)間消耗為116.74 ms,無(wú)法滿足實(shí)時(shí)性需求。為進(jìn)一步提高整體運(yùn)行速度,將所有CPU中執(zhí)行的運(yùn)算全部移植到GPU中運(yùn)行,對(duì)比結(jié)果如表1所示。

表1 邊緣設(shè)備運(yùn)算耗時(shí)統(tǒng)計(jì)

全部移植到GPU運(yùn)行發(fā)現(xiàn)解碼部分速度有所提升,但跟蹤處理部分卻比原先慢很多,總耗時(shí)略微下降。分析認(rèn)為,RD涉及到大型矩陣運(yùn)算,如:特征熱力圖的解碼、目標(biāo)定位解碼等,更適宜在GPU中運(yùn)行,而跟蹤處理中多涉及邏輯運(yùn)算與小型矩陣運(yùn)算,如:特征向量間距離計(jì)算、卡爾曼濾波、軌跡判定等,在GPU中運(yùn)行速度反而嚴(yán)重降低,且Python的字典拖慢了處理跟蹤目標(biāo)隊(duì)列的運(yùn)行效率。鑒于此,使用TensorRT對(duì)GPU運(yùn)算部分的FP進(jìn)行加速??紤]到TensorRT輸出的結(jié)果在CPU中且為特征圖拉伸后的一維向量,為了減少不必要的矩陣維度變換與GPU與CPU間的交互,采用C++完成RD與跟蹤處理過(guò)程,進(jìn)一步提速。

1.5 損失函數(shù)

對(duì)于檢測(cè)任務(wù)包括熱力圖損失,目標(biāo)中心定位補(bǔ)償損失以及目標(biāo)邊框尺寸預(yù)測(cè)損失。熱力圖損失使用含有焦點(diǎn)損失的像素邏輯回歸,其表達(dá)式如下:

(13)

目標(biāo)中心定位補(bǔ)償損失使用一維歐式距離損失,具體公式為

(14)

目標(biāo)邊框尺寸預(yù)測(cè)損失公式同樣使用一維歐式距離損失,具體公式為

(15)

綜上,檢測(cè)任務(wù)損失函數(shù)可表示為

=++

(16)

式中:,,分別為不同部分的損失權(quán)重。

對(duì)于識(shí)別任務(wù)損失函數(shù)包括帶有標(biāo)簽平滑的交叉熵?fù)p失、三元組損失、中心損失,如式(3)~式(6)所示,則識(shí)別任務(wù)損失函數(shù)可表示為

=++

(17)

式中:,,分別為不同部分的損失權(quán)重。

使用文獻(xiàn)[31]中的多任務(wù)聯(lián)合學(xué)習(xí)損失函數(shù)對(duì)檢測(cè)和識(shí)別任務(wù)進(jìn)行訓(xùn)練,總損失函數(shù)可表示為

(18)

式中:與為可學(xué)習(xí)常參數(shù),用于平衡分類任務(wù)與檢測(cè)任務(wù)的權(quán)重。

2 數(shù)據(jù)集與評(píng)估準(zhǔn)則

深度學(xué)習(xí)作為一種數(shù)據(jù)驅(qū)動(dòng)的方法,需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,以達(dá)到預(yù)期效果。對(duì)此,建立低空海面背景下的無(wú)人機(jī)與船只數(shù)據(jù)集來(lái)驗(yàn)證算法的有效性。所有圖像均來(lái)源于放置于岸邊的紅外圖像采集設(shè)備,共78段視頻(136 846張圖像),包含順光與逆光拍攝的早中晚各個(gè)時(shí)段的212種類的船只與3種類的無(wú)人機(jī)。相機(jī)架設(shè)在轉(zhuǎn)臺(tái)之上,隨轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)存在著無(wú)規(guī)則運(yùn)動(dòng),相關(guān)訓(xùn)練數(shù)據(jù)集圖像如圖6所示。

圖6 紅外海上目標(biāo)跟蹤數(shù)據(jù)集展示Fig.6 Display of infrared sea target tracking dataset

使用TXT文本文檔對(duì)每一段視頻進(jìn)行標(biāo)注,每行標(biāo)注內(nèi)容為當(dāng)前幀號(hào)、當(dāng)前幀圖像內(nèi)總目標(biāo)個(gè)數(shù)以及每個(gè)目標(biāo)的種類編號(hào)、中心點(diǎn)坐標(biāo)、寬高與類別。進(jìn)一步對(duì)數(shù)據(jù)集進(jìn)行劃分,得到訓(xùn)練集共55段視頻(103 101張圖片),測(cè)試集23段視頻(共33 745張圖片)。

在評(píng)估準(zhǔn)則方面,共有MOTA,IDF1,MT,ML 4個(gè)指標(biāo)。MOTA為多目標(biāo)跟蹤的準(zhǔn)確度,體現(xiàn)在跟蹤確定目標(biāo)的個(gè)數(shù),以及有關(guān)目標(biāo)的相關(guān)屬性方面的準(zhǔn)確度,用于統(tǒng)計(jì)在跟蹤中的誤差累計(jì)情況。

(19)

式中:為視頻中的第幀;FP為假陽(yáng)目標(biāo)數(shù)量;FN為假陰目標(biāo)數(shù)量;IDs為目標(biāo)編號(hào)切換次數(shù);GT為目標(biāo)真值個(gè)數(shù)。

IDF1為目標(biāo)識(shí)別準(zhǔn)確率和召回率的調(diào)和平均數(shù),用于衡量識(shí)別的精確程度。

(20)

式中:IDP為目標(biāo)識(shí)別準(zhǔn)確率;IDR為目標(biāo)識(shí)別召回率。

MT為預(yù)測(cè)的目標(biāo)軌跡占真值總軌跡比例大于80%的個(gè)數(shù),ML為預(yù)測(cè)的目標(biāo)軌跡占真值總軌跡比例小于20%的個(gè)數(shù)。

本文使用MOTA、IDF1、MT、ML 4個(gè)指標(biāo)得到的分?jǐn)?shù)對(duì)算法性能進(jìn)行綜合評(píng)估,評(píng)分(Score)計(jì)算公式為

(21)

其中,上述指標(biāo)均為百分比大小,MT與ML為利用總軌跡個(gè)數(shù)歸一化后的百分比大小,評(píng)分的取值范圍為負(fù)無(wú)窮到100。

3 實(shí)驗(yàn)分析

3.1 實(shí)驗(yàn)設(shè)置

對(duì)于訓(xùn)練過(guò)程使用PC機(jī)完成訓(xùn)練,CPU為Intel core i9-10900K,GPU為Quadro RTX 8000(48 GB),CUDA 11.0,CUDNN 8.0,操作系統(tǒng)為Ubuntu 20.04LTS,采用Pytorch1.6深度學(xué)習(xí)架構(gòu)。使用隨機(jī)梯度下降優(yōu)化算法(stochastic gradient descent, SGD),初始學(xué)習(xí)率為10,總訓(xùn)練為30個(gè)epoch,每訓(xùn)練10個(gè)epoch學(xué)習(xí)率調(diào)整為原來(lái)的十分之一。訓(xùn)練批量大小為16,輸入圖像分辨率為640×512,損失函數(shù)權(quán)重設(shè)置分別為=1,=1,=01,=1,=1,=01。

對(duì)于實(shí)時(shí)性驗(yàn)證過(guò)程使用NVIDIA Jetson Xavier NX邊緣計(jì)算設(shè)備進(jìn)行,CPU為6-core NVIDIA Carmel ARMv8.2 64-bit,GPU為NVIDIA Volta架構(gòu),搭載384 NVIDIA CUDA cores和48 Tensor cores(8 GB),CUDA 10.2,CUDNN 8.0,操作系統(tǒng)為Ubuntu 18.04LTS,采用Pytorch1.6深度學(xué)習(xí)架構(gòu)。

3.2 消融試驗(yàn)

3.2.1 基于RepVGG的跟蹤網(wǎng)絡(luò)與其他輕量級(jí)網(wǎng)絡(luò)對(duì)比

本文基于RepVGG骨干網(wǎng)絡(luò)設(shè)計(jì)了無(wú)錨框跟蹤網(wǎng)絡(luò)結(jié)構(gòu),從評(píng)分、推理時(shí)間、模型計(jì)算復(fù)雜度3個(gè)方面與其他輕量級(jí)網(wǎng)絡(luò)進(jìn)行對(duì)比,并對(duì)DCN、DFPN、與本文設(shè)計(jì)的FFPN的跟蹤性能進(jìn)行了對(duì)比,結(jié)果如表2和表3所示。

表2 基于RepVGG的跟蹤網(wǎng)絡(luò)與其他輕量級(jí)網(wǎng)絡(luò)跟蹤精度對(duì)比

表3 基于RepVGG的跟蹤網(wǎng)絡(luò)與其他輕量級(jí)網(wǎng)絡(luò)推理速度對(duì)比

從表2與表3中的結(jié)果可以看出基于RepVGG的FFPN更好地融合了網(wǎng)絡(luò)的深層語(yǔ)義信息與淺層細(xì)節(jié)信息,相較于DCN能夠帶來(lái)更多的精度收益,評(píng)分增長(zhǎng)2.78,網(wǎng)絡(luò)推理時(shí)間快4.36 ms。此外,FFPN較含有DFPN省去了卷積采樣點(diǎn)變形的計(jì)算過(guò)程,并使用次數(shù)最少的卷積運(yùn)算操作完成特征金字塔搭建,網(wǎng)絡(luò)推理時(shí)間快10.76 ms。Deploy模式能夠在評(píng)分不變的情況下對(duì)模型有效提速,網(wǎng)絡(luò)推理時(shí)間減少19.06 ms。相較于ResNet18、HRNet18、DLA34輕量級(jí)網(wǎng)絡(luò),所設(shè)計(jì)的網(wǎng)絡(luò)擁有較小的參數(shù)量與最小的模型計(jì)算復(fù)雜度,以及最低的推理延遲,評(píng)分略低于DLA34等高推理延遲網(wǎng)絡(luò)。

3.2.2 識(shí)別特征向量改進(jìn)

本文引入重識(shí)別領(lǐng)域相關(guān)改進(jìn)對(duì)目標(biāo)識(shí)別預(yù)測(cè)頭生成的目標(biāo)特征向量進(jìn)行改進(jìn),結(jié)果如表4所示。從表中可以看出,含有標(biāo)簽平滑的交叉熵?fù)p失有效減少了目標(biāo)識(shí)別預(yù)測(cè)頭訓(xùn)練中的過(guò)擬合問(wèn)題,提高特征向量在測(cè)試集中的泛化能力。中心損失在三元組損失的基礎(chǔ)上學(xué)習(xí)每類特征的中心并懲罰類內(nèi)樣本關(guān)于中心的距離,對(duì)類內(nèi)距離進(jìn)行限制,進(jìn)一步提高識(shí)別過(guò)程的精確度。BNNeck的加入使得目標(biāo)編號(hào)切換次數(shù)進(jìn)一步降低,同時(shí)擁有最高識(shí)別精確度與評(píng)分。

表4 識(shí)別特征向量改進(jìn)效果對(duì)比

3.2.3 跟蹤處理的精簡(jiǎn)與改進(jìn)

為證明所提跟蹤處理的精簡(jiǎn)與改進(jìn)的有效性,從評(píng)分與跟蹤耗時(shí)兩方面進(jìn)行對(duì)比,結(jié)果如表5所示。從結(jié)果中可以看出,在相機(jī)無(wú)規(guī)則運(yùn)動(dòng)的情況下,卡爾曼濾波目標(biāo)運(yùn)動(dòng)預(yù)測(cè)不具有可行性,各項(xiàng)跟蹤指標(biāo)嚴(yán)重降低,而處理錯(cuò)誤跟蹤軌跡引入了大量額外計(jì)算,導(dǎo)致TT明顯提升,達(dá)到25.65 ms。在去除卡爾曼濾波目標(biāo)運(yùn)動(dòng)預(yù)測(cè)后,消除了其對(duì)跟蹤過(guò)程帶來(lái)的負(fù)面影響,跟蹤各項(xiàng)指標(biāo)極大提升,跟蹤處理時(shí)間為7.09 ms。當(dāng)目標(biāo)較小且視場(chǎng)運(yùn)動(dòng)較為劇烈時(shí),目標(biāo)幀間運(yùn)動(dòng)的像素距離較大,IoU往往不能進(jìn)行準(zhǔn)確匹配,將IoU匹配過(guò)程去除可以緩解上述問(wèn)題,MT、ML指標(biāo)有所提升。同時(shí),僅靠特征向量匹配導(dǎo)致跟蹤編號(hào)不穩(wěn)定,編號(hào)切換次數(shù)增多,IDF1指標(biāo)降低。對(duì)此,采用含有目標(biāo)幀間運(yùn)動(dòng)距離信息的特征向量彌補(bǔ)IoU匹配缺失帶來(lái)的影響,MT指標(biāo)進(jìn)一步提升,同時(shí)改善了IDF1與IDs指標(biāo)。改進(jìn)后的跟蹤處理省去了卡爾曼濾波與IoU匹配的計(jì)算過(guò)程,引入目標(biāo)幀間運(yùn)動(dòng)信息對(duì)原有目標(biāo)特征向量進(jìn)行改進(jìn)。同時(shí),使用C++改善了使用Python字典處理跟蹤目標(biāo)隊(duì)列運(yùn)行效率低下的問(wèn)題,跟蹤處理時(shí)間為1.29 ms。

表5 跟蹤過(guò)程的精簡(jiǎn)與改進(jìn)

3.2.4 邊緣設(shè)備部署

使用本文所設(shè)計(jì)的基于RepVGG的無(wú)錨框跟蹤網(wǎng)絡(luò)與改進(jìn)后的跟蹤方法,在NVIDIA Jetson Xavier NX邊緣設(shè)備上進(jìn)行實(shí)驗(yàn)。通過(guò)對(duì)Deploy網(wǎng)絡(luò)中的快速特征金字塔結(jié)構(gòu)的批歸一化層與卷積層進(jìn)行合并,最終Deploy網(wǎng)絡(luò)僅含有卷積層與激活層,不含有批歸一化層。所統(tǒng)計(jì)的時(shí)間包含圖像載入(load image,LI)、圖像預(yù)處理(image preprocessing,IP)、FP、RD、TT。在FP方面,從表6中可以看出TensorRT有效地加速了網(wǎng)絡(luò)FP的運(yùn)算速度,速度提升2.65倍。同時(shí),通過(guò)簡(jiǎn)化與改進(jìn)后的跟蹤部分時(shí)間降低4.52倍。在實(shí)驗(yàn)中發(fā)現(xiàn),使用Pytorch進(jìn)行RD時(shí)間最慢,為83.29 ms,而使用Numpy進(jìn)行RD速度有所提升,為32.26 ms,使用C++進(jìn)行解碼速度最快,為2.73 ms。本文所提出的算法整體跟蹤處理幀率為52.37,滿足邊緣設(shè)備部署實(shí)時(shí)運(yùn)行需求。跟蹤精度方面,從表7中可以看出,Deploy模式并沒(méi)有影響跟蹤精度,TensorRT(FP16)的使用使得計(jì)算結(jié)果出現(xiàn)一定舍入誤差,出現(xiàn)精度損失,尤其體現(xiàn)在MOTA與IDF1指標(biāo)上。通過(guò)改進(jìn)跟蹤處理算法,使得本文方法評(píng)分最高,IDF1與IDs指標(biāo)有所下降,但與所換取的速度提升相比是可以接受的,相關(guān)海上多類別多目標(biāo)跟蹤結(jié)果如圖7所示。

表6 不同部署方法的跟蹤速度對(duì)比

表7 不同部署方法的跟蹤精度對(duì)比

圖7 海上多類別多目標(biāo)跟蹤結(jié)果Fig.7 Display of multi-category and multi-target tracking results on the sea

4 結(jié) 論

本文結(jié)合RepVGG骨干網(wǎng)絡(luò)設(shè)計(jì)快速特征金字塔結(jié)構(gòu),提出了一種基于無(wú)錨框的紅外多類別多目標(biāo)實(shí)時(shí)跟蹤網(wǎng)絡(luò)。通過(guò)引入重識(shí)別領(lǐng)域相關(guān)改進(jìn)方法,對(duì)目標(biāo)識(shí)別預(yù)測(cè)頭的特征向量進(jìn)一步優(yōu)化,提升識(shí)別的精確程度。針對(duì)轉(zhuǎn)臺(tái)造成的相機(jī)無(wú)規(guī)則運(yùn)動(dòng)所建立的數(shù)據(jù)集,簡(jiǎn)化了跟蹤處理流程,對(duì)目標(biāo)特征向量賦予幀間運(yùn)動(dòng)距離信息,有效改善了相機(jī)無(wú)規(guī)則運(yùn)動(dòng)對(duì)跟蹤帶來(lái)的影響。同時(shí),細(xì)化并分析了多目標(biāo)跟蹤網(wǎng)絡(luò)在邊緣設(shè)備中的整體時(shí)間消耗,選用GPU與CPU分別執(zhí)行最優(yōu)運(yùn)算,進(jìn)一步提升整體跟蹤速度。最后,將深度學(xué)習(xí)單類別多目標(biāo)跟蹤網(wǎng)絡(luò)擴(kuò)展至多類別多目標(biāo)跟蹤任務(wù)當(dāng)中,對(duì)海上多類別目標(biāo)進(jìn)行多目標(biāo)跟蹤。結(jié)果表明,本文所提相關(guān)方法在NVIDIA Jetson Xavier NX邊緣設(shè)備中運(yùn)行幀率達(dá)到52.37 FPS,滿足邊緣端實(shí)時(shí)運(yùn)行需求。在本文所提的綜合評(píng)價(jià)指標(biāo)下,所設(shè)計(jì)的網(wǎng)絡(luò)相較其他輕量級(jí)網(wǎng)絡(luò)評(píng)分提高1.78,能夠更好地權(quán)衡跟蹤精度與推理速度,在邊緣端擁有更好的性能。未來(lái),在保證實(shí)時(shí)性的基礎(chǔ)上,我們將注重改進(jìn)現(xiàn)有方法跟蹤處理中IDF1與IDs指標(biāo)不佳的問(wèn)題。

猜你喜歡
實(shí)時(shí)性特征向量卡爾曼濾波
基于深度強(qiáng)化學(xué)習(xí)與擴(kuò)展卡爾曼濾波相結(jié)合的交通信號(hào)燈配時(shí)方法
克羅內(nèi)克積的特征向量
脈沖星方位誤差估計(jì)的兩步卡爾曼濾波算法
卡爾曼濾波在信號(hào)跟蹤系統(tǒng)伺服控制中的應(yīng)用設(shè)計(jì)
飛行控制系統(tǒng)設(shè)計(jì)的特征結(jié)構(gòu)配置法
三個(gè)高階微分方程的解法研究
基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
航空電子AFDX與AVB傳輸實(shí)時(shí)性抗干擾對(duì)比
計(jì)算機(jī)控制系統(tǒng)實(shí)時(shí)性的提高策略
可編程控制器的實(shí)時(shí)處理器的研究
海晏县| 嵊州市| 鹤山市| 邹平县| 永春县| 育儿| 茶陵县| 定襄县| 万源市| 塔城市| 田阳县| 吉木萨尔县| 婺源县| 白玉县| 临洮县| 孙吴县| 安义县| 兴化市| 仙游县| 广元市| 临澧县| 城口县| 孟州市| 永清县| 青河县| 万州区| 夏邑县| 阿坝| 光山县| 新源县| 安龙县| 淮安市| 巴中市| 松阳县| 甘孜县| 旅游| 锡林浩特市| 泉州市| 寻乌县| 监利县| 广饶县|