相关滤波跟踪(MOSSE)

相关滤波跟踪(MOSSE)

在信号处理中,有这么一个概念——相关性(correlation),用来描述两个因素之间的联系。而相关性又分为cross-correlation(互相关,两个信号之间的联系)和auto-correlation(自相关,本身在不同频域的相关性)。

2010年CVPR,David S.Bolme在文章《visual object tracking using adaptive correlation filters》中首次将相关滤波用在了跟踪领域,在其文章的基础之上,很多改进的算法相继出现,跟踪的效果也越来越好。

在介绍作者的算法之前,先介绍一下相关滤波的原理。

假设有两个信号f和g,则两个信号的相关性(correlation)为:

(f?g)(τ)=∫?∞∞f?(t)g(t+τ)dt

(f?g)(n)=∑?∞∞f?[m]g(m+n)

其中f?表示f的复共轭。correlation的直观解释就是衡量两个函数在某个时刻相似程度。

而将correlation filter应用与跟踪最简单的想法就是:两个信号越相似,其相关值越高。在跟踪,就是找到与跟踪目标响应最大的项。

作者提出的滤波器叫做Minimum Output Sum of Squared Error filter(MOSSE)(误差最小平方和滤波器)。按照前面的思路,我们需要找到一个滤波器,使其在目标上的响应最大,则如下公式:

g=f?h

其中g表示响应输出,f表示输入图像,h表示滤波模板。

显然,我们要是想获得比较获得响应输出,只需确定滤波器模板h即可。上式的计算是进行卷积计算,这在计算机中的计算消耗时很大的,因此作者对上式进行快速傅里叶变换(FFT),这样卷积操作经过FFT后就变成了点乘操作,极大的减少了计算量。上式变成如下形式:

F(g)=F(f?g)=F(f)?F(h)?

为了方便描述,将上式写成如下形式:

G=F?H?

有了上面的式子,那么后面跟踪的任务就是找到H?了:

H?=GF

但是在实际跟踪的过程中我们要考虑到目标的外观变换等因素的影响,所以需要同时考虑目标的m个图像作为参考,从而提高滤波器模板的鲁棒性,所以作者就提出了MOSSE这个模型,其模型公式入下:

minH?=∑i=1m|H?Fi?Gi|2

因为上式的操作都是元素级别的,因此要想找到,只要使其中的每个元素(w和v是H中每个元素的索引)的MOSSE都最小即可。因此上式可转换为如下形式:

minH?wv∑i=1m|H?wvFwvi?Gwvi|2

要想得到最小的H8wv,只需要对上式求偏导,并使偏导为0即可。即:

0=??H?wv∑i|FiwvH?wv?Giwv|2

复数域求导和实数域求导时不一样的,其求导过程如下:

0=??H?wv∑i(FiwvH?wv?Giwv)(FiwvH?wv?Giwv)?

0=??H?wv∑[(FiwvH?wv)(FiwvH?wv)??(FiwvH?wv)G?iwv?Giwv(FiwvH?wv)?+GiwvG?iwv]

0=??H?wv∑iFiwvF?iwvHwvH?wv?FiwvG?iwvH?wv?F?iwvGiwvHwv+GiwvG?iwv

0=∑i[FiwvF?iwvHwv?FiwvG?iwv]

Hwv=∑iFiwvG?iwv∑iFiwvF?iwv

上面得到是H中每个元素的值,最后得到H为:

H=∑iFi?G?i∑iFi?F?i

上式就是滤波器的模型公式。

但是在跟踪中该怎么得到滤波器H呢?Fi和Gi又该怎么获取?

在作者的文章中,其对跟踪框(groundtruth)进行随机仿射变换,获取一系列的训练样本fi,而gi则是由高斯函数产生,并且其峰值位置是在fi的中心位置。获得了一系列的训练样本和结果之后,就可以计算滤波器h的值。注意:这里的f,g,h的size大小都相同。

作者为了让滤波器对与形变、光照等外界影响具有更好的鲁棒性,采取了如下的模板更新策略:

Ht=AtBt

At=ηFt?G?t+(1?η)At?1

Bt=ηFt?F?t+(1?η)Bt?1

作者将滤波器的模型公式分为分子和分母两个部分,每个部分都分别的进行更新,更的参数为η。其中At和At?1分别表示的是当前帧和上一帧的分子。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-15 22:26:59

相关滤波跟踪(MOSSE)的相关文章

【计算机视觉】粒子滤波跟踪

粒子滤波步骤 1.初始化随机选取N个点,权重统一赋值1/N 2.选取目标特征,颜色直方图等等,用于获取先验概率密度,对比相似度 3.确定状态转移矩阵,用于预测下一帧目标位置 循环开始 4.根据状态转移矩阵,对每个粒子,预测目标新位置 5.获得系统观测值,计算观测位置处特征 6.计算每个预测位置处特征,与观测处位置特征对比,相似度高的赋予较大的权重,反之,赋予较小的权重 7.对粒子加权获取当前的目标最佳位置 8.粒子重采样 循环结束 上面是我自己的理解,有些问题仍然不明白: 1.都有观测值了还修正

Opencv 实现图像的离散傅里叶变换(DFT)、卷积运算(相关滤波)

我是做Tracking 的,对于速度要求很高.发现傅里叶变换可以使用.于是学习之! 核心: 最根本的一点就是将时域内的信号转移到频域里面.这样时域里的卷积可以转换为频域内的乘积! 在分析图像信号的频率特性时,对于一幅图像,直流分量表示预想的平均灰度,低频分量代表了大面积背景区域和缓慢变化部分,高频部分代表了它的边缘,细节,跳跃部分以及颗粒噪声.  因此,我们可以做相应的锐化和模糊的处理:提出其中的高频分量做傅里叶逆变换得到的就是锐化的结果.提出其中的低频分量做傅里叶逆变换得到的就是模糊的结果.

目标跟踪算法综述

转自  https://www.zhihu.com/question/26493945 作者:YaqiLYU 第一部分:目标跟踪速览 先跟几个SOTA的tracker混个脸熟,大概了解一下目标跟踪这个方向都有些什么.一切要从2013年的那个数据库说起..如果你问别人近几年有什么比较niubility的跟踪算法,大部分人都会扔给你吴毅老师的论文,OTB50和OTB100(OTB50这里指OTB-2013,OTB100这里指OTB-2015,50和100分别代表视频数量,方便记忆): Wu Y, L

目标跟踪学习笔记1

首先提供几篇关于粒子滤波算法的博客:http://www.cnblogs.com/yangyangcv/archive/2010/05/23/1742263.html 这篇博客比较通俗易懂,简单的介绍了粒子滤波的基本工作思想和步骤.http://www.cnblogs.com/lwbaptx/archive/2011/10/20/2218419.html这篇博客用的是opencv1.0,实现的功能是用粒子滤波跟踪鼠标轨迹,有视频演示,效果还不错.http://blog.csdn.net/yang

(转) 深度学习在目标跟踪中的应用

深度学习在目标跟踪中的应用 原创 2016-09-05 徐霞清 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容的平台,邀请学术界.工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术.产品和活动信息! 开始本文之前,我们首先看上方给出的3张图片,它们分别是同一个视频的第1,40,80帧.在第1帧给出一个跑步者的边框(bounding-box)之后,后续的第40帧,80帧,bounding-box依然准确圈出了同一个跑步者.以上展示的其实就是目标跟踪(vis

【转】 视觉跟踪综述

目标跟踪是绝大多数视觉系统中不可或缺的环节.在二维视频跟踪算法中,基于目标颜色信息或基于目标运动信息等方法是常用的跟踪方法.从以往的研究中我们发现,大多数普通摄像头(彩色摄像头)下非基于背景建模的跟踪算法都极易受光照条件的影响.这是因为颜色变化在某种程度上是光学的色彩变化造成的.如基于体素和图像像素守恒假设的光流算法它也是假设一个物体的颜色在前后两帧没有巨大而明显的变化. 但在特定的场景应用中(如视频监控等领域),不失有一些经典的跟踪算法可以实现较好的跟踪效果.以下主要介绍三种经典的跟踪算法:C

CVPR2018 单目标跟踪部分论文

from https://blog.csdn.net/weixin_40645129/article/details/81173088 CVPR2018已公布关于视频目标跟踪的论文简要分析与总结 一,A Twofold Siamese Network for Real-Time Object Tracking 论文名称 A Twofold Siamese Network for Real-Time Object Tracking 简介 此算法在SiamFC的基础上增加了语义分支,进一步提升Sia

单目标跟踪CVPR 2018 ECO+

FROM https://blog.csdn.net/weixin_40245131/article/details/79754531 目标跟踪的相关滤波方向,Martin Danelljan 4月底在arXiv上挂出来的最新论文: Bhat G, Johnander J, Danelljan M, et al. Unveiling the Power of Deep Tracking [J]. arXiv preprint arXiv:1804.06833, 2018. https://arx

目标跟踪综述(主要是深度学习)

摘要 近年来,深度学习方法在物体跟踪领域有不少成功应用,并逐渐在性能上超越传统方法.本文对现有基于深度学习的目标跟踪算法进行了分类梳理. 经典的目标跟踪方法 目前跟踪算法可以被分为产生式(generative model)和判别式(discriminative model)两大类别. 产生式方法运用生成模型描述目标的表观特征,之后通过搜索候选目标来最小化重构误差.比较有代表性的算法有稀疏编码(sparse coding),在线密度估计(online density estimation)和主成分