本發(fā)明涉及一種基于神經(jīng)卡爾曼濾波器與深度估計(jì)網(wǎng)絡(luò)的多目標(biāo)跟蹤方法,屬于計(jì)算機(jī)視覺(jué)。
背景技術(shù):
1、多目標(biāo)跟蹤是計(jì)算機(jī)視覺(jué)中的一個(gè)重要研究領(lǐng)域,它涉及到在一段視頻中同時(shí)檢測(cè)并跟蹤多個(gè)移動(dòng)對(duì)象。這個(gè)過(guò)程不僅需要識(shí)別出視頻幀中的目標(biāo),還需要在連續(xù)的幀之間保持這些目標(biāo)的身份一致性,即使是在目標(biāo)之間發(fā)生遮擋、目標(biāo)外觀變化或者相機(jī)視角改變的情況下。多目標(biāo)跟蹤技術(shù)在許多實(shí)際應(yīng)用中發(fā)揮著重要作用,如智能監(jiān)控系統(tǒng)、自動(dòng)駕駛汽車(chē)、體育分析、人機(jī)交互等領(lǐng)域。隨著人工智能技術(shù)的發(fā)展,特別是深度學(xué)習(xí)的進(jìn)步,多目標(biāo)跟蹤算法的性能得到了顯著提升,能夠更好地應(yīng)對(duì)復(fù)雜場(chǎng)景下的挑戰(zhàn)。
2、但目前的大部分多目標(biāo)跟蹤方法由于模型計(jì)算量過(guò)大難以在性能與速度之間取得平衡,這些方法在實(shí)際應(yīng)用往往需要很高的硬件條件,無(wú)法在大多數(shù)終端設(shè)備部署,極大的限制了這些多目標(biāo)跟蹤方法的落地應(yīng)用。部分模型較小的跟蹤器雖然推理速度快,但性能不佳,無(wú)法在性能和推理速度之間取得平衡。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的不足,提供一種基于神經(jīng)卡爾曼濾波器與深度估計(jì)網(wǎng)絡(luò)的多目標(biāo)跟蹤方法,解決現(xiàn)有技術(shù)中跟蹤器在推理速度與性能之間難以平衡的問(wèn)題,包括現(xiàn)有的大部分多目標(biāo)跟蹤方法由于參數(shù)量過(guò)大,在終端設(shè)備上無(wú)法實(shí)現(xiàn),極大的限制了這些算法的落地應(yīng)用,以及部分較小型的跟蹤器雖然推理速度較快,但性能不佳。
2、為解決上述技術(shù)問(wèn)題,本發(fā)明是采用下述技術(shù)方案實(shí)現(xiàn)的:
3、第一方面,本發(fā)明提供了一種基于神經(jīng)卡爾曼濾波器與深度估計(jì)網(wǎng)絡(luò)的多目標(biāo)跟蹤方法,基于給定視頻進(jìn)行目標(biāo)跟蹤,包括以下步驟:
4、步驟1:使用yolox對(duì)視頻中的目標(biāo)逐幀檢測(cè),獲取目標(biāo)檢測(cè)位置,并得到2d線索;
5、步驟2:使用深度神經(jīng)回歸器,估計(jì)每個(gè)目標(biāo)與攝像機(jī)的距離,并得到3d定位信息;
6、步驟3:使用神經(jīng)網(wǎng)絡(luò),根據(jù)目標(biāo)的運(yùn)動(dòng)狀態(tài)動(dòng)態(tài)調(diào)整卡爾曼濾波的過(guò)程噪聲和觀察噪聲;
7、步驟4:整合步驟2和3得到的目標(biāo)運(yùn)動(dòng)狀態(tài)信息,獲取目標(biāo)預(yù)測(cè)位置;
8、步驟5:根據(jù)步驟1得到的目標(biāo)檢測(cè)位置與步驟4得到的目標(biāo)預(yù)測(cè)位置計(jì)算成本矩陣;
9、步驟6:使用深度密度估計(jì)器,將步驟1獲得的2d線索與步驟2獲得的3d定位信息合并,對(duì)步驟5得到的成本矩陣進(jìn)行修正與歸一化;
10、步驟7:基于歸一化的成本矩陣,使用匈牙利算法完成匹配;
11、步驟8:重復(fù)步驟1-7,直至完成視頻的目標(biāo)跟蹤工作。
12、進(jìn)一步的,所述步驟1具體包括:
13、使用已訓(xùn)練的yolox模型獲取目標(biāo)的x坐標(biāo)、y坐標(biāo)、高度h和寬高比a;
14、yolox-s模型用于硬件性能一般的設(shè)備,yolox-x模型應(yīng)用于硬件性能較好的設(shè)備。
15、進(jìn)一步的,所述步驟2具體包括:
16、在motsynth訓(xùn)練集上訓(xùn)練深度神經(jīng)回歸器;
17、使用lstm長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)編碼所有過(guò)去幀的歷史信息,其輸出為一個(gè)單幀特征圖;
18、使用特征金字塔網(wǎng)絡(luò)fpn,在深層網(wǎng)絡(luò)中加入了一個(gè)額外的分支,以恢復(fù)原始分辨率并避免因下采樣導(dǎo)致的空間信息丟失;
19、通過(guò)一個(gè)多層次感知機(jī)輸出預(yù)測(cè)的距離,并且不是直接輸出一個(gè)精確的估計(jì)值,而是輸出一個(gè)高斯分布,從而獲得模型的不確定性。
20、進(jìn)一步的,所述步驟3具體包括:
21、傳統(tǒng)的卡爾曼濾波器中的觀測(cè)噪聲r(shí)k和過(guò)程噪聲qk不再是固定的預(yù)設(shè)參數(shù),而是通過(guò)兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)來(lái)動(dòng)態(tài)更新,這兩個(gè)網(wǎng)絡(luò)基于當(dāng)前的運(yùn)動(dòng)狀態(tài)來(lái)調(diào)整噪聲參數(shù)
22、rk=r-net(zk)
23、qk=q-net(xk-1)
24、zk表示當(dāng)前幀的檢測(cè)結(jié)果,xk-1表示k-1時(shí)間長(zhǎng)度內(nèi)的狀態(tài)均值,r表示觀測(cè)噪聲的協(xié)方差矩陣,它描述了觀測(cè)模型中的隨機(jī)誤差對(duì)估計(jì)值的影響程度,q表示過(guò)程噪聲的協(xié)方差矩陣,它描述了狀態(tài)轉(zhuǎn)移模型中的隨機(jī)誤差對(duì)預(yù)測(cè)值的影響程度,net()表示使用神經(jīng)網(wǎng)絡(luò)處理zk與xk-1參數(shù);
25、這兩個(gè)網(wǎng)絡(luò)設(shè)計(jì)為全連接層。
26、進(jìn)一步的,所述步驟6具體包括:
27、接收多種輸入,包括2d線索以及3d定位信息;
28、構(gòu)建一個(gè)條件概率分布p(d∈t|t),該分布基于輸入的成本矩陣,估計(jì)了檢測(cè)d屬于軌跡t的概率,輸出修正后的成本矩陣;
29、對(duì)這個(gè)成本矩陣進(jìn)行進(jìn)一步的歸一化處理,通過(guò)softmax函數(shù)平滑化。
30、進(jìn)一步的,所述步驟7具體包括:
31、先匹配高分的檢測(cè)框,計(jì)算高分框和預(yù)測(cè)框的iou,使用匈牙利算法匹配iou,獲得3個(gè)結(jié)果:已匹配的軌跡與高分框、未成功匹配的軌跡和未成功匹配的高分框,匹配成功后將跟蹤軌跡中的框更新為高分檢測(cè)框;
32、然后針對(duì)低分框,計(jì)算低分框和上一步未匹配上的預(yù)測(cè)框的iou,使用匈牙利算法進(jìn)行匹配,獲得3個(gè)結(jié)果:已匹配的軌跡與低分框、未成功匹配的軌跡和未成功匹配的低分框。匹配成功后將追蹤軌跡中的框更新為檢測(cè)框;
33、最后針對(duì)未匹配上的高分檢測(cè)框,將其和狀態(tài)未激活的軌跡匹配,獲得3個(gè)結(jié)果:匹配、未匹配軌跡和未匹配檢測(cè)框。未匹配的軌跡標(biāo)記為刪除,對(duì)于未匹配檢測(cè)框,置信度高于閾值則更新為新的跟蹤軌跡,小于則丟棄。
34、第二方面,本發(fā)明提供了一種通用式的多目標(biāo)跟蹤裝置,包括:
35、目標(biāo)檢測(cè)模塊:使用兩種目標(biāo)檢測(cè)模型yolox-x與yolox-s,前者參數(shù)量較大,性能較好,適合部署在具有較高硬件水平的設(shè)備,后者參數(shù)量少,性能略差,適合部署在硬件水平一般的設(shè)備;
36、運(yùn)動(dòng)信息編碼模塊:使用lstm長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)編碼所有過(guò)去幀的歷史信息,其輸出為一個(gè)單幀特征圖;
37、特征恢復(fù)模塊:使用特征金字塔網(wǎng)絡(luò)fpn,在深層網(wǎng)絡(luò)中加入了一個(gè)額外的分支,以恢復(fù)原始分辨率并避免因下采樣導(dǎo)致的空間信息丟失;
38、深度計(jì)算模塊:將運(yùn)動(dòng)信息編碼模塊、特征恢復(fù)模塊整合到同一神經(jīng)網(wǎng)絡(luò),并在網(wǎng)絡(luò)的最后一層加入多層感知機(jī),輸出預(yù)測(cè)的距離;
39、運(yùn)動(dòng)估計(jì)模塊:通過(guò)兩個(gè)獨(dú)立的神經(jīng)網(wǎng)絡(luò)來(lái)動(dòng)態(tài)更新卡爾曼濾波過(guò)程中的過(guò)程噪聲和觀察噪聲,根據(jù)目標(biāo)的歷史軌跡信息預(yù)測(cè)當(dāng)前的運(yùn)動(dòng)狀態(tài);
40、成本矩陣計(jì)算模塊:根據(jù)目標(biāo)檢測(cè)模塊獲得的檢測(cè)信息,與運(yùn)動(dòng)估計(jì)模塊獲得的預(yù)測(cè)信息,計(jì)算出二者的成本矩陣;
41、深度密度估計(jì)模塊:將運(yùn)動(dòng)估計(jì)模塊獲得的2d線索與深度計(jì)算模塊獲得的3d定位信息整合,對(duì)成本矩陣進(jìn)行修正與歸一化,并通過(guò)softmax函數(shù)平滑化;
42、關(guān)聯(lián)匹配模塊:根據(jù)成本矩陣,將檢測(cè)框與軌跡進(jìn)行匹配,通過(guò)先匹配高分檢測(cè)框后匹配低分檢測(cè)框的方案,有效提高了匹配正確率。
43、第三方面,本發(fā)明提出了一種終端設(shè)備,該終端包括處理器和存儲(chǔ)介質(zhì);
44、所述存儲(chǔ)介質(zhì)用于存放指令;
45、所述處理器則依據(jù)這些指令執(zhí)行對(duì)應(yīng)于第一方面所述方法的步驟。
46、第四方面,本發(fā)明還涉及一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,當(dāng)所述程序由處理器執(zhí)行時(shí),能夠?qū)崿F(xiàn)第一方面所述方法的步驟。
47、與現(xiàn)有技術(shù)相比,本發(fā)明所達(dá)到的有益效果:
48、1、本發(fā)明在減少模型參數(shù)量并加快模型推理速度的同時(shí),保證了模型性能的優(yōu)異水平,做到了多目標(biāo)跟蹤算法在性能和推理速度上的良好平衡,進(jìn)一步擴(kuò)大了多目標(biāo)跟蹤模型在終端上部署的可能性;
49、2、本發(fā)明設(shè)計(jì)了神經(jīng)卡爾曼濾波器與深度估計(jì)網(wǎng)絡(luò)。神經(jīng)卡爾曼濾波器使用神經(jīng)網(wǎng)絡(luò)取代了傳統(tǒng)卡爾曼濾波器作為運(yùn)動(dòng)模型,在不損失推理速度的前提下提高了跟蹤精度。深度估計(jì)網(wǎng)絡(luò)通過(guò)計(jì)算目標(biāo)的深度信息,為匹配階段提供了更加可靠的成本矩陣,大幅提高了跟蹤精度。本發(fā)明沒(méi)有采取傳統(tǒng)的基于transformer的多目標(biāo)跟蹤方法,而是使用簡(jiǎn)單高效的yolox模型作為檢測(cè)器,配合神經(jīng)卡爾曼濾波器與深度估計(jì)網(wǎng)絡(luò),在終端實(shí)現(xiàn)了實(shí)時(shí)、精確的多目標(biāo)跟蹤方法。