赞
踩
其实很早之前就已经写过关于otb这个数据集测试的博客: OTB官方评估代码python版本–评估自己跟踪器,对比其他跟踪器, 不过当时比较紧急没有时间使用matlab版本的工具箱来实现画图,虽然那个python版本的也能够做到,好多人也成功使用,但是还是很多人想用matlab画图,所以我抽空把这部分写一下,力争仔细一步步看完小白也能够成功测试tracker的结果。
好,废话不多说。
官网的工具箱一般都是在这里下载:
但是里面的代码部分有点小bug,而且真值文件只有51个,不能测试OTB2015或者叫做OTB100。这里放上我整理好直接可以用的供大家下载(开通的付费下载,有需用的请我喝杯咖啡,谢谢了):
https://mbd.pub/o/bread/mbd-YpqWlplu
txt
文件,里面的bbox
的格式为xywh
, OTB50或者CVPR13的序列名也保持和下面的一致(如果不一致运行会报错), 如果是pysot-toolkit跑出来的就直接可以用我这个:otb100 = ['Basketball', 'Biker', 'Bird1', 'Bird2', 'BlurBody', 'BlurCar1', 'BlurCar2', 'BlurCar3', 'BlurCar4', 'BlurFace', 'BlurOwl', 'Board', 'Bolt', 'Bolt2', 'Box', 'Boy', 'Car1', 'Car2', 'Car24', 'Car4', 'CarDark', 'CarScale', 'ClifBar', 'Coke', 'Couple', 'Coupon', 'Crossing', 'Crowds', 'Dancer', 'Dancer2', 'David', 'David2', 'David3', 'Deer', 'Diving', 'Dog', 'Dog1', 'Doll', 'DragonBaby', 'Dudek', 'FaceOcc1', 'FaceOcc2', 'Fish', 'FleetFace', 'Football', 'Football1', 'Freeman1', 'Freeman3', 'Freeman4', 'Girl', 'Girl2', 'Gym', 'Human2', 'Human3', 'Human4', 'Human5', 'Human6', 'Human7', 'Human8', 'Human9', 'Ironman', 'Jogging.1', 'Jogging.2', 'Jump', 'Jumping', 'KiteSurf', 'Lemming', 'Liquor', 'Man', 'Matrix', 'Mhyang', 'MotorRolling', 'MountainBike', 'Panda', 'RedTeam', 'Rubik', 'Shaking', 'Singer1', 'Singer2', 'Skater', 'Skater2', 'Skating1', 'Skating2.1', 'Skating2.2', 'Skiing', 'Soccer', 'Subway', 'Surfer', 'Suv', 'Sylvester', 'Tiger1', 'Tiger2', 'Toy', 'Trans', 'Trellis', 'Twinnings', 'Vase', 'Walking', 'Walking2', 'Woman'] otb50 = ['Basketball', 'Biker', 'Bird1', 'BlurBody', 'BlurCar2', 'BlurFace', 'BlurOwl', 'Bolt', 'Box', 'Car1', 'Car4', 'CarDark', 'CarScale', 'ClifBar', 'Couple', 'Crowds', 'David', 'Deer', 'Diving', 'DragonBaby', 'Dudek', 'Football', 'Freeman4', 'Girl', 'Human3', 'Human4', 'Human6', 'Human9', 'Ironman', 'Jump', 'Jumping', 'Liquor', 'Matrix', 'MotorRolling', 'Panda', 'RedTeam', 'Shaking', 'Singer2', 'Skating1', 'Skating2.1', 'Skating2.2', 'Skiing', 'Soccer', 'Surfer', 'Sylvester', 'Tiger2', 'Trellis', 'Walking', 'Walking2', 'Woman'] cvpr13 = ['Basketball', 'Bolt', 'Boy', 'Car4', 'CarDark', 'CarScale', 'Coke', 'Couple', 'Crossing', 'David', 'David2', 'David3', 'Deer', 'Dog1', 'Doll', 'Dudek', 'FaceOcc1', 'FaceOcc2', 'Fish', 'FleetFace', 'Football', 'Football1', 'Freeman1', 'Freeman3', 'Freeman4', 'Girl', 'Ironman', 'Jogging.1', 'Jogging.2', 'Jumping', 'Lemming', 'Liquor', 'Matrix', 'Mhyang', 'MotorRolling', 'MountainBike', 'Shaking', 'Singer1', 'Singer2', 'Skating1', 'Skiing', 'Soccer', 'Subway', 'Suv', 'Sylvester', 'Tiger1', 'Tiger2', 'Trellis', 'Walking', 'Walking2', 'Woman']
SiamBAN
在OTB100上的结果作为demo和参考,如果你跑出来遇到anno和你tracker预测的某个序列下帧结果长度不一致的问题,那就是你跑的有问题,以这里面的为准。你解压后直接运行perfPlot.m
就能出来SiamBAN的结果,可以发现和论文里面是一致的:按照第一步里面的要求准备好结果文件后,设想这里的文件夹为SiamBAN
,里面有100个txt结果,你需要把整个文件夹拷贝到results/results_OPE
下面
修改util/configTrackers.m
里面的tracker,有多个的话一样的,比如我这里就是(关键name要和results_OPE下的文件夹名一样,namePaper后面的名字是到时候会显示在图中的名字):
trackers = {
struct(‘name’,‘SiamBAN’,‘namePaper’,‘SiamBAN’)};
去到perfPlot.m
的【62行】,根据自己的需要选择是configSeqs_OTB100, configSeqs_OTB50还是configSeqs_CVPR13。perfPlot.m
最下面有画每个属性的图的代码,我目前注释掉了,有需要的可以去掉注释。然后点击运行perfPlot.m
就可以出来结果啦
使用中注意的地方:
perfMat/overall
下面删掉缓存的.mat文件,其实.mat文件名里面的1alg
中的1就是configTrackers.m中tracker的数量,前后运行两次tracker数量不一样的时候是不会出现这个问题的,因为文件保存的名字不一样我把cvpr2013的论文里面的结果也放在results/results_OPE
下面了,注意运行他们的时候选成configSeqs_CVPR13,然后修改util/configTrackers.m
里面的tracker就可以一键运行出来,和官网上的几乎一样(个别小数点后两位不一样应该就是结果本身的问题,转化过程中没有误差):
官网图片success
官网图片precision
大家相比较话可以自行选择对应的tracker加入图中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。