视频图像跟踪算法的评估常常需要计算重叠率(Overlap Rate)、像素误差(Pixel Error)还有AUC(Area Under Curve)。这些技术指标都比较好理解,如果不理解的话可以参见我之前的博客。这篇博客主要就是贴上Matlab的代码,使用Matlab计算这些参数,并绘制出曲线图。
如果你是想放在Paper中的话,可以下载Visual Track BenchMark中提供的代码,可以画出和Paper上一样的样式,这篇博客只是博主对单个视频自己写的小demo,便于自己分析实验的,如果要在Paper使用还需要做样式的修改。
关于各个指标,之前博客已经介绍过了,这里就简单讲一下
一、重叠率
重叠率 = 重叠区域面积/(预测矩形的面积+真实矩形的面积-重叠区域的面积)
二、像素误差
像素误差 = 真实中心和预测中心的欧式距离
三、AUC
成功率图的曲线下面积
四、Matlab计算
变量说明:
数据文件为Object Tracker BenchMark中的数据格式存放在./results_TRE_CVPR13/文件夹中,图像序列(只用到了groundtruth.txt的真实值)存储在F:\Data\sequence\,这个两个量都可以在代码中修改。
video_set: 图像数据集名称
method_set: 方法名称
line_style: 要和method_set的大小相等,每种线条样式method相对应
close all; clear all; video_set = { 'Shaking'}; %video_set = { 'BlurCar2','Car2','Car4','Car24','Doll','Human6','RedTeam','Singer1','Walking','Walking2'}; method_set = { 'FMT', 'kcf_hog8'}; line_style = { '--r', '--g'}; base_path = 'F:\Data\sequence\'; results_path = './results_TRE_CVPR13/'; precision{numel(video_set), numel(method_set)} = 0; auc_table{numel(video_set)+1, numel(method_set)+1} = 0; auc_table{ 1,1}=0; for i = 1:numel(video_set) auc_table{i+1,1}=video_set{i}; % read groundtruth varlist = { 'gt','gt_center','gt_rect