基于空间直方图meanshift跟踪

近期看了一篇文章《spatiograms versus histograms for region-based tracking》,在此把这篇文章的核心思想及算法推理进行整理。

空间直方图

传统直方图可视为零阶空间直方图,二阶空间直 方图包含直方图每一个bin的空间均值和协方差。这样的空间信息能获取目标更丰富的特征描写叙述。从而提高了跟踪的鲁棒性。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

概率密度函数

空间直方图的空间信息默认服从的是高斯分布,对于两个直方图推断是否相似也是依据多高斯(GMM)的分布特征进行推断的。

高斯分布:即正态分布的概率密度函数均值为μ方差 为σ2 (或标准差σ)是高斯函数的一个实例:

当中σ越小,分布越集中,σ越大。分布越分散。假设一个随机变量X服从这个分布。我们写作 X ~ N(μ,σ2). 假设μ = 0而且σ =
1,这个分布被称为标准正态分布,这个分布可以简化为

多维高斯分布公式:

D表示X的维数。表示D*D的协方差矩阵,定义为

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

空间直方图与GMMs相似,但GMMs从区域I中得到的多高斯权重和做为相似值,而空间直方图仅仅是从一个高斯分布的区域中获取值。

GMMs在它们的区域中是非參数的。它们的范围区间是半參数的,直方图在它们的区域和范围中都是无參数的,空间直方图在它们的范围内是无參数的,但它们的区间是半參数的。

Meanshift

Meanshift算法是基于模式匹配的目标跟踪算法,首先手动选取跟踪窗体,依据颜色直方图分布计算核函数加权下的目标模板,在兴许跟踪帧中用同样方法得到选定区域的直方图分布。统计迭代计算,使得每个点向两个分布相似性最大的方向漂移。



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

这些就是这篇文章算法的核心思想,之后我会把实现代码贴出来。
时间: 2024-12-07 08:36:10

基于空间直方图meanshift跟踪的相关文章

meanShift跟踪

这种跟踪和我之前想的一样,应该是首先鼠标选中要跟踪的目标,然后计算其直方图.接下来就根据这个原始直方图计算每一帧的反向投影.(反向投影:opencv docs给出的概念是"一种记录给定图像中的像素点如何适应直方图模型像素分布的方式.简单的讲, 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型去寻找图像中存在的该特征.) 然后根据反向投影用meanshift跟踪  meanShift(backproj, trackWindow,TermCriteria(CV_TERMCRIT_EPS |

有关meanshift跟踪的理解(在opencv中实现)(转载)

meanshift算法思想其实很简单:利用概率密度的梯度爬升来寻找局部最优.它要做的就是输入一个在图像的范围,然后一直迭代(朝着重心迭代)直到满足你的要求为止.但是他是怎么用于做图像跟踪的呢?这是我自从学习meanshift以来,一直的困惑.而且网上也没有合理的解释.经过这几天的思考,和对反向投影的理解使得我对它的原理有了大致的认识. 在opencv中,进行meanshift其实很简单,输入一张图像(imgProb),再输入一个开始迭代的方框(windowIn)和一个迭代条件(criteria)

matlab工具箱之人眼检测+meanshift跟踪算法--人眼跟踪

Viola-Jones 人眼检测算法+meanshift跟踪算法 这次的代码是对视频中的人眼部分进行检测加跟踪,检测用的是matlab自带的人眼检测工具箱 下面是matlab官网介绍这个算法的一些东西: http://cn.mathworks.com/help/vision/examples/face-detection-and-tracking-using-camshift.html?searchHighlight=Viola-Jones http://cn.mathworks.com/hel

浏览器禁用Cookie,基于Cookie的会话跟踪机制失效的解决办法

当浏览器禁用Cookies时,基于Cookie的会话跟踪机制就会失效,解决办法是利用URL重写机制跟踪用户会话. 在使用URL重写机制的时候需要注意,为了保证会话跟踪的正确性,所有的链接和重定向语句中的URL都需要调用encodeURL()或encodeRedirectURL()方法进行编码.另外,由于附加在URL中的SessionID是动态产生的,对于每一个用户都是不同的,所欲对于静态页面的相互跳转,URL重写机制就无能为力了,但是,我们也可以通过将静态页面转换为动态页面来解决这个问题. 在w

软件架构设计学习总结(22):软件架构——分层架构、事件驱动架构、微内核架构、微服务架构、基于空间的架构

分层架构 (Layered Architecture) 分层架构是最常见的架构,也被称为n层架构.多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师.开发者和软件设计者所熟知.比如MVC. 分层架构的一个特性就是 关注分离(separation of concerns) .在层中的组件只负责本层的逻辑.组件的划分很容易让它们实现自己的角色和职责,也比较容易地开发,测试管理和维护. 我们需要这样的冗余,即使业务层没有处理业务规则,也要通过业务层来调用数

基于SkyWalking的分布式跟踪系统 - 微服务监控

上一篇文章我们搭建了基于SkyWalking分布式跟踪环境,今天聊聊使用SkyWalking监控我们的微服务(DUBBO) 服务案例 假设你有个订单微服务,包含以下组件 MySQL数据库分表分库(2台) 生产者(2台) dubbo-provider 消费者 dubbo-consumer 网络拓扑图如下 生产者的关键代码 @Service public class OrderServiceImpl implements OrderService { @Autowired protected Ord

基于SkyWalking的分布式跟踪系统 - 异常告警

通过前面2篇文章我们搭建了SW的基础环境,监控了微服务,能了解所有服务的运行情况.但是当出现服务响应慢,接口耗时严重时我们需要立即定位到问题,这就需要我们今天的主角--监控告警,同时此篇也是SW系列的最后一篇. UI参数 首先我们认识一下SW DashBoard上的几个关键参数,如下图所示 告警配置 告警流程 skywalking发送告警的基本原理是每隔一段时间轮询skywalking-collector收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间.服务响应时间百分比)等,如果

自适应尺寸变化的meanshift跟踪

近期在看meanshift方面的文章,看了一篇博文对这篇文章<Robust scale-adaptive meanshift for tracking>寄予非常高的评价,所以把这篇文章简要的读了一下.以下对这篇文章的核心思想和算法实现过程进行简要整理,由于这篇文章与我眼下项目的关系不是太大,所以就不正确这篇文章进行实现了.这篇文章就作为技术储备了. 文章在前面对meanshift的原理进行了整理和推倒.由于之前对meanshift已经有了初步了解.所以在这就不正确meanshift进行介绍了.

基于MeanShift的目标跟踪算法及实现

一.简介 首先扯扯无参密度估计理论,无参密度估计也叫做非参数估计,属于数理统计的一个分支,和参数密度估计共同构成了概率密度估计方法.参数密度估计方法要求特征空间服从一个已知的概率密度函数,在实际的应用中这个条件很难达到.而无参数密度估计方法对先验知识要求最少,完全依靠训练数据进行估计,并且可以用于任意形状的密度估计.所以依靠无参密度估计方法,即不事先规定概率密度函数的结构形式,在某一连续点处的密度函数值可由该点邻域中的若干样本点估计得出.常用的无参密度估计方法有:直方图法.最近邻域法和核密度估计