huanglianghua/siamfc-pytorch

VOT2018测评结果

qimingyudaowenti opened this issue · 4 comments

Huang Lianghua 你好!
我将你写的 pytorch 版本 SiamFC 和 bilylee 的 tensorflow 版本SiamFC用 VOT 的 toolkit 进行了测评(VOT2018数据集),结果如下(截取部分):
table1
table2
表中:

  • SiamFC 是VOT官方提供的数据。
  • SiamFC_tensorflow 是bilylee代码的测评结果。
  • siamfc_pytorch_master_opencv / siamfc_pytorch_master_PIL 是你的代码,采用的是仓库中提供的预训练权重,opencv / PIL 代表的是测试时读取图片的方法。

想请教一下:

  1. 为何 opencv 读取方式(转RGB)和 PIL.Image 读取方式对性能有影响?
  2. Readme.md 中显示的 Accuracy: 0.502 是不是用got10k测评得到的?为何VOT toolkit达不到这种效果呢?
  3. 在更大的数据集上训练之后,性能竟然比tensorflow版本稍差,可能是什么原因呢?
  1. OpenCV 读取速度快但不保证准确,不同版本读取的像素值差别在 1e-6 到 20+ 之间,主要原因可能是 OpenCV 基于 libjpeg-turbo。PIL 读取的像素值在不同版本、不同系统间都很稳定,但较慢。用 anaconda(我用的 5.3.1)装的 OpenCV(conda install -c menpo opencv)通常可以准确读取同时保持速度。

  2. 0.502 是用 GOT-10k toolkit 评测的。由于 VOT toolkit 重叠率计算与 VOCDevkit/OTB 标准结果不一致(见 Issue 202),这个结果与 VOT toolkit 也会有微小的差别。

  3. 更大的数据是指 YT-BB 还是 GOT-10k?

用 anaconda(我用的 5.3.1)装的 OpenCV(conda install -c menpo opencv)通常可以准确读取同时保持速度。

menpo好像已经停止支持,如果通过conda-forge channel 安装或者通过pip安装可不可以保持准确?

VOT toolkit 重叠率计算与 VOCDevkit/OTB 标准结果不一致。

明白了!

更大的数据是指 YT-BB 还是 GOT-10k?

我以为提供的预训练权重是在多个数据集上训练的,看到了#11,发现我搞错了,抱歉。

感谢解答!

conda 一般会比 pip 准确一些,因为 conda 安装时会附带自己的 libjpeg 而不是系统的 libjpeg-turbo。
你可以安装不同版本自己测试,比较 OpenCV 和 PIL 的 image.mean(), image.std() 是否一致。

Got it!
再次感谢解答!