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