樊 璐 張 軼
(四川大學(xué)計(jì)算機(jī)學(xué)院 四川 成都 610064)
行人檢測(cè)和跟蹤是計(jì)算機(jī)視覺(jué)行業(yè)長(zhǎng)久以來(lái)一直著力解決的問(wèn)題之一,解決該問(wèn)題有助于多個(gè)行業(yè)和技術(shù)的發(fā)展,包括智能視頻監(jiān)控、人機(jī)交互、智能輔助駕駛、自動(dòng)駕駛、機(jī)器人主動(dòng)視覺(jué)等[14]。行人檢測(cè)即在圖像或者視頻中識(shí)別出行人同時(shí)標(biāo)注每個(gè)行人的位置。行人檢測(cè)的方法一般分為基于模板匹配以及基于統(tǒng)計(jì)學(xué)習(xí)兩種方法?;谀0迤ヅ涞姆椒礃?gòu)建一個(gè)可以描述所有行人特征的模板,例如:方向梯度直方圖(HOG)[21]行人特征描述子結(jié)合支持向量機(jī)(SVM)進(jìn)行行人檢測(cè);可變型組件模型(DPM)[19]與HOG特征描述子結(jié)合解決了檢測(cè)中遮擋的問(wèn)題;局部二值模式(LBP)[23]也可以與HOG和SVM結(jié)合成為一個(gè)魯棒的行人檢測(cè)器。2012年AlexNet[16]在計(jì)算機(jī)視覺(jué)競(jìng)賽ILSVRC奪得桂冠之后,深度學(xué)習(xí)開始在計(jì)算機(jī)視覺(jué)領(lǐng)域大行其道。深度學(xué)習(xí)通過(guò)大量的標(biāo)注數(shù)據(jù)、深層的網(wǎng)絡(luò)結(jié)構(gòu)獲取圖像的深層特征,從而大大提高了目標(biāo)識(shí)別的精度。對(duì)于行人檢測(cè)的深度學(xué)習(xí)研究也有了很多成果,比如使用CNN結(jié)合部位檢測(cè)以及DPM進(jìn)行行人檢測(cè)[13],使用單一部位檢測(cè)及其組合進(jìn)行行人檢測(cè)[10]。
傳統(tǒng)的目標(biāo)跟蹤算法有均值漂移(meanshift)[13]算法、CamShift[22]算法、卡爾曼濾波跟蹤算法[25]。2014年提出的KCF[11]算法將相關(guān)濾波引入到目標(biāo)跟蹤?quán)徲?,利用跟蹤的目?biāo)信息訓(xùn)練出一個(gè)相關(guān)濾波器在圖像中計(jì)算響應(yīng)值,響應(yīng)值最高處便是跟蹤目標(biāo)所在的地方。由單目標(biāo)跟蹤擴(kuò)展到多目標(biāo)跟蹤的算法有基于流網(wǎng)絡(luò)的方法[18]、基于k最短路徑的方法等[17],但這些多目標(biāo)跟蹤方法往往存在較多的缺點(diǎn),比如漏檢測(cè)、匹配失敗等問(wèn)題。近年來(lái)效果比較好的多目標(biāo)跟蹤方法多是基于track-by-detection框架[12],將檢測(cè)與跟蹤結(jié)合,能夠達(dá)到很好的跟蹤效果。
本文同樣采用track-by-detection框架,針對(duì)行人檢測(cè)進(jìn)行優(yōu)化并得到定位準(zhǔn)確率和識(shí)別率都較高的檢測(cè)算法,隨后比較并提出更好的目標(biāo)匹配方法,結(jié)合兩者構(gòu)成本文的跟蹤框架,取得了比較好的跟蹤結(jié)果。本文主要貢獻(xiàn)如下:(1) 基于YOLO網(wǎng)絡(luò)優(yōu)化并訓(xùn)練得到了精確率很高的行人檢測(cè)器;(2) 基于孿生網(wǎng)絡(luò)的思想,提出了匹配網(wǎng)絡(luò)實(shí)現(xiàn)檢測(cè)目標(biāo)與跟蹤軌跡之間的匹配;(3) 針對(duì)目標(biāo)跟蹤會(huì)出現(xiàn)的目標(biāo)漂移問(wèn)題,采用靈活的目標(biāo)模板更新策略;(4) 為了降低目標(biāo)匹配時(shí)的計(jì)算量過(guò)大、時(shí)間過(guò)長(zhǎng)的問(wèn)題,對(duì)算法進(jìn)行了優(yōu)化,降低了計(jì)算量。
傳統(tǒng)的行人檢測(cè)方法存在著許多缺點(diǎn):使用底層特征,行人特征表達(dá)能力不夠;特征可分性較差,易發(fā)生誤檢;泛化能力較差,不能適應(yīng)不同的場(chǎng)景。因此,本文選取深度學(xué)習(xí)方法作為行人檢測(cè)器。目前主流目標(biāo)檢測(cè)算法包括Faster-CNN、YOLO和SSD。Faster R-CNN[6]作為RCNN目標(biāo)識(shí)別網(wǎng)絡(luò)發(fā)展的最新成果,加入了RPN網(wǎng)絡(luò),在精度方面達(dá)到很高水平。不同于Faster-RCNN的two-stage結(jié)構(gòu),YOLO[7]將圖像劃分為數(shù)個(gè)網(wǎng)格,一次性預(yù)測(cè)每個(gè)格子包含目標(biāo)的包圍框、定位置信度以及所有類別的預(yù)測(cè)向量,從而完成目標(biāo)識(shí)別,該算法大大提高了目標(biāo)識(shí)別的速度。SSD[8](Single Shot MultiBox Detector)在YOLO的基礎(chǔ)上,除了最后的特征圖之外又選擇了另外5個(gè)特征圖進(jìn)行預(yù)測(cè),提高了對(duì)不同尺度目標(biāo)的識(shí)別精度。由于目標(biāo)跟蹤對(duì)實(shí)時(shí)性的要求比較高,因此本文選擇了耗時(shí)最小的YOLO算法作為行人檢測(cè)器。
本文中采用最新的YOLOv3[1]結(jié)構(gòu),該結(jié)構(gòu)添加了多個(gè)尺度融合的方式進(jìn)行目標(biāo)檢測(cè),提高了對(duì)于小目標(biāo)的識(shí)別精度。YOLOv3的檢測(cè)過(guò)程和網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 YOLO行人檢測(cè)網(wǎng)絡(luò)框架
該網(wǎng)絡(luò)結(jié)構(gòu)接收輸入圖像,使用DarkNet53提取圖像特征,為了更好地適應(yīng)不同尺度的檢測(cè),網(wǎng)絡(luò)使用了特征金字塔(Feature Pyramid Network,F(xiàn)PN)方式對(duì)不同尺度的特征圖進(jìn)行融合,得到三幅包含不同尺度信息的特征圖,分別在三幅特征圖上預(yù)測(cè)目標(biāo)邊界并計(jì)算類別概率實(shí)現(xiàn)目標(biāo)的識(shí)別和定位。
在訓(xùn)練YOLO進(jìn)行行人檢測(cè)時(shí),使用在ImageNet上訓(xùn)練的模型作為預(yù)訓(xùn)練參數(shù)。訓(xùn)練數(shù)據(jù)集選擇INRIA數(shù)據(jù)集,其中訓(xùn)練集包含614幅正樣本圖像,包含行人1 237個(gè),負(fù)樣本圖像1 218幅;測(cè)試集包含288幅正樣本圖像,包含行人589個(gè),負(fù)樣本圖像453幅。數(shù)據(jù)集涵蓋了行人檢測(cè)中出現(xiàn)的光照、遮擋、姿態(tài)等各種不同的情況。同時(shí),還通過(guò)翻轉(zhuǎn)、縮放、裁剪、移位等數(shù)據(jù)增強(qiáng)方法,提高數(shù)據(jù)集的數(shù)量,從而提高檢測(cè)算法的魯棒性。
首先計(jì)算IoU(Intersection over Union):
(1)
式中:Pred表示預(yù)測(cè)框;GT表示真實(shí)框。IoU值表示預(yù)測(cè)框與真實(shí)框的重疊程度。
計(jì)算得每個(gè)檢測(cè)框的最終置信度:
conf=P(object)×IoU
(2)
式中:P(object)表示該檢測(cè)框包含目標(biāo)的概率。對(duì)于每個(gè)框再計(jì)算目標(biāo)為行人的概率:
P(person)=P(person|object)×conf
(3)
由于本文中使用YOLO只進(jìn)行行人目標(biāo)檢測(cè),因此采用了式(4)中的binary cross-entropy loss取代本來(lái)的softmax cross-entropy loss,更好地提升單目標(biāo)檢測(cè)的精度。
Eclass=-[y×log(p)+(1-y)×log(1-p)]
(4)
式中:y表示目標(biāo)的標(biāo)簽,行人標(biāo)簽為1,背景標(biāo)簽為0;p表示目標(biāo)預(yù)測(cè)為行人的概率。式(5)所示的YOLO的損失函數(shù)綜合了預(yù)測(cè)框與真實(shí)框的誤差、IoU誤差和分類誤差。檢測(cè)過(guò)程過(guò)程如圖2所示。
(5)
圖2 YOLO行人檢測(cè)過(guò)程
實(shí)驗(yàn)證明經(jīng)過(guò)本文的訓(xùn)練,YOLO行人檢測(cè)達(dá)到了很高的精度,能檢測(cè)到各種場(chǎng)景中的行人目標(biāo)。然而,檢測(cè)方法對(duì)各個(gè)目標(biāo)之間并沒(méi)有區(qū)分度,因此并不能將檢測(cè)目標(biāo)劃分到各自應(yīng)該在的跟蹤軌跡中。所以檢測(cè)算法需要結(jié)合一個(gè)匹配算法,才能最終實(shí)現(xiàn)跟蹤。
以往在多目標(biāo)跟蹤中,經(jīng)常使用匈牙利算法進(jìn)行檢測(cè)目標(biāo)與跟蹤軌跡之間的匹配。匈牙利算法即圖論中的最大匹配算法。該算法利用檢測(cè)和跟蹤軌跡模板之間的匹配程度,從第一個(gè)檢測(cè)目標(biāo)開始為其匹配一個(gè)最佳的跟蹤軌跡,并通過(guò)遞歸計(jì)算,找到盡可能多的匹配目標(biāo)。若某個(gè)目標(biāo)或者某個(gè)跟蹤軌跡最終沒(méi)有找到匹配,則進(jìn)行相應(yīng)的處理。該方法有兩個(gè)缺點(diǎn):一是對(duì)于匹配程度計(jì)算方法的準(zhǔn)確率要求較高;二是其找到的最大匹配有可能不是真實(shí)的最佳匹配,會(huì)嚴(yán)重影響跟蹤的準(zhǔn)確率。
KM算法是對(duì)匈牙利算法的一個(gè)改進(jìn),為目標(biāo)和軌跡構(gòu)成的二分圖分配權(quán)重,權(quán)重來(lái)自于計(jì)算得到的目標(biāo)-軌跡之間的匹配程度,該算法從匹配的角度大大提高了匈牙利算法的準(zhǔn)確度。然而,KM算法仍舊無(wú)法解決計(jì)算匹配程度不準(zhǔn)確對(duì)多目標(biāo)跟蹤精度的影響。由于孿生網(wǎng)絡(luò)[24]在圖像檢索方面的優(yōu)勢(shì)早已被證明,近年來(lái),該方法也多次被應(yīng)用于單目標(biāo)跟蹤,用于匹配前后幀的單一目標(biāo)。本文也采用該思想,與之不同的是,本文設(shè)計(jì)了匹配網(wǎng)絡(luò)來(lái)提取行人特征并實(shí)現(xiàn)多個(gè)目標(biāo)與多個(gè)軌跡之間的匹配。本文匹配網(wǎng)絡(luò)主要原理可表達(dá)如下:
f(z,x)=g(φ(z),φ(x))
(6)
式中:z和x分別表示目標(biāo)模板圖像和檢索圖像;φ表示使用匹配網(wǎng)絡(luò)來(lái)提取特征;g表示計(jì)算特征之間的相似度;f表示比較相似度的結(jié)果。事實(shí)證明,匹配網(wǎng)絡(luò)具有良好的圖像匹配效果。
本文同樣利用該網(wǎng)絡(luò)結(jié)構(gòu)在圖像匹配中的優(yōu)點(diǎn),在獲得行人檢測(cè)的結(jié)果之后,使用匹配網(wǎng)絡(luò)將檢測(cè)結(jié)果與跟蹤模板進(jìn)行匹配,獲得快速魯棒的跟蹤效果。對(duì)于檢測(cè)到的每一個(gè)目標(biāo),將其轉(zhuǎn)換為128×128的大小,送入到匹配網(wǎng)絡(luò)中提取特征,然后計(jì)算檢測(cè)目標(biāo)的特征與跟蹤軌跡模板的特征之間的相似度。本文采用了如圖3所示的匹配網(wǎng)絡(luò)結(jié)構(gòu),其中特征提取網(wǎng)絡(luò)的結(jié)構(gòu)如圖4所示。
圖3 本文的匹配網(wǎng)絡(luò)結(jié)構(gòu)
圖4 匹配網(wǎng)絡(luò)中的特征提取部分結(jié)構(gòu)
經(jīng)過(guò)匹配網(wǎng)絡(luò),每個(gè)目標(biāo)得到一個(gè)512×6×6大小的特征圖。在計(jì)算特征之間的相似度時(shí),本文選用式(7)計(jì)算得到相似度。
(7)
式中:A和B分別表示目標(biāo)圖像特征以及跟蹤軌跡模板特征中對(duì)應(yīng)的向量。最終,對(duì)相似度矩陣進(jìn)行求和得到最終相似度,如式(8)所示。其中xi指由式(7)得到的余弦距離組成的相似度矩陣中的元素。
Similarity=∑xi
(8)
為了最大化匹配網(wǎng)絡(luò)對(duì)于不同行人的分辨能力,本文使用大量的行人數(shù)據(jù)集進(jìn)行訓(xùn)練。由于普通的行人數(shù)據(jù)集一般都來(lái)自于不同的場(chǎng)景,匹配網(wǎng)絡(luò)可能學(xué)習(xí)到的是場(chǎng)景之間的分辨能力,而忽略了對(duì)于行人之間的分辨能力。因此為更加適合目標(biāo)跟蹤的需求,本文選取了MOT數(shù)據(jù)集中幾個(gè)多目標(biāo)行人跟蹤的圖像序列訓(xùn)練匹配網(wǎng)絡(luò)。首先根據(jù)MOT數(shù)據(jù)集提供的標(biāo)注信息裁剪出所有的行人目標(biāo),然后將在同一個(gè)跟蹤序列的目標(biāo)歸為一類,獲得數(shù)個(gè)不同行人的圖像集,并按照2∶1的比例分為訓(xùn)練集和測(cè)試集。由于本文的匹配網(wǎng)絡(luò)是基于行人檢測(cè)算法的結(jié)果,因此匹配網(wǎng)絡(luò)不再負(fù)責(zé)目標(biāo)和背景之間的區(qū)別,而只專注于行人與行人之間的差別,也就是說(shuō),數(shù)據(jù)集中不再添加隨機(jī)選取的背景圖像作為負(fù)樣本。在訓(xùn)練時(shí),每次隨機(jī)選取數(shù)據(jù)集中的兩個(gè)圖像,將其歸一化到128×128的大小,經(jīng)過(guò)匹配網(wǎng)絡(luò)獲取特征并由余弦距離計(jì)算相似度,采用式(9)所示的對(duì)比損失函數(shù)作為訓(xùn)練的損失函數(shù),其中:當(dāng)兩幅圖像來(lái)自同一個(gè)行人的數(shù)據(jù)集時(shí),y取1;否則y取-1。
LContrastive=log(1+exp(-y×Similarity))
(9)
經(jīng)過(guò)多次的迭代訓(xùn)練,匹配網(wǎng)絡(luò)在測(cè)試集上達(dá)到了很高的正確率,為本文的行人多目標(biāo)跟蹤算法精度提供了保證。
在選取了合適的行人檢測(cè)算法并訓(xùn)練得到正確率足夠高的匹配網(wǎng)絡(luò)之后,本文的主要框架已經(jīng)大致完成。但是,多目標(biāo)跟蹤是一個(gè)相當(dāng)復(fù)雜的場(chǎng)景,需要解決的問(wèn)題如下:第一,跟蹤模板的更新問(wèn)題,頻繁更新模板會(huì)造成目標(biāo)偏移,不更新模板又會(huì)造成匹配失敗。第二,計(jì)算量問(wèn)題,檢測(cè)結(jié)果與模板進(jìn)行兩兩匹配需要大量計(jì)算,影響算法的實(shí)時(shí)性,需要限制搜索范圍。第三,丟失的目標(biāo)重新出現(xiàn),位置發(fā)生變化,需要擴(kuò)大搜索范圍。
以往的孿生網(wǎng)絡(luò)跟蹤方法,對(duì)于模板多采取不更新的策略,這是由于在跟蹤時(shí)存在定位的偏差,預(yù)測(cè)框和真實(shí)框的IoU值會(huì)比較低,預(yù)測(cè)框會(huì)包含較多的背景信息,較少的目標(biāo)信息,這時(shí)如果進(jìn)行模板更新,在之后的跟蹤過(guò)程中,模板與背景的相似度越來(lái)越高,陷入惡性循環(huán),最終丟失目標(biāo)。然而,由于行人移動(dòng)的靈活性,行人轉(zhuǎn)動(dòng)、由遠(yuǎn)到近運(yùn)動(dòng)、由近到遠(yuǎn)運(yùn)動(dòng)、進(jìn)出室內(nèi)室外造成的光照變化都會(huì)造成檢測(cè)目標(biāo)與初始模板的相似度降低,導(dǎo)致目標(biāo)跟蹤失敗。因此,本文提出了更加靈活的模板更新策略,將初始模板和更新模板結(jié)合起來(lái),取得了不錯(cuò)的效果。
對(duì)于每一個(gè)跟蹤目標(biāo),本文保存其初始模板,添加一個(gè)更新模板,在跟蹤過(guò)程中,每隔固定時(shí)間就要更新一次更新模板,間隔幀數(shù)使用Interval表示。跟蹤時(shí),首先比較初始模板和檢測(cè)目標(biāo)的相似度,也就類似原始的孿生網(wǎng)絡(luò)跟蹤。由于目標(biāo)的變化,初始模板與目標(biāo)的相似度可能逐漸降低,當(dāng)?shù)陀谠O(shè)定的閾值時(shí),比較更新模板與目標(biāo)的相似度,此時(shí)的更新模板與當(dāng)前幀最多相差設(shè)定的間隔幀數(shù),因此可以成功匹配。這時(shí)更新模板已經(jīng)比初始模板更能描述目標(biāo)的特征,因此將更新初始模板為當(dāng)前使用的更新模板。此外,由于本文采用了魯棒性強(qiáng)的檢測(cè)算法,跟蹤過(guò)程不需要擔(dān)心模板向背景偏移。綜上,本文的每一條跟蹤軌跡結(jié)構(gòu)包含如下四個(gè)方面:(1) 目標(biāo)出現(xiàn)總幀數(shù);(2) 目標(biāo)初始模板;(3) 目標(biāo)更新后模板;(4) 目標(biāo)連續(xù)丟失的幀數(shù)。
雖然本文采用的行人識(shí)別算法和孿生網(wǎng)絡(luò)匹配算法在速度上都很快,但是當(dāng)跟蹤行人目標(biāo)較多時(shí),計(jì)算量會(huì)快速增加,影響到算法的整體速度。因此本文添加位置約束算法降低計(jì)算量。
位置約束即根據(jù)跟蹤軌跡在上一幀的位置,限定匹配算法在當(dāng)前幀的匹配范圍。以往的位置約束算法都是使用歐氏距離來(lái)限定,圖像在x軸和y軸的距離在這種距離計(jì)算方法中是等價(jià)的。但是由于行人往往寬度與高度差別比較大,因此在圖像上,行人橫向移動(dòng)速度往往大于縱向速度,因此本文考慮到目標(biāo)本身的寬度和高度,在x軸和y軸設(shè)定不同的距離限制,為每個(gè)跟蹤軌跡和檢測(cè)目標(biāo)都設(shè)置一個(gè)位置權(quán)重,計(jì)算如下:
locWeight(Pm,Trackn)=
(10)
式中:Pi表示第i個(gè)行人檢測(cè)目標(biāo);Trackn表示第n個(gè)跟蹤軌跡;x、y、width、height分別表示跟蹤框或者檢測(cè)框的中心坐標(biāo)和尺寸;λx和λy分別表示x軸和y軸距離范圍權(quán)重。在本文算法中,λx和λy分別取2和1。在約束算法下,跟蹤軌跡在當(dāng)前幀最相似的目標(biāo)得分計(jì)算如下:
Pmax=argmax(locWeight(Pm,Trackn)sim(Pm,Trackn))
(11)
式中:sim(·)表示相似度計(jì)算,如果最高得分大于設(shè)定閾值,則對(duì)應(yīng)的檢測(cè)目標(biāo)即為是軌跡的最新位置,否則認(rèn)為跟蹤軌跡丟失,丟失計(jì)數(shù)增加1,如式(12)所示。
(12)
然而由于目標(biāo)在跟蹤過(guò)程中會(huì)出現(xiàn)丟失的情況,在重新查找時(shí),該目標(biāo)可能位置發(fā)生變化,出現(xiàn)在搜索區(qū)域之外,此時(shí)要擴(kuò)大目標(biāo)的搜索范圍。本文根據(jù)目標(biāo)連續(xù)丟失的幀數(shù)調(diào)整λx和λy,動(dòng)態(tài)選擇搜索范圍,取得了良好的效果。
(13)
(14)
解決了上述問(wèn)題,本文提出的基于孿生網(wǎng)絡(luò)匹配的多目標(biāo)跟蹤算法已經(jīng)完成。算法流程如算法1所示。
算法1行人多目標(biāo)跟蹤算法
輸入:圖像幀,跟蹤軌跡集合traces。
輸出:更新后的跟蹤軌跡集合traces。
1. 進(jìn)行行人檢測(cè),得到行人數(shù)量n
2. if(n!=0)
3. 提取行人特征
4. if(traces==0)
5. 新增trace
6. else在位置約束下與初始模板匹配,得到匹配度
7. if匹配度大于閾值
8. 成功匹配,更新trace
9. else在位置約束下與更新模板匹配,得到匹配度
10. if匹配度大于閾值
11. 成功匹配,更新trace
12. else 新增trace
13. 更新未匹配trace的丟失幀數(shù)
本文旨在構(gòu)建一個(gè)快速魯棒的行人多目標(biāo)跟蹤算法,因此選擇從MOT多目標(biāo)跟蹤數(shù)據(jù)集中選擇帶有標(biāo)注的行人多目標(biāo)跟蹤序列,具體包括MOT16-02、MOT16-04、MOT16-05、MOT16-09、MOT16-10、MOT16-11。選取的數(shù)據(jù)集涵蓋了移動(dòng)攝像拍攝序列、靜態(tài)攝像頭拍攝序列、室內(nèi)場(chǎng)景、室外場(chǎng)景、不同光照?qǐng)鼍?、大目?biāo)行人和小目標(biāo)行人等情況,如圖5所示,確保能夠準(zhǔn)確測(cè)試出行人檢測(cè)的準(zhǔn)確率、孿生網(wǎng)絡(luò)匹配的準(zhǔn)確率以及多目標(biāo)跟蹤的效果。此外,由于MOT數(shù)據(jù)集本身并不是專用來(lái)進(jìn)行行人多目標(biāo)跟蹤的,在數(shù)據(jù)集中還包含了汽車、自行車、摩托車等本文實(shí)驗(yàn)不需要的標(biāo)注數(shù)據(jù),因此要對(duì)標(biāo)注數(shù)據(jù)進(jìn)行處理,只保留標(biāo)簽為1(表示行人)和標(biāo)簽為7(表示靜止的人)的標(biāo)注數(shù)據(jù)。本文的實(shí)驗(yàn)均在配有GTX-1050Ti與英特爾酷睿i5-8300H 2.3 GHz的Windows 10操作系統(tǒng)電腦上進(jìn)行。
圖5 MOT數(shù)據(jù)集示例
為了選擇更加合適的行人檢測(cè)器,由于YOLOv3、mobileNet[4]-SSD和VGG16-SSD都是實(shí)時(shí)性比較好的檢測(cè)器,因此本文選擇這三種方法訓(xùn)練比測(cè)試在MOT數(shù)據(jù)集上的準(zhǔn)確率,結(jié)果如圖6所示。
圖6 行人檢測(cè)算法對(duì)比
可以看到,YOLOv3行人檢測(cè)器的精度要遠(yuǎn)超mobileNet-SSD和VGG16-SSD,并且該算法在實(shí)時(shí)性上也達(dá)到了很高的速度。
對(duì)于匹配網(wǎng)絡(luò)的實(shí)驗(yàn)測(cè)試,本文選擇將MOT數(shù)據(jù)集中的行人截取出來(lái),按照跟蹤軌跡的標(biāo)簽進(jìn)行分類,獲取多個(gè)行人圖像組。任意選取兩幅行人圖像送入匹配網(wǎng)絡(luò)獲取特征,使用余弦距離計(jì)算相似度,如果相似度大于設(shè)定的閾值,則說(shuō)明匹配網(wǎng)絡(luò)判斷這兩幅圖像來(lái)自同一個(gè)行人的圖像序列,否則認(rèn)為是不同的行人。然后根據(jù)這兩幅行人圖像的標(biāo)簽判斷匹配網(wǎng)絡(luò)是否判斷錯(cuò)誤。數(shù)據(jù)集中共存在539條行人跟蹤軌跡,經(jīng)過(guò)提取,得到相同數(shù)量的行人數(shù)據(jù)集。對(duì)匹配網(wǎng)絡(luò)進(jìn)行數(shù)次實(shí)驗(yàn),設(shè)定不同閾值獲取實(shí)驗(yàn)結(jié)果,如圖7所示。
圖7 不同閾值下匹配網(wǎng)絡(luò)行人匹配精度
由實(shí)驗(yàn)結(jié)果可知,當(dāng)閾值設(shè)置低于10時(shí),發(fā)生誤匹配的幾率增大,準(zhǔn)確率較低。而行人的運(yùn)動(dòng)變化使得相似度降低,匹配精度隨著閾值增大而下降。因此,本文在算法中選取閾值為10。
由于行人運(yùn)動(dòng)雖然靈活但是速度并不快,經(jīng)過(guò)大量實(shí)驗(yàn)證明,行人多目標(biāo)跟蹤中,目標(biāo)距離視點(diǎn)一般在5~15 m,目標(biāo)在圖像中高度一般在100到300像素,當(dāng)選取時(shí)間間隔為5幀時(shí),能捕捉到大部分目標(biāo)的外觀變化,因此本文選擇5幀作為固定間隔,即將式(13)、式(14)中的Interval設(shè)置為5。
對(duì)于多目標(biāo)跟蹤,本文選擇MOT-01、MOT-03、MOT-06、MOT-07、MOT-08、MOT-12數(shù)據(jù)集,依然去除標(biāo)注信息中的非行人信息。因?yàn)楸疚乃惴ㄊ腔跈z測(cè)的多目標(biāo)跟蹤,因此每個(gè)圖像序列在測(cè)試時(shí)都不給定初始跟蹤框。對(duì)于每個(gè)數(shù)據(jù)集獲得的結(jié)果如表1。
表1 本文算法多目標(biāo)跟蹤結(jié)果
MOTA(multiple object tracking accuracy)代表多目標(biāo)檢測(cè)精度,考慮了跟蹤時(shí)所有幀中對(duì)象匹配錯(cuò)誤,主要是FN(false negatives)、FP(false positives)、IDSW(ID Switch),計(jì)算公式如下:
(15)
MOTP(multiple object tracking precision)表示檢測(cè)器的定位精度:
(16)
式中:d表示預(yù)測(cè)框與真實(shí)框的IoU距離;t表示在當(dāng)前幀匹配成功的數(shù)目。
MT表示至少在80%匹配成功的跟蹤軌跡;ML表示在小于20%的時(shí)間成功匹配的跟蹤軌跡;FP表示錯(cuò)誤匹配的目標(biāo)數(shù);FN表示沒(méi)有匹配成功的目標(biāo)數(shù);ID switch表示每條軌跡分配的ID發(fā)生變化的次數(shù)。部分跟蹤結(jié)果如圖8所示。
圖8 MOT16部分跟蹤結(jié)果
本文算法與其他多目標(biāo)跟蹤器對(duì)比結(jié)果表2所示??梢钥吹剑琈OTP只比HDTR算法稍差,也達(dá)到了很高的精度;MOTP在所有算法中最高,證明了本文算法的檢測(cè)精度;MT指標(biāo)也高于大部分算法,證明了本文在長(zhǎng)時(shí)間跟蹤的效果;FN證明本文發(fā)生誤檢的情況比較少。綜合來(lái)看,本文算法在多個(gè)評(píng)價(jià)指標(biāo)都達(dá)到了不錯(cuò)的水平,是一個(gè)合格的行人多目標(biāo)跟蹤器。除此之外,本文算法在實(shí)驗(yàn)硬件條件下能達(dá)到最高每秒3幀,在所有算法中也有競(jìng)爭(zhēng)力。
表2 多目標(biāo)跟蹤結(jié)果對(duì)照
針對(duì)行人多目標(biāo)跟蹤的難題,本文對(duì)YOLO行人檢測(cè)算法進(jìn)行了優(yōu)化,并解決了多目標(biāo)匹配的問(wèn)題。首先,設(shè)計(jì)并訓(xùn)練了行人檢測(cè)器以及用來(lái)提取行人特征的匹配網(wǎng)絡(luò),并使用余弦距離來(lái)計(jì)算特征之間的相似度;其次,本文還解決了多目標(biāo)跟蹤中出現(xiàn)的誤匹配、目標(biāo)變化造成匹配失敗、目標(biāo)匹配計(jì)算量大以及目標(biāo)丟失無(wú)法再次找回等問(wèn)題。實(shí)驗(yàn)證明,雖然在算法實(shí)時(shí)性并不能達(dá)到很高的水平,但是算法在精度上有一定的提升,可以應(yīng)用于多個(gè)場(chǎng)景的行人多目標(biāo)跟蹤。此外,本文算法在MOT-01數(shù)據(jù)集的表現(xiàn)不佳,后續(xù)工作將改進(jìn)本文算法以提高在光線較暗的場(chǎng)景中的檢測(cè)和匹配精度。