Multi-Target Multi-Camera Tracking (MTMC Tracking)评价指标

本文介绍了跨摄像头多目标跟踪(MTMC)领域的评估指标,包括基础概念如TP、FP等,跟踪相关指标如MOTA、MOTP等,ID相关指标如IDP、IDR、IDF1等,以及跨摄像头跟踪指标MCTA。通过具体实例说明了各指标的应用场景及重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:https://zhuanlan.zhihu.com/p/35391826

跨摄像头多目标跟踪(Multi-Target Multi-Camera Tracking, MTMC Tracking)是监控视频领域一个非常重要的研究课题,本文以下内容直接简称为MTMC。单摄像头的单目标跟踪和多目标跟踪目前来说还有一些不错的解决方法,但是MTMC这个领域总得来说还没形成一些解决套路,有非常大的研究空间。而MTMC算法的评价指标也是一个极其复杂的系统,拥有十余项评价指标,本文便逐个介绍这些评价指标。

基础概念

为了方便理解MTMC的评价指标,需要先了解一些简单的基本概念,如下:

  • TP:真正(True Positive, TP)是指被模型预测为正的正样本,可以称为判断为正的正确率。
  • TN:真负(True Negative, TN)是指被模型预测为负的负样本,可以称为判断为负的正确率。
  • FP:假正(False Positive, FP)是指被模型预测为正的负样本,可以称为误报率。
  • FN:假负(FALSE Negative, FN)是指被模型预测为负的正样本,可以称为漏报率。
  • Accuracy:准确度是指被分类器判定正确的比重,公示表示为: A = \frac{TP+TN}{TP+TN+FP+FN} \\
  • Precision:精确度是指被分类器判定的正例中真正的正例样本的比重,公示表示为:

P = \frac{TP}{TP+FP} \\

  • Recall:召回率是指被分类器正确判定的正例占总的正例的比重,公示表示为:

R = \frac{TP}{TP+FN}\\

虽然TP这些概念记起来非常混乱,但是其实只要明白两个字母的意义便可以很好的推断出来。第一个字母表示预测是否正确(对和错),第二个字母表示样本的标注标签(正和负)。当然这些指标也是MTMC里面的评价指标之一。

跟踪相关指标

和单摄像头的多目标跟踪(MOT)任务一样,MTMC也有几个共同的评价指标,来评价跟踪的准确性,它们分别是:

  • MOTA:多目标跟踪准确度(Multiple Object Tracking Accuracy, MOTA)是衡量单摄像头多目标跟踪准确度的一个指标,公示表示为: MOTA = 1 - \frac{FN+FP+\mathit{\Phi}}{T} \\ 其中 FN 是指所有帧的假负数之和,即假设 fn_t 为第 t 帧的假负数,则 FN = \sum_t fn_t ,同理 FP = \sum_t fp_tT 是指所有帧真正目标数的总和,即假设第 t 帧有 g_t 个目标,则 T = \sum_t g_t\mathit{\Phi} 是指所有帧目标发生跳变数(Fragmentation), \phi_t 为第 t 帧的目标跳变数,则 \mathit{\Phi} = \sum_t \phi_t 。换而言之,这三项依次表示缺失率、误判率和误配率。MOTA越接近于1表示跟踪器性能越好,由于有跳变数的存在,当看到MOTA小于0的时候请不要感到惊讶。
  • MOTP:多目标跟踪精确度(Multiple Object Tracking Precision, MOTP)是衡量单摄像头多目标跟踪位置误差的一个指标,公式表示为: MOTP = \frac{\sum_{i,t}d_t^i}{\sum_t c_t} \\ 其中 c_t 表示第 t 帧的匹配个数,对每对匹配计算匹配误差 d_t^i ,表示第 t 帧下目标 O_i 与其配对假设位置之间的距离。
  • MT:多数跟踪数(Mostly tracked)是指跟踪部分大于80%的跟踪轨迹数,数值越大越好。
  • ML:多数丢失数(Mostly lost)是指丢失部分大于80%的跟踪轨迹数,数值越小越好。
  • Fragmentation:跳变数是指跟踪轨迹从“跟踪”到“不跟踪”状态的变化数。

MOTA是这四个指标里面最重要的指标,也是论文里几乎都会展示的指标。其次是MOTP指标,当然MOTP指标受检测器的影响比较大。MT和ML也是评价跟踪器的两个很好的指标。

ID相关指标

可能对于一个MTMC跟踪器来说,ID相关的指标是最重要的,其中有三个非常重要的指标是:

  • IDP:识别精确度(Identification Precision)是指每个行人框中行人ID识别的精确度。公式为: IDP = \frac{IDTP}{IDTP+IDFP} \\ 其中 IDTPIDFP 分别是真正ID数和假正ID数。
  • IDR:识别回召率(Identification Recall)是指每个行人框中行人ID识别的回召率。公式为: IDR = \frac{IDTP}{IDTP+IDFN} \\ 其中 IDFN 是假负ID数。
  • IDF1:识别F值(Identification F-Score)是指每个行人框中行人ID识别的F 值。公式为: IDF_1 = \frac{2IDTP}{2IDTP+IDFP+IDFN} \\

一般来说IDF1是用来评价跟踪器好坏的第一默认指标,如果要给跟踪器性能排个序,一般会选择IDF1这个指标作为默认的初始排序指标。这三个指标可以根据任意其中两个推断出第三个的值,因此也可以只展示其中两个,当然最好这两个包含IDF1。关于他们的关系可以看下图:

这里举个例子为什么需要IDF1这个评价指标,如下图有两个跟踪器的跟踪轨迹结果,两个跟踪器都发生了4次轨迹跳变,也就是 \mathit{\Phi} =4 ,并且由于两个跟踪器都把轨迹一直连着(虽然ID错了但是轨迹并没有断!),所以都是 MT=1,FN=0,FP=0 。因此最后都是MOTA=0.6 。如果只看跟踪相关的指标,那么可以得出两个跟踪器的性能是一样的。但是显然Tracker++的性能是优于Tracker的,这是因为MOTA忽视了多目标的ID特性,而更加关注与跟踪的轨迹是否存在。

对于同一个例子,我们分别计算一下他们的IDF1值可以得到下图结果,这里就不展开计算。由于例子比较简单,所以一眼就可以看出来,Tracker只有2帧结果认为是同一个目标,而Tracker++有8帧结果认为是同一个目标的轨迹。可以得到他们的IDF1分别是0.2和0.8。这就是IDF1的作用,可以更好的表示出跟踪器判断轨迹是否是同一个目标的能力。

  • IDS:ID转变数(ID switches)是指跟踪轨迹中行人ID瞬间转换的次数,通常能反应跟踪的稳定性,数值越小越好。如下图,Tracker(a)有1个IDS,而Tracker(b)和Tracker(c)都有7个IDS,但是Tracker(a)和Tracker(b)的IDF1都是67%,而Tracker(c)是83%。

跳变数和IDS的瓜葛

IDS和fragmentation是一个容易混淆的东西,它们都是表示跟踪器稳定性的性能,也都是跟踪器轨迹发生瞬变的时候产生的错判指标。简而言之,IDS是fragmentation的一种特殊情况,即IDS一定是fragmentation(这一点还不是特别确认,没有在论文里看到特别明确的说法,只是根据代码和经验来看大概率是这样),但fragmentation不一定是IDS,因此IDS一定是小于fragmentation的。之所以会这样是因为fragmentation来源于早期的跟踪器评价指标,只关注跟踪器的轨迹是否发生跳变,而不关注跟踪目标的ID,单目标单摄像头跟踪也是有fragmentation的,但是不会有IDS。IDS一定存在于一个跟踪器的轨迹从一个ID转换成另外一个ID,而fragmentation发生在任意时候,比如IDS、轨迹突然消失或者轨迹断开又连回等情况。

如下图,三个跟踪器的轨迹都先断开了,然后再判断为一个新的轨迹。三个跟踪器都不存在IDS,但是Tracker(a)存在1次fragmentation,而Tracker(b)和Tracker(c)都存在7次fragmentation。

再如下图,三个跟踪器的轨迹都消失一段时间后又找回来了,同样都不存在IDS,轨迹直接断开之后不再连接起来,同样Tracker(a)存在1次fragmentation,而Tracker(b)和Tracker(c)都存在7次fragmentation。

跨摄像头跟踪指标

以上都是单摄像头相关的指标,而以上的一切最终计算出终极大boss:

  • MCTA:跨摄像头跟踪准确度(Multi-camera Tracking Accuracy)是衡量多个摄像头下跟踪的准确度,是目前少有的专门用来衡量多摄像头跟踪性能的评价指标。公式为: MCTA = \underbrace{\frac{2PR}{P+R}}_{F1}\underbrace{(1-\frac{M^w}{T^w})}_{\text{within camera}}\underbrace{(1-\frac{M^h}{T^h})}_{\text{handover}} \\ 其中 P,R 为前文介绍的精准度和回召率, M^w 是单相机内行人ID的错误匹配数, T^w 是单相机内(标注)正确检测数, M^h 是跨相机行人ID的错误匹配数, T^h 是指跨相机(标注的)正确检测数(即某个目标从某个相机中消失而下次再出现在另外一个相机的情况)。MCTA的范围是 [0,1]

总的来说,跟踪器的评价比较复杂。往往我们也不能用一个指标来评价跟踪器的好坏。他们的总结如下表所示。当然如果能设计出更加合理的evaluation也是非常不错的。

References

[1] Evaluating Multiple Object Tracking Performance: The CLEAR MOT Metrics. K. Bernardin, R. Stiefelhagen. Image Video Proc. 2008

[2] Learning to Associate: HybridBoosted Multi-Target Tracker for Crowded Scene. Y. Li, C. Huang and R. Nevatia. CVPR 2009

[3] An Equalized Global Graph Model-Based Approach for Multi-Camera Object Tracking. W. Chen, L. Cao, X. Chen and K. Huang. IEEE TCAS 2016

[4] Inter-camera Association of Multi-target Tracks by On-Line Learned Appearance Affinity Models. C. H. Kuo, C. Huang and R. Nevatia. ECCV 2010

[5] Framework for Performance Evaluation of Face, Text, and Vehicle Detection and Tracking in Video: Data, Metrics, and Protocol. R. Kasturi, D. Goldgof, P. Soundararajan, V. Manohar, J. Garofolo, R. Bowers, M. Boonstra, V. Korzhova and J. Zhang. TPAMI 2008

[6] Towards the Evaluation of Reproducible Robustness in Tracking-by-Detection. F. Solera, S. Calderara and R. Cucchiara. AVSS 2015

[7] A New Benchmark and Protocol for Multi-Object Detection and Tracking. L. Wen, D. Du, Z. Cai, Z. Lei, M.C. Chang, H. Qi, J. Lim, M.H. Yang andS. Lyu. arXiv CoRR 2015

[8] Track-Clustering Error Evaluation for Track-Based Multi-camera Tracking System Employing Human Re-identification. C. W. Wu, M. T. Zhong, Y. Tsao, S. W. Yang, Y. K. Chen, S. Y. Chien. CVPRW 2017

[9] Evaluating Multi-Object Tracking. K. Smith, D. Gatica-Perez, J. M. Odobez. CVPRWS 2005

[10] Performance Measures and a Data Set for Multi-Target, Multi-Camera Tracking. E. Ristani, F. Solera, R. S. Zou, R. Cucchiara and C. Tomasi. ECCV 2016 Workshop on Benchmarking Multi-Target Tracking.

[11] Challenges of Ground Truth Evaluation of Multi-target Tracking. Milan A, Schindler K, Roth S. IEEE Conference on Computer Vision and Pattern Recognition Workshops. IEEE Computer Society, 2013:735-742.

### Multi-Camera Tracking Objectives and Goals In the context of computer vision, multi-camera tracking aims to monitor and follow objects across multiple camera views seamlessly. The primary objective is to maintain consistent identification and localization of targets as they move through different fields of view provided by a networked system of cameras. The specific goals include ensuring accurate detection and recognition of individuals or entities within each frame captured from various angles and positions[^1]. This involves addressing challenges such as occlusion, varying lighting conditions, and changes in appearance due to perspective differences between cameras. Another critical goal is achieving real-time performance while maintaining high precision in tracking accuracy over time. Systems must be capable of processing large volumes of video streams efficiently without significant delays that could compromise operational effectiveness[^2]. To accomplish these tasks effectively, advanced algorithms integrate intelligence features like deep learning models trained specifically for object classification and re-identification across non-overlapping areas covered by separate devices forming part of an integrated surveillance setup. ```python import cv2 from mtcnn import MTCNN detector = MTCNN() def detect_faces(image_path): image = cv2.imread(image_path) result = detector.detect_faces(image) bounding_boxes = [] for face in result: bbox = face['box'] bounding_boxes.append(bbox) return bounding_boxes ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值