歐群雍,譚同德,袁紅斌
(1.鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 信息工程學(xué)院,河南 鄭州 451150;2.鄭州大學(xué) 信息工程學(xué)院,河南 鄭州 450066;3.鄭州西亞斯學(xué)院 電子信息工程學(xué)院,河南 鄭州 451150)
行人檢測(cè)跟蹤[1]是計(jì)算機(jī)視覺(jué)、視頻監(jiān)控和生物統(tǒng)計(jì)學(xué)領(lǐng)域中最熱門(mén)的研究課題之一。雖然提出的多目標(biāo)跟蹤算法很多,但身份切換和遮擋等[2]難題尚未得到較好的解決。特別是在目標(biāo)交互的擁擠場(chǎng)景中,這類(lèi)問(wèn)題會(huì)變得更加復(fù)雜,跟蹤的任務(wù)會(huì)變得更加困難。
大部分行人跟蹤方法以基于檢測(cè)的跟蹤(TBD)為基礎(chǔ)[3],將跟蹤問(wèn)題轉(zhuǎn)換為人類(lèi)檢測(cè)器檢測(cè)出的結(jié)果之間的數(shù)據(jù)關(guān)聯(lián)問(wèn)題。該框架中,首先在視頻序列的所有幀中進(jìn)行目標(biāo)檢測(cè),然后利用數(shù)據(jù)關(guān)聯(lián)算法對(duì)所有幀的檢測(cè)結(jié)果進(jìn)行關(guān)聯(lián),從而建立目標(biāo)軌跡。目標(biāo)檢測(cè)和數(shù)據(jù)關(guān)聯(lián)技術(shù)的進(jìn)步促進(jìn)了跟蹤性能的提高[4]。在檢測(cè)精度較高的情況下,可以利用幀之間的檢測(cè)結(jié)果的空間重疊,完成檢測(cè)關(guān)聯(lián)。如文獻(xiàn)[5]提出將所有檢測(cè)結(jié)果分類(lèi)為強(qiáng)(確定)檢測(cè)和弱(不確定)檢測(cè)。使用強(qiáng)檢測(cè)進(jìn)行初始化和跟蹤,弱檢測(cè)則僅用于在缺失強(qiáng)檢測(cè)的情況下保持當(dāng)前軌跡的連續(xù)性,在擁擠環(huán)境中常會(huì)出現(xiàn)漏檢、遮擋和目標(biāo)交互等問(wèn)題。文獻(xiàn)[6]提出了一種融合多特征的Camshift算法與卡爾曼濾波相結(jié)合的行人目標(biāo)檢測(cè)跟蹤方法,利用梯度直方圖特征(HOG)結(jié)合支持向量機(jī)分類(lèi)器進(jìn)行多目標(biāo)檢測(cè),利用歐式距離選取距離圖像中心像素坐標(biāo)最近的行人作為跟蹤目標(biāo)。
通過(guò)學(xué)習(xí)判別式目標(biāo)特征表示,深度學(xué)習(xí)顯著提高了行人跟蹤的效果[7]。文獻(xiàn)[8]利用從離線(xiàn)預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)中得到的目標(biāo)特征,以在線(xiàn)的方式進(jìn)行數(shù)據(jù)關(guān)聯(lián)。文獻(xiàn)[9]則在跟蹤過(guò)程中對(duì)預(yù)訓(xùn)練CNN進(jìn)行連續(xù)調(diào)整,以采用在觀察幀中跟蹤到的目標(biāo)外觀。文獻(xiàn)[10]提出了一種四元CNN在線(xiàn)跟蹤方法,并采用了卡爾曼濾波器作為線(xiàn)性運(yùn)動(dòng)預(yù)測(cè)器。文獻(xiàn)[11]擴(kuò)展了文獻(xiàn)[10]的方法,提出了一個(gè)基于視覺(jué)外觀的深度關(guān)聯(lián)度量,但由于未考慮每個(gè)時(shí)間步的后續(xù)視頻幀,此類(lèi)方法的整體性能較差。文獻(xiàn)[12]提出了特征金字塔網(wǎng)絡(luò)和Faster R-CNN網(wǎng)絡(luò),從而對(duì)目標(biāo)外觀、運(yùn)動(dòng)和交互進(jìn)行建模。然而,這些網(wǎng)絡(luò)的訓(xùn)練需要大量訓(xùn)練數(shù)據(jù),且會(huì)耗費(fèi)較大的計(jì)算資源。
深度學(xué)習(xí)算法能夠顯著提升圖像和視頻的內(nèi)容表示,提供更加可靠的特征表征,因此,本文設(shè)計(jì)了用于行人檢測(cè)跟蹤的CNN與雙向長(zhǎng)短期記憶(Bi-directional Long-Short Term Memory,Bi-LSTM)相結(jié)合的方案。以離線(xiàn)方式求解最小化代價(jià)Lifted multicut問(wèn)題,將關(guān)聯(lián)問(wèn)題演化為一個(gè)聚類(lèi)任務(wù)。通過(guò)引入路徑預(yù)測(cè)機(jī)制,將最有可能表示同一個(gè)人的軌跡片段接合在一起。其主要?jiǎng)?chuàng)新之處總結(jié)如下:
① 提出了一個(gè)專(zhuān)門(mén)用于計(jì)算目標(biāo)匹配的CNN框架,并結(jié)合相似性度量和計(jì)算出的親密度,共同形成Lifted跟蹤圖,有利于后續(xù)的運(yùn)動(dòng)預(yù)測(cè)。
② 提出了一個(gè)專(zhuān)門(mén)用于非線(xiàn)性運(yùn)動(dòng)匹配的改進(jìn)Bi-LSTM框架,并利用從Bi-LSTM得到的運(yùn)動(dòng)模式來(lái)處理長(zhǎng)期遮擋問(wèn)題。
提出的行人檢測(cè)跟蹤框架圖如圖1所示。輸入為一個(gè)視頻幀序列,利用人體檢測(cè)器來(lái)提取所有幀的檢測(cè)跟蹤框。將這些檢測(cè)跟蹤框饋入提出的CNN,以進(jìn)行訓(xùn)練并計(jì)算檢測(cè)結(jié)果的相似度。本文還從檢測(cè)跟蹤框中提取出一些幾何線(xiàn)索,例如寬度、高度和位置。在關(guān)聯(lián)圖構(gòu)建過(guò)程中,將CNN輸出和幾何線(xiàn)索考慮為邊成本。由此,構(gòu)建出以檢測(cè)結(jié)果為節(jié)點(diǎn)的Lifted跟蹤圖。利用優(yōu)化器對(duì)該圖進(jìn)行優(yōu)化,以得到一組原始軌跡片段。提出的Bi-LSTM使用軌跡片段對(duì)后續(xù)幀中檢測(cè)結(jié)果的移動(dòng)進(jìn)行估計(jì)。利用該估計(jì),從而:① 處理身份誤換和長(zhǎng)期遮擋;② 接合多個(gè)軌跡片段,從而建立目標(biāo)的長(zhǎng)軌跡。
圖1 所提方法的整體框架Fig.1 Overall framework of the proposed method
本文提出了一個(gè)CNN框架進(jìn)行特征相似度計(jì)算。然后,利用該度量定義數(shù)據(jù)關(guān)聯(lián)圖中連接一對(duì)檢測(cè)節(jié)點(diǎn)的邊成本。為了對(duì)同一個(gè)人的檢測(cè)可能性進(jìn)行量化,取2個(gè)RGB檢測(cè)框圖作為輸入,并輸出這2個(gè)檢測(cè)的相似性得分(以百分比計(jì))。對(duì)于CNN的輸入,首先,將RGB圖像分塊重新調(diào)整為140 pixel×60 pixel的固定尺寸;然后,按深度堆疊,以形成一個(gè)6通道數(shù)據(jù)張量。
提出的CNN結(jié)構(gòu)如圖2所示。在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,使用來(lái)自CAVIAR數(shù)據(jù)集的訓(xùn)練數(shù)據(jù),CNN在輸入層之后還包含9層。通過(guò)3個(gè)卷積層對(duì)輸入數(shù)據(jù)進(jìn)行處理,每個(gè)卷積層之后均為一個(gè)ReLU非線(xiàn)性激活函數(shù)。在卷積過(guò)程中,使用長(zhǎng)度為2的步幅來(lái)縮小圖片尺寸。其后為4個(gè)全連接層,以捕捉圖像的相隔較遠(yuǎn)部分中的特征之間的相關(guān)性。為防止過(guò)擬合,并提升整體性能,本文在所有全連接層中均采用了50%的Dropout率。將最后一個(gè)全連接層的輸出饋入一個(gè)二元Softmax分類(lèi)器,生成2個(gè)分類(lèi)標(biāo)簽上的分布(第1個(gè)分類(lèi)表示檢測(cè)結(jié)果屬于同一個(gè)人,第2個(gè)分類(lèi)表示檢測(cè)結(jié)果屬于不同的人)。第1個(gè)分類(lèi)的輸出(表示2個(gè)輸入檢測(cè)結(jié)果較為相似)用于所提行人檢測(cè)跟蹤。
使用CAVIAR數(shù)據(jù)集對(duì)該CNN模塊進(jìn)行訓(xùn)練測(cè)試,得到目標(biāo)跟蹤準(zhǔn)確度(MOTA)為57.9%,多目標(biāo)跟蹤精度(MOTP)為75.1%,大部分丟失(ML)占比為34.4%。該模塊在整個(gè)框架中作用巨大,是Lifted 跟蹤圖的基礎(chǔ),直接影響到預(yù)測(cè)運(yùn)動(dòng)的準(zhǔn)確性。另外,該模塊對(duì)數(shù)據(jù)張量進(jìn)行了整合調(diào)整,為后續(xù)的邊成本計(jì)算作鋪墊。
圖2 本文行人匹配的CNN結(jié)構(gòu)Fig.2 CNN structure diagram of the proposed pedestrian matching
上一節(jié)的CNN框架僅能對(duì)目標(biāo)外觀建模,因此,在定義數(shù)據(jù)關(guān)聯(lián)圖中的邊成本(親密度)時(shí),需要考慮額外約束,從而處理網(wǎng)絡(luò)匹配誤差或2個(gè)不同目標(biāo)外觀極為相似的情況。即,當(dāng)檢測(cè)跟蹤框的位置或尺寸不匹配時(shí),需要向具有較高外觀相似度的邊分配較大懲罰值。此外,為了處理誤報(bào)檢測(cè),本文將檢測(cè)置信度納入到邊成本中。此處,介紹3個(gè)額外的邊成本:位置Cp、高度Ch和檢測(cè)置信度Cs。每個(gè)檢測(cè)跟蹤框v∈V包含以下屬性:時(shí)空位置 (tv,xv,yv)、尺寸hv和檢測(cè)置信度sv。給定由邊{v,w}=e∈E∪E′連接的2個(gè)檢測(cè)v和w,從CNN得到相似度得分Ce。distvw表示2個(gè)檢測(cè)跟蹤框的歐氏距離(單位pixel),fr表示視頻序列的幀率。則3個(gè)額外的邊成本可表示如下。
位置:
(1)
(2)
高度:
(3)
(4)
檢測(cè)置信度得分:
score=min(sv,sw),
(5)
(6)
最終邊成本為:
Ct(v,w)=Ce*Cp*Ch*Cs。
(7)
在式(1)和式(3)中,首先通過(guò)檢測(cè)跟蹤框的高度對(duì)歐氏距離和高度差異進(jìn)行歸一化。由于該高度與目標(biāo)和相機(jī)的距離相關(guān),可將其考慮為一個(gè)標(biāo)度因子。若目標(biāo)靠近相機(jī),則距離和高度的變化也會(huì)較大,反之亦然。歸一化步驟在相機(jī)位置相對(duì)較低的情況下尤為有用。其后,將位置和高度變化除以幀間距,再乘以幀率。由此得到距離和高度的歸一化變化率dists和heights。使用訓(xùn)練數(shù)據(jù)集中的所有視頻序列計(jì)算出參數(shù){dmax,dmin,hmax,hmin},并作為每個(gè)視頻序列的輸入?yún)?shù)。對(duì)于檢測(cè)成本,若2個(gè)置信度得分的最小值低于預(yù)定義閾值,則向邊成本分配較低的懲罰值。
針對(duì)行人檢測(cè)跟蹤任務(wù),本文使用基于跟蹤的檢測(cè)框架,利用人體探測(cè)器生成視頻序列的檢測(cè)假設(shè)[13],則跟蹤問(wèn)題被簡(jiǎn)化為不同視頻幀上的檢測(cè)關(guān)聯(lián)任務(wù)。在本文框架中,該問(wèn)題表示為一個(gè)最小化代價(jià)Lifted multicut問(wèn)題[14]。關(guān)聯(lián)圖中的每個(gè)節(jié)點(diǎn)表示單個(gè)檢測(cè)結(jié)果,邊則連接著不同視頻幀的檢測(cè)結(jié)果。此類(lèi)multicut問(wèn)題的一個(gè)可行解決方案是在時(shí)間和空間上對(duì)檢測(cè)結(jié)果進(jìn)行聚類(lèi)。由此,不需要指定或約束跟蹤數(shù)量。通過(guò)較高的邊成本,促進(jìn)突出顯示的節(jié)點(diǎn)被標(biāo)記為同一個(gè)目標(biāo)。在優(yōu)化過(guò)程中,需要將圖劃分為不同組件,每個(gè)圖組件代表著對(duì)一個(gè)人的跟蹤。
(8)
式中,集合YEE′?{0,1}E∪E′為可行解,該集合中元素y∈YEE′為所有被標(biāo)注為01標(biāo)簽的邊E∪E′。當(dāng)且僅當(dāng)某個(gè)節(jié)點(diǎn)v和另一個(gè)節(jié)點(diǎn)w之間存在一條路徑,且沿該路徑的所有的邊均被標(biāo)注為0的情況下,連接節(jié)點(diǎn)v和w的Lifted邊將被標(biāo)注為0,其環(huán)約束為傳遞性約束,確保了可行解y能夠很好地將圖節(jié)點(diǎn)聚類(lèi)定義到軌跡中。詳細(xì)解釋可參閱文獻(xiàn)[14]。
本文從檢測(cè)聚類(lèi)中生成軌跡,multicut優(yōu)化針對(duì)每個(gè)人類(lèi)目標(biāo),在空間和時(shí)間上對(duì)檢測(cè)結(jié)果進(jìn)行聯(lián)合聚類(lèi)。首先,在每幀中,通過(guò)計(jì)算屬于每個(gè)目標(biāo)的所有檢測(cè)的位置和尺寸均值,得到該目標(biāo)的位置和尺寸。其次,連接所有幀上的均值,以得到每個(gè)目標(biāo)的平滑軌跡。
由于CNN的限制,或視頻序列過(guò)于擁擠,造成Lifted邊未能處理一些遮擋的情況下,需要得到目標(biāo)的運(yùn)動(dòng)信息,以處理長(zhǎng)期遮擋問(wèn)題[15]。本文利用從multicut優(yōu)化中得到的原始軌跡片段的運(yùn)動(dòng)信息,對(duì)屬于同一個(gè)人的軌跡片段進(jìn)行接合。這樣能夠減少漏檢和身份誤換的數(shù)量,由此提升整體跟蹤。
圖3給出了利用運(yùn)動(dòng)信息,減少遮擋過(guò)程中身份誤換的方法。在每個(gè)時(shí)間選擇2個(gè)軌跡片段,第1個(gè)軌跡片段結(jié)束的時(shí)間早于第2個(gè)軌跡片段的開(kāi)始。此處,將2個(gè)軌跡片段之間的幀隙表示為Δt,并將Ti在時(shí)間步t處的檢測(cè)跟蹤框表示為T(mén)i{t}。采用運(yùn)動(dòng)預(yù)測(cè)算法,計(jì)算在時(shí)間步t+Δt處第1個(gè)軌跡片段的預(yù)測(cè)跟蹤框,表示為P1{t+Δt};并計(jì)算在時(shí)間步t處第2個(gè)軌跡片段的預(yù)測(cè)跟蹤框,表示為P2{t}。
圖3 2個(gè)軌跡片段的運(yùn)動(dòng)預(yù)測(cè)Fig.3 Motion prediction of two trajectory segments
如果2個(gè)軌跡片段滿(mǎn)足以下條件,則將其識(shí)別為同一個(gè)目標(biāo),并在最終解中接合在一起:
overlap1+overlap2≥stitch_thr,
(9)
式中,
(10)
(11)
如果2個(gè)軌跡片段的預(yù)測(cè)檢測(cè)跟蹤框和跟蹤檢測(cè)跟蹤框的交并比大于閾值,則將這2個(gè)軌跡片段合并為一個(gè)新的軌跡片段。若存在多個(gè)軌跡片段可接合到Ti,則選擇具有最大overlap1和overlap2的軌跡片段。
對(duì)于運(yùn)動(dòng)預(yù)測(cè),還需要克服一些難題:① 帶噪檢測(cè)結(jié)果可能會(huì)導(dǎo)致目標(biāo)運(yùn)動(dòng)的非線(xiàn)性預(yù)測(cè),即,使目標(biāo)實(shí)際運(yùn)動(dòng)是線(xiàn)性的;② 如果視頻從視線(xiàn)高度的相機(jī)位置拍攝,則跟蹤框的寬度會(huì)改變,以適應(yīng)人的行走姿態(tài)。該問(wèn)題無(wú)法直接解決,因?yàn)閷?duì)于不同的跟蹤框尺寸、行走速度甚至走路習(xí)慣,寬度的變化模式也會(huì)不一樣。為此,本文設(shè)計(jì)了一個(gè)Bi-LSTM,并稍作改進(jìn),以學(xué)習(xí)如何根據(jù)目標(biāo)的過(guò)去行走模式,生成未來(lái)行走模式。具體如圖4所示,信息在時(shí)間維度和空間維度中傳遞,隱藏層為2個(gè)殘差塊。其中,2個(gè)Bi-LSTM單元組成一個(gè)殘差塊,總共8個(gè)Bi-LSTM單元,激活函數(shù)采用ReLU。與一般Bi-LSTM不同的是,改進(jìn)后的Bi-LSTM特點(diǎn)是能融合累積相鄰幀的特征,從而更好地對(duì)行人信息進(jìn)行獲取。
圖4 本文改進(jìn)Bi-LSTM的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network structure of the improved Bi-LSTM
在本文Bi-LSTM中,每個(gè)時(shí)間步的Bi-LSTM的輸入是鄰近檢測(cè)跟蹤框之間的差異向量{ΔXi,ΔYi,ΔWi,ΔHi} = {Xi-Xi-1,Yi-Yi-1,Wi-Wi-1,Hi-Hi-1}。在輸入層和Bi-LSTM單元之間為一個(gè)不帶激活函數(shù)的全連接層(作為線(xiàn)性層)。線(xiàn)性層的輸出是大小為M的向量。利用該線(xiàn)性層對(duì)輸入特征向量的大小進(jìn)行擴(kuò)展,以提高訓(xùn)練過(guò)程的效率。其后,將擴(kuò)展輸入向量通過(guò)Bi-LSTM單元,內(nèi)部大小為N。每個(gè)Bi-LSTM單元向外指向的2個(gè)箭頭,表示Bi-LSTM單元的2個(gè)輸出。這2個(gè)輸出均是大小為N的向量,其中,一個(gè)為單元的輸出向量,另一個(gè)為Bi-LSTM的隱藏狀態(tài)。對(duì)于Bi-LSTM的輸出向量,使用另一個(gè)線(xiàn)性層將向量大小降為4。該向量表示在下一個(gè)時(shí)間步的跟蹤框變化。在訓(xùn)練過(guò)程中,將所有訓(xùn)練輸入序列前移一個(gè)時(shí)間步,并用其作為訓(xùn)練標(biāo)簽。利用L2損失函數(shù)對(duì)訓(xùn)練標(biāo)簽和網(wǎng)絡(luò)最終輸出進(jìn)行比較。然后將損失最小化,以通過(guò)反向傳播算法對(duì)網(wǎng)絡(luò)的權(quán)重和偏置進(jìn)行更新。使用跟蹤框參數(shù)的變化,而非直接使用跟蹤框參數(shù),主要是因?yàn)樵几櫩騾?shù)是非定常參數(shù)。
實(shí)驗(yàn)在配置為Intel 酷睿i7-4500u雙核CPU,2.80 GHz,RAM 16 GB的個(gè)人電腦上進(jìn)行,GPU為NVIDIA ATX Titan X,Windows10操作系統(tǒng)。開(kāi)發(fā)環(huán)境為Python 3.5.0語(yǔ)言的PyCharm集成開(kāi)發(fā)工具,使用Keras架構(gòu)提供的CNN和Bi-LSTM。
在CNN的訓(xùn)練過(guò)程中,采用Adam優(yōu)化器以最小化二元交叉熵?fù)p失函數(shù)[16]。在每代中,首先隨機(jī)打亂圖像對(duì)的次序,采集100對(duì)圖像作為一個(gè)小批量,以零均值正態(tài)分布對(duì)層權(quán)重進(jìn)行初始化。將學(xué)習(xí)率初始化為10-4,并每4代降低10倍。為避免過(guò)擬合,每1/3代對(duì)網(wǎng)絡(luò)進(jìn)行一次檢驗(yàn),網(wǎng)絡(luò)在NVIDIA ATX Titan X上訓(xùn)練。訓(xùn)練速度為每秒300~400個(gè)樣本,測(cè)試速度為每秒1 100個(gè)樣本,訓(xùn)練過(guò)程在10代后收斂,測(cè)試準(zhǔn)確度峰值為95.8%。使用訓(xùn)練集數(shù)據(jù),生成CNN的訓(xùn)練圖像對(duì)。網(wǎng)絡(luò)的全連接層中均采用了0.5的Dropout率,訓(xùn)練權(quán)重衰減參數(shù)設(shè)置為0.000 04,批大小設(shè)為32,動(dòng)量設(shè)置為0.9。共計(jì)638 091個(gè)陽(yáng)性檢測(cè)對(duì)和134 471個(gè)陰性檢測(cè)對(duì)用于訓(xùn)練。此外,共計(jì)69 308個(gè)陽(yáng)性檢測(cè)對(duì)和76 117個(gè)陰性檢測(cè)對(duì)用于驗(yàn)證。生成3種類(lèi)型圖像對(duì):① 通過(guò)對(duì)后三幀中檢測(cè)結(jié)果的ID進(jìn)行核查,生成同一個(gè)人的成對(duì)檢測(cè)。這些成對(duì)檢測(cè)標(biāo)注為1,表示陽(yáng)性對(duì)。② 通過(guò)檢查檢測(cè)結(jié)果的真實(shí)ID,得到來(lái)自不同人的成對(duì)檢測(cè)。此類(lèi)檢測(cè)對(duì)被標(biāo)注為0,表示陰性對(duì)。③ 由一個(gè)來(lái)自真實(shí)目標(biāo)和一個(gè)誤報(bào)檢測(cè)所組成的檢測(cè)對(duì),標(biāo)注為0,即陰性對(duì)。
此外,本文通過(guò)連接特定幀隙上的檢測(cè),來(lái)建立關(guān)聯(lián)圖。這對(duì)于短期遮擋情況下的行人跟蹤至關(guān)重要。但如果增加幀隙,會(huì)降低成對(duì)外觀相似度特征的可靠性。因此,本文在構(gòu)建圖時(shí),基于輸入視頻序列的幀率來(lái)確定最大幀隙。使用的分?jǐn)?shù)閾值和相應(yīng)的幀隙范圍如表1所示。該閾值會(huì)隨著幀隙的增加而下降,因?yàn)閹对酱?,運(yùn)動(dòng)估計(jì)的可靠性越低。針對(duì)靜止相機(jī)和移動(dòng)相機(jī)分別使用2組閾值。在移動(dòng)相機(jī)場(chǎng)景中,軌跡的運(yùn)動(dòng)較難預(yù)測(cè),因此需放寬條件。
表1 不同幀隙下的接合得分閾值
本文利用CLEAR MOT度量[17]來(lái)評(píng)價(jià)所提方法的性能,CLEAR MOT中包括多目標(biāo)跟蹤準(zhǔn)確度(MOTA),多目標(biāo)跟蹤精度(MOTP),大部分跟蹤占比(MT,跟蹤部分與真實(shí)重疊超過(guò)80%的跟蹤軌跡占比),大部分丟失占比(ML,跟蹤部分與真實(shí)重疊小于20%的跟蹤軌跡占比)。MOTA中包含3種錯(cuò)誤類(lèi)型:誤檢數(shù)量(FP)、漏檢數(shù)量(FN)以及身份誤換數(shù)量(IDS),本文選擇IDS指標(biāo)。FAF度量表示每幀的平均虛警數(shù),F(xiàn)rag表示跟蹤軌跡突然丟失的次數(shù)。
CAVIAR數(shù)據(jù)集收集了室內(nèi)商場(chǎng)環(huán)境下行人行走的視頻,這些視頻大多是靜態(tài)相機(jī)拍攝獲得。該數(shù)據(jù)集的特點(diǎn)是,行人行走過(guò)程有時(shí)會(huì)合并,有時(shí)會(huì)拆分,因此,視頻中的行人很多情況下發(fā)生遮擋,這種情形比較適合本文評(píng)估的情形。各方法在CAVIAR數(shù)據(jù)集上的評(píng)價(jià)結(jié)果如表2所示。其中,ML,F(xiàn)rag和IDS越小,表示發(fā)生跟蹤錯(cuò)誤或跟蹤丟失的次數(shù)越小,也表示跟蹤的效果越好。MT表示有效跟蹤的占比,MT值越高表示跟蹤準(zhǔn)確性越高。從表2可以看出,所提方法的行人跟蹤效果較好,僅次于膠囊網(wǎng)絡(luò)方法[18],行人的跟蹤片段關(guān)聯(lián)較好,遵循基于檢測(cè)的跟蹤范式,通過(guò)聚類(lèi)圖優(yōu)化得到較短的高置信度軌跡片段,路徑預(yù)測(cè)機(jī)制的作用得到了較好的體現(xiàn)。文獻(xiàn)[6]的低層視覺(jué)特征方法和文獻(xiàn)[10]的CNN方法表現(xiàn)不佳,這是因?yàn)榈蛯犹卣髟诟櫰侮P(guān)聯(lián)方面表現(xiàn)較差。文獻(xiàn)[19]采用頭部信息和整體信息的融合進(jìn)行多目標(biāo)檢測(cè),但這些信息必須是針對(duì)性的,整體來(lái)說(shuō),該方法低層特征的融合,其跟蹤片段的關(guān)聯(lián)性表現(xiàn)一般。文獻(xiàn)[18]采用了膠囊網(wǎng)絡(luò)進(jìn)行多個(gè)行人的檢測(cè)跟蹤,其特點(diǎn)是不需要太多的訓(xùn)練數(shù)據(jù),訓(xùn)練數(shù)據(jù)泛化能力較強(qiáng),由于膠囊網(wǎng)絡(luò)的“等變性”[18],可以保留輸入圖像的微小變化,整體性能較好。
表2的IDS數(shù)值中本文方法最低,最低的IDS值表明行人跟蹤過(guò)程中,身份切換的次數(shù)最少,而引起身份切換的因素一般包括嚴(yán)重遮擋和少數(shù)不可控的運(yùn)行方式,因此,所提方法對(duì)這種極端情況處理的較好。圖5給出了一個(gè)跟蹤示例,可以看出,獨(dú)自行走和交叉穿越的行人被準(zhǔn)確標(biāo)記出來(lái),交叉和遮擋前后的行人依然被準(zhǔn)確地標(biāo)記和跟蹤。
表2 CAVIAR數(shù)據(jù)集上的評(píng)估結(jié)果
圖5 CAVIAR數(shù)據(jù)集上的行人跟蹤結(jié)果Fig.5 Pedestrian tracking results on CAVIAR dataset
為了進(jìn)一步分析評(píng)估所提方法,使用PETS2009 作為評(píng)估數(shù)據(jù)集,PETS2009數(shù)據(jù)集包含多個(gè)人群活動(dòng)的視頻,由1個(gè)或多個(gè)固定相機(jī)拍攝?;旧希繋男腥藬?shù)量較多,平均有25個(gè)之多。由于頻繁地交叉運(yùn)動(dòng)和遮擋,因此,跟蹤目標(biāo)的相似性和遮擋導(dǎo)致行人跟蹤的難度較大。PETS2009數(shù)據(jù)集比CAVIAR數(shù)據(jù)集難度更大。
表3給出了PETS2009數(shù)據(jù)集上的評(píng)估結(jié)果??梢钥闯觯捎跀?shù)據(jù)集跟蹤的困難,所有對(duì)比方法的跟蹤性能都有所下降,但本文相較于其他方法依然有一定提高。大部分跟蹤占比依然有79.1%,與最優(yōu)性能的膠囊網(wǎng)絡(luò)方法[18]相差無(wú)幾,也就是說(shuō),跟蹤的連續(xù)性和有效性依然較高,同一個(gè)人的軌跡跟蹤片段連接性較好。由于數(shù)據(jù)集的難度增加,低級(jí)視覺(jué)特征的方法在表征目標(biāo)時(shí)會(huì)出現(xiàn)明顯的性能劣化,這是因?yàn)樵趶?fù)雜情形下,目標(biāo)表征的準(zhǔn)確性和跟蹤持續(xù)性得不到保證。
表3 PETS2009數(shù)據(jù)集上的評(píng)估結(jié)果
圖6給出了一個(gè)行人跟蹤示例,其中,白色跟蹤框表示獨(dú)自行走的人,不同顏色表示不同的跟蹤群體,虛線(xiàn)表示行走的軌跡,該軌跡長(zhǎng)度一般固定,且會(huì)隨行人行走的方位等信息發(fā)生變化。
圖6 PETS2009數(shù)據(jù)集上的行人跟蹤結(jié)果Fig.6 Pedestrian tracking results on PETS2009 dataset
遮擋處理非常重要,合理的遮擋處理可以讓跟蹤的魯棒性更強(qiáng),使方法對(duì)極端情況的處理更加有效。圖7是一個(gè)不帶遮擋處理的案例,ID4在第57幀中被ID1遮擋,由于沒(méi)有遮擋處理,ID4變成新的ID44,從而導(dǎo)致跟蹤錯(cuò)誤;與此同時(shí),ID27也因?yàn)樾碌腎D44遮擋,導(dǎo)致原ID27變?yōu)镮D76。可以看出,不帶遮擋處理會(huì)產(chǎn)生至少1個(gè)以上的身份誤換,這也從側(cè)面驗(yàn)證了遮擋處理的重要性。
圖7 不帶遮擋處理的結(jié)果顯示Fig.7 Result display without occlusion processing
為了對(duì)遮擋處理的性能進(jìn)行定量分析,表4給出了使用和不使用遮擋處理時(shí),在PETS2009和CAVIAR數(shù)據(jù)集訓(xùn)練集上的跟蹤結(jié)果,其中,F(xiàn)P+FN表示誤報(bào)和漏檢數(shù)量之和。確定跟蹤性能的2個(gè)重要指標(biāo)是:① 誤報(bào)數(shù)和漏檢數(shù)之和;② ID誤換次數(shù)。從中可觀察到,帶遮擋處理的效果明顯降低了FP和FN的數(shù)值,也明顯降低了ID誤換的次數(shù)。由于PETS2009更加復(fù)雜多變,造成了FP+FN數(shù)值更高,ID誤換次數(shù)更多。
一般情況下,較久的遮擋依然會(huì)造成ID誤換的次數(shù)較多。鑒于此,本文使用遮擋前和遮擋后的軌跡片段的運(yùn)動(dòng)線(xiàn)索,從而對(duì)大概率屬于同一個(gè)目標(biāo)的軌跡片段進(jìn)行準(zhǔn)確關(guān)聯(lián)。但長(zhǎng)期遮擋、丟失檢測(cè)、不準(zhǔn)確的檢測(cè)跟蹤框,以及人類(lèi)行走特性依然會(huì)造成嚴(yán)重的非線(xiàn)性變化。同時(shí),PETS2009和CAVIAR數(shù)據(jù)集上的實(shí)驗(yàn)也表明,在靜態(tài)相機(jī)場(chǎng)景中,提出的方法能夠預(yù)測(cè)后20幀的檢測(cè)跟蹤框參數(shù),足以有效處理長(zhǎng)期遮擋。
表4 帶遮擋處理和不帶遮擋處理的分析
為了明確提出的和改進(jìn)的各部分組件在跟蹤效果方面的影響,以CAVIAR數(shù)據(jù)為例進(jìn)行消融實(shí)驗(yàn)。本文方法主要包含5個(gè)模塊:① 特征提取模塊(人體檢測(cè)器);② CNN目標(biāo)匹配模塊;③ Lifted跟蹤圖模塊;④ 優(yōu)化的Bi-LSTM模塊(針對(duì)遮擋處理);⑤ 分類(lèi)模塊(判定目標(biāo)是與否)。由于分類(lèi)模塊是必須存在的,因此保留分類(lèi)模塊。分別刪除其他模塊,然后進(jìn)行實(shí)驗(yàn),其結(jié)果如表5所示??梢钥闯?,相比于整個(gè)框架,刪除某個(gè)模塊后,其各指標(biāo)性能均有所下降,這說(shuō)明各組件在所提方法中均具有一定作用。其中,刪除模塊①,性能下降最多,MT只有51.7%,這是因?yàn)槌跏继卣鞣浅4植?,所以模塊①是核心組件;分別刪除模塊②或模塊③,也明顯降低了整個(gè)性能。其中,刪除CNN目標(biāo)匹配模塊后使得Lifted跟蹤圖的構(gòu)建非常粗糙,而刪除Lifted跟蹤圖會(huì)使得后續(xù)的跟蹤預(yù)測(cè)不準(zhǔn)確。刪除模塊④,使用一般Bi-LSTM會(huì)使得整體性能有所下降。因此,改進(jìn)后的Bi-LSTM對(duì)整個(gè)框架性能是有益的。
在PETS2009和CAVIAR數(shù)據(jù)集上的訓(xùn)練時(shí)長(zhǎng)和運(yùn)行幀率情況如表6所示。其中,本文方法的訓(xùn)練速度和運(yùn)行幀率排名較為靠前。運(yùn)行幀率在25 幀/秒以上,基本達(dá)到實(shí)時(shí)要求,訓(xùn)練時(shí)長(zhǎng)在1 h左右。其中,文獻(xiàn)[6]采用低層視覺(jué)特征方法,利用SVM檢測(cè),卡而曼濾波進(jìn)行預(yù)測(cè),并關(guān)聯(lián)目標(biāo),運(yùn)行效率一般。文獻(xiàn)[10]采用一種四元CNN框架,是一種輕量級(jí)的方法,在線(xiàn)跟蹤速度較快。文獻(xiàn)[11]也采用了四元CNN框架,增加了視覺(jué)外觀的深度信息,犧牲了一部分運(yùn)行效率。文獻(xiàn)[19]采用頭部信息和整體信息的融合進(jìn)行多目標(biāo)檢測(cè),其頭部和整個(gè)身體的金字塔信息融合較為耗時(shí)。文獻(xiàn)[18]采用了膠囊網(wǎng)絡(luò)進(jìn)行多個(gè)行人的檢測(cè)跟蹤,不需要太多的訓(xùn)練數(shù)據(jù),數(shù)據(jù)泛化能力強(qiáng),訓(xùn)練速度較快,但該方法考慮了行人的復(fù)雜姿態(tài)估計(jì),但總體運(yùn)行效率不高。
表6 運(yùn)行效率比較
本文提出了一種多行人檢測(cè)跟蹤方法,結(jié)合了CNN和Bi-LSTM框架。其中,訓(xùn)練CNN以預(yù)測(cè)2個(gè)檢測(cè)結(jié)果屬于同一個(gè)目標(biāo)的可能性,并將不同的標(biāo)準(zhǔn),包括檢測(cè)的高度、位置和置信度得分,作為圖數(shù)據(jù)關(guān)聯(lián)模型中的邊成本。通過(guò)求解圖模型的最小化代價(jià)Lifted multicut問(wèn)題,得到初始軌跡片段。為減少長(zhǎng)期遮擋中的ID誤換數(shù)量,使用一種改進(jìn)的Bi-LSTM預(yù)測(cè)運(yùn)動(dòng)信息,將軌跡片段接合在一起。實(shí)驗(yàn)結(jié)果驗(yàn)證了所提方法的有效性和優(yōu)越性。未來(lái),將嘗試在圖模型中加入其他約束,例如身體形態(tài)或頭部姿態(tài),以擴(kuò)展所提方法的適用性。