算法学习 -- Staple: Complementary Learners for Real-Time Tracking
Abstract
一个结合梯度特征HOG及颜色特征的实时跟踪算法,速度达到80FPS,即每秒80帧图像。
Introduction
Staple: Sum of Template And Pixel-wise LEarners
对于目前的主流跟踪算法,采用的tracking-by-detection策略,即先检测目标的位置,以HOG检测为例 ,对同一个目标,可能得到多个目标的矩形框,如下图所示。有的时候直接通过NMS(non-maximum suppression 非极大值抑制)处理保证只有一个解。不过多数跟踪算法宁可错杀,也不愿放过一个。HOG Object Detection 可以参考 Histogram of Oriented Gradients and Object Detection
Related Work
- Online learning and Correlation Filters:在线学习+协同过滤
- Robustness to deformation:应对形变
- Schemes to reduce model drift:应对漂移问题
- Combining multiple estimates:结合多种估计
- Long-term tracking with re-detection:长期跟踪及重复检测
Proposed Approach
符号及含义
- t t t frame index, 帧索引,帧下标
- x t x_t xt 第t帧图像, x x x指代任意一帧图像
- p t p_t pt 第t帧图像中目标对应的矩形,当然,这个是最优的, p p p指代任意一帧图像
- S t S_t St 第t帧图像中目标对应的所有矩形,所以我们有 p t = a r g m a x p ∈ S t f ( T ( x t , p ) ; θ t − 1 ) p_t=argmax_{p\in S_t}f(T(x_t,p);\theta _{t-1}) pt=argmaxp∈Stf(T(xt,p);θt−1)
- f ( T ( x , p ) ; θ ) f(T(x,p);\theta) f(T(x,p);θ) 依据模型参数 θ \theta θ,计算得到目标在图像 x x x对应矩形 p p p的分数(score)。这个分数当然是越高越好,所以选择取最大分数时的矩形 p p p作为最优的矩形 p t p_t pt。对于 T ( x , p ) T(x,p) T(x,p)可以暂时肤浅地理解为检测出来的梯度特征与颜色特征。同样参数 θ \theta θ也可以暂时肤浅地理解为预测的梯度特征与颜色特征。然后 f ( T ( x , p ) ; θ ) f(T(x,p);\theta) f(T(x,p);θ)求预测特征与检测特征之间的匹配的情况,匹配分数越高,就越可能对应实际的目标矩形 p t p_t pt。
- θ \theta θ 模型参数 θ \theta θ可以通过损失最小化求出,设损失函数为 L ( θ ; X t ) L(\theta;X_t) L(θ;Xt),在这里 X t = { ( x i , p i } i = 1 t X_t=\{(x_i,p_i\}_{i=1}^t Xt={(xi,pi}i=1t并不是帧的集合 { x 1 , x 2 , . . . , x t } \{x_1,x_2,...,x_t\} {x1,x2,...,xt},而是 { ( x 1 , p 1 ) , ( x 2 , p 2 ) , . . . , ( x t , p t ) } \{(x_1,p_1),(x_2,p_2),...,(x_t,p_t)\} {(x1,p1),(x2,p2),...,(xt,pt)},这样包含之前每一帧中目标的位置。对参数的复杂度加以惩罚,最终得到: θ t = a r g m i n θ ∈ Ω { L ( θ ; X t ) + λ R ( θ ) } \theta _t=argmin_{\theta \in \Omega} \{L(\theta;X_t)+\lambda R(\theta)\} θt=argminθ∈Ω{L(θ;Xt)+λR(θ)}
- f ( x ) f(x) f(x) 回到对 p p p进行打分的函数,前面提到要结合梯度特征与颜色特征,考虑算法的实时性,当然用线性方式结合速度快,这样有 f ( x ) = c t m p l f t m p l ( x ) + c h i s t f h i s t ( x ) f(x)=c_{tmpl}f_{tmpl}(x)+c_{hist}f_{hist}(x) f(x)=ctmplftmpl(x)+chistfhist(x)
抱歉这里的 x x x理应对应 T ( x , p ) ; θ T(x,p);\theta T(x,p);θ,但原文中就是这么用的。tmpl 就是template(梯度特征),hist就是histogram(颜色直方图特征) - f t m p l ( x ; h ) f_{tmpl}(x;h) ftmpl(x;h) 考虑梯度特征的打分函数,这里 T \mathcal{T} T与 T T T以及前面的函数 T ( x t , p ) T(x_t,p) T(xt,p)应该没有任何联系。 T ∈ Z 2 \mathcal{T} \in \mathbb{Z}^2 T∈Z2为有限的网格(finite grid),可以理解为图像中一像素的位置坐标(x,y)。 T T T应该为向量的转置。这里h为模型参数, ϕ x \phi _x ϕx为图像梯度特征。这样,对于每一点,我们有: f t m p l ( x ; h ) = ∑ u ∈ T h [ u ] T ϕ x [ u ] f_{tmpl}(x;h)=\sum_{u \in \mathcal{T}}h[u]^T \phi _x[u] ftmpl(x;h)=u∈T∑h[u]Tϕx[u]
- f h i s t ( x ; β ) f_{hist}(x;\beta) fhist(x;β) 考虑颜色特征的打分函数,有一点点不同,在这里, β \beta β同样是模型参数, H \mathcal{H} H也同样是有限的网格(finite grid) f h i s t ( x ; β ) = β T ( 1 ∣ H ∣ ∑ u ∈ H ψ x [ u ] ) f_{hist}(x;\beta)=\beta ^T(\frac 1 {\lvert \mathcal{H} \rvert}\sum _{u\in \mathcal{H}} \psi _x[u]) fhist(x;β)=βT(∣H∣1u∈H∑ψx[u])
- θ \theta θ 参数 θ = ( h , β ) \theta =(h,\beta) θ=(h,β)
- L ( θ , X T ) L(\theta,X_T) L(θ,XT) 损失函数= ∑ t = 1 T w t l ( x t , p t , θ ) \sum _{t=1} ^T w_t l(x_t,p_t,\theta) ∑t=1Twtl(xt,pt,θ),这里每帧的损失函数$ l(x,p,\theta)=cost(p,argmax_{q\in S}f(T(x,q);\theta)) , 在 这 里 , ,在这里, ,在这里,p$自然是正确的矩形。
- 然后得到参数的解: h t = a r g m i n h { L t m p l ( h ; X t ) + 1 2 λ t m p l ∥ h ∥ 2 } h_t=argmin_h \{L_{tmpl}(h;X_t)+\frac 1 2 \lambda _{tmpl} \lVert h \rVert ^2 \} ht=argminh{Ltmpl(h;Xt)+21λtmpl∥h∥2} β t = a r g m i n β { L h i s t ( β ; X t ) + 1 2 λ h i s t ∥ β ∥ 2 } \beta _t=argmin_{\beta} \{L_{hist}(\beta;X_t)+\frac 1 2 \lambda _{hist} \lVert \beta \rVert ^2 \} βt=argminβ{Lhist(β;Xt)+21λhist∥β∥2}
Online least-squares optimisation
上面仅仅介绍了原文的前10个公式,原文一共26个公式,就不一一介绍了。接下来主要讲大概。
这一小节通过梯度下降求解损失函数
Learning the template score
再次梯度下降求 h h h
Learning the histogram score
还是梯度下降求 β \beta β
Search strategy
本文假设矩形窗口 p p p有平移和缩放,但保持长宽比例和朝向(目标不旋转)
Reference
- matlab mex c++ code
- poster
- csdn 更全面地介绍Staple
- cvpr csdn 介绍cvpr中的目标跟踪
算法学习 -- Staple: Complementary Learners for Real-Time Tracking相关推荐
- 目标跟踪算法--Staple: Complementary Learners for Real-Time Tracking
文章下载链接:文章下载链接 代码下载链接:Staple代码 -------------------------------------------- 今天要讲的这篇文章也是基于相关滤波器(不懂相关滤波 ...
- CVPR2016跟踪算法Staple的配置(Staple: Complementary Learners for Real-Time Tracking)
代码下载地址: https://github.com/bertinetto/staple 由于Staple运行需要特定的数据格式,本文把原工程目录runTracker.m简单修改便于测试,改动不大. ...
- 目标跟踪系列二:Staple: Complementary Learners for Real-Time Tracking(2016CVPR)
文章链接:http://arxiv.org/pdf/1512.01355 代码链接:https://github.com/bertinetto/staple 1. 考虑了两种方法的结合.Le ...
- 目标跟踪“Staple: Complementary Learners for Real-Time Tracking”
综合了局部特征HOG和全局特征颜色直方图用于目标跟踪,速度达到80fps. 相关工作 Correlation Filters作为衡量信号相似度的方法被用于跟踪,主要用于rigid模板,关于CF的介绍可 ...
- Staple 跟踪: Complementary Learners for Real-Time Tracking
目标跟踪算法--Staple: Complementary Learners for Real-Time Tracking 小小菜鸟一只 2017-03-25 09:26:42 15110 收藏 ...
- 拿下斯坦福和剑桥双offer,00后的算法学习之路
董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...
- 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)
知其所以然地学习(以算法学习为例) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) Updated(2008-7-24):更新见正文部分,有标注 ...
- 原创 | 初学者友好!最全算法学习资源汇总(附链接)
在计算机发展飞速的今天,也许有人会问,"今天计算机这么快,算法还重要吗?"其实永远不会有太快的计算机,因为我们总会想出新的应用.虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快 ...
- 基本算法学习(一)之希尔排序(JS)
参考书: 严蔚敏-数据结构 希尔排序(Shell's Sort) 希尔排序又称"缩小增量排序",归属于插入排序一类,简单来说,和我们的插入排序比,它更快. 奇妙的记忆点: 内排序( ...
最新文章
- 与ObjectDataSource共舞
- LeetCode 445. Add Two Numbers II--面试算法题--C++,Python解法
- 爬取百度网盘资源报user is not authorized, hitcode:119
- 阿姨帮万勇:O2O产品的颠覆与布局,阿姨帮未来发展战略独家披露
- 洛谷 5205 【模板】多项式开根
- 对应 网口_威纶通网口屏和西门子1200/1500绝对地址实现通讯
- C++11 学习笔记 lambda表达式
- 马逊s3云存储接口_当对象存储“湖”有了强一致性
- axios的用法详解
- python3颜色代码_python3中布局背景颜色代码分析
- conda安装tensorflow-gpu=2.2.0
- Mac乐谱制作工具---Sibelius 8 for Mac西贝柳斯
- 【原创】微信最新表情js代码
- 人体神经系统分布图高清,神经分布图超清图片
- 取消管理员取得所有权_win7怎么获取得管理员所有权
- Mac Gradle 5.0安装
- matlab八分之一中点画圆算法,中点八分画圆算法
- RTL8367RB -CG
- 三大运营商物联卡哪家网络稳定
- 荒野日记辅助挂机攻略,手游辅助好用脚本
热门文章
- matlab教程——基于6.x版本,MATLAB教程:基于6.x版本
- javac编译时出现GBK报错(错误:编码GBK的不可映射字符)
- 【汇编】奇校验程序:输入一个字符,编写一个程序判断这个字符中1的个数,如果是偶数个1,则校验位(字符最高位)为1,如果是奇数个1,则校验位为0。并显示加入校验位前后该字符的二进制代码。
- 5G物联网组网架构-网络
- 根据离散点画直线_离散数据的最佳直线求解方法
- 触摸按键芯片BS801B
- Cisco携Citrix推桌面虚拟化 新终端给力VXI
- 无损放大图片的软件叫什么?这篇文章来告诉你
- python爬取淘宝搜索页面+url+图片下载并将信息保存到MySQL数据库中
- 温度控制c语言流程图,AT89C2051单片机温度控制器设计+电路图+流程图.doc