目標跟蹤初步瞭解
阿新 • • 發佈:2020-11-03
卡爾曼濾波
與 光流法 : 都可以用來預測當前幀中的目標在下一幀的位置(用於得到上一幀目標更新到當前幀的位置等)------本質上是一個運動模型,來預測目標在當前幀時刻運動到的位置
3個矩陣:
- 狀態轉移矩陣F: F * x_previous[x,y,h,w,vx,vy,vh,vw] = x_current[x,y,h,w,vx,vy,vh,vw],在卡爾曼濾波模型中認為目標是勻速的!
- 噪聲矩陣
- 測量矩陣
匈牙利演算法:
找出當前幀的某個目標,是否與前一幀的某個目標(而這個前一幀的目標並不是從前一幀取,而是用卡爾曼濾波等預測得到的前一幀目標在當前幀的位置)相同。
( 位置距離 + 特徵距離 = 是同一目標衡量)
#本質上是匹配模型,但是多目標的全域性匹配,被匹配的物件是運動預測到的上一幀目標在當前幀時刻的所有目標(位置) 及 檢測到的當前幀所有目標(位置) 解決的是基於代價的分配問題.那麼只需要將目標間的距離作為代價,來分配ID Person_c1 person_c2 person_c3 person_p1 d11 d12 d13 person_p2 d21 d22 d23 person_p3 d31 d32 d33 最終設定一個d閾值,如果最終分配的路徑結果中,比如為d11 d22 d33,但是d11>d_thresh則,認為當前幀的person_c1是沒有分配成功的目標,認為其為新增目標,分配新增ID!!! 因此先用卡爾曼濾波或光流法對將上一幀目標更新到當前幀,然後用這些與當前幀的新的檢測detections進行匈牙利匹配,來確定是直接分配前幀已有ID還是新增ID. 結果:有些前幀的ID與當前幀的detections匹配上了,有些沒匹配可能導致前幀的ID在當前幀沒了(跟丟),也可能導致當前幀的detections沒有匹配(新增ID))
跟蹤調研
現在主流的跟蹤基於檢測的,tracking by detecting
目標跟蹤更多考慮的是對目標的表達,跟蹤過程中對目標表示的更新,跟蹤中對周圍環境變化資訊、對時空資訊的利用等等;
跟蹤的難點在於關聯和狀態估計(位置/速度/旋轉)
正因如此,跟蹤任務才即可被看作是生成式任務,也可以被看作為判別式任務,既可以通過深度學習的方法來暴力解決,也可以通過傳統統計學、機器學習的方法來解決優化。
關於跟蹤:
基於顏色特徵
基於相關濾波
基於深度學習
MOTA指標:multiple objects tracking accuracy
多目標跟蹤準確率 = 1-(所有幀中未正確跟蹤的目標數/所有幀中包含的目標數)
最大是1, 最小是-infinity;越小模型越不準!
跟蹤不需要識別,但是現在主流的跟蹤都是基於檢測的跟蹤
運動目標檢測(從背景中分離出運動的前景):
- 幀間差分
- 背景差分
- 光流法
運動目標跟蹤:
- 卡爾曼濾波
- 均值飄移
- 相關濾波(上個時代的巔峰)
- 深度學習:基於SiamFC系列發展
人的行為識別
(屬於模式識別,有一段典型動作編碼,只需與此編碼比對,區分行為動作型別。
目的:給一段視訊序列打動作型別標籤)
應用:視訊檢索,視訊推薦
- 模板匹配法:魯棒性差(13年論文,傳統方法)
- 狀態空間法:(概率轉移法):通過將系列動作構建狀態圖,然後通過某種概率將這些狀態節點的依存關係聯絡起來
動態貝葉斯網路
隱馬科夫模型 - 圖卷積
DeepSORT:
track by detect
demo結果可見明顯的問題:(why)
- 當兩個目標靠的較勁有overlap,id會被影響,賦予最新的ID(作為新目標出現)
- 目標即使沒有靠的近,也會發生跟丟,進而分配最新的ID的情況
處理問題1中的短時間遮擋導致的id交叉:
- 同時考慮了運動資訊deep motion features---DMF及表觀特徵資訊deep appearance features---DAF,來計算tracks和detections的代價矩陣,基於卡爾曼濾波預測下一幀位置
- 且對檢測的每一幀都用一個小型的Reid網路來記錄特徵資訊,如果同時滿足兩種資訊則不會賦予新的ID