魏 穎,徐楚翹,刁兆富,李伯群
(1. 東北大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110819; 2. 遼寧科技大學(xué) 電子與信息工程學(xué)院,遼寧 鞍山 114051)
在計(jì)算機(jī)視覺研究領(lǐng)域里,目標(biāo)跟蹤[1]是主要的方向之一,有單目標(biāo)跟蹤和多目標(biāo)跟蹤兩種類型.其中,多目標(biāo)跟蹤需要在給定的視頻序列中同時(shí)標(biāo)記數(shù)個(gè)目標(biāo),從而獲得它們的運(yùn)動(dòng)軌跡.多目標(biāo)跟蹤在機(jī)器人導(dǎo)航、智能視頻監(jiān)控、自動(dòng)駕駛等范圍都有著極為普遍的運(yùn)用.行人目標(biāo)作為一種典型的非剛體目標(biāo),跟蹤難度較大,是實(shí)際應(yīng)用中最常見的一種.
近年來,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)技術(shù)取得極大的發(fā)展,具有代表性的檢測(cè)算法包括Fast R-CNN[2],SSD[3]和YOLO[4]算法等.隨著目標(biāo)檢測(cè)技術(shù)的進(jìn)步,基于檢測(cè)的多目標(biāo)跟蹤算法(tracking-by-detection) 占據(jù)主要地位.算法在每一幀中檢測(cè)出目標(biāo),然后與已有的跟蹤軌跡進(jìn)行匹配.對(duì)于當(dāng)前幀中的新目標(biāo),需要形成新的軌跡;對(duì)于離開當(dāng)前幀中視野的目標(biāo),需要終止目標(biāo)的軌跡.
多目標(biāo)跟蹤場(chǎng)景比較復(fù)雜,需要處理目標(biāo)的光照、變形、遮擋等問題.跟蹤過程中背景與目標(biāo)之間會(huì)發(fā)生相互交互,因此應(yīng)用高性能的檢測(cè)算法在多目標(biāo)跟蹤中極為重要.在跟蹤任務(wù)中,通常用卡爾曼濾波來進(jìn)行跟蹤目標(biāo)的軌跡預(yù)測(cè),但目標(biāo)發(fā)生姿態(tài)變化時(shí)不能達(dá)到很好的跟蹤效果.在跟蹤目標(biāo)與檢測(cè)目標(biāo)進(jìn)行數(shù)據(jù)關(guān)聯(lián)計(jì)算時(shí),一般通過匈牙利算法進(jìn)行邊界框重疊 (IOU)[5]的關(guān)聯(lián)度量,這種關(guān)聯(lián)度量在狀態(tài)估計(jì)不確定性高時(shí),容易出現(xiàn)身份交換和跳變的問題.
為了更好地應(yīng)對(duì)上述多目標(biāo)跟蹤問題中的難題,許多學(xué)者基于深度學(xué)習(xí)理論提出了不同措施,以提高算法的性能.Wang等[6]率先將深度學(xué)習(xí)應(yīng)用到多目標(biāo)跟蹤中,使用了自動(dòng)編碼器網(wǎng)絡(luò),優(yōu)化提取到的視覺特征,并采用支持向量機(jī)來處理關(guān)聯(lián)問題.Wojke等[7]提出Deep Sort算法,運(yùn)用一個(gè)殘差網(wǎng)絡(luò)結(jié)構(gòu)來提取目標(biāo)的外觀信息,用匈牙利算法將外觀特征向量的余弦距離與運(yùn)動(dòng)信息關(guān)聯(lián)起來.Sadeghian等[8]引入循環(huán)神經(jīng)網(wǎng)絡(luò),將 LSTM提取的特征相融合,獲得相似度得分.自從生成對(duì)抗網(wǎng)絡(luò)模型[9]被首次提出以來,文獻(xiàn)[10]運(yùn)用生成對(duì)抗網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)增強(qiáng),將其應(yīng)用到行人重識(shí)別領(lǐng)域.文獻(xiàn)[11-12]在有關(guān)預(yù)測(cè)行人運(yùn)動(dòng)軌跡的工作中,通過結(jié)合生成對(duì)抗網(wǎng)絡(luò)和LSTM來幫助提高預(yù)測(cè)效果.
針對(duì)上述觀察,本文提出了一個(gè)多目標(biāo)跟蹤算法的框架,基于YOLO的人體人臉關(guān)聯(lián)算法進(jìn)行目標(biāo)檢測(cè),可以解決在密集場(chǎng)所中人體和人臉匹配困難問題,提高行人目標(biāo)檢測(cè)的準(zhǔn)確度;在特征提取模塊和路徑預(yù)測(cè)模塊均引入了生成對(duì)抗網(wǎng)絡(luò),對(duì)目標(biāo)形狀顏色等外觀特征進(jìn)行有效表達(dá),可以應(yīng)對(duì)目標(biāo)復(fù)雜多變的運(yùn)動(dòng)軌跡;優(yōu)化了跟蹤與檢測(cè)的數(shù)據(jù)關(guān)聯(lián)算法,在匹配時(shí)融合了外觀信息和運(yùn)動(dòng)信息,提高了整個(gè)模型的魯棒性.
本文提出的整體算法框架由4個(gè)模塊組成,分別是檢測(cè)模塊、特征提取模塊、預(yù)測(cè)模塊和匹配模塊.如圖1所示,首先對(duì)被跟蹤視頻序列的當(dāng)前幀圖像進(jìn)行檢測(cè)操作,獲取所有目標(biāo)的位置信息,即相互關(guān)聯(lián)的人體檢測(cè)框和人臉檢測(cè)框,人臉框的存在可以使人體框較為粗略的特征有所補(bǔ)充.特征提取模塊包含兩種提取特征的網(wǎng)絡(luò),Net1為基于生成對(duì)抗的行人特征提取網(wǎng)絡(luò),Net2為常見的人臉識(shí)別網(wǎng)絡(luò),兩個(gè)特征拼接形成最終的特征.同時(shí)使用基于生成對(duì)抗的行人多目標(biāo)軌跡預(yù)測(cè)網(wǎng)絡(luò)對(duì)每個(gè)目標(biāo)的運(yùn)動(dòng)軌跡進(jìn)行狀態(tài)估計(jì).將以上信息送入最后的匹配模塊,進(jìn)行軌跡更新,以達(dá)到對(duì)每個(gè)目標(biāo)的持續(xù)跟蹤.
本文提出了一種基于YOLO的人體人臉相關(guān)聯(lián)的目標(biāo)檢測(cè)算法,主要解決密集場(chǎng)所中行人目標(biāo)檢測(cè)困難問題.在目標(biāo)人體的外觀相似時(shí),增加了人臉特征以增加外觀特征的區(qū)分度.本文將YOLO的網(wǎng)絡(luò)進(jìn)行改進(jìn),網(wǎng)絡(luò)結(jié)構(gòu)圖如圖2所示.首先將檢測(cè)圖片送入網(wǎng)絡(luò)中,輸出層包括3個(gè)不同尺度的特征圖,保證了模型對(duì)各種尺度物體的檢測(cè)能力.將包含特征的向量根據(jù)置信度進(jìn)行降序排序,先將top 1置信度的框的位置信息(bounding box,簡(jiǎn)稱bbox)遍歷其他bbox進(jìn)行IOU計(jì)算.如果值大于閾值,則認(rèn)為該bbox為重復(fù)框,將其剔除.然后再?gòu)奶蕹笫S嗟腷box取出top 2的bbox重復(fù)以上的操作,直至遍歷結(jié)束,最終得到精簡(jiǎn)的檢測(cè)結(jié)果.
圖1 多目標(biāo)跟蹤算法架構(gòu)
圖2 基于 YOLO的人體人臉檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)圖
改進(jìn)后的輸出層在原來的基礎(chǔ)上增加了4維用于存放于人體框相關(guān)聯(lián)的人臉框的位置信息,分別為相對(duì)人體框的人臉框的橫向位置,縱向位置,寬度和高度信息.
(1)
(2)
(3)
(4)
(5)
(6)
在特征提取模塊中,本文采用了基于生成對(duì)抗的算法提取行人特征.相比于一般的深度學(xué)習(xí)特征提取方法,通過生成對(duì)抗生成新的數(shù)據(jù),使特征提取的網(wǎng)絡(luò)在最大程度上減小相同ID圖像間的類內(nèi)特征變化和區(qū)分不同ID的圖像間的類間特征.本文使用編碼器作為識(shí)別學(xué)習(xí)的骨干網(wǎng)絡(luò),并利用不同條件下生成的圖像,學(xué)習(xí)到目標(biāo)的主要特征以及精細(xì)特征.
圖3 特征以及判別模型
(7)
(8)
(9)
Ladv=E[logD(xi)+log(1-D(G(ai,sj)))].
(10)
使用同一身份ID的任意兩個(gè)圖像之間進(jìn)行圖像的重構(gòu),如圖5所示,以減少類內(nèi)特征變化.給定圖像xi,生成模塊首先學(xué)習(xí)如何從自身重構(gòu)xi.此外,生成器應(yīng)該能夠通過具有相同標(biāo)識(shí)yi=yt的圖像xt來重構(gòu)xi,使用ID損失來區(qū)分不同的標(biāo)識(shí)ID:
(11)
(12)
(13)
其中p(yi|xi)是圖像外觀編碼屬于真實(shí)標(biāo)簽類別的預(yù)測(cè)概率.
(14)
圖4 不同ID生成圖像示意圖
圖5 相同ID生成圖像示意圖
本文提供另一種方法來替代生成分支,通過模擬圖像中行人目標(biāo)的服裝變化,來代替使用生成的數(shù)據(jù),進(jìn)行主要特征的學(xué)習(xí),當(dāng)對(duì)以這種方式進(jìn)行訓(xùn)練時(shí),判別模塊能夠?qū)W習(xí)與服裝無關(guān)的細(xì)微的ID相關(guān)屬性.把不同結(jié)構(gòu)編碼和外觀編碼組合生成的圖像,視為提供結(jié)構(gòu)編碼的真實(shí)圖像的同一類.對(duì)這個(gè)實(shí)現(xiàn)圖像細(xì)微特征挖掘判別模塊,使用標(biāo)識(shí)ID 損失進(jìn)行訓(xùn)練:
(15)
為了優(yōu)化總的目標(biāo),使用以下?lián)p失的加權(quán)和,對(duì)外觀編碼器、結(jié)構(gòu)編碼器、解碼器和判別器共同訓(xùn)練:
(16)
使用數(shù)據(jù)集生成的圖像如圖6所示,其中第1行為原始圖像,第2行為使用兩個(gè)同一身份ID圖像重構(gòu)的圖像,同時(shí)保留了目標(biāo)的外觀和結(jié)構(gòu)特征.其他為由兩個(gè)不同ID的圖像生成的圖像,生成的圖像出現(xiàn)服裝配飾等方面的外觀變化,保留目標(biāo)自身的結(jié)構(gòu)特征.
圖6 Market-1501數(shù)據(jù)集生成圖像示例
多目標(biāo)跟蹤的實(shí)際場(chǎng)景中,行人多目標(biāo)的軌跡預(yù)測(cè)時(shí)需要考慮運(yùn)動(dòng)的實(shí)際情況,周圍人的活動(dòng)也會(huì)影響目標(biāo)的行走路徑.本文采用了基于生成對(duì)抗模型的多目標(biāo)路徑預(yù)測(cè)算法,應(yīng)對(duì)復(fù)雜的人類交互,預(yù)測(cè)未來軌跡.算法基于生成對(duì)抗的編碼器-解碼器結(jié)構(gòu),并提出一種池化模塊來模擬行人之間的相互作用.將目標(biāo)與周圍數(shù)個(gè)干擾目標(biāo)的相對(duì)位置作為模塊的輸入,經(jīng)過MLP和Max-Pooling處理,最終得到一個(gè)匯集了目標(biāo)行人與周圍行人位置信息的向量,以此模擬目標(biāo)與周圍人的交互.
本文的路徑預(yù)測(cè)模型如圖7所示,整體由3個(gè)主要部分構(gòu)成:生成器、池化模塊和判別器.生成器基于編碼以及解碼的LSTM框架,采用池化模塊對(duì)編碼和解碼的隱藏狀態(tài)進(jìn)行連接.最后送入判別器進(jìn)行判定軌跡是否為真.
圖7 基于生成對(duì)抗多目標(biāo)路徑預(yù)測(cè)
(17)
(18)
其中:t是序列;i是目標(biāo);φ()是具備ReLU非線性的嵌入函數(shù);Wee是嵌入權(quán)重;Wencoder是LSTM的權(quán)重.
本文使用池化模塊來模擬來往行人之間的交互作用,在可觀測(cè)時(shí)刻之后,將場(chǎng)景中所有人的隱藏狀態(tài)匯合起來,每個(gè)人獲得一個(gè)合并的張量.通過初始化解碼器的隱藏狀態(tài)來調(diào)節(jié)輸出軌跡的生成:
(19)
(20)
其中:γ()是包含ReLU非線性的多層感知器(MLP);Wc是嵌入權(quán)重,后續(xù)預(yù)測(cè)情況如下:
(21)
(22)
(23)
(24)
其中:φ()是具備ReLU非線性的嵌入函數(shù);Wed是嵌入權(quán)重.
(25)
本文中采用的匹配模塊首先對(duì)目標(biāo)運(yùn)動(dòng)信息進(jìn)行匹配,具體的做法為計(jì)算軌跡預(yù)測(cè)模塊的結(jié)果與檢測(cè)結(jié)果之間的馬氏距離:
(26)
其中:d為第j個(gè)檢測(cè)結(jié)果的位置;yi為第i個(gè)跟蹤器對(duì)跟蹤目標(biāo)的預(yù)測(cè)位置;Si為檢測(cè)位置和平均跟蹤位置的協(xié)方差矩陣.設(shè)定閾值t(1),當(dāng)此次關(guān)聯(lián)的馬氏距離小于它時(shí),運(yùn)動(dòng)狀態(tài)關(guān)聯(lián)成功,關(guān)聯(lián)度量為
(27)
在運(yùn)動(dòng)不確定度較高時(shí),如長(zhǎng)時(shí)間跟蹤或出現(xiàn)長(zhǎng)時(shí)間遮擋的情況,引入外觀特征進(jìn)行匹配.外觀特征即人體框人臉框的聯(lián)合特征.通過將每一個(gè)跟蹤的目標(biāo)的歷史特征構(gòu)造成一個(gè)特征庫,存儲(chǔ)最近成功關(guān)聯(lián)的幀的特征,計(jì)算待匹配的特征與特征庫特征之間的余弦距離最小值進(jìn)行匹配:
(28)
如果最小距離小于設(shè)定閾值,則關(guān)聯(lián)成功.使用兩種度量的方式進(jìn)行加權(quán)得到.運(yùn)用組合距離閾值判斷不等式,作為判斷第i個(gè)目標(biāo)跟蹤結(jié)果和第j個(gè)目標(biāo)檢測(cè)結(jié)果之間是否關(guān)聯(lián)的總公式:
c(i,j)=λd(1)(i,j)+(1-λ)d(2)(i,j),
(29)
(30)
可以看出,只有當(dāng)c(i,j)同時(shí)滿足兩個(gè)度量的閾值的要求,才設(shè)定為完成了正確的關(guān)聯(lián).馬氏距離度量對(duì)短時(shí)跟蹤效果較好,外觀特征度量對(duì)長(zhǎng)時(shí)跟蹤或長(zhǎng)時(shí)間遮擋的情況更有效.可以針對(duì)不同的任務(wù)設(shè)定不同的λ進(jìn)行適應(yīng).
本文使用MOT16[13]基準(zhǔn)測(cè)試數(shù)據(jù)集評(píng)估了所提出的跟蹤算法的性能,并與Deep Sort[7]、Sort[14]等先進(jìn)算法進(jìn)行了各項(xiàng)指標(biāo)的對(duì)比.MOT16數(shù)據(jù)集具備多種多樣的數(shù)據(jù)類型,具有在不同的視線角度、相機(jī)運(yùn)動(dòng)方式以及不同天氣狀況下拍攝的畫面.根據(jù)MOT16的評(píng)估標(biāo)準(zhǔn),實(shí)驗(yàn)結(jié)果如表1所示,多目標(biāo)跟蹤準(zhǔn)確度(MOTA)指標(biāo)位于第2名,多目標(biāo)跟蹤精確度(MOTP)最高,比第2名高了0.25%,比同類的基于深度學(xué)習(xí)的Deep Sort提高了1.64%.準(zhǔn)確度(MOTA)與身份跳變數(shù)目(IDS)對(duì)比如圖8所示,在不影響跟蹤準(zhǔn)確度的條件下,本文提出的算法身份交換和跳變明顯少于其他算法.如圖9所示,虛警數(shù)(FP)、漏警數(shù)(FN)明顯降低.
表1 多目標(biāo)跟蹤算法跟蹤結(jié)果
圖8 準(zhǔn)確度與身份跳變數(shù)對(duì)比
圖9 漏警數(shù)與虛警數(shù)對(duì)比
本文算法框架中的目標(biāo)檢測(cè)模塊、特征提取模塊、路徑預(yù)測(cè)模塊在目標(biāo)檢測(cè)數(shù)據(jù)集ImageNet、行人重識(shí)別數(shù)據(jù)集 Market-1501、行人視頻數(shù)據(jù)集Eth中分別進(jìn)行訓(xùn)練,得到最優(yōu)的權(quán)重后再融入到整體的框架中.目標(biāo)檢測(cè)模塊中l(wèi)ossw_h采用均方差誤差,其他的損失為交叉熵?fù)p失,并采用L1正則化.
在特征提取模塊的整個(gè)訓(xùn)練過程中固定權(quán)重λimg=5,λid=0.5.用作區(qū)分特征學(xué)習(xí)損失Lprim和Lfine,直到生成器穩(wěn)定下來.本文模型在Market-1501上進(jìn)行30 000次迭代后,再將兩個(gè)損失求和,隨后的4 000次迭代中把λprim從0線性增加到2,并設(shè)定λfine=0.2λprim.
在跨身份(不同ID)圖像生成中,在生成圖像之前訓(xùn)練Ea,Es和G,在生成圖像之后訓(xùn)練Ea,Es和D.實(shí)驗(yàn)發(fā)現(xiàn)匹配模塊中馬氏距離匹配閾值取9.487 7最佳.外觀特征采用人體框人臉框的聯(lián)合特征,其中人體框特征包含人體的主要特征和細(xì)微特征,人臉特征作為補(bǔ)充進(jìn)行融合.將每一個(gè)跟蹤目標(biāo)的歷史特征構(gòu)造成一個(gè)特征庫,將最近100個(gè)成功關(guān)聯(lián)的幀的特征進(jìn)行存儲(chǔ),計(jì)算待匹配的特征與特征庫特征之間的余弦距離最小值進(jìn)行匹配.
為進(jìn)一步分析所提方法各部分的有效性,在基于普通人體特征和卡爾曼濾波跟蹤器的基礎(chǔ)上,設(shè)計(jì)了消融實(shí)驗(yàn)來對(duì)算法框架中的各個(gè)部分進(jìn)行對(duì)比分析,結(jié)果如表2所示.
通過對(duì)比準(zhǔn)確度與身份跳變指標(biāo),在檢測(cè)跟蹤過程中增加了人臉特征之后,跟蹤器的準(zhǔn)確度有所提升,身份交換和跳變情況有了明顯的緩解.進(jìn)一步應(yīng)用通過生成對(duì)抗網(wǎng)絡(luò)提取的增強(qiáng)人體特征代替普通人體特征,多目標(biāo)跟蹤的準(zhǔn)確度基本不變,但是身份交換和跳變數(shù)目降低了23%.最后再用基于生成對(duì)抗網(wǎng)絡(luò)的路徑預(yù)測(cè)模塊代替?zhèn)鹘y(tǒng)的卡爾曼濾波算法,可以看出本文改進(jìn)的算法在身份交換和跳變數(shù)目上進(jìn)一步降低26%,達(dá)到最低.
表2 消融實(shí)驗(yàn)結(jié)果
本文算法通過增加人臉特征,提高了檢測(cè)的準(zhǔn)確性;通過引入主要特征和細(xì)微特征結(jié)合的增強(qiáng)人體特征,增強(qiáng)了圖像特征的表現(xiàn)力;應(yīng)用基于生成對(duì)抗網(wǎng)絡(luò)的路徑預(yù)測(cè)算法生成目標(biāo)軌跡,得到目標(biāo)更準(zhǔn)確的位置序列.有效解決了現(xiàn)存算法中,檢測(cè)結(jié)果與跟蹤路徑不匹配,身份變換頻繁的問題.
圖10為本文算法在MOT數(shù)據(jù)集中一段視頻序列上跟蹤的實(shí)驗(yàn)結(jié)果.圖10所示的序列中,行人目標(biāo)背景較為復(fù)雜,目標(biāo)數(shù)量較多,目標(biāo)間存在著頻繁的交互.目標(biāo)運(yùn)動(dòng)過程中發(fā)生了由遠(yuǎn)及近和由近及遠(yuǎn)的變化,使目標(biāo)尺度發(fā)生改變.目標(biāo)還出現(xiàn)了遮擋現(xiàn)象,以及隨后消失又重現(xiàn)的情況.如圖10所示,本文取得了良好的跟蹤效果.在背景復(fù)雜、目標(biāo)遮擋、尺度姿態(tài)變化的應(yīng)用場(chǎng)景中,有極大的抗干擾能力,有效解決了跟蹤偏移和匹配錯(cuò)誤的問題,實(shí)現(xiàn)目標(biāo)平穩(wěn)跟蹤.
圖10 MOT序列跟蹤結(jié)果
本文針對(duì)多目標(biāo)跟蹤中背景復(fù)雜、目標(biāo)遮擋、目標(biāo)尺度和姿態(tài)變化情況下,容易出現(xiàn)目標(biāo)丟失、身份交換和跳變的問題,提出了一種基于生成對(duì)抗網(wǎng)絡(luò)的多目標(biāo)跟蹤算法.通過使用基于YOLO的人體人臉關(guān)聯(lián)算法,對(duì)當(dāng)前幀待檢目標(biāo)進(jìn)行檢測(cè),提出了基于生成對(duì)抗網(wǎng)絡(luò)的特征提取模型,且引入了人臉特征,使對(duì)目標(biāo)的特征表示更加魯棒.再使用生成對(duì)抗網(wǎng)絡(luò)生成復(fù)雜交互下更準(zhǔn)確的多目標(biāo)的運(yùn)動(dòng)軌跡,在匹配模塊中結(jié)合目標(biāo)的運(yùn)動(dòng)信息和外觀信息,得到最終的目標(biāo)跟蹤結(jié)果.實(shí)驗(yàn)結(jié)果表明,在出現(xiàn)背景復(fù)雜、目標(biāo)遮擋、尺度變化等干擾情況時(shí),本文算法都能平穩(wěn)且準(zhǔn)確地對(duì)目標(biāo)進(jìn)行跟蹤,且大幅度減少了目標(biāo)身份跳變情況的發(fā)生,具有較高的精確度.