最近看STRCF算法,这是一个克服遮挡和大幅形变的实时视觉追踪算法。这篇论文的主要贡献如下:

  1. 通过将空间和时间正则化纳入 DCF 框架,提出了 STRCF 模型。基于在线 PA 的 STRCF 不仅可以合理地逼近多幅训练图像上的 SRDCF 形式,而且在较大的外观变化情况下比 SRDCF 具有更强的鲁棒性。
  2. 为高效求解 STRCF,开发了一种 ADMM 算法,其中每个子问题都有封闭形式的解。并且本文提出的算法可以在非常少的迭代中经验地收敛。
  3. 本文提出的 STRCF 具有人工设计的特征,可以实时运行,相比 SRDCF 在准确率上有了显著的提升。此外,STRCF 与最先进的追踪器 [9,15] 相比,性能良好。

论文中反复提到STRCF算法是在线被动攻击学习(PA)算法的扩展,于是我找来了PA算法的论文,一篇2006年发表的古老的论文。

问题

符号 表示
xtxtx_t n维向量,第t次循环中的输入实例
ytyty_t xtxtx_t对于的类标,取值为+1,-1
(xt,yt)(xt,yt)(x_t,y_t) 实例-类标对,也叫一个示例
w n维权重向量
|w⋅x||w⋅x||w\cdot x| 预测置信度
yt(wt⋅xt)yt(wt⋅xt)y_t(w_t\cdot x_t) 第t次循环中(有符号的)边际利润

当边际利润margin是正数时,sign(wt⋅xt)=ytsign(wt⋅xt)=ytsign(w_t\cdot x_t)=y_t,这时算法预测正确。然而,我们不满足于一个正边际利润值,我们还希望算法能有很高的预测置信度。于是,算法的目标是尽可能经常实现一个最少是1的边际利润,在每次循环中当边际利润小于1时就会有一个瞬间损失。这就是所谓的hinge损失函数:

l(w;(x,y))={01−y(w⋅x)y(w⋅x)≥1otherwise(1)l(w;(x,y))={0y(w⋅x)≥11−y(w⋅x)otherwise(1)

l(w;(x,y))= \begin{cases} 0\\ 1-y(w\cdot x)\end{cases} (1)
解释:当边际利润>1时,损失值=0,否则等于1和边际利润之间的差值。注意到,选择1作为边际阈值其实是相当随意的。所以后面在解决回归问题时,作者又将hinge损失函数推广到一般化,将这个边际阈值作为一个用户输入的参数。
记 lt=l(wt;(xt,yt))lt=l(wt;(xt,yt))l_t=l(w_t;(x_t,y_t)),本文给出的算法将被证明在给定的示例序列中获得一个小的累积平方损失,即作者能证明在 ∑Tt=1l2t∑t=1Tlt2\sum_{t=1}^{T}l_t^2上不同的界限,其中T是序列的长度。注意到当有一个预测错误出现时, l2t≥1lt2≥1l_t^2\ge 1,因此累积平方损失的界限也限制在示例序列中错误预测的数量。

二分类算法

本节作者给出了二分类问题在线学习算法的三种变体。这三种变体的w1w1w_1都初始化为全0向量,区别在于更新规则不同。

PA算法的更新规则

在第t次循环中设置新的权重向量wt+1wt+1w_{t+1}是下一次循环中约束优化问题的解,即:

wt+1=argminw∈Rn12||w−wt||2s.t.l(w;(xt,yt))=0(2)wt+1=argminw∈Rn12||w−wt||2s.t.l(w;(xt,yt))=0(2)

w_{t+1}=argmin_{w\in R^n} \frac{1}{2}||w-w_t||^2 s.t. \quad l(w;(x_t,y_t))=0 \quad(2)
每当 lt=0lt=0l_t=0时,则 wt+1=wtwt+1=wtw_{t+1}=w_t,这时候算法是被动性的(passive)。相反的,当 lt>0lt>0l_t>0时,尽管有步长要求,算法还是会攻击性(aggressively)的迫使 wt+1wt+1w_{t+1}满足约束条件 l(wt+1;(xt,yt))=0l(wt+1;(xt,yt))=0 l(w_{t+1};(x_t,y_t))=0。于是作者将这个算法命名为被动攻击(Passive-Aggressively,简称:PA)。
一方面,我们要求 wt+1wt+1w_{t+1}可以对当前示例准确分类,并且取得充分高的边际利润;另一方面, wt+1wt+1w_{t+1}要尽可能接近 wtwtw_t,从而能保留之前的循环中学习到的信息。
公式(2)有一个简单的闭式解形式:

wt+1=wt+τtytxtwhereτt=lt||xt||2(3)wt+1=wt+τtytxtwhereτt=lt||xt||2(3)

w_{t+1}=w_t+\tau_ty_tx_t \quad where \quad \tau_t=\frac{l_t}{||x_t||^2}\quad (3)
当 lt=0,wt+1=wtlt=0,wt+1=wtl_t=0,w_{t+1}=w_t就是公式(2)的最优解;当 lt>0lt>0l_t>0时,公式(2)中优化问题的拉格朗日函数为:

L(w,τ)=12||w−wt||2+τ(1−yt(w⋅xt))(4)L(w,τ)=12||w−wt||2+τ(1−yt(w⋅xt))(4)

\mathcal{L(w,\tau)}=\frac{1}{2}||w-w_t||^2+\tau (1-y_t(w\cdot x_t)) \quad (4)
其中, τ≥0τ≥0\tau\ge0是拉格朗日乘子。对(4)式关于w求偏导,并且令偏导为0,

∂wL(w,τ)=w−wt−τytxt=0∂wL(w,τ)=w−wt−τytxt=0

\partial_w \mathcal{L(w,\tau)}=w-w_t-\tau y_tx_t=0
于是有,

w=wt+τytxt(5)w=wt+τytxt(5)

w=w_t+\tau y_tx_t \quad(5)
将(5)式代入(4)中,由于( xt⋅xt)=0xt⋅xt)=0x_t\cdot x_t)=0,则有,

L(τ)=−12τ2||xt||2+τ(1−yt(wt⋅wt))(6)L(τ)=−12τ2||xt||2+τ(1−yt(wt⋅wt))(6)

\mathcal{L}(\tau)=-\frac{1}{2}\tau^2||x_t||^2+\tau(1-y_t(w_t\cdot w_t)) \quad (6)
对 L(τ)L(τ)\mathcal{L}(\tau)关于 ττ\tau求偏导,并且令偏导为0,

∂L(τ)∂τ=−τ||xt||2+(1−yt(wt⋅xt))=0∂L(τ)∂τ=−τ||xt||2+(1−yt(wt⋅xt))=0

\frac {\partial \mathcal{L}(\tau)}{\partial \tau}=-\tau ||x_t||^2+(1-y_t(w_t\cdot x_t))=0
可得,

τ=1−yt(wt⋅xt)||xt||2=lt||xt||2(7)τ=1−yt(wt⋅xt)||xt||2=lt||xt||2(7)

\tau=\frac{1-y_t(w_t\cdot x_t)}{||x_t||^2}=\frac{l_t}{||x_t||^2}\quad(7)
ps:(7)式同时也满足 lt=0lt=0l_t=0的情况。

PA-I、PA-II算法的更新规则

在现实生活中,考虑到数据常带有噪声的情况,PA算法的更新策略可能会导致不好的结果。一个类标错误的实例可能就会在一个错误的方向上大幅度改变了权值向量w。为了解决这个问题,作者提出PA算法的两种变体。

wt+1=argminw∈R212||w−wt||2+Cζs.t.l(w;(xt,yt))≤ζandζ≥0(8)wt+1=argminw∈R212||w−wt||2+Cζs.t.l(w;(xt,yt))≤ζandζ≥0(8)

w_{t+1}=argmin_{w\in R^2}\frac{1}{2}||w-w_t||^2+C\zeta \quad s.t. \quad l(w;(x_t,y_t))\le\zeta \quad and \quad \zeta\ge0\quad(8)
这里C是一个大于0的参数,用来控制目标函数中的松弛项。注意到当C取值很大时,算法在更新策略上更有攻击性,所以作者把C称作攻击力因子。
相应的,如果 ζζ\zeta换做平方的形式,则目标函数可以写为,

wt+1=argminw∈R212||w−wt||2+Cζ2s.t.l(w;(xt,yt))≤ζ(9)wt+1=argminw∈R212||w−wt||2+Cζ2s.t.l(w;(xt,yt))≤ζ(9)

w_{t+1}=argmin_{w\in R^2}\frac{1}{2}||w-w_t||^2+C\zeta^2\quad s.t.\quad l(w;(x_t,y_t))\le\zeta\quad(9)
这个时候 ζζ\zeta就无需满足非负数的条件,因为 ζ2ζ2\zeta^2是永远满足非负数的。式(8)(9)均有闭式解:

τt=min{C,lt||xt||2}(PA-I)τt=min{C,lt||xt||2}(PA-I)

\tau_t=min\{C,\frac{l_t}{||x_t||^2}\}\quad \text{(PA-I)}

τt=lt||xt||2+12C(PA-II)τt=lt||xt||2+12C(PA-II)

\tau_t=\frac{l_t}{||x_t||^2+\frac{1}{2C}}\quad \text{(PA-II)}

算法的伪代码

目标追踪论文之狼吞虎咽(2):在线被动攻击学习相关推荐

  1. 【IM】关于在线学习(被动攻击学习和适应正则化学习)的理解

    在线学习算法对于有限内存来说.面对大数据时具有重要作用,显然重要是优化求解过程的在线性,这里理解调整梯度下降量的被动攻击学习以及鲁棒性在线学习方法适应正则化学习.

  2. ByteTrack多目标追踪论文阅读

    paper:ByteTrack: Multi-Object Tracking by Associating Every Detection Box code:ByteTrack 一.摘要 多目标追踪的 ...

  3. 3D点云目标追踪论文盘点(含3D点云标注工具)

    3D点云相比2D图片多出来深度这一元素,大大提高了定位空间目标位置的准确性,在机器人,自动驾驶,虚拟现实,遥感测绘等领域有着广泛的应用前景,是计算机视觉未来发展的必然方向,如何精准的识别各个物体在空间 ...

  4. 动手学无人驾驶(3):基于激光雷达3D多目标追踪

    上一篇博客介绍了无人驾驶中的车辆检测算法(YOLO模型),该检测是基于图像进行的2D目标检测.在无人驾驶环境感知传感器中还有另一种重要的传感器:激光雷达.今天就介绍一篇无人驾驶中基于激光雷达目标检测的 ...

  5. 目标追踪与定位学习笔记10-SiamMOT论文阅读

    阅读论文SiamMOT网络 我现在的问题: 问题描述: 给定一个目标进行跟踪,注意观察到人物的遮挡.进入人群中或者视角变化等因素下 SiamMOT专注于改进局部跟踪,在轨迹不可见的情况下也能向前跟踪, ...

  6. PTAV:实时高精度目标追踪框架 | ICCV 2017论文解读

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  7. 论文学习-卫星视频与目标追踪-1-融合KCF跟踪器和三帧差算法

    论文学习-卫星视频与目标追踪-1 大家好,近来一直在研究基于视频卫星的目标追踪领域.为了更好地梳理自己的论文学习过程,故采用博客的方式记录下来.接下来我会将此领域一些我觉得典型的有意义的论文,以我自己 ...

  8. 据我所知,这是第一个完整实现运动分割、动态目标追踪等的「开源」动态SLAM系统!...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 今天给大家分享一篇最新文章,VDO-SLAM :一种动态目标感知的视觉SLAM系统,原文名称 VDO- ...

  9. NeurIPS 2021 | PCAN:高效时序建模,提升多目标追踪与分割性能

    ©作者 | 柯磊 单位 | HKUST/ETHz 研究方向 | 计算机视觉 本文是对我们 NeurIPS 2021 接收的 spotlight 文章 Prototypical Cross-Attent ...

  10. NeurIPS 2021 Spotlight | PCAN: 高效时序建模, 提升多目标追踪与分割性能

    关注公众号,发现CV技术之美 本文为作者投稿,转载自知乎: https://zhuanlan.zhihu.com/p/445457150 本文是对我们NeurIPS 2021接收的spotlight文 ...

最新文章

  1. Django搭建简易博客教程(四)-Models
  2. 文档扫描:深度神经网络在移动端的实践
  3. PartitionMotionSearch()函数
  4. ios-新浪微博-下拉刷新获取最新的消息(解决消息重复的问题)(五)
  5. 06-CABasicAnimation基础核心动画
  6. 武器系统仿真技术(二):末端制导系统蒙特卡洛仿真法
  7. 分布式存储ceph——(3)ceph常用命令
  8. LightBurn(激光切割排版软件)官方中文版V1.0.04 | 激光切割排版软件哪个好
  9. 速腾(Robosense) M1激光雷达ip配置
  10. 可以免费文字识别app有哪些?有这3款app就能够实现提取文字自由
  11. Windows Server 2003 Sp2 雨林木风版
  12. JavaScript 销毁对象
  13. MAC去掉更新小红点
  14. 对话旷视科技孙剑:iPhone X之外 人脸识别到底安不安全? | AI英雄
  15. [20180823]IMU与db link.txt
  16. 全程BUG跟踪管理, 云效平台助企业提升项目研发进度
  17. 学生信息管理系统C语言
  18. A load persistent id instruction was encountered, but no persistent_load function was specified.
  19. 智能+建筑>智能建筑
  20. php excel给excel批量插入图片

热门文章

  1. C++高级进阶 第二季:mutable 关键字
  2. JVM调优总结-调优方法
  3. iPad 2 移植 Siri 常见问题解答及注意事项
  4. eclipse必备的15的个快捷键
  5. wordpress配置邮箱发送功能
  6. jaxb xml 生成 java_java-如何使用JAXB定制XML导出
  7. yolo迭代次数_你一定从未看过如此通俗易懂的YOLO系列(从v1到v5)模型解读 (中)
  8. c语言乘法怎么手写,发现要实现手写乘法计算过程也让我头疼
  9. 软件工程中逻辑覆盖的例题_干货丨一文读懂:飞算全自动软件工程平台如何提升软件开发效率...
  10. mysql sql语句执行到一半会怎么样?