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 ...
随机推荐
- uva 11081 - Strings(LCS)
题目链接:11081 - Strings 题目大意:给出三个字符串,从分别从第一个字符串和第二个字符串中挑选子串a,b,用a和b组成第三个字符串,问可组成的子串有多少种. 解题思路:说起来惭愧啊,题目 ...
- android layout属性介绍
android:id 为控件指定对应的ID android:text 指定控件其中显示的文字,须要注意的是,这里尽量使用strings.xml文件其中的字符串 android:gravity 指定Vi ...
- [Node.js] Use "prestart" in scripts
Usually we run : npm start to start an app, then we we might call other script to do something: npm ...
- 再说重写IHttpHandler,实现前后端分离
aspx页面第一次加载时,HttpHandler 里面是如何编译指定页面的呢?Framework提供了编译页面的API如下: BuildManager.CreateInstanceFromVirtua ...
- 全世界最详细的图形化VMware中linux环境下oracle安装(三)【weber出品必属精品】
数据库软件和数据库都建好了,基本上可以说完成90%的工作,但是美中不足的就是企业管理器还没有安装好,现在我们就开始安装企业管理器吧. 安装之前我们先将补丁给补上.补丁我们也是采用禁默安装.补丁:p83 ...
- unity绘制线和绘制面
绘制线条代码,其实就是指定至少两个点,然后赋予贴图即可,不废话,上代码: using UnityEngine; using System.Collections; public class LineT ...
- Linux知识扫盲
1.发现linux中好多软件以d结尾,d代表什么? d 代表 deamon 守护进程守护进程是运行在Linux服务器后台的一种服务程序.现在比较常用 是 service 这个词.它周期性地执行某种任务 ...
- Qt Creator的配置
说明:一直想入手QT,看了相关的教程也有一段时间了,但苦于安装QT编辑器一直没有成功,今天手痒痒,于是又来捣鼓一阵子,成功了,特记录下来,方便日后查阅: 环境:win7 x64 + QT Creat ...
- 自动化测试CTS命令
#!/sbin/sh chmod +x /system/bin/input i=0 while [ "$i" != "10" ] do #am instrume ...
- Spring AOP之异常转换
Spring-AOP之异常转换 引子 最近项目遇到了一个问题,就是说业务层向展现层需要转换成统一个异常类,并抛出异常,但是由于业务层的异常类过多,所以导致业务异常转换代码充斥着异常转换的代码,本着程序 ...