關賀文 胡曉杰
沈陽理工大學信息科學與工程學院 遼寧 沈陽 110159
本文主要通過基于目標的行人檢測與跟蹤算法,擬將室內視頻中的目標都逐幀的檢測出來,并將所檢測到的結果進行數據分析計算與關聯,從而將確定視頻內每個目標行人的各自位置及其運動軌跡。
基于目標的行人檢測與跟蹤分為兩大部分:行人檢測和行人跟蹤,行人檢測是利用目標檢測算法的檢測器對視頻序列中的目標進行自動檢測、確定其位置后進行自動的標注出來。行人跟蹤則主要是根據目標檢測的結果進行識別目標和跟蹤目標,精準地預估到目標的位置、并預測其運動軌跡等,最終追蹤到其準確的行進間軌跡。但是由于在現實生活中采集到的視頻信息場所內會存在非常不確定性的變化,存在著極大偶然性和突發性,例如由于光線原因目標采集不清晰,或是物體的位置相交錯位導致的目標被遮擋等情況,光是依靠于檢測與追蹤技術有時是很難達到理想的目的,不能得到期望的實驗結果。因此,為了加大最后結果的準確性和一致性在此基礎上還引入了行人再識別技術進一步校正進行輔助增強。
目標檢測是將圖像中的目標與其余區域分離開,判斷是否存在目標,如果存在目標則確定目標的位置[1]。
現在經常被市面上使用的檢測算法可以大體的分為兩大類分別是基于anchor-base的和anchor-free的。由于目前基于anchorbase的檢測算法的主體思想還是要配置許多的anchor和配發正負樣本加上進行數據訓練這樣的一個思路。anchor實際上就是關于被檢測目標的候選框,因為目標的形狀和位置是不可規定的有著許多種的結果,所以導致anchor的數量會異常的多,不然的話就會有落下的情況發生,這種狀況則對于one-stage的檢測算法有著更明顯的影響。因此會帶來兩個問題:a.盡管存在著大量的anchor但其中只有少部分和gt的重合度較高,只有這些才可作為正樣本進行訓練,剩下的都是負樣本,這也是檢測算法中最為重要的也是都要思考的均衡問題,各種算法在解決這個問題時通常也會采用不同的方法。b.Anchor的設置本身也是需要超參數的。基于以上這兩點原因所以我們選用了Corner Net,這樣一種基于anchor-free的目標檢測算法。
Corner Net算法使用了Hourglass網絡結構,這個網絡的形狀跟沙漏十分的類似,網絡的前半部分通過下采樣不斷減少特征,后半部分利用上采樣增大來特征,中間的結構中還有與fpn網絡相似的將前后網絡相加。CornerNet也提出了一種適用于CornerNet網絡的corner pooling,目的是為了建立點corner和目標的位置關系。一般而言,知道了bounding box的左上角和bounding box的右下角就可以確定位置所在的范圍和區域。
由于在目標檢測算法中大多數的算法對應的都是基于多目標的檢測,為了確保多目標的追蹤所以選擇了track+detection(檢測+追蹤)這樣的一種策略。檢測和追蹤互相依托的存在可以大大減少錯誤發生的概率,所以選擇了這樣的策略。Deep SORT作為目前一種極其常用的跟蹤算法,它的跟蹤的思路就是當下比較主流的跟蹤思路:基于目標檢測的結果進行跟蹤,將檢測與跟蹤結合在一起。除了運用基本的運動信息來預測跟蹤目標之外目標之外,Deep SORT還會提取每一個目標的外觀特征,并且將每一個目標的每一次匹配到新的檢測框的外觀特征存儲為一個集合,在每一次跟蹤匹配的時候,計算新的檢測框外觀特征與該匹配目標的外觀特征集合的最小余弦距離[2]。Deep SROT想要把外觀信息加入到匹配計算之中,這樣在目標被遮擋后又出現的情形下,還能夠正確匹配ID還能減少ID switch頻繁的情況[3]。
以檢測器檢測算法檢測出的目標檢測結果作為Deep SORT的輸入:bounding box、confidence、feature 這三項。Deep SORT的核心工作流程大可分為三步:預測(track)→觀測(detection+數據關聯)→更新。
首先第一步是預測(track)板塊,會對視頻影像中的行人通過使用卡爾曼濾波器進行下一幀的軌跡預測,預測出下一幀的bbox。使卡爾曼濾波進行預測后,會對當前幀預測出來一個軌跡bbox。第二步是觀測(detection+數據關聯)板塊,算法會對視頻影像中的行人進行當前幀的目標檢測,檢測出目標的后,僅僅依賴檢測結果并不能與上一幀的目標直接對應起來,為了增加追蹤的準確度所以還要進行數據關聯。將detection bboxs結果和預測的bbox進行數據關聯(matched tracks);最后一步就是更新板塊,更新的內容包括匹配,追蹤器更新與特征集的更新。其根本的方法還是使用IOU計算和匈牙利算法來進行匹配。由于預測的bbox和檢測到的bbox都會存在些許誤差,這時候更新操作就顯得尤為重要,一般來說再次操作后精度都會提高。圖1是DeepSORT對路人進行跟蹤的結果,每一個框的上的數字都是用來標記行人的唯一ID號。

圖1 Deep Sort跟蹤樣例圖
在使用DeepSORT進行行人跟蹤后會引發出一些問題,如圖1所示:當圖中正在走動的1號人物目標和正在走動的4號人物目標相向而行當交錯的一瞬間,2人物相互重疊在一起時,行人檢測在此時此刻無法準確的辨析出兩個人所處的位置,會認為是同一個人物ID。所以會間接的致使行人追蹤在二者相互重疊后錯開時無法分辨出兩個人,有可能引起ID改變(即IDSwitch)這樣的問題。
交錯行人間的相互疊加和遮擋一直以來都是行人檢測和行人追蹤領域中的一個難題,為了尋找解決問題的突破口決定從工程上來進行切入,所以準備在行人跟蹤模塊引入行人再識別技術來對行人的軌跡進行糾正和提高準確度。
行人再識別的實現思路是先在圖片中抽取特征之后再進行比對,首先通過檢索網絡抽取樣本圖片的特征,第二步將底庫中里的所有圖片全部抽取圖片特征,接著將檢索圖與底庫圖中的特征進行距離計算(例如歐氏距離),最后根據計算得出的距離結果進行降序排列,排序越靠前相應的分值越高表示圖片之間的相似度越高。從而可以設置一定的閾值將相似度分數一定程度以上的幾張或多張圖片中的人物,認為是同一ID這樣就可以在一定的程度上改正跟蹤中出現的一些有關于ID的錯誤變化。
在圖2原本在追蹤過程中交錯兩人發生改變的ID通過行人再識別技術將錯誤的ID給糾正了過來,由此可見在行人追蹤中通過調用行人再識別技術可將結果的準確率在一定程度上提高可將某些錯誤糾正。行人跟蹤-再識別改正結果如圖2所示。

圖2 行人跟蹤-再識別結果樣例圖
雖然目前市面上有關于目標檢測與跟蹤的方法并不少,但每一類方法或算法都有其不足和缺點,距離可實施性和實用性的程度在解決和提升上還存在著不少的難題。主要集中于以下幾點:
第一,物體間由于光線的陰影導致視頻圖像采集困難或不清晰。
第二,運動間的目標物體頻繁的變動導致的物體交錯遮擋和干擾問題。
綜上所述,在具體操作時還是要依據實際的情況來選擇合適的目標檢測與跟蹤算法具體去實施,也可以適度的在工程上進行改進和利用多項技術來確保工程的有效進行,以提升效率。