转载注明出处:

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的更多相关文章

  1. (转)CVPR 2016 Visual Tracking Paper Review

    CVPR 2016 Visual Tracking Paper Review  本文摘自:http://blog.csdn.net/ben_ben_niao/article/details/52072 ...

  2. [Object Tracking] Overview of algorithms for Object Tracking

    From: https://www.zhihu.com/question/26493945 可以载入史册的知乎贴 目标跟踪之NIUBILITY的相关滤波 - 专注于分享目标跟踪中非常高效快速的相关滤波 ...

  3. 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 ...

  4. 2016CVPR论文集

    http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...

  5. CVPR2016 Paper list

    CVPR2016 Paper list ORAL SESSIONImage Captioning and Question Answering Monday, June 27th, 9:00AM - ...

  6. Self-Supervised Representation Learning

    Self-Supervised Representation Learning 2019-11-11 21:12:14  This blog is copied from: https://lilia ...

  7. 设计3D标签

    java自带的Label太枯燥了,真是拿不出手啊. 所以,我们要设计3D标签!! 看看下面这张图 原理 看看这图,可以看到哈哈有三种颜色:白色.黑色和灰色 实现的时候并不像PS那样,按几个按钮就O了 ...

  8. Running Kafka At Scale

    https://engineering.linkedin.com/kafka/running-kafka-scale If data is the lifeblood of high technolo ...

  9. Using Sessions and Session Persistence---reference

    Using Sessions and Session Persistence The following sections describe how to set up and use session ...

随机推荐

  1. JMeter分布式性能测试

    利用JMeter进行负载测试的时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程中,JMeter自身会自动关闭,要解决这个问题,可以使用分布式测试,运行多台机器运行所谓的  ...

  2. 解决如何让AsyncTask终止操作

    受到这个的启发终于结局了如何在AsyncTask运行中终止其操作. 单纯的onCancelled(true)是不行的 下面把代码贴出来~实现了登陆功能. AsyncTask简介,它使创建需要与用户界面 ...

  3. mysql判断某个字符串是否包含另一个

    like SELECT * FROM wx_webauth_userinfo where city LIKE "%台%";"; 结果: 函数find_in_set(str ...

  4. 用JS的for循环打印九九乘法表

    需要使用两个for循环嵌套,代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  5. 查看哪些进程占用了SWAP分区?

    在日常管理中,我们经常会遇到swap分区使用比较多,那么导致是那些进程使用的呢,其实我们可以通过/proc/pid/下的smaps来获得.使用下面的命令可以列出所有进程占用的swap分区的大小,分别我 ...

  6. 《第一行代码》学习笔记12-UI(1)

    1.程序需要注销或者退出,用一个专门的集合类对所有的活动进行管理即可. 2.可视化编辑工具不利于真正了解界面背后的实现原理,通常这种方式制作的界面都不具有很好的屏幕适配性, 而且当需要编写较为复杂的界 ...

  7. oracle 11g 64位安装32位客户端和PL/SQL

    转自:http://www.360doc.com/content/14/0602/10/4903283_382949382.shtml   这个你需要安装一个32位的oracle客户端才能使用plsq ...

  8. ORACLE控制文件一致性【weber出品】

    一.首先控制文件有什么作用呢? 控制文件记录了如下信息:1.数据库的创建时间2.数据文件的位置3.日志文件的位置等作用是指导数据库 找到数据文件,日志文件并将数据库启动到 open 状态. 与其用文字 ...

  9. Silverlight Visifire控件应用去水印

    版本几之前可以用属性直接去掉水印: chart.Watermark = false; 现在我用的会报错,已过时,在网上查了写资料,解决办法如下: 一.很多人都是利用摭罩的办法,定位到水印显示的地方,建 ...

  10. Objective-C 数组、可变数组

    数组的使用方式 下面是数组:类型NSArray #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int ...