天天看點

行人追蹤算法行人追蹤算法

行人追蹤算法

文章目錄

  • 行人追蹤算法
    • 技術難點
    • 技術背景介紹
    • 多目标深度學習
        • 二分圖算法
        • 特征建立算法
    • 常見兩種多目标追蹤算法
      • SORT算法
      • DeepSort算法
    • 對于現有的多目标預測算法能夠改進的地方
    • 最新進展
      • MOTDT
      • JDE

技術難點

​ 1.行人出現後,自動跟蹤

​ 2.行人結束後自動消失,釋放記憶體

​ 3.移動狀态下進行目标跟蹤

​ 4.行人狀态的改變,包括行人遮擋行人姿勢的改變

​ 5.行人運動狀态的BBOX大小也會發生改變

​ 6.行人之間的互相關聯性,比如行人會進行避讓

技術背景介紹

常見的追蹤算法

  • 基于機特征歸納的 主要是一些特征提取+濾波類搜尋算法。
    • 其中特征提取主要有:局部、全局特征、模闆、直方圖、binary pattern、PCA、sparse PCA、SR(sparse representation)、 discriminative model、generative model。
    • 對于搜尋機制:CSK、KCF/DCF、CN、粒子濾波、馬爾可夫鍊蒙特卡羅法、局部最優搜尋、密集抽樣搜尋。
  • 深度學習方式
    • 1、tracking-by-detection方式

      主要針對目标檢測算法和濾波類算法(多目标跟蹤),yolo系列、SSD系列、anchor-free系列、two-stage系列等等,濾波類和上述傳統方式相似。

多目标深度學習

主流是tracking-by-dection方式來進行預測 TBD算法

通過前一幀和後幀的結果中行人檢測的結果,來比對不同幀之間的結果找到對應的算法,來進行行人的跟蹤算法。

tracking中的匹對順序會對速度以及結果有比較大的影響

二分圖算法

主要難點:

1. 多個候選框可能會比對到同一目标上
1. 可能出現舊目标消失和新目标出現的兩種情況,這兩種情況都沒有辦法進行目标配對
           

二分圖算法是指,兩個集合之間的映射問題。TBD算法前一幀和後一幀都生成了多個檢測框(包含行人),需要将這兩個幀的候選框進行兩兩配對找出比較溫和的一些組合.

二分圖算法,主要包括匈牙利算法和KM算法

具體算法原理

帶你入門多目标跟蹤(三)匈牙利算法&KM算法 - 知乎 (zhihu.com)

特征建立算法

建立良好的特征能夠比較好的對行人進行歸納,這樣就可以加快計算方式

比較常見的兩種特征建立方式:

1. 手動歸納特征
1. 通過神經網絡來建立特征
           

常見兩種多目标追蹤算法

SORT算法

行人追蹤算法行人追蹤算法

sort算法的架構是大部分多目标檢測算法的架構

主要用到兩個部分

  • 卡爾曼濾波預測目标的位置
  • 匈牙利比對算法,比對二分圖

将檢測框和預測框(卡爾曼濾波預測)進行比對,分為三種情況進行讨論

  1. 預測不比對 删除預測分支
  2. 目标不一緻 添加預測分支
  3. 比對一緻 更新卡爾曼預測分支

DeepSort算法

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-ZcHLI5Cq-1646903658046)(https://pic2.zhimg.com/80/v2-b14c878ab080eead0c89ecccc1f40f89_720w.jpg “DeepSort算法架構”)]

DeepSort算法需要連續命中三次才能确認新軌迹

  1. Kalman Filter Predict 卡爾曼預測确認
  2. Matching Cascade 級聯比對确認
  3. IOU match 損失函數比對确認

級聯比對器并不對後續結果參上直接影響,因為情況的複雜性和多變性

行人追蹤算法行人追蹤算法

級聯比對的關鍵思想,引入了對象消亡時間,missing age = 30,當對象連續三十幀沒有軌迹比對上就進行丢棄,同理,新的預測軌迹需要與前三十幀的圖像進行比對

對于現有的多目标預測算法能夠改進的地方

行人追蹤算法行人追蹤算法

第一點,把Re-ID網絡和檢測網絡融合,做一個精度和速度的trade off;

第二點,對于軌迹段來說,時間越長的軌迹是不是更應該得到更多的信任,不僅僅隻是級聯比對的優先級,由此可以引入軌迹評分的機制;

第三點,從直覺上來說,檢測和追蹤是兩個相輔相成的問題,良好的追蹤可以彌補檢測的漏檢,良好的檢測可以防止追蹤的軌道飄逸,用預測來彌補漏檢這個問題在DeepSORT裡也并沒有考慮;

第四點,DeepSORT裡給馬氏距離也就是運動模型設定的系數為0,也就是說在相機運動的情況下線性速度模型并不work,是以是不是可以找到更好的運動模型。

出處:多目标跟蹤(MOT)入門 - 知乎 (zhihu.com)

最新進展

行人追蹤算法行人追蹤算法

這是最近比較新的一些方法。

工業界青睐的算法在學術界其實并不重視,一方面是因為開源的原因,另一方面可以看到頂會的算法都不是注重速度的,通常用了很複雜的子產品和trick來提升精度。

而且這些trick不是一般意義的trick了,是針對這個資料集的或者說針對糟糕檢測器的一些trick, 對于實際應用幾乎沒有幫助。

第一篇論文是基于DeepSORT改進的,它的創新點在于引入了軌迹評分機制,時間越久的軌迹可信度就越高,基于這個評分就可以把軌迹産生的預測框和檢測框放一起做一個NMS,相當于是用預測彌補了漏檢。

第二篇論文是今年9月份發在arxiv上的一篇論文,它的工作是把檢測網絡和嵌入網絡結合起來,追求的是速度和精度的trade off。

MOTDT

行人追蹤算法行人追蹤算法

這是剛才列舉的第一篇論文(MOTDT)的流程圖,大概和DeepSORT差不多。這個圖畫的比較簡單,其實在NMS之前有個基于SqueezeNet的區域選擇網絡R-FCN和軌迹評分的機制。這兩個東西的目的就是為了産生一個統一檢測框和預測框的标準置信度,作為NMS的輸入。

這篇文章的翻譯在《Real-Time Multiple People Tracking With Deeply Learned Candidate Selection And Person Re-ID》論文翻譯

JDE

行人追蹤算法行人追蹤算法

這是剛才第二篇論文(JDE)裡的結構圖。這個方法是基于YOLOv3和MOTDT做的。它網絡前面都和YOLOv3一樣的,主要就是在特征圖裡多提取了一個嵌入(embedding)向量,采取的是類似于交叉熵的triplet loss。因為是多任務學習,這篇論文還用了一篇18年的論文提出來的自動學習損失權重方案:通過學習一組輔助參數自動地對非均勻損失進行權重。最後的結果是精度上差不太多,FPS高了很多。

Ov3一樣的,主要就是在特征圖裡多提取了一個嵌入(embedding)向量,采取的是類似于交叉熵的triplet loss。因為是多任務學習,這篇論文還用了一篇18年的論文提出來的自動學習損失權重方案:通過學習一組輔助參數自動地對非均勻損失進行權重。最後的結果是精度上差不太多,FPS高了很多。

這篇文章的翻譯在 《Towards Real-Time Multi-Object Tracking》論文翻譯

繼續閱讀