文章目录

  • 1.期望覆盖率
    • 1.1 A和R
    • 1.2 理想EAO
    • 1.3 标准EAO
  • 2.实际计算
    • 2.1估算EAO
    • 2.2 EAO与R的关系

看VOT竞赛报告时,经常会看到一个奇怪的现象,精度A和鲁棒性R的排名都靠前,而EAO,即期望平均覆盖率却不靠前,vice versa,这是怎么回事呢,这篇文章就来说说EAO的计算方法。

1.期望覆盖率

1.1 A和R

看上图,今年的VOT18结果,看看EAO第一的LADCF,A和R都不是第一且都不如第二的MFT但是EAO却排第一,很奇怪吧,之前认为EAO是根据A和R计算出来的,其实不是,只是相关而已。先看看A和R,这两者在VOT13中已经提出,其中A就是精度计算,具体来说就是统计每帧预测的bounding box与gt的交并比,然后平均一下得到单个视频的A,而R则被认为是与A相关性最小的一个度量,从鲁棒性的角度衡量算法性能,具体来说就是计算每个视频跟丢的次数,然后算个失败率,这个值和次数正相关,具体计算方法没有提但是单看排名的话,失败次数和失败率是等价的,失败次数即某帧预测的bb与gt的交集为0则判定失败,然后VOT tool会在5帧之后重新初始化跟踪器。EAO则不是直接用A和R计算的。

1.2 理想EAO

EAO的概念最早在VOT15提出,提出的目的也是希望一个好的跟踪器同时拥有好的A和R,如果直接用A和R的两个数加权和则有失公允,所以需要重新定义。
假设有NsN_sNs​帧长的一个视频,那么一个跟踪器在这段视频上的覆盖率精度op为每一帧op的均值,op就是bb与gt的交并比用ϕ\phiϕ表示,即

那么一个理想的EAO就是把NsN_sNs​从1到一个期望的极大值对应的ϕNs\phi_{N_s}ϕNs​​求个平均,就是期望平均覆盖率,恰如其名,等价于下图的曲线下面积

举个栗子,假如一个跟踪器从第一帧开始跟,Ns=1N_s = 1Ns​=1,那么显然op为1,ϕ\phiϕ也为1,Ns=2N_s = 2Ns​=2时,第一帧op为1,第二帧op为0.6,那么ϕ=0.8\phi = 0.8ϕ=0.8,假如这个NsN_sNs​极大值就是2,那么EAO就是0.9。一般的,对于短时跟踪器,ϕNs\phi_{N_s}ϕNs​​随着NsN_sNs​增长而降低,也就呈现出图上的曲线,这个是可以反映A和R的,A从计算op上就体现了,R的体现后面再说。

1.3 标准EAO

在VOT中EAO计算并不是从Ns=1:NmaxN_s = 1:N_maxNs​=1:Nm​ax的,而是Ns=Nlow:NhighN_s = N_{low}:N_{high}Ns​=Nlow​:Nhigh​,我把它称为标准EAO,即

NlowN_{low}Nlow​和NhighN_{high}Nhigh​简单的说就是一个典型视频长度的范围,这些长度的视频占所有视频的概率是0.5,图上看就是概率分布最中间的部分,具体的下面再说。

最后看看著名的EAO图怎么花的,很简单横坐标是排名,纵坐标是算出来的标准EAO,EAO极大值是1,rank极大值也是一,所以排名越往右上的EAO性能越好。

2.实际计算

2.1估算EAO

实际计算理想EAO是很麻烦的事情,因为需要找到很多足够长的视频来确保能够体现跟踪器的综合性能,然后对这么多视频都要测出NsN_sNs​在一个范围内的各个平均覆盖率值。这里需要注意每一段视频不能重复初始化,只能在第一帧初始化,中间跟丢了就是跟丢了。所以OTB那样的测试方法就是只测了NsN_sNs​等于每个视频长度的覆盖率精度而已,没有计算其他NsN_sNs​值的覆盖率。
VOT是这样算的,因为VOT在跟丢后会重新初始化,这样就把一个视频按失败点可以分成若干段,不用另外初始化了,这样就扩充了视频的个数,节省了计算量,对这些视频的帧数做一个统计,算一个分布图,由于这个是离散的,那么用KDE的方法插值成连续的,然后找到最高点,两边的边界就是同时满足P(Nlow)=P(Nhigh)P(N_{low})=P(N_{high})P(Nlow​)=P(Nhigh​)且∫NlowNhighP(Ns)dNs=0.5\int_{N_{low}}^{N_{high}} P(N_s)dN_s = 0.5∫Nlow​Nhigh​​P(Ns​)dNs​=0.5的离最高点最近的值,如图所示。

然后对于分割出来的N个视频,对每一个Ns=Nlow:NhighN_s = N_{low}:N_{high}Ns​=Nlow​:Nhigh​计算N个视频的平均覆盖率,计算的时候剔出那些因为帧数超过原视频极限的视频。比如说,一段a帧的视频是从A帧长的视频里分出来的,a<A,但是如果此时计算的a<NsN_sNs​<A,那么这个视频仍要继续算覆盖率,后面>a帧的部分因为跟丢了覆盖率都按0算,如果NsN_sNs​>A,那么这个视频就剔出不统计了,还有一种情况,NsN_sNs​ < a,那么只算到NsN_sNs​为止的覆盖率。通过剪枝或者补零的方式计算所有符合条件的ϕNs\phi_{N_s}ϕNs​​,最后再求一个平均即得到了估计的标准EAO,就是VOT报告的EAO了。

2.2 EAO与R的关系

之前说过R为鲁棒性,反映为跟丢的次数。讨论极限情况,每一帧的op都为1,A跟踪器和B跟踪器的差别仅在R上,A跟丢1次,B没有跟丢,A即使丢了,初始化后的op仍始终为1,即两者的精度是相同的,鲁棒性不同,来看EAO,假设A在中间帧i跟丢了,所以被分成了2个视频,前一个视频的ϕ\phiϕ显然为0.5,后一个为1,那么EAO为0.75,而B的EAO为1,这就反映了R。以此类推,跟丢的次数越多,被分成的视频就越多,跟丢点越靠前越不利,因为后面大部分的帧的op都算成0了。所以跟丢越多EAO越低。但是EAO和R不等价,很容易看出来,当R相同时,比如都跟丢了一次,但是明显跟丢点在靠前位置的跟踪器的EAO会更低。所以这也反映了VOT这种计算方法的不合理处,这样也导致了文章开头出现的现象。
欢迎与我探讨~

【技术向】VOT中的EAO是如何计算的相关推荐

  1. VOT中的EAO评判指标

    文章目录 1.期望覆盖率 1.1 A和R 1.2 理想EAO 1.3 标准EAO 2.实际计算 2.1估算EAO 2.2 EAO与R的关系 看VOT竞赛报告时,经常会看到一个奇怪的现象,精度A和鲁棒性 ...

  2. 基于深度学习的计算机视觉技术在无人驾驶中的应用

    基于深度学习的计算机视觉技术在无人驾驶中的应用 背景 当前,人工智能是下一代信息技术的核心和焦点,而无人配送则是人工智能典型的落地场景,因为完成无人配送需要自动驾驶技术.机器人技术.视觉分析.自然语言 ...

  3. 一文看懂docker容器技术架构及其中的各个模块

    概述 今天主要简单介绍下docker的技术架构及其中组成的各个模块. 技术架构 distribution 负责与docker registry交互,上传洗澡镜像以及v2 registry 有关的源数据 ...

  4. 基于交换技术的网络中,全双工主要运行在?( 内有答案与详解)

    基于交换技术的网络中,全双工主要运行在?( ) A. 站点与站点之间 B. 交换机与服务器之间 C. 站点与服务器之间 D. 站点与交换机之间 答案: b 网站就是站点的意思,交换机实际是与数据打交道 ...

  5. 如何衡量RFID技术在仓库中的价值?

    很多人都问过笔者,有没有一个量化仓库库存管理中RFID技术的投资回报的指标.很遗憾,据笔者所知,没有.最近几年,笔者一直向多家机构提议赞助研究如何判断RFID技术在仓库管理中的价值,这样,我们便可以像 ...

  6. 内存都是由半导体器件构成的_开启5G新时代——XPS成像技术在半导体器件中的应用...

    点击上方↑↑↑"百贺仪器"关注我们 近年来,中国已成为带动全球半导体市场增长的主要动力,随着5G商用牌照落地并在2019年11月份正式使用,会大大推动半导体芯片产业的发展.针对半导 ...

  7. 计算机信息管理技术 互联网,计算机信息管理技术在网络安全中的运用思路

    计算机信息管理技术在网络安全中的运用思路 随着计算机技术的快速发展,也促进了计算机信息管理技术的发展进步,这也对计算机网络安全工作的开展产生了较大的影响. 摘要:计算机技术在人们生活中融入的程度不断加 ...

  8. 使用LS2J技术在LotusScript中使用Java

    我们可以使用LS2J技术在LotusScript中来调用Java类,下面举例说明: 1.       首先需要在代理的 (Options)部分,添加如下: Uselsx "*javacon& ...

  9. BIM技术在地铁中应用

    本文分析了BIM在地铁中的巨大应用价值与潜力,同时也提出了改进.完善之方向,为后续BIM的研究和发展提供借鉴和参考. BIM在建筑行业中的应用越来越广泛,以建筑工程项目的各项相关信息数据为基础,建立建 ...

最新文章

  1. python使用matplotlib可视化:设置坐标轴的范围、设置主次坐标轴刻度、坐标轴刻度显示样式、坐标轴刻度数颜色、小数点位数、坐标轴刻度网格线、线条类型、数据点形状标签、文本字体、颜色、大小等
  2. 基于LNMP的简单电商网站架构
  3. foxmail卡顿_Foxmail
  4. 先学c语言还是先学java_是先学 java好还是先学c语言好
  5. go struct{} 空结构体的特点和作用
  6. 第一百期:Java架构师:高并发下的流量控制
  7. matlab单元数组和结构,Matlab中单元数组和结构数组
  8. oracle误删除记录或者表的处理方法
  9. 华为荣耀黑科技,打造震撼AI智能机
  10. LESS CSS 框架简介
  11. 阿里巴巴与山东省人民政府签署战略合作协议
  12. 程序员学英语 英语语法框架 10种词性 9种成分 8种句型
  13. 2015年P2P理财必看的10大常识
  14. bootstrap的tooltip
  15. 三个最好的免费短信发送服务
  16. tiny4412开发板LED灯驱动写法
  17. 美元指数站稳脚跟,下周耶伦再掀风暴
  18. 路由器的密码破解方法(实用篇)
  19. mot数据集_【多目标跟踪】搞不懂MOT数据集,会跑代码有啥用!
  20. zabbix安装报错解决

热门文章

  1. Java发送网易企业邮箱邮件
  2. 不可忽视的UPS电源电池除尘
  3. 从应用角度了解下LIN总线
  4. WebStorm/IDEA 激活证书服务器
  5. Python3的桌面程序开发利器:Eric6的环境搭建、使用
  6. 解决注册表无法删除问题
  7. nginx优化配置大全
  8. new ActionListener(){}
  9. 计算机网络自顶向下方法 第三章 作业习题答案
  10. 解决netsh winsock reset找不到指定文件