视频类评价指标介绍
视频类任务分为视频分类单标签、视频检测、目标追踪共3类,每类使用不同的评价指标。 下面会根据不同类别,对评估任务中的评价指标进行介绍。
视频分类单标签
精确率(Precision)
- 作用:
用来衡量算法的误检情况的评价指标。
- 定义:
分类器预测为正类别的样本中,真实为正类别的样本所占的比例。
- 计算过程:
- \[\text{Precision} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Positives}}\]
其中,True Positives(真正例)表示分类器正确预测为正类别的样本数,False Positives(假正例)表示分类器错误预测为正类别的样本数。
召回率(Recall)
- 作用:
用来衡量算法的漏检情况的评价指标。
- 定义:
所有真实正类别样本中,被分类器正确预测为正类别的样本所占的比例。
- 计算过程:
- \[\text{Recall} = \frac{\text{True Positives}}{\text{True Positives} + \text{False Negatives}}\]
其中,True Positives(真正例)表示分类器正确预测为正类别的样本数,False Negatives(假反例)表示分类器错误预测为负类别的样本数。
F1-score
- 作用:
用于综合衡量算法漏检和误检情况的评价指标。
- 定义:
Precision 和 Recall 的调和平均值。
- 计算过程:
- \[F1 = \frac{2 \cdot \text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}\]
混淆矩阵(Confusion Matrix)
- 作用:
方便地看出机器是否将两个不同的类混淆了。
- 定义:
矩阵的每一列表示分类器预测的类别,而每一行表示样本真实的类别。
视频检测
mAP(mean Average Precision)
- 作用:
用来衡量目标检测算法检测精度的评价指标,值越高通常算法检测效果越好。
- 定义:
所有类别在不同召回率下的平均精确率的平均值。
评估任务中的mAP计算方式采用 COCO 中的算法,即使用插值平均法计算平均精确率,mAP 为 IoU=0.5:0.05:0.95 下的平均值。
- 计算过程:
计算预测矩形框与真值矩形框的交并比(Intersection over Union, 简称 IoU),对于 IoU 大于阈值且预测 label 与真实 label 相符的记为 True Positives, 否则记为 False Positives 。
根据预测矩形框的置信度计算得出不同 Recall 下的 Precision, 使用插值平均法计算平均精确率。
计算不同 IoU 阈值下的平均精确率,求平均得到单类的 AP(Average Precision)。
对不同类别的 AP 求取平均值的到最终的 mAP 。
- 子评价指标:
P-R曲线(Precision-Recall Curve)
- 作用:
用来观察精确率随召回率的变化趋势。
- 定义:
横轴为召回率,纵轴为精确率的曲线图。
评估任务支持比较不同类别物体的 P-R 曲线,可以通过下拉菜单来选择 P-R 曲线的 IoU 阈值和要展示的类别。
目标追踪
参考多目标追踪挑战(Multiple Object Tracking Challenge)中评价指标。
计算
目标追踪任务的评价指标的计算分为检测框之间的匹配、轨迹之间的匹配、检测框和轨迹之间的关联三部分。故有以下计算过程:
通过目标检测模型得到视频中每帧图片的检测框;
通过行人重定向(Re-identification,简称 ReID)将相邻两帧中特征相似度最高的检测框(行人)连接起来,得到追踪轨迹;
对于同一个视频里面的每帧图片,计算其标注框(Ground Truth,简称GT)框与检测框之间的距离:设置距离阈值(distance threshold,简称 distth),计算框之间的交并比(Intersection over Union, 简称 IoU),得到距离矩阵,大于 distth 的记为 nan;
对于每帧图片的 object ids(GT 框的 track_id,即目标追踪每个对象的标注 ID,简记为oids)和 hypothesis ids(ReID 得到追踪轨迹中对应检测框的 track_id,即 ReID 后每个追踪对象的 ID,简记为hids),利用上一步中得到的距离矩阵(维度为 len(oids) x len(hids)),通过线性指派方法(参考 匈牙利算法 )最小化距离和函数,得到 oids 中每个对象与 hids 中对象的对应关系及其对应标签(记为 event_type):
初始均记为
RAW
(主要用于记录 oids 和 hids);对于第一帧图片(或 oid 在之前帧中没有出现过),则
若最小化结果对应的距离不是 nan(求最短距离也可能出现 nan ),则 event_type 为
MATCH
(记为匹配成功,将对应的 oid 添加到列表 match 中,hid 添加到列表res_match 中),否则,直接考虑下一步;对于其余 oids 和 hids,没有 hid 对应的 oid 记为
MISS
(漏检),没有 oid 对应的 hid 记为FP
(误检)。对于每一帧图片,逐步考虑以下过程:
若 oid 在列表 match 中,且之前对应的 hid(记为 hprev)在当前帧中出现,且 oid 与 hprev 对应的框之间的距离不是 nan 时,event_type 记为
MATCH
,否则直接考虑下一步;计算当前帧 GT 框与检测框之间的最小距离和,以及对应的 oids 和 hids,除去距离为 nan 的部分;
若 oid 在列表 match 中,且对应的 hid 是 hprev,则 event_type 为
MATCH
,若 hid 不是 hprev,则记为SWITCH
;若 hid 在列表 res_match 中,且对应的 oid 不是之前帧对应的 oid 时,event_type 为
TRANSFER
;注意:
SWITCH
和TRANSFER
可能同时出现。统计 oids (hids)中每个 oid (hid)在整个视频中出现的帧数,以及 oid、hid 之间距离不为 nan 时 (“oid”, “hid”) 匹配对出现的次数,通过特殊的矩阵设计,得到矩阵 fnmatrix、fpmatrix、cost,维度均为 (len(oids) + len(hids)) x (len(oids) + len(hids)),以下是简单含义介绍:
fnmatrix 表示 oid 出现帧数,(oid, hid) 处需减去同时出现次数;
fpmatrix 表示 hid 出现帧数,(oid, hid) 处需减去同时出现次数;
cost (
cost = fnmatrix + fpmatrix
)的最小化距离和函数代表了最小化全局 id 匹配:rids,cids。用最小化距离和函数求解矩阵 cost,得到最小 ID 损失匹配(尽可能多地同时出现),得到以下值:
idfp 为 fpmatrix 中取 [rids, cids] 对应位置值的和,对应表示 id 匹配后,视频序列总的误检数;
idfn 为 fnmatrix 中取 [rids, cids] 对应位置值的和,表示 id 匹配后,视频序列总的漏检数。
统计指标
num_misses 是 event_type 为
MISS
的总个数;num_switches 是 event_type 为
SWITCH
的总个数;num_false_positives 是 event_type 为
FP
的总个数;num_detections 是 event_type 为
MATCH
或SWITCH
的总个数;num_objects 为标注集中有 track_id (每个人出现的次数总和)的样本总数。
以下根据计算过程简单介绍具体评价指标的含义:
GT(Ground Truth Trajectories)
- 定义:
整个数据集中追踪目标的总数目,即真实标注的轨迹数,也常称作 unique objects number。
MT(Mostly Tracked Targets)
- 作用:
评估有效追踪轨迹占真实标注轨迹的比例。
- 定义:
追踪器预测的追踪轨迹中与真实轨迹至少有 80% 匹配成功的轨迹称为有效追踪轨迹。
注意:不考虑轨迹上 ID 的变化。
- 计算过程:
- \[\text{MT} = \frac{\text{有效追踪轨迹}}{\text{真实轨迹}}\]
ML(Mostly Lost Targets)
- 作用:
评估无效追踪轨迹占真实标注轨迹的比例。
- 定义:
追踪器预测的追踪轨迹中与真实轨迹至多有 20% 匹配成功的轨迹称为无效追踪轨迹。
注意:不考虑轨迹上 ID 的变化。
- 计算过程:
- \[\text{ML} = \frac{\text{无效追踪轨迹}}{\text{真实轨迹}}\]
Frag(Fragmentation Number)
- 作用:
轨迹被打断的总次数。
- 定义:
同一个 oid,前一帧的 event_type 不是
MISS
,后一帧的 event_type 变成MISS
,则记为一次 fragmentation。Frag 为 fragmentation 的总次数。
FP(False Positive)
- 作用:
主要考虑检测框的总误检数。
- 定义:
整个数据集中,所有视频计算结果里 event_type 为
FP
的总次数。
FN(False Negative)
- 作用:
主要考虑检测框的总漏检数。
- 定义:
整个数据集中,所有视频计算结果里 event_type 为
MISS
的总次数。
Rcll(Recall)
- 作用:
主要用来衡量目标检测算法的漏检情况。
- 定义:
所有要追踪样本中,被追踪器正确追踪的样本所占比例。
- 计算过程:
- \[\text{Rcll} = \frac{\text{num}\_\text{detections}}{\text{num}\_\text{objects}}\]
Prcn(Precision)
- 作用:
主要用来衡量目标检测算法的误检情况。
- 定义:
所有要追踪样本中,被追踪器正确追踪的样本所占比例。
- 计算过程:
- \[\text{Prcn} = \frac{\text{num}\_\text{detections}}{\text{num}\_\text{false}\_\text{positives} + \text{num}\_\text{objects}}\]
ID Sw.(Number of Identity Switches)
- 作用:
匹配轨迹 ID 发生变化的总次数。
- 定义:
整个数据集中,所有视频计算结果里 event_type 为
SWITCH
的总次数。
IDP(ID Precision)
- 作用:
根据跟踪某个目标的时间长短(帧数),考察跟踪的连续性和重识别的准确性,主要用于衡量 ReID 算法的误检情况。
- 计算过程:
- \[\text{IDP} = \frac{\text{idtp}}{\text{idtp} + \text{idfp}}\]
其中,
idtp = num_objects - idfn
表示正确匹配的 id 数。
IDR(ID Recall)
- 作用:
根据跟踪某个目标的时间长短(帧数),考察跟踪的连续性和重识别的准确性,主要用于衡量 ReID 算法的漏检情况。
- 计算过程:
- \[\text{IDR} = \frac{\text{idtp}}{\text{idtp} + \text{idfn}}\]
IDF1(ID F1 Score)
- 作用:
跟踪某个目标的时间长短(帧数),考察跟踪的连续性和重识别的准确性,主要用于综合衡量 ReID 算法漏检和误检情况。
- 定义:
IDP 和 IDR 的调和平均值
- 计算过程:
- \[\text{IDF1} = \frac{2 \cdot \text{IDP} \cdot \text{IDR}}{\text{IDP} + \text{IDR}}\]
MOTA(Multi-Object Tracking Accuracy)
- 作用:
评价追踪检测整体准确度,比较依赖目标检测的性能。
- 定义:
计算所有帧的漏检、误检、匹配 ID 发生变化等情况。
- 计算过程:
- \[\text{MOTA} = 1 - \frac{\text{num}\_\text{misses} + \text{num}\_\text{switches} + \text{num}\_\text{false}\_\text{positives}}{\text{num}\_\text{objects}}\]
MOTP(Multi-Object Tracking Precision)
- 作用:
评价追踪检测整体精确度,主要用于评估位置误差。
- 定义:
GT 框与检测框之间距离的平均值。
- 计算过程:
- \[\text{MOTP} = \frac{\sum_{o,h} d_{oh}}{\text{num}\_\text{detections}}\]
其中,\(d_{oh}\) 表示 oid 与 hid 之间的距离。
HOTA(Higher Order Tracking Accuracy)
- 作用:
评价高阶追踪准确性。
- 定义:
均衡考虑检测准确率、匹配准确率,定位准确率的单一指标。
- 计算过程:
- \[\text{HOTA} = \int_{0}^{1} \text{HOTA}_{\alpha} d\alpha \approx \frac{1}{19} \sum_{\alpha\in \left\{0.05, 0.1, ..., 0.9, 0,95\right\}} \text{HOTA}_{\alpha}\]\[\text{HOTA}_{\alpha} = \sqrt{\frac{\sum_{c\in \left\{\text{TPA}\right\}}\mathcal{A}(c)}{ \text{num}\_\text{detections} + \text{num}\_\text{misses} + \text{num}\_\text{false}\_\text{positives}}}\]\[\mathcal{A}(c) = \frac{\left| \text{TPA}(c)\right|}{\left| \text{TPA}(c)\right| + \left| \text{FNA}(c) \right| + \left| \text{FPA}(c) \right|}\]
其中,\(\alpha\) 为超参数,是定位阈值,需 GT 框与检测框的 IOU 不低于 \(\alpha\) ,从 0.05 依次递增 0.05 直到 0.95 ,即可得到 19 个不同超参情况下的 HOTA 指标,取其平均近似最终的 HOTA 指标;TPA(True Positive Associations)为保存每个视频 TP (GT 框与检测框成功配对)的集合,用 c 表示该 TP 对应的 GT 框的 track_id 和检测框对应的 track_id,即同一个集合中 GT 框之间对应的 track_id 相同,检测框之间对应的 track_id 相同。其余符号含义以此类推。
|集合|
表示集合中元素的个数。