朱珠
(上海工程技術(shù)大學(xué)電子電氣工程學(xué)院, 上海201600)
論文重點介紹單鏡頭條件下的多目標跟蹤。數(shù)據(jù)關(guān)聯(lián)和隨機集理論是解決多目標跟蹤問題的兩種主流思想[1],數(shù)據(jù)關(guān)聯(lián)要求在跟蹤的多個采樣周期期間對數(shù)據(jù)進行關(guān)聯(lián),這樣可以為建立目標航跡提供初始信息,同時也就需要對觀測數(shù)據(jù)進行融合和測量,以此來確定跟蹤生命周期。該算法的關(guān)鍵技術(shù)是尋找同一對象與前兩幀之間的關(guān)系,缺點是顯而易見的,一旦數(shù)據(jù)關(guān)聯(lián)錯誤,多目標跟蹤將失敗[2]。
結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀,避開傳統(tǒng)的數(shù)據(jù)關(guān)聯(lián)和隨機集理論,嘗試先對SSD 模型進行離線訓(xùn)練,然后進行全視頻幀檢測來解決多目標跟蹤問題,并且取得了良好的跟蹤效果。該方法避免了由誤差累積引起的跟蹤盒偏移現(xiàn)象,跟蹤魯棒性和長期跟蹤能力顯著提高。
SSD方法是基于一個前向傳播的CNN 網(wǎng)絡(luò),該網(wǎng)絡(luò)產(chǎn)生一些列固定大小的Bounding Boxes,以及每個Box 中包含物體實例的可能性,即得分,然后進行一個非極大值抑制(Non-maximum Suppression)得到最終的預(yù)測。早期網(wǎng)絡(luò)層基于用于高質(zhì)量圖像分類(在任何分類層之前被截斷)的標準體系結(jié)構(gòu),作者稱之為基本網(wǎng)絡(luò)。然后,向網(wǎng)絡(luò)添加輔助結(jié)構(gòu)以產(chǎn)生具有關(guān)鍵特征的檢測。
Multi-scale Feature Maps for Detection在基礎(chǔ)網(wǎng)絡(luò)的末端添加了額外的卷積層,這些層的尺寸逐漸減小,并且可以在多個尺度下進行預(yù)測。用于預(yù)測的卷積模型對于每個特征層(參見Overfeat和YOLO,它們在單個比例尺特征圖上操作)是不同的。
Convolutional Predictors for Detection每個添加的特征層(或者可選地在基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)中的現(xiàn)有特征層),可以使用一系列的卷積濾波器來產(chǎn)生一系列大小固定的預(yù)測集。這些在圖1中的SSD網(wǎng)絡(luò)體系結(jié)構(gòu)中有所表示。對于一個具有p通道且大小為m×n的特征層,使用的卷積濾波器就是3×3×p的內(nèi)核,產(chǎn)生的預(yù)測要么是歸屬類別的一個得分,要么是一個相對于默認盒坐標的形狀偏移。在每個特征圖的m×n的位置上,使用3×3的內(nèi)核它就會產(chǎn)生一個輸出值。邊框偏移輸出值是相對于默認值測量的。
圖1 SSD網(wǎng)絡(luò)模型
在G P U 并行計算能力的支持下, 諸如Caffe、TensorFlow、Torch和Theano等許多深入學(xué)習(xí)的基本框架得到了迅速發(fā)展。其中,以Caffe框架支持的SSD為代表的一系列神經(jīng)網(wǎng)絡(luò)模型具有很大的影響力。隨著卷積神經(jīng)網(wǎng)絡(luò)模型的不斷優(yōu)化,單幀圖像的模型訓(xùn)練和目標檢測時間不斷縮短。目前,最新的卷積神經(jīng)網(wǎng)絡(luò)模型可以在GPU環(huán)境下檢測高達78幀/秒的幀速率。在幀周圍基本達到了實時檢測的能力。
在快速R-CNN網(wǎng)絡(luò)模型的基礎(chǔ)上,設(shè)計了一種簡單的多目標跟蹤框架,并通過實驗驗證了該算法的可行性。與傳統(tǒng)的多目標相比跟蹤算法,該方法可以進行長期跟蹤,有很明顯的優(yōu)勢。
本文的算法包括訓(xùn)練和跟蹤兩部分。由于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間較長,很難用樣本反饋在線更新網(wǎng)絡(luò)模型,所以實時性較差。因此,本文的實踐就是對網(wǎng)絡(luò)模型進行了提前改進即離線培訓(xùn),沒有在線更新。模型訓(xùn)練完成后,直接嵌入多目標跟蹤程序框架中,以檢測方式完成各幀中目標的定位與跟蹤。模型試驗的結(jié)果將計算目標的預(yù)測位置和相似性得分,并根據(jù)這兩個方面的信息確定目標的最終狀態(tài)。在本文中,該程序直接用矩形框滿足相似性要求,并且不顯示其余信息。
首先利用樣本集訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,然后利用訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型提取目標特征,對目標進行跟蹤匹配。
圖2 SSD多目標跟蹤
本實驗主要針對MOT16視頻集,跟蹤對象是人,選取的樣本分為正樣本和負樣本兩類,正樣本是人的目標,樣本數(shù)是10000,負樣本是背景信息,樣本數(shù)是20000,測試樣本是T。它的號碼是500。樣本信息收集自ImageNet數(shù)據(jù)庫、UIUC圖像數(shù)據(jù)庫和PASCALVOC的汽車數(shù)據(jù)庫。卷積神經(jīng)網(wǎng)絡(luò)模型選用MatConvNet 24.0,模型的訓(xùn)練和目標識別均采用GPU加速。因此,在參數(shù)設(shè)置中opts.gpus=1,將學(xué)習(xí)速率參數(shù)設(shè)置為pts.learningRate=0.001。在本實驗中,由于只有兩種樣品,卷積神經(jīng)網(wǎng)絡(luò)模型只需要確定候選區(qū)域是否包含目標區(qū)域和目標的相似性,因此類別數(shù)量參數(shù)nCls被設(shè)置為2,使用準備好的正樣本和負樣本進行模型訓(xùn)練,并設(shè)置迭代次數(shù)opts.numEpochs=10000。
表1 卷積神經(jīng)網(wǎng)絡(luò)模型的參數(shù)設(shè)置
實驗采用計算機CPU i5-6500,3.2GHZ,GTX1050。程序參數(shù)設(shè)置如下:候選框是初始對象大小的2.5倍,學(xué)習(xí)率為0.001。為了全面評估所提出的算法,本文評估了在MOT16數(shù)據(jù)庫上的跟蹤性能,該數(shù)據(jù)庫包括七個具有挑戰(zhàn)性的視頻序列,包括帶有移動相機的前視場景和自頂向下監(jiān)控設(shè)備。
評估標準用于評估算法的性能包括:多目標跟蹤精度(M O T A ↑)、多目標跟蹤精度(M O T P ↑)、正確跟蹤軌跡占8 0%以上(M T ↑)、正確跟蹤軌跡占2 0%以上( ML↓)、目標ID變化數(shù)(IDS↓)、誤檢目標數(shù)(FP↓)、漏檢目標數(shù)(FN↓)、軌道斷開數(shù)(Frag↓)和運行速度(Runtime↑)。比較算法是TBD、NOMT、SORT和POI,且這四種多目標跟蹤算法是目前比較出色的多目標跟蹤算法。
表2 實驗參數(shù)設(shè)置與評估方法
算法比較測試視頻和測試結(jié)果如表3所示。
圖3是測試視頻的效果圖,由上往下,可以看出實線框內(nèi)的人物被清晰地標注出,表明目標此時被檢測到,并且能夠跟蹤上,圖3中間一圖,玫紅色線框的目標被遮擋而不能被檢測出時,系統(tǒng)嘗試用卡爾曼濾波器預(yù)測其出現(xiàn)的位置。
這個測試結(jié)果表明文中實現(xiàn)的算法處理多目標跟蹤問題是有效的。當(dāng)目標不被遮擋且沒有復(fù)雜的運動時能夠?qū)崿F(xiàn)穩(wěn)定跟蹤,在目標遮擋時間較短時,能預(yù)測目標在下一幀的位置,并重新匹配,這就說明算法可以同時對多個目標進行跟蹤。
表3 MOT16 數(shù)據(jù)庫跟蹤性能比較
圖3 多目標跟蹤效果圖
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)檢測的多目標跟蹤算法。檢測模型在所有視頻幀中執(zhí)行全圖像檢測。在多個視頻測試集上的實驗表明,該方法可以旋轉(zhuǎn)目標,變形具有較高的公差。同時,與傳統(tǒng)的多目標跟蹤算法相比,該算法具有明顯的優(yōu)勢。該算法在長期跟蹤中具有很強的魯棒性,避免了傳統(tǒng)的跟蹤算法由于跟蹤時間的延長導(dǎo)致誤差的累積,最終導(dǎo)致跟蹤失敗的缺點。
本文提出的多目標跟蹤算法結(jié)構(gòu)簡單,所暴露出的一些缺點和不足是今后研究的重點:
(1)該算法只對特定類型的目標進行模型訓(xùn)練,沒有對跟蹤部分進行深入的設(shè)計,因此在跟蹤時所有屬于這些目標的候選區(qū)域都將被標記;
(2)在視頻幀中有時會出現(xiàn)錯誤警報和未命中的標簽。下一階段將研究如何將軌跡預(yù)測與多目標跟蹤相結(jié)合,同時研究正負樣本選擇和訓(xùn)練迭代參數(shù)設(shè)置對訓(xùn)練結(jié)果的影響。