多目標跟蹤MOT16數據集和評價指標


最近要做一個有關多目標跟蹤的項目,剛剛接觸MOT,所以先來了解一下MOT16這個比較經典的數據集以及比較經典的評價標准。

1. 多目標跟蹤

多目標跟蹤處理的對象是視頻,從視頻的第一幀到最后一幀,里邊有多個目標在不斷運動。多目標跟蹤的目的就是將每個目標和其他目標進行區分開來,具體方法是給每個目標分配一個ID,並記錄他們的軌跡。

已開始接觸,可能覺得直接將目標檢測的算法應用在視頻的每一幀就可以完成這個任務了。實際上,目標檢測的效果是很不穩定的,其實最大的區別在於,僅僅使用目標檢測無法給對象分配ID,並且跟蹤能夠優化整個跟蹤過程,能讓目標框更加穩定。

多目標跟蹤中一個比較經典的和深度學習結合比較好的方法就是Detection Based Tracking,對前后兩幀進行目標檢測檢測,然后根據得到的前后兩幀的所有目標進行匹配,從而維持ID。初學者接觸比較多的就是SORT和Deep SORT算法了。

2. MOT16數據集

MOT16數據集是在2016年提出來的用於衡量多目標跟蹤檢測和跟蹤方法標准的數據集,專門用於行人跟蹤。官網地址是:https://motchallenge.net/

從官網下載的數據是按照以下的文件結構進行組織的:

- MOT16
	- train
		- MOT16-02
			- det
				- det.txt
			- gt
				- gt.txt
			- img1
			- seqinfo.init
		- MOT16-04
		- MOT16-05
		- MOT16-09
		- MOT16-10
		- MOT16-11
		- MOT16-13
	- test
		- MOT16-01
			- det
				- det.txt
			- img1
			- seqinfo.ini
		- MOT16-03
		- MOT16-06
		- MOT16-07
		- MOT16-08
		- MOT16-12
		- MOT16-14		

在MOT16數據集中,是包含了檢測得到的框的,這樣是可以免去目標檢測這個部分,提供統一的目標檢測框以后,然后可以比較目標跟蹤更關注的部分,而不用在花費精力在目標檢測上。

  1. seqinfo.ini

在每個子文件夾中都有這個,主要用於說明這個文件的一些信息,比如長度,幀率,圖片的長和寬,圖片的后綴名。

[Sequence]
name=MOT16-09
imDir=img1
frameRate=30
seqLength=525
imWidth=1920
imHeight=1080
imExt=.jpg
  1. det.txt

這個文件中存儲了圖片的檢測框的信息(檢測得到的信息文件),部分內容展示如下:

1,-1,1359.1,413.27,120.26,362.77,2.3092,-1,-1,-1
1,-1,571.03,402.13,104.56,315.68,1.5028,-1,-1,-1
1,-1,650.8,455.86,63.98,193.94,0.33276,-1,-1,-1
1,-1,721.23,446.86,41.871,127.61,0.27401,-1,-1,-1
2,-1,460.48,442.1,90.896,274.69,0.26749,-1,-1,-1
2,-1,643.66,461.78,59.629,180.89,0.18023,-1,-1,-1
2,-1,1494.4,408.29,112.14,338.41,0.16075,-1,-1,-1
2,-1,572.83,364.89,128.96,388.88,-0.011851,-1,-1,-1
3,-1,1359.1,413.27,120.26,362.77,2.3387,-1,-1,-1
3,-1,571.03,402.13,104.56,315.68,0.79923,-1,-1,-1
3,-1,1482.5,390.88,128.96,388.88,0.35271,-1,-1,-1
...
600,-1,708.37,476.87,20.435,63.306,-0.1483,-1,-1,-1
600,-1,421.14,446.86,41.871,127.61,-0.19971,-1,-1,-1
600,-1,613.25,412.69,51.78,157.34,-0.38627,-1,-1,-1
600,-1,375.27,454.06,48.246,146.74,-0.42444,-1,-1,-1

從左到右分別代表:

  • frame: 第幾幀圖片
  • id: 這個檢測框分配的id,在這里都是-1代表沒有id信息
  • bbox(四位): 分別是左上角坐標和長寬
  • conf:這個bbox包含物體的置信度,可以看到並不是傳統意義的0-1,分數越高代表置信度越高
  • MOT3D(x,y,z): 是在MOT3D中使用到的內容,這里關心的是MOT2D,所以都設置為-1

可以看出以上內容主要提供的和目標檢測的信息沒有區別,所以也在一定程度上可以用於檢測器的訓練。

  1. gt.txt

這個文件只有train的子文件夾中有,test中沒有,其中內容的格式和det.txt有一些類似,部分內容如下:

1,1,912,484,97,109,0,7,1
2,1,912,484,97,109,0,7,1
3,1,912,484,97,109,0,7,1
...
136,1,912,484,97,109,0,7,0.93878
137,1,912,484,97,109,0,7,0.86735
138,1,912,484,97,109,0,7,0.79592
139,1,912,484,97,109,0,7,0.72449
140,1,912,484,97,109,0,7,0.65306
...
338,1,912,484,97,109,0,7,0
339,1,912,484,97,109,0,7,0
340,1,912,484,97,109,0,7,0
341,1,912,484,97,109,0,7,0
...
599,1,912,484,97,109,0,7,1
600,1,912,484,97,109,0,7,1

1,2,1338,418,167,379,1,1,1
2,2,1342,417,168,380,1,1,1
3,2,1346,417,170,380,1,1,1
...

從左到右分別是:

  • frame: 第幾幀圖片

  • ID:也就是軌跡的ID,可以看出gt里邊是按照軌跡的ID號進行排序的

  • bbox: 分別是左上角坐標和長寬

  • 是否忽略:0代表忽略

  • classes:目標的類別個數(這里是駕駛場景包括12個類別),7代表的是靜止的人。

    第8個類代表錯檢,9-11代表被遮擋的類別

  • 最后一個代表目標運動時被其他目標包含、覆蓋、邊緣裁剪的情況。

總結:

  • train中含有的標注信息主要來自det.txt和gt.txt。test中只含有det.txt。
  • det.txt含有的有用信息有:frame, bbox, conf
  • gt.txt含有的有用信息有:frame,bbox, conf, id, class
  • output.txt(使用deepsort得到的文件)中含有的有用信息有:frame,bbox, id

3. MOT中的評價指標

評價出發點

  • 所有出現的目標都要及時能夠找到;
  • 目標位置要盡可能與真實目標位置一致;
  • 每個目標都應該被分配一個獨一無二的ID,並且該目標分配的這個ID在整個序列中保持不變。

評價指標數學模型
評價過程的步驟:

  1. 建立 目標與假設最優間的最優一一對應關系,稱為correspondence
  2. 對所有的correspondence,計算位置偏移誤差
  3. 累積結構誤差 a. 計算漏檢數 b. 計算虛警數(不存在目標卻判斷為目標) c. 跟蹤目標發生跳變的次數

  1. MOTA(Multiple Object Tracking Accuracy)

\[MOTA=1-\frac{\sum(FN+FP+IDSW)}{\sum GT}\in (-\infty,1] \]

FN為False Negative, FP為False Positve, IDSW為ID Switch, GT是Ground Truth物體的數量。

MOTA主要考慮的是tracking中所有對象匹配錯誤,主要是FP,FN,IDs. MOTA給出的是非常直觀的衡量跟蹤其在檢測物體和保持軌跡時的性能,與目標檢測精度無關。

MOTA取值小於100,但是當跟蹤器產生的錯誤超過了場景中的物體,MOTA可以變為負數。

ps: MOTA&MOTP是計算所有幀相關指標后再進行平均的,不是計算每幀的rate然后進行rate平均。

  1. MOTP(Multiple Object Tracking Precision)

\[MOTP=\frac{\sum_{t,i}d_{t,i}}{\sum_tc_t} \]

d為檢測目標\(i​\)和給它分配的ground truth之間在所有幀中的平均度量距離,在這里是使用bonding box的overlap rate來進行度量(在這里MOTP是越大越好,但對於使用歐氏距離進行度量的就是MOTP越小越好,這主要取決於度量距離d的定義方式);而c為在當前幀匹配成功的數目。MOTP主要量化檢測器的定位精度,幾乎不包含與跟蹤器實際性能相關的信息。

  1. MT(Mostly Tracked)

滿足Ground Truth至少在80%的時間內都匹配成功的track,在所有追蹤目標中所占的比例。注意這里的MT和ML與當前track的ID是否發生變化無關,只要Ground Truth與目標匹配上即可。

  1. ML (Mostly Lost)

滿足Ground Truth在小於20%的時間內匹配成功的track,在所有追蹤目標中所占的比例。

  1. ID Switch

Ground Truth所分配的ID發生變化的次數,如圖1中(a)所示。

  1. FM (Fragmentation)

FM計算的是跟蹤有多少次被打斷(既Ground Truth的track沒有被匹配上),換句話說每當軌跡將其狀態從跟蹤狀態改變為未跟蹤狀態,並且在稍后的時間點跟蹤相同的軌跡時,就會對FM進行計數。此處需要注意的是,FM計數時要求ground truth的狀態需要滿足:tracked->untracked->tracked,如圖1中(b)所示,而(c)中的不算FM。需要注意的是,FM與ID是否發生變化無關。

  1. FP (False Positive)

當前幀預測的track和detection沒有匹配上,將錯誤預測的track點稱為FP,如圖1所示。是否匹配成功與匹配時所設置的閾值有關。

  1. FN (False Negative)

當前幀預測的track和detection沒有匹配上,將未被匹配的ground truth點稱為FN(也可以稱為Miss)

  1. ID scores

MOTA的主要問題是僅僅考慮跟蹤器出錯的次數,但是有一些場景(比如航空場景)更加關注一個跟蹤器是否盡可能長的跟蹤一個目標。這個問題功過構建二分圖來解決,主要計算對象是IDTP、IDFP、IDFN。

  • IDP:

\[IDP=\frac{IDTP}{IDTP+IDFP} \]

  • IDR:

\[IDR=\frac{IDTP}{IDTP+IDFN} \]

  • IDF1: 正確識別的檢測與真實數和計算檢測的平均數之比

\[IDF1=\frac{2IDTP}{2IDTP+IDFP+IDFN} \]

4. 參考資料

Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics.

https://motchallenge.net/

https://blog.csdn.net/u012477435/article/details/104158573


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM