韓 暑,林 野,鄭龍澍,翁哲鳴,張立華
1(復旦大學 工程與應用技術研究院,上海 200433)
2(智能機器人教育部工程研究中心,上海 200433)
3(上海智能機器人工程技術研究中心,上海 200433)
4(中國航天科工飛航技術研究院,北京 100074)
5(季華實驗室,佛山 528200)
6(吉林省人工智能與無人系統工程研究中心,長春 130021)
多目標追蹤是一項識別和追蹤視頻中若干物體或人物位置的計算機視覺任務[1].換句話說,多目標追蹤的主要任務是在輸入的視頻或者一定的圖像序列中,確定若干目標在各幀中的位置,并在這些幀中維持他們的ID,記錄他們的軌跡[2].
由于使用的分類參數不同,多目標追蹤的分類方式主要有以下兩種.
(1)根據處理當前視頻幀時能否獲知接下來幾幀的信息,多目標追蹤算法可以分為在線多目標追蹤和離線多目標追蹤兩類[1].前者不能獲得后續幀的信息,追蹤只能根據當前幀和之前幀的信息進行判斷,而且不能修改之前幀的追蹤結果;后者則一般要求輸入整個視頻片段,在處理時可以得到整個視頻中的信息,從而得到全局最優解.在線追蹤的方法更適合實際應用,所以目前的研究較多.離線追蹤的方法雖然不太適合監控等實際領域,但是由于可以結合更多的信息,所以相對追蹤精度要更高,而且通過放松對整體序列的要求,將部分連續幀作為整體,把整個視頻序列的全局最優解換為若干連續幀的局部最優解,也能在造成一些延遲的情況下進行實際應用,并利用其高追蹤精度的優勢彌補這部分延遲帶來的損失.本文提出的算法由于從最初設計時就希望能貼合實際應用,所以采用的是在線多目標追蹤的方法.
(2)根據是否需要依靠目標檢測模型的輸出,也就是目標初始化的方式,可以把多目標追蹤模型分為需要檢測器的追蹤模型和無需檢測器的追蹤模型[2].前者的目標是使用檢測模型的輸出確定的,因此檢測器的能力直接影響追蹤結果的質量.這種方式能夠自動完成對特定類別目標的追蹤,不需要人為標注的參與,但是當檢測器出現失誤或者要求對非特定類別目標進行追蹤時,很難有效追蹤.后者則需要在視頻的第一幀加入人為標注,而后追蹤模型根據這個標注進行目標追蹤.這種方式更類似于對單目標追蹤的拓展,具有目標類別不固定且不需要檢測器等特點,可以降低出現失誤的概率.但是這種方法需要人為對目標進行標注,所以無法全自動運行,而且目標在第一幀就確定了,無法應對視頻中出現新目標的情況.由于研究者們更希望整個系統能夠在訓練和安裝完成后擺脫人力的約束,所以這兩種追蹤方式中有關前者的研究相對較多,本文提出的算法也屬于需要檢測器的追蹤方法.
隨著目標檢測模型的日趨成熟,借助幾乎完美的目標檢測結果,在數據關聯時理論上可以只使用IoU信息.但是在實際使用中,少量丟失的檢測會造成大量的身份互換和軌跡斷裂,進而嚴重影響追蹤效果.這說明現階段多目標追蹤仍需要圖像信息的輔助,結合使用IoU 信息和圖像信息才能獲得更好的追蹤效果.
針對上述問題,本文在IoU 模型中引入圖像信息,提出如下追蹤算法:采用CenterNet 模型[3]檢測出當前的行人目標,再使用IoU 模型進行追蹤.本文的算法會對IoU 模型得到的追蹤結果進行校驗,同時使用圖像信息來緩解軌跡斷裂和身份交換的問題.針對遮擋問題,本算法預測可能發生的遮擋,在圖像信息相對完整的情況下保留圖像信息,同時預測被遮擋目標的位置,把這些信息用于在遮擋結束后匹配目標,從而提升追蹤精度.另外,本算法對每個目標在下一幀的位置進行預測,使用預測位置進行交并比的計算,被遮擋目標再次出現的身份匹配也采用的是該目標運動后的預測位置.
本文的主要工作有:使用目標檢測模型輸出的目標特征,對IoUtracker 模型的追蹤結果進行校驗和再匹配;根據歷史幀中的目標運動信息,預測目標的位置,并保存可能發生遮擋目標的特征,用于在遮擋結束后恢復目標身份.
本文接下來會介紹部分多目標追蹤的相關研究工作,并對本算法使用的目標檢測模型和本算法主要對比的模型進行簡單介紹.然后會詳細介紹本算法,并展示本算法的相關實驗結果與分析.最后會總結本算法并提出未來改進的方向.
基于檢測的追蹤模型的通用框架是:在獲取到視頻序列后,首先使用目標檢測器對幀中的目標進行檢測,然后提取目標特征,之后使用從其它幀中獲取到的信息,利用相似度計算的相關方法,計算出兩個目標是同一物體的概率,最后根據之前計算的概率為各個目標分配ID,完成追蹤.
現有的多目標追蹤研究中,有的是在整個流程的各階段上進行改進提高效果,有的通過借鑒其它相關領域的方法改進模型,還有的通過跨領域研究的方式提供更多信息.
在目標檢測階段,可以使用二維視頻幀以外的信息,或根據視頻幀推測出更多信息來增強檢測的力度.例如Gan 等[4]同時使用立體聲和視覺信息對車輛進行定位和追蹤,并且在光線不足的情況下也能取得較好的效果.Babaee 等[5]使用LSTM 進行追蹤,這個模型利用目標的歷史位置和速度等信息對未來位置進行預測,之后對預測結果和檢測結果計算IoU,進行相似性的度量.
在特征提取階段,研究主要集中在對網絡骨架的改動上.例如Lee 等[6]將金字塔網絡和孿生網絡相結合,根據已有軌跡對目標未來的位置進行預測,之后使用實際檢測結果和NMS 進行處理,并從網絡的不同隱藏層提取特征,將這些特征進行融合后得到了較好的特征.Gao 等[7]將兩種負責建模歷史目標樣本的結構化表示的圖卷積網絡,與用于目標外觀建模的暹羅框架合并,得到能夠利用當前幀的上下文來學習用于目標定位的自適應特征的模型.
在相似度計算階段的改進主要是對從網絡中得到的特征進行處理.例如Ji 等[8]引入了雙向LSTM,這個模型使用時序注意力網絡得到注意力參數,使用這一參數對空間注意力網絡得到的特征進行加權,得到了能夠緩解遮擋影響的結果.Yoon 等[9]也使用了雙向LSTM,并用于計算相似性,這個模型在全連接層頂端編碼了約束框坐標和檢測結果置信度等非外觀特征,在無外觀特征方法中取得了領先的地位.
給目標分配ID 實際上就是一個將當前幀中的目標與之前幀中目標進行匹配的過程.在這一階段,Ma等[10]使用了GRU 來判斷進行軌跡分流的時間點.Wang等[11]提出在兩個單獨的匹配階段解決魯棒性和判別力的要求,這個模型在粗匹配階段進行通用訓練來增強魯棒性,而在精細匹配階段通過遠程學習網絡增強辨別力.這兩個階段的聯系是后者可以使用前者的輸出作為輸入,因此這兩個階段可以串聯連接.如果不使用這一方法,也可以將它們并行連接,通過對兩者的結果進行優化和融合得到最終結果.
在借鑒相關領域研究方面,通常是對單目標追蹤領域較為成功的方法進行修改后應用在多目標追蹤中.如Chu 等[12]提出的模型中,為了緩解行人交互時產生的遮擋導致追蹤算法產生漂移的問題,他們使用時空域注意力模型,并判別可能出現的干擾目標.其中每個目標都獨立管理并更新時空域注意力模型,并選擇候選檢測結果進行跟蹤,所以在本質上是將單目標追蹤擴展到了多目標追蹤的研究.
在與跨領域的研究結合的方法中,Ren 等[13]提出的基于預測-決策網絡的聯合深度強化學習方法可以作為比較典型的例子.這個模型將深度強化學習與多目標追蹤相結合,針對目標與目標之間產生遮擋時檢測器效果變差影響到追蹤效果的問題進行研究,通過使用決策網絡對目標與目標之間、目標與環境之間的聯合交互來尋找最優追蹤解.上述這些方法都在許多方面給本算法提供了改進思路和想法.
本算法采用的目標檢測模型是在CenterNet 算法的基礎上改進的目標檢測器,主要是增加了每個目標的128 維特征向量的信息輸出[14].
目標檢測算法主要可以分為二階段和一階段兩類.二階段的目標檢測算法如Faster-RCNN 模型[15],這類算法會先提取出一定量的候選區域,再對每個候選區域進行特征提取后完成分類.一階段的目標檢測算法的代表為YOLOv3 模型[16],這類模型一步完成坐標的回歸與分類工作,與二階段檢測模型相比,在檢測精度和檢測效率的平衡上有一定的優勢.CenterNet 模型則跳出了這兩類方法的限制,提出了零階段或者無需候選框的新類型目標檢測算法.這個模型將圖像直接送入全卷積網絡中,得到一幅熱力圖,熱力圖中的峰值就是目標的中心,對每個峰值處的圖像特征進行回歸來預測目標檢測框的寬和高,整個模型是端到端的,所以檢測速度上相較于之前的兩類模型有一定的優勢,同時檢測精度上也處于較為領先的地位.
IoUtracker 模型是Bochinski 等[17]在2017年提出的一個多目標追蹤模型.這個模型也是基于檢測的模型,是建立在輸入視頻或攝像頭的幀率達到實時及以上水平,以及目標檢測器不會出現漏檢和誤檢的假設上的多目標追蹤模型.這個模型通過相鄰幀間檢測框的IoU 來進行目標的匹配.
IoUtracker 模型的具體流程為:首先設定閾值σl,檢測得分小于該閾值的檢測框將被舍棄.其次,對于當前追蹤隊列中的每一個追蹤框,在當前幀的檢測框中找到和該追蹤框IoU 最大的檢測框,并判斷該IoU 是否大于閾值σIoU,如果是,則將該檢測框與該追蹤框匹配.若沒有滿足上一步中的閾值要求,則判斷該追蹤框在之前幀中的最大檢測得分是否大于閾值σh,以及在該幀之前目標出現的幀數是否大于閾值tmin.如果滿足這一要求,就認為這個追蹤框內是一個正常的追蹤物體,且在當前幀已經消失,因此將該追蹤物體移出追蹤隊列.最后,對于沒有匹配上的檢測框,認為是一個新出現的物體,作為待追蹤的物體將對應檢測框加入到追蹤隊列中.這個方法處理速度非常快,但是太依賴于檢測的結果,沒有考慮目標被遮擋等情況下在部分幀中消失的問題,所以這個模型的軌跡斷裂和身份互換問題較為嚴重.
針對IoUtracker 模型的問題,Bochinski 等在2018年提出了V-IoU 模型[18].這個模型是在IoUtracker 模型的基礎上增加一個單目標追蹤器,基礎想法是在目標消失時,使用之前幀的圖像信息初始化單目標追蹤器,利用這個單目標追蹤器繼續尋找并對該目標進行追蹤.
但是這個模型也存在著一些問題.例如在目標間發生遮擋的情況下,在被遮擋的目標最后一次被檢測到時,這兩個目標的檢測框很可能已經有了較大程度的重疊,那么使用這樣的檢測框進行初始化的視覺追蹤獲得的特征中就會有較多遮擋者的信息,這會導致視覺追蹤就可能受到這些錯誤特征的影響而追蹤遮擋者,導致后續的身份匹配失敗.另外這個算法是在軌跡斷裂后才發揮作用,可能對斷裂前的身份變化的應對能力不足.
通過對IoU 追蹤算法的分析可知,該類型的追蹤算法有較大的進步空間和研究價值,存在的問題主要是目標檢測模型的失誤和目標間遮擋引發的.目標檢測模型的失誤帶來的影響很難用追蹤模型進行彌補,所以本文將側重點放在緩解目標間遮擋帶來的影響上.
本算法借鑒V-IoU 算法中的利用視覺信息對IoUtracker 模型進行改進的基本思路,整個算法的介紹如下:本算法先使用IoU 算法進行追蹤,然后使用圖像信息對IoU 算法的結果進行校驗,校驗不通過的ID 需要進行再匹配,最后得到較優的結果.針對目標間遮擋造成的問題,采取利用目標間的IoU 信息預測可能發生的遮擋,提前獲得較為可靠的目標圖像信息來幫助在遮擋結束后的目標身份分配的方法,從而緩解身份互換的問題.另外,本算法對每個目標在下一幀的位置進行預測,使用預測位置進行交并比的計算,被遮擋目標再次出現的身份匹配也采用該目標運動后的預測位置進行對檢測結果的搜索.因為本算法追蹤的目標為行人,根據社會力模型[19]和人群運動模式模型[20]等研究,行人的運動具有一定規律,例如更傾向于直線運動等.而且本算法假定視頻序列的幀率較高,所以借用微分的思想,認為相鄰幀中目標的運動是勻速直線運動,進而對下一幀中目標的大致位置進行預測.
本算法的大致步驟如圖1所示.基本流程為第一幀按檢測賦ID,并保存所有目標的特征向量.從第二幀開始,先用IoUtracker 模型進行追蹤,然后對新增軌跡進行復查,減少軌跡數量.接著對每條軌跡進行校驗,校驗部分的流程會在后面詳細說明.在把當前幀中所有軌跡校驗完成后,根據上一幀和當前幀同一目標的中心點距離和方向計算運動矢量,從而得到該目標在下一幀中的預測位置,如圖2所示.在圖2中,第t–1 幀中該目標檢測框用細線框標出,第t幀中的檢測框則用粗線框表示,結合這兩幀中該目標的檢測框信息,預測第t+1 幀中該目標位置為虛線框所示.利用估算的位置和第二幀中的檢測框大小計算各目標間的IoU,超過閾值σoc的認為可能會發生遮擋,記錄ID、預測前進方向和距離,以及第二幀中的特征向量,把這些和預測遮擋相關的信息放入遮擋列表.

圖1 本算法的基本流程

圖2 預測目標大致位置的示例
對新增軌跡進行復查是針對被檢測到了,但是由于交并比不足導致被認為是新目標的檢測結果,利用圖像信息把新增的目標與在當前幀中沒有更新的軌跡進行匹配.
由于本算法是建立在攝像頭或視頻的幀率較高且無較大變化的假設上的,所以相鄰幀的目標位置變化較小,參考微分的思想可以認為相鄰幀間目標是勻速直線運動的,這樣可以預測下一幀中目標的大致位置.本算法使用中心點、檢測框大小和運動矢量進行目標位置的預測.
當預測的軌跡超出圖像范圍或當前幀的位置在圖像邊緣且目標大小出現明顯變化時,認為該目標即將離開圖像,將其標記出來.當軌跡消失達到一定幀數時,認為這個軌跡終止,也會將其標記.這些被標記的軌跡在較少幀數后模型會停止對這些軌跡的校驗和匹配.
對于未終止的軌跡,流程如圖3所示.在校驗階段將當前幀的特征向量與該ID 之前幀中的特征向量進行比較.若該ID 在遮擋列表中,則增加使用遮擋列表中的特征向量的判別.校驗通過則該檢測結果繼承ID,否則先根據預估位置和運動矢量判斷這些目標是否超出圖像區域,如果是的,則將這些目標的上一幀記錄和遮擋列表里的記錄刪除,并移出追蹤隊列.仍未解決的軌跡以上一幀追蹤框的中心點為中心,上一幀追蹤框的頂點向追蹤框外移動預測運動矢量后作矩形R,若有檢測結果與矩形R的IoU 大于閾值σda,則將這個檢測結果列為候選對象,利用圖像信息判斷該檢測結果的ID 歸屬.

圖3 未終止軌跡校驗流程
把原軌跡中上一幀的檢測框和預測運動矢量相結合,可以得到目標的大致范圍,進而提升找到匹配的檢測結果的效率.這一步主要是為了緩解序列幀率較低或目標大幅度改變運動方向等情況造成的預測運動矢量出現偏差的問題.
本算法主要可以分為4 個模塊,分別為目標位置預測模塊、軌跡整合模塊、遮擋預測處理模塊和目標校驗與再匹配模塊.
(1)目標位置預測模塊
本模塊主要負責對目標下一幀位置的預測.如圖2所示,在視頻序列幀數較高,目標在相鄰若干幀之間位置變化較小的假設基礎上,本算法根據前兩幀中目標的位置變化,結合微分的思想,以勻速直線運動方式預測目標位置,形成目標運動向量和目標預測位置處的檢測框,為接下來的模塊提供信息.
(2)軌跡整合模塊
本模塊負責對IoUtracker 模型的結果進行預處理.
由于IoUtracker 模型要求軌跡必須連續,沒有任何對目標間遮擋等造成檢測結果中斷后目標再次出現的處理方法,所以該模型輸出的新增軌跡中包含大量原有斷裂軌跡的目標.因此本模塊在目標再匹配之前,對IoUtracker 結果中新增的軌跡進行篩查,合并能和已有軌跡匹配的新增軌跡,達到初步對抗遮擋,減少軌跡總數的效果.
本模塊通過遍歷新增軌跡,通過它們與已有軌跡的預測目標位置的交并比和圖像特征相似度,與當前幀中未更新且未被視為結束的已有軌跡嘗試匹配的方法,進行軌跡整合.
(3)遮擋預測處理模塊
本模塊主要負責尋找可能發生遮擋的目標,并在遮擋發生前保存該目標較為完整的圖像信息.
本模塊使用目標位置預測模塊輸出的目標預測位置,計算下一幀中各目標檢測框的交并比,如果有一組目標的交并比超過閾值σocc,則將它們的身份ID和當前幀中的圖像特征存入遮擋列表,直到目標的預測檢測框與其它目標的交并比小于σocc,此時本算法認為該目標遮擋過程結束或遮擋可能性消失,將該目標從遮擋列表中移除.
另外,如果目標已經在遮擋列表中,就不更新該目標的信息.因為此時該目標可能已經進入遮擋過程,該目標對應的圖像信息不一定比之前保存的特征更加有效,所以本算法選擇不更新遮擋列表中該目標的特征.
(4)目標校驗與再匹配模塊
本模塊負責使用圖像特征對IoUtracker 模型的輸出進行校驗,并在目標沒有通過校驗的情況下為目標找到更適合的檢測結果.
本模塊的主要流程如圖3所示.本模塊使用當前幀中軌跡匹配的檢測與該軌跡之前幀中最后一個檢測和遮擋列表中該軌跡保留的特征相似度進行校驗.如果通過校驗,該檢測結果就繼承該軌跡身份.否則該軌跡預測位置框放大其運動矢量大小的矩形框作為搜索依據,與這個矩形框交并比大于σreIoU(進行再匹配時目標檢測結果與軌跡框的交并比閾值)的檢測結果再與該軌跡進行圖像特征校驗,超過一定閾值時允許該檢測結果繼承身份.如果該檢測結果已經與另一軌跡匹配,則該檢測結果這兩個軌跡之前幀中最后一個檢測和遮擋列表中該軌跡保留的特征與該檢測結果特征相似度更高者的身份.
監控管理平臺軟件除了要具備最基本的音視頻操作功能,面臨的主要問題就是如何構建面向應用服務的綜合管理平臺軟件,包括:對大型網絡環境下分散場所的視頻監控設備統一管理,對統一系統不同類型的視頻采集設備、報警設備和門禁設備統一管理,對不同部門不同權限用戶不同業務需求統一管理。雖然近年來平臺軟件也有較大發展,但跟整個行業市場相比,還存在一定差距——要么功能貌似很多但不實用,要么架構復雜,成本居高不下,要么運行所需環境簡單,無法提供健壯的擴展性,要么操作復雜難以上手。雖然平臺軟件的重要性不言而喻,但在國內安防行業中卻存在著認知度不足、市場規模不大、價值難以體現等窠臼。
本文采用2DMOT15[21]和MOT16[22]數據集進行實驗.2DMOT15 數據集包含了22 個視頻,這些視頻被等分為訓練集和測試集兩部分.這些視頻來源于其它數據集,并且使用的錄制條件也不同,例如攝像機的運動,環境和光照的變化等.這個數據集一共有11 283 張分辨率不統一的圖像,共計包含1 221 個不同的人,總共有101 345 個檢測框.MOT16 數據集共含有11 235幀圖像、1 342 個人和292 733 個檢測框.包含了多個行人目標,并存在目標交互與遮擋,其中訓練集和測試集各有7 段視頻.
實驗中采用的評判標準以正確識別的檢測與平均實際結果數和計算的檢測數之比(IDF1)以及多目標追蹤精度(MOTA)[23]兩種為主,IDF1 綜合了ID 準確率(IDP)和ID 召回率(IDR),公式如式(1)所示.MOTA公式如式(2)所示,其中FN為false negative,指追蹤算法沒有追蹤到的真實目標的數量;FP為false positive,指在追蹤算法生成了軌跡但真實情況并沒有該軌跡的數量;IDS 是指ID 交換的情況,也就是雖然檢測到了目標并成功追蹤到了,但是對目標的身份識別錯誤的次數.GT 指標注數據值.IDF1 側重于軌跡中ID 信息的準確性,而MOTA則更全面,并且能體現出軌跡中ID的穩定性.
此外,本文還采用命中目標軌跡數量(MT)和丟失目標軌跡數量(ML)等參數對結果進行分析.其中,命中目標軌跡數量指結果中與標注軌跡重合超過80%的軌跡的數量.丟失目標軌跡數量則指的是結果中與標注軌跡重合小于20%的數量.

為了驗證本算法的效果,將本算法與其它算法的實驗結果進行對比.本算法與其它算法的實驗結果對比是在MOT16 數據集上進行的,由于本算法主要在于對IoUtracker 模型的改進,所以增加了在2DMOT15 數據集上與V-IoU 算法的對比,以說明本算法對IoUtracker改進的效果.而且由于本算法和V-IoU 算法都進行了對IoUtracker 模型的改進,所以兩者在使用IoUtracker模型的部分的參數保持一致,并且均使用CenterNet 模型得到的檢測結果,這樣有利于獲得更可靠的比較結果.
4.2.1 與V-IoU 算法結果的對比
V-IoU 算法和本文算法在2DMOT15和MOT16數據集上的各項指標結果如表1所示.參數旁邊的“↑”表示該參數越高,該模型的追蹤效果越好;“↓”表示該參數越低,該模型的追蹤效果越好.從表1可以看出,本文算法在MOTA、IDF1 等指標上相對于V-IoU 算法都有一定的提升,主要原因有兩點.一是因為本文算法可以對IoUtracker 模型的結果進行修正,將檢測到的結果盡可能連接到真正的軌跡上,而不是在軌跡斷裂后才進行應對.二是本文算法采用預測目標大致位置和可能的遮擋的方法,能夠更精確地尋找目標,并在認為遮擋可能發生時就保存相關信息,而不是使用目標被遮擋的前一幀處的很可能被污染或大量缺失的信息.
雖然本文算法在MOTA和IDF1 等指標上取得了一定的提升,但是本文算法在FP和IDS 指標上表現出了不足.這是因為IoUtracker 模型會舍棄較短和整條軌跡中的檢測得分不高于σh的軌跡,以此來對抗檢測結果的錯誤.但是一些相對較小的目標的軌跡也會被忽略,造成FN的上升.V-IoU 模型引入單目標追蹤器緩解軌跡斷裂問題,但是依然保留對一些目標軌跡的忽略.而本算法認為,目前相對成熟的目標檢測模型輸出的檢測結果,在使用一定閾值的檢測得分篩選后,留下的更多是需要的目標,所以本算法盡可能利用所有滿足閾值的檢測結果.從表1中的FP和FN 指標的對比可以發現,本算法用相對較低的FP 增加的代價,得到了FN 指標上的較多提升,這也說明了本算法在檢測結果利用上的優勢.表2是各模型和標注真實值在MOT16 訓練集上使用的檢測結果數量,可以看出本算法的數量更接近真實值,也說明了本算法的優越性.大幅降低的FN 指標緩解了FP和IDS 指標上升帶來的負面影響,所以在MOTA指標上本算法能相對于IoUtracker 模型和V-IoU 模型有一定的提升.

表1 本文算法與V-IoU 算法的實驗結果對比

表2 MOT16 訓練集上各模型使用的檢測結果數量
本文算法在MOT16的各個視頻序列上的測試結果如表3所示,這里主要考慮的是IDF1和MOTA這兩個指標,對本算法進行分析.
分析表3的數據可知,本算法在MOT16-04和MOT16-11 上的效果較好,而MOT16-08和MOT16-14 序列的結果則不是很理想.前者說明本文算法對于攝像頭的小幅度移動具有一定的魯棒性.后者結果較差的可能的原因是在攝像頭大幅度運動和在大景深導致的行人大小和交錯遮擋形成的復雜場景中,本文算法不能很好地預測目標的軌跡,以及不能很好地處理目標大小差距帶來相關問題.結合表1中本算法FP、FN和IDS 等指標較高的問題,說明本算法仍有許多不足,需要采用一定的方法調整模型.這些為繼續改進本算法提供了方向.

表3 本文算法在MOT16 各序列上的結果
4.2.2 與其它算法結果的對比
本算法在MOT16 測試集上與其它算法的實驗結果對比如表4所示.參數旁邊的“↑”表示該參數越高,該模型的追蹤效果越好;“↓”表示該參數越低,該模型的追蹤效果越好.由表4可以看出,本算法在MOTA和IDF1 指標上有一定的優勢,在MT和ML 指標上,本算法也達到了較高的水平,這說明本算法在追蹤的整體效果上取得了較好的表現.

表4 不同算法在MOT16 數據集上的實驗結果對比
CNNMTT 模型[24]基于社會力模型中行人會成群運動的思想,通過先粗分人群再細分的方法,結合匈牙利算法對卷積網絡提取的特征進行匹配,取得了較好的效果.這個算法和本算法都運用了社會力模型的思想,但是該算法沒有充分考慮人群中目標間互相遮擋帶來的影響,所以整體追蹤效果受到了一定的影響.smartSORT 模型[25]將前兩幀的目標特征融合后進行特征匹配,但是對行人空間信息的運用較少,一定程度上影響了該算法的命中軌跡數量指標.RAR16wVGG 模型[26]結合遞歸神經網絡和循環神經網絡,根據長期軌跡進行數據關聯和目標的時空狀態預測,很好地提高了命中軌跡數量并降低身份互換數量,但是對于較短軌跡的匹配效果稍差,進而影響了漏報率指標.VMaxx模型[27]使用卷積網絡提取的圖像特征和空間運動信息,結合雙流長短時記憶網絡提供的長期目標圖像特征和運動信息進行身份匹配.這種方法可以有效學習到軌跡的特征,從而降低丟失軌跡數量,但是由于缺少身份矯正機制,一旦身份分配出現錯誤就會延續下去,導致IDF1 指標的結果較為不理想.
本文算法通過使用圖像信息對充分利用目標空間信息的IoUtracker 模型的結果進行校驗,并考慮了遮擋應對機制,結合目標空間狀態預測,在整體追蹤效果上取得了較好的效果.但是從實驗結果對比中可以看出,本算法的實驗結果評估中,IDS 指標不理想,說明本算法的身份矯正機制較為敏感,進而造成了這一指標出現的問題.
4.2.3 消融實驗
為了更好地分析本算法的性能,研究各模塊對結果的影響,本文對模型進行了消融實驗.本實驗是在MOT16的訓練集上進行,分別移除目標位置預測模塊、軌跡整合模塊、目標再匹配模塊和遮擋預測處理模塊,結果如表5所示.
表5中的結果說明,對結果影響最大的模塊是目標位置預測模塊,而其它模塊的作用相對較小.通過觀察視頻序列,發現本數據集中的遮擋情況并不十分嚴重,因此后3 個針對遮擋的模塊的效果受到了影響,而目標位置預測模塊作用于所有的軌跡,所以場景對該模塊的影響較小.另外,目標再匹配模塊移除后對IDF1指標的影響較大,說明了在IoUtracker 中存在大量身份匹配的錯誤,本算法借助圖像信息糾正了一些這樣的錯誤,實現了追蹤性能的提升.

表5 移除模塊消融實驗結果(%)
另外,表5中最后一行是在為了研究遮擋預測處理模塊中,保留目標第一次進入遮擋列表時的特征是否更加有效的實驗結果.該數據是在其它模塊正常工作,只是當遮擋列表中的目標再一次滿足σocc時,使用該幀目標的特征更新遮擋列表中的特征的情況下得到的.可以看出雖然MOTA沒有變化,但是IDF1 出現了下降的情況.這說明本算法保留目標第一次進入遮擋列表時的特征的方法更有利于緩解目標間遮擋的影響.
表6是逐步添加模塊的消融實驗結果.由于本算法處理遮擋的方法允許目標短暫消失,所以沒有采用IoUtracker 模型中終止軌跡的相關方法,這使得本算法不會拋棄部分檢測結果,但在沒有后續模塊時,不能將一些發生過斷裂的軌跡連接起來,所以在沒有添加后續模塊時,相較于IoUtracker的結果,本算法的MOTA會偏高而IDF1 則偏低.
表6的結果再次證明了目標位置預測的重要性,而其它模塊的作用更多地體現在IDF1 指標上,這說明這些模塊在軌跡斷裂后恢復目標身份,維持身份的穩定等方面有一定的效果.

表6 添加模塊消融實驗結果(%)
4.2.4 實驗結果可視化示例
為了更直觀地對這兩種多目標追蹤算法的效果進行比較,本文將MOT16-01 視頻序列的部分實驗結果可視化,如圖4和圖5所示.圖4(a)和圖5(a)均為V-IoU算法的效果,圖4(b)和圖5(b)均是本算法的效果,而同一列為同一幀圖像.圖4是一個目標在較大跨度的幀中的追蹤情況,圖5是一次目標間遮擋前后,幀跨度較小的追蹤情況.
通過圖4中的對比可以看出,V-IoU 算法在該目標的整個軌跡的處理中出現了間斷,造成該目標ID的變化;而本算法則全程保持了該目標的ID,得到了更好的追蹤結果.而圖5中,被遮擋的目標再次出現后,V-IOU 算法并沒有很好地識別該目標,甚至出現了兩個目標均更換了ID的情況;而本算法通過提前保存信息和預測運動軌跡的方法,成功在目標再次出現時保持了目標的ID,擁有更穩定的追蹤表現.

圖4 同一目標在較大跨度幀中的追蹤效果

圖5 目標間遮擋前后的追蹤效果
本文采用CenterNet 模型檢測當前幀中的行人,使用IoUtracker 模型進行初步追蹤,結合檢測模型提供的行人特征向量對初步追蹤的結果進行校驗,對沒有通過校驗的軌跡進行再處理,尋找更適合的檢測結果,最后得到相對較優的匹配結果.對于目標間遮擋的問題,本文提出的算法通過預測目標的運動軌跡,提前判斷是否會出現遮擋,并在遮擋前保存相對完整的目標特征和運動矢量,為遮擋結束后的身份分配提供更可靠的依據.本算法采用MOT16 數據集進行實驗,在測試集上的平均追蹤精度達到了66.1%,平均IDF1 獲得了64.5%的結果,但是在場景特別復雜和攝像頭大幅度運動的情況下的追蹤效果不是特別理想.綜上,本算法取得了一定的效果,但是仍有可以繼續改進的部分,我們會把提高追蹤效果和優化算法流程提高處理速度作為重點展開后續的研究.