Staple: Complementary Learners For Real-time Tracking Tracking
转载注明出处:
http://www.cnblogs.com/sysuzyq/p/6169414.html
By 少侠阿朱
讨论班上的PPT

1.同学大家好。今天给大家讲一篇单目标跟踪的论文,方法比较传统,但是我觉得比较实用。不过,公式非常多,有一定难度。不过,大家别害怕,因为我看了作者代码,可以说说怎么做的,大家别太关注公式。
但是我们先大体浏览一遍公式,再讲一下代码实现。有兴趣可以课后看看。

2.作者发现啊,有时候颜色分布不足以将目标和背景区分开来。相反有时候像HOG这样的模板在应对剧烈形变的时候往往效果很差。

3.那么作者针对这个问题做了些相关工作,第一个就是说像卷积滤波器就对剧烈形变不鲁棒,这是他们的先天缺陷。第二个就是在线学习带来的模型漂移,这是什么意思呢?现在很多算法都是假设当前预测的是对的,
然后把预测当做正样本来训练,更新模型。也就是说,一旦预测不对,后面也跟着错。学习多个弱的跟踪器或者是学习一个能变动的模板,比如DPM等等。但是这些方法效果都不是很好。
而作者发现,直方图特征是不考虑像素的位置,这在一定程度上可以减少形变带来的影响,而在目标颜色和背景颜色区分力度不够的时候,CF的鲁棒性比较强。所以作者就提出能不能结合他们来做跟踪。

4.大家看一下这两个方程,第一个的意思是,对于t帧,我选择一个pt使得得分函数f的值最大。
第二个是说我要取得一组cita使得整个损失函数最小。这个L是和前面帧的目标位置有关的一个函数。R是正则项。

5.那我们先来看一下f是什么,f由两项组成,一项是模板的得分,第二项是直方图得分。这个公式真么意思呢?假设一张图像x用Z~2表示,则T是x中的某一个patch,u代表patch中一个像素位置,h[]学习到的模板,
大家可以理解为这个式子就是HOG模板h和这个patch的HOG特征(通过fine函数算出来)对应位置的值相乘,然后求和,作为当前点u的响应值。这是卷积操作。整个式子相当于是CF滤波器。

6.
那么直方图得分怎么求的呢。我感觉作者这里写的有点含糊,但是看代码的时候,我才懂,这个beta是对每个点来说的,就是每个点都有一个beta,如果这是三通道的图片,那么beta就是一个尺度为3的向量。
代表着这个属于object的概率。那么后半部分就是对一个框内的所有的概率作为积分和,作为这点是目标中心的概率。

7.再看损失函数。Lossfunction是每张图像的loss的和,这是一个非凸函数,虽然可以求解出便捷,比如Struck算法。但是计算非常复杂和消耗资源。

8.所以作者提出用两个岭回归来求解这个问题,就是把对h的求解和beta的求解分开来。H可以通过cf的公式求解,对于β,作者提出了另外的快速求解方法。至于很细的求解过程我们过一遍就好了,我们主要关注怎么实现。

9.这里求解的时候,作者来个小插曲,就是讲了一下最小二乘的求解,这里大家留意一点,就是这些求得参数,他是一种递归的形式,就是说,当前的参数与过去t-1帧的参数和当前帧t的参数有关。


11.通过这种类似的方式,作者求得卷积滤波器的模板参数h,和他的更新方式。所以这个模板是一个频域上的模板,其中模板的参数dt’和rt’从HOG特征图的傅里叶变换中计算得到,同时由dt和rt可以计算得到新的模板。
还有直方图的参数和直方图更新方式。


13.ψ 相当于取第j维,比如图像有3维。βT ψ[u] 计算的是第j通道的图像,u点属于前景的概率。其中N j(O)
表示第j通道上,点u落在O区域的直方图对应的bin,这个bin的数值,也就是O的中属于这个bin的点数。





18.(TRE):把视频划分成 20 段,从每帧开始运行直到完,计算总体结果。
(SRE):在第一帧使用8个空间偏移(其中4个中心偏移和4个角偏移,都为目标尺寸的10%)和4个尺度偏移(0.8,0.9,1.1 和 1.2)。共运行12次。




付论文注释:









Staple: Complementary Learners For Real-time Tracking Tracking的更多相关文章
- (转)CVPR 2016 Visual Tracking Paper Review
CVPR 2016 Visual Tracking Paper Review 本文摘自:http://blog.csdn.net/ben_ben_niao/article/details/52072 ...
- [Object Tracking] Overview of algorithms for Object Tracking
From: https://www.zhihu.com/question/26493945 可以载入史册的知乎贴 目标跟踪之NIUBILITY的相关滤波 - 专注于分享目标跟踪中非常高效快速的相关滤波 ...
- Summary on Visual Tracking: Paper List, Benchmarks and Top Groups
Summary on Visual Tracking: Paper List, Benchmarks and Top Groups 2018-07-26 10:32:15 This blog is c ...
- 2016CVPR论文集
http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...
- CVPR2016 Paper list
CVPR2016 Paper list ORAL SESSIONImage Captioning and Question Answering Monday, June 27th, 9:00AM - ...
- Self-Supervised Representation Learning
Self-Supervised Representation Learning 2019-11-11 21:12:14 This blog is copied from: https://lilia ...
- 设计3D标签
java自带的Label太枯燥了,真是拿不出手啊. 所以,我们要设计3D标签!! 看看下面这张图 原理 看看这图,可以看到哈哈有三种颜色:白色.黑色和灰色 实现的时候并不像PS那样,按几个按钮就O了 ...
- Running Kafka At Scale
https://engineering.linkedin.com/kafka/running-kafka-scale If data is the lifeblood of high technolo ...
- Using Sessions and Session Persistence---reference
Using Sessions and Session Persistence The following sections describe how to set up and use session ...
随机推荐
- 【git 问题小说说】 git add时候报错:LF will be replaced by CRLF
本文来自:http://blog.csdn.net/loovejava/article/details/22114477 最近工作在window平台,不怎么使用命令行了所以导致很多命令都不熟悉啦 哈哈 ...
- android 银行卡。。空格输入
class myWatcher implements TextWatcher { int beforeTextLength = 0; int onTextLength = 0; boolean isC ...
- Java第三周学习日记
Day01 1.线程 进程:进程就是正在运行的应用程序.进程负责了内存空间的划分. 线程:一个进程中的代码是由线程去执行的,线程也就是其中一个执行路径. 多线程:一个进程中有多个线程可以同时执行任务. ...
- get请求与post请求
1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过H ...
- Jsp request
<%@ page language="java" import="java.util.*" pageEncoding="GB18030" ...
- vim搜索后跳到下(上)一个
搜索高亮后, 跳到下一个:小写n 上一个:大写N
- OpenGL ES 2.0 曲面物体的构建
球体构建的基本原理构建曲面物体最重要的就是找到将曲面恰当拆分成三角形的策略. 最基本的策略是首先按照一定的规则将物体按行和列两个方向进行拆分,这时就可以得到很多的小四边形.然后再将每个小四边形拆分成两 ...
- VS2015试验随手记
1.第一次安装时,未完整安装,没有安装MFC,导致可以创建MFC工程,但是不能编译 解决办法,修改安装,加入MFC 2.学习创建windows runtime component,第一次使用,可以得到 ...
- 修补--Redis未授权访问漏洞
--------------------------------阿里云解决方案----------------------------------- 一.漏洞描述 Redis因配置不当可以导致未授权访 ...
- windows下使用php重命名目录下的文件
rename函数一直报错,最后发现是windows下文件名的编码问题,如果项目文件是utf-8的话,一定要经过一步转码 $dir = $path . '/../resource/logo'; $han ...