任珈民 宮寧生 韓鎮陽
(南京工業大學計算機科學與技術學院 江蘇 南京 211816)
目標跟蹤是計算機視覺研究領域的一個重要方向,在生產和生活中有諸多應用,例如行人監測、交通管理、人機交互等。目標跟蹤一般分為單目標跟蹤和多目標跟蹤,對于單目標跟蹤而言,一般會存在一個先驗假設,因此即使只在初始位置框定范圍,仍能得到一個看起來還好的跟蹤結果。而通常應用于行人監測的多目標跟蹤往往是一個多變量估計問題[1],不僅沒有上述先驗假設,而且還存在對象位置變化大,目標個數不固定的問題。因此多目標跟蹤除了需要考慮物體形變、背景干擾等方面外,還需解決以下幾個問題:(1) 目標的自動初始化和自動終止;(2) 目標的運動檢測和相似度判別;(3) 目標之間的交互和遮擋;(4) 跟丟的目標再次出現時的再識別問題。針對上述問題中的一點或幾點,研究者們提出相應的解決措施,主要可以分為兩大類:基于檢測的數據關聯算法和網絡最小代價流算法。前者將多目標跟蹤看作數據關聯問題,對連續兩幀間的軌跡和檢測進行連接,以此形成更長的軌跡。Huang等[2]提出的多層跟蹤框架是該類算法的典型方法,它先根據相鄰兩幀間的檢測形成短軌跡,再進行全局關聯,最后對生成的軌跡做微調。Milan等[3]提出的基于網絡最小代價流的算法則將其轉化為一個能量最小問題,將每個檢測都看作一個節點,而每個節點有對應的能量,算法的目的是求解能量函數的最優解,形成跟蹤軌跡。
隨著深度學習的快速發展,很多跟蹤算法都以上述兩大類方法作為基準,并加入深度學習算法。利用深度網絡能夠提取出更加魯棒的圖像特征,從而使后續跟蹤方法的跟蹤更加精準,進一步提升跟蹤的準確度。Wojke等[4]使用深度網絡提取檢測和邊界框,并通過運動匹配度和外觀匹配度對軌跡進行預測,最后引入級聯匹配方法進行長軌跡跟蹤;Chen等[5]利用卡爾曼濾波和改進的目標檢測算法將檢測與分類先分開處理,再進行結合,來處理遮擋問題。Xiang等[6]利用深度網絡標記目標的不同狀態,然后利用匈牙利算法和馬爾可夫決策過程進行匹配和跟蹤;Sun等[7]考慮不同幀之間的相關性,建立深度親和力網絡進行目標關聯,從而形成可靠軌跡。由于現如今大部分的研究都是基于檢測的跟蹤,因此目標檢測算法的好壞可以對跟蹤結果產生重要影響,而如何協調處理數據關聯和目標遮擋的問題,也需要做進一步規劃。
本文綜合考慮上述問題,并借鑒其優勢之處,提出如下跟蹤算法:首先利用YOLOv3網絡檢測出當前幀中的行人目標;再采用卡爾曼濾波器對下一幀目標進行預測,減小長期跟蹤所帶來的誤差;然后通過改進匈牙利算法進行目標分配和數據關聯,形成跟蹤軌跡。此外,考慮到跟蹤過程中的遮擋問題,本文采用基于區域的質量評估網絡(RQEN),聯合之前的多幀檢測結果,恢復被遮擋目標,降低標簽轉換誤差,使結果更加精確。
在設計行人多目標跟蹤算法時,往往會考慮兩個問題:(1) 如何測量幀內行人目標的相似性;(2) 基于此相似性如何判斷幀內行人目標是否相同。前者屬于建模問題,其中建模的范圍包括外觀、運動等,而后者則與數據關聯有關。
外觀建模是該問題中計算相似度的重要途徑,可分為視覺表示和統計測量兩部分。視覺表示一般基于單個特征或多特征來描述一個目標,如Kanade等[8]利用光流法跟蹤行人,從而生成短軌跡。統計測量則是建立度量函數,計算不同目標間的相似度,如通過巴氏距離計算兩顏色直方圖間的距離,再將其轉換成相似性[9]。運動建模可以捕捉行人的動態行為,估計其在未來幀中的潛在位置,從而減少搜索空間。線性模型是常用的運動建模方式,它假設目標勻速運動,并在此基礎上對不同情況進行建模;而非線性模型則可以解決更復雜的問題,使跟蹤更準確。
這些外觀特征建模在許多方法中都有所涉獵,但對比與深度學習特征,仍然存在很大差異。利用深度網絡對圖像進行建模,能夠更深層次地挖掘圖像的空間信息特征。基于深度學習的多目標跟蹤框架在以下兩個方面取得較好的進展:一個是結合多目標跟蹤場景進行網絡的設計,如文獻[10]通過訓練一種孿生卷積神網絡,學習編碼兩個輸入圖像塊之間的局部空間特征,并結合上下文特征生成匹配概率;另一個是將循環神經網絡[11-12]應用其中,討論歷史信息對跟蹤軌跡特性的描述。前者利用優化的全局跟蹤框架,能夠得到比傳統外觀特征更好的圖像信息,后者對于運動特征的長期匹配相似度計算很有效。
在對行人目標完成建模后,需要通過相應的算法對目標進行跟蹤。根據采用方法的不同,可分為概率預測和確定性優化兩種。概率預測通常將目標作為不確定分布,先根據之前的預測來估計當前狀態的后驗概率分布,再根據觀測模型得到的測量來更新預測模型,如卡爾曼濾波[13]等。而確定性優化旨在找到最大后驗概率,將滿足條件的最優解依次串聯起來,形成一條跟蹤軌跡,一般可通過偶圖匹配[14]等方法來解決。
針對建模和關聯這兩個問題,本文用YOLOv3網絡建立圖像深度特征,從而有效地檢測出當前圖像中的多個目標;同時考慮到行人運動的線性模型,采用卡爾曼濾波器對連續多幀的同一目標進行預測;為了在多個檢測和多條軌跡之間找到最優連接,本文使用匈牙利算法進行數據的關聯匹配。此外,本文還引入基于區域的質量評估網絡(RQEN)[15],聯合多幀檢測結果,恢復被遮擋目標,提高跟蹤準確率。
本文將YOLOv3作為目標檢測網絡,利用其多尺度預測機制,檢測出大小不同的行人目標。之后采用卡爾曼濾波器根據當前跟蹤結果預測目標的下一位置,并計算檢測范圍和預測范圍的交并比和顏色直方圖,并通過匈牙利算法根據得分獲取最佳匹配,經過不斷地迭代獲得跟蹤軌跡。針對跟蹤過程中存在的遮擋問題,本文采用基于區域的質量評估網絡(RQEN),聯合多幀高質量檢測結果,以加權的形式恢復被遮擋部分,使跟蹤更加準確。
目標檢測算法可分為兩類:基于區域的算法和基于回歸的算法。基于區域的目標檢測算法先提取候選區域,再進行分類和回歸,代表算法有FasterRCNN[16]等;基于回歸的算法能一步回歸出坐標,同時平衡了檢測精度與速度,因此應用更廣泛,如YOLOv3[17]等。
(1)YOLOv3總體網絡結構。如圖1所示,YOLOv3在之前網絡的基礎上進行改進,通過構建深度殘差網絡進行目標特征的提取;然后采用區域推薦網絡中的錨點機制,并添加相對坐標預測,解決了模型訓練不穩定的問題,并能夠加快檢測的速度;同時引入特征金字塔結構(FPN),使網絡可以進行多尺度預測,避免細小物體的漏檢問題。

圖1 YOLOv3總體網絡結構圖
該網絡首先通過DBL結構(卷積層—批量歸一化層—LeakyReLU激活函數)調整輸入圖像大小,之后通過多個殘差組提取圖像特征,獲得多種分辨率的特征圖,然后對特征圖進行上采樣,與原特征圖拼接起來,利用特征金字塔結構獲得13×13、26×26、52×52三種不同尺度的預測結果。表現在圖像上就是該網絡不僅能檢測正常尺寸的目標,而且能檢測出細小物體,這對于密集場景中的多目標跟蹤具有重要意義。
(2) 深度殘差網絡。殘差網絡是由一系列殘差塊所組成的,每個殘差塊由恒等映射和殘差分支兩部分組成,如圖2(a)所示,該結構既對輸入圖像進行卷積處理,又利用分支彌補丟失的信息,使提取的特征更有效。

(a) 殘差塊結構 (b) 殘差組結構圖2 深度殘差網絡基本結構
若設殘差塊的輸入為x,輸出為y,F(·)為轉化函數,則其數學表達式為:
y=F(x)+x
(1)
YOLOv3堆疊多個殘差塊,形成殘差單元,如圖2(b)所示,其中加入了補零填充(zero padding)操作來避免因下采樣過后圖像尺寸變小所帶來的影響,之后再接一個網絡基本組件DBL對待處理圖像做調整。
分析深度殘差網絡可知,第一層卷積將輸入圖像調整為256×256;再用64個3×3的卷積核對其進行下采樣;然后添加殘差塊結構,該結構由1×1和3×3的卷積層組成,得到的特征圖尺寸為128×128;接著通過2×、8×、8×、4×殘差塊的4組網絡,分別獲取64×64、32×32、16×16、8×8分辨率的特征圖。這4種不同分辨率的特征圖可進行后續的多尺度預測。
(3) 錨點機制。該機制最早由Faster RCNN提出,用來選取物體的邊界框。Faster RCNN在每個滑動位置上采取3個尺度與3個縱橫比的組合,共產生9個錨點來選取邊界框。YOLOv3考慮到手工獲取錨點尺寸會產生誤差,故采用改進的k-means聚類算法,利用IoU得分作為評判標準,選取最合適的先驗框。具體如下式所示:
(2)

在獲得一系列錨點邊框后,需要進行邊框回歸操作,使得輸出結果盡可能地接近真實邊框。在Faster RCNN中并未對輸出邊框的位置進行約束,使得早期模型訓練不穩定,因此YOLOv3將輸出框的坐標控制在負責預測該目標的區域內,大大提高了檢測速度。
如圖3所示,cx和cy表示預測框的中心坐標所在網格距離左上角第一個網格的網格數;bx、by、bw和bh表示預測框的絕對位置;tx、ty、tw和th表示預測框的相對位置;pw和ph表示先驗框的寬和高;σ(·)表示Sigmoid函數。其計算方式如下:
(3)

圖3 相對坐標預測
(4) 多尺度預測。若模型提取的特征較少或訓練擬合過高,則容易產生誤檢和漏檢,因此之前的目標檢測算法在密集場景下容易漏檢細小事物。為了解決這個問題,YOLOv3引入特征金字塔結構(Feature Pyramid Network,FPN),如圖4所示。

圖4 特征金字塔結構
這種多級特征結構中,高層特征分辨率低但語義信息豐富,低層特征則相反,所以這種結構的設計優勢就在于將這些特征連接起來,使得整個模型在所有尺度下都能獲得豐富的語義信息,從而檢測大范圍尺度的圖像。
該結構的左側為自下而上的前饋網絡,其由多組卷積網絡組成,用于特征提取;右側是一個自頂向下的過程,通過與左側路徑側向連接,增強高層特征。該路徑具體是利用上采樣來保持與左側尺寸一致的。
在利用YOLOv3獲得每幀的多個檢測目標后,需要對連續幀中的同一目標進行跟蹤,并依次生成軌跡。本文利用卡爾曼濾波模型預測出下一幀該目標的位置,然后利用匈牙利算法[18]進行數據關聯,但考慮到若目標之間位置較近時僅將面積的交并比作為匹配依據會使匹配結果產生錯誤,因此本文對原始的匈牙利算法進行改進,引入顏色直方圖對相近的不同目標做區分,使結果更精確。
(1) 卡爾曼濾波。卡爾曼濾波的優勢在于該模型可以應用在任何含有不確定信息的動態系統中,對系統下步走向作出有根據的預測,并且即使伴隨有噪聲干擾,也總能指出真實發生的情況。

(4)
式中:Fk為運動學系數矩陣;Bk為外部控制矩陣;uk為外部控制量;Qk為外部噪聲的協方差矩陣。
式(4)表明當前新的最優估計是根據上一最優估計并加上已知外部控制量預測得到的,而新的不確定性是由上一不確定性加上外部環境干擾得到的。

圖5 卡爾曼濾波器

(5)


① 矩陣A中的每個元素減去A中最小的元素得到至少有一個零元素的非負矩陣A1(每行或每列都減去該行該列的最小元素)。
② 找到線條的最小集合S1,線條數m1,包含A1中所有的非零元素。如果m1=n,則有n個獨立零元素,A中這n個位置就構成解決方案。
③ 如果m1 ④ 重復步驟2和步驟3,并用A2代替A1。每次完成步驟3的操作后,矩陣所有元素之和會減少n(n-nk)hk,經多次迭代即可找到解決方案。 對于多目標跟蹤中的數據關聯來說,YOLOv3先檢測出當前幀中的多個目標m以及它們的坐標和邊界框范圍,而卡爾曼濾波又根據上一幀的跟蹤結果對當前幀的目標位置進行了估計,得到n個預測結果,或稱為n條軌跡。在獲得所有的檢測和預測結果后,先計算二者面積的交并比,再獲得檢測圖像的顏色直方圖,然后用交并比和直方圖特征加權生成關聯矩陣,如下式所示: Cij=αCpos(i,j)+βCappr(i,j) (6) 式中:Cpos為二者交并比,Cappr為外觀關聯系數,可通過巴氏距離得到,且α和β為權重系數,和為1。 最后用匈牙利算法對檢測結果與預測結果進行匹配,完成數據關聯,在多幀圖像中形成跟蹤軌跡。 在遮擋較為嚴重的情況下,如果采用一般的池化會造成特征圖的效果變差,這樣會丟失很多有效信息。同時考慮到信息的表示在幀與幀之間不是獨立的,故利用互補信息可以有效地提高識別性能。因此RQEN提出對每一幀進行一個質量判斷,考慮之前的連續5幀檢測結果,利用其對圖像缺失部分進行彌補。 如圖6所示,設質量評估網絡的輸入為一組集合S={I1,I2,…,In},其中每幅圖像都屬于同一個人,將集合分別送入兩個部分,一個部分利用全卷積神經網絡生成輸入圖像的中間表示;另一個通過關鍵點檢測器標記人體的關鍵點,并根據關鍵點將人體劃分成不同區域。設u、m、l分別為圖像的上、中、下部分,每部分對應一個區域,一方面生成特征向量FIi={fu(Ii),fm(Ii),fl(Ii)},另一方面,將圖像的中間表示輸入基于區域的質量預測器中,生成對應區域的質量估計μIi={μu(Ii),μm(Ii),μl(Ii)},并用不同區域的每個分數μ*(Ii)來估計相應的區域特性f*(Ii),最后將得分與區域特性輸入到集合聚合單元,生成特征表示Fw(S)={ξu(S),ξm(S),ξl(S)}。其中ξ(·)表示集合聚合函數,它通過加權的方式合并所有幀,為不同大小的序列生成具有固定維數的特征表示,其數學表達式為: (7) 圖6 基于區域的質量評估網絡 (8) 式中:d(·)表示L2范數,[·]+表示max(·,0);τ表示損失邊緣。從而總損失函數為L=Lsoftmax+Lt。 首先輸入一系列圖像,在經過卷積層獲得特征圖后,一方面利用全局特征提取計算歸一化損失,另一方面在三元損失的監督下,提取有效區域,進一步增強類間差異,減少類內差距。通過聯合訓練,可以提取出更魯棒的特征。 如圖7所示,本文首先用YOLOv3網絡檢測出當前幀中待跟蹤目標,再利用卡爾曼濾波器對下一幀目標的位置進行估計和預測,然后通過改進的匈牙利算法將檢測與預測進行匹配,得到跟蹤軌跡。而對于跟蹤過程中產生的被遮擋,本文引入基于區域的質量評估網絡(RQEN),聯合多幀高質量特征恢復被遮擋部分,提高跟蹤準確率。 圖7 算法流程圖 本文的算法流程描述如下: (1) 獲取視頻的第一幀圖像,并用YOLOv3檢測出圖像中的待跟蹤目標。 (2) 利用第一幀圖像中的每個目標初始化卡爾曼濾波器,并對下一幀圖像中目標的位置和大小進行預測。 (3) 讀入下一幀圖像,進行目標檢測,并將檢測結果與預測結果根據面積交并比與顏色直方圖的加權和建立關聯矩陣,然后利用改進匈牙利算法找到最佳匹配。 (4) 若匹配完成后有剩余檢測,則用多余的檢測結果初始化新的卡爾曼濾波器;若當前幀有剩余預測未被匹配,則認為目標可能被遮擋或丟失,此時采用基于區域的質量評估網絡恢復被遮擋目標,同時記錄被遮擋的幀數,若總幀數大于10幀,則認為目標丟失,移除該卡爾曼濾波器。 (5) 結合檢測和預測,更新卡爾曼濾波器的相關參數,然后返回步驟3,多次迭代直至所有圖像被處理完。 本文采用2D MOT2015數據集[19]進行實驗,該數據集分為訓練集和測試集,包含了多個行人目標,并存在目標交互與遮擋。其中訓練集和測試集各有11段視頻。實驗環境:內存為4GB,編寫軟件為Python3.6,GPU為RTX2080Ti。 實驗中采用的評判標準為跟蹤準確度(TA)、跟蹤精度(TP)、命中的軌道假設占實際總軌道的比例(MT)、丟失的目標軌道占實際總軌道的比例(ML)、標簽切換總數(IDS)以及誤報總數(FP)。 為了更好地分析算法的性能,本文對兩組實驗結果了進行對比分析。通過將本文算法在不同視頻序列上進行測試來分析本文算法在不同應用場景中的實驗結果;同時將本文算法與其他算法進行對比,從而對優勢和不足做進一步分析和研究。 (1) 本文算法在不同序列上的對比。本文在測試集所有序列上進行實驗,所獲得的數據如表1所示。 表1 不同序列上的測試結果 分析表1可知,從平均各項性能來看,本文算法在序列TUD-Crossing上表現最佳,在Venice-1上表現最差,部分原因是Venice-1中行人與背景的顏色對比不夠明顯,使得跟蹤產生較大的誤差,而TUD-Crossing中圖像清晰且對比明顯,因此行人交錯的處理效果更好,由此可見圖像的質量對于跟蹤結果也有很大影響。對于其他視頻序列存在的相機晃動情況,如ETH-Jelmoli、ETH-Crossing等,會使跟蹤結果產生漂移,降低跟蹤準確率;或者圖像模糊情況,如KITT-16等,也對檢測與跟蹤產生一定影響。而PETS09-S2L2中標簽切換總數最多,原因是目標數量較多且行人衣著顏色較相近,所以區分不同目標時產生誤差。總的來說,除了對算法本身的跟蹤性能做出改進外,還應該采用固定相機拍攝,或對移動拍攝鏡頭做運動補償,并需要對采集的序列進行相應預處理。 (2) 本文算法與其他算法的對比。本文算法在2D MOT 2015測試集上與其他算法的實驗結果對比如表2所示。 表2 不同算法實驗結果 由表2可知,SMOT[20]僅依靠表觀特征的相似度進行跟蹤,其跟蹤結果易出現漂移,故準確率只有18.6%;RMOT[21]使用貝葉斯框架根據圖像序列的上下文進行目標預測與跟蹤,準確率有所提升,但遮擋時的處理效果不理想;MotiCon[22]考慮基于圖像檢測的結果達到跟蹤的目的,但由于未考慮目標預測的問題,使得跟蹤時定位往往不夠準確;SiamCNN[10]結合深度神經網絡和上下文特征預測目標位置,通過梯度增強與跨幀檢測進行數據關聯,效果有了較大提高,不過該方法僅利用線性規劃做性能驗證,且對于遮擋問題沒有實施相應的措施;而MDP[6]將強化學習與深度學習相結合,通過馬爾科夫決策過程,進一步提升了跟蹤準確率,達到了30.3%,但該算法在考慮遮擋問題僅利用模板進行比對,而沒有結合目標當前的具體狀態進行分析,因此準確率有待提高。 本文算法利用YOLOv3網絡檢測視頻中的行人目標,能夠得到精準的邊界框;同時利用卡爾曼濾波器進行預測和更新,使跟蹤更精確;在獲得當前幀的檢測和估計后,利用改進的匈牙利算法進行目標匹配。而針對跟蹤過程中產生的遮擋問題,本算法引入基于區域的質量評估網絡,聯合之前5幀檢測結果恢復被遮擋目標。實驗結果表明MOTA達到了34.4%,MT為13.4%,并將標簽切換總數IDS降低到了653,平均各項指標來看,跟蹤性能較其他算法有明顯提升。 為了直觀地比較處理遮擋問題的實驗數據,本文在序列TUD-Crossing上進行對比實驗,結果如圖8和圖9所示。對比同一幀圖像可知,第112幀中兩個算法都能很好地完成跟蹤,如圖中實線框所示。第113幀開始出現遮擋,到第115幀遮擋結束,由于本算法聯合多幀檢測能夠恢復被遮擋目標,進行持續跟蹤,如圖中虛線框所示。而MDP算法不能很好地框定目標,這在目標數量多、交錯遮擋頻繁的場景中容易產生跟蹤誤差。相比較而言,本文算法更好。 圖8 本文算法跟蹤結果 圖9 MDP跟蹤結果 本文考慮使用YOLOv3進行多尺度的行人目標檢測,不僅能保證檢測精度,而且可以做到實時檢測。檢測到當前幀中的目標后,本文通過卡爾曼濾波器根據上一幀跟蹤結果進行預測,以此獲得當前幀的先驗假設,從而降低該幀圖像跟蹤結果產生漂移的概率。在獲得檢測和預測后,一方面計算二者的面積交并比,另一方面計算目標的顏色直方圖,然后結合兩項結果生成關聯矩陣,并利用匈牙利算法找到最佳匹配。最后系統在不斷迭代后形成跟蹤軌跡。針對跟蹤過程中產生的遮擋問題,本文引入基于區域的質量評估網絡,先劃分被遮擋目標,再聯合之前多幀完整的檢目標測結果,恢復被遮擋的部分,降低了標簽切換數量,提高跟蹤準確度,達到了34.4%。之后的研究工作將圍繞進一步提高跟蹤準確度和降低標簽切換總數展開。2.3 基于區域的質量評估網絡


2.4 算法流程

3 實 驗
3.1 實驗說明
3.2 實驗結果與分析




4 結 語