谁能帮我讲解一下目标跟踪算法 mean-shift算法的原理

wuliang11 2009-02-24 10:14:57
谁能我讲解一下目标跟踪算法的原理,我找了很多资料,但是总是看不大明白。比如说如何计算核函数加权下的搜索窗口的直方图分布?请各位大虾指点,最好能给些具体的算法步骤,越具体越好,谢谢。
...全文
2634 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
zll1371 2012-08-30
  • 打赏
  • 举报
回复
学习了,真心感谢
strongmission 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 eblis88 的回复:]
means shift在聚类中已经是比较简单的方法了吧
如果你看不懂,除了上面那个直方图分布不会,我估计你是卡在迭代这步上。

定义圆心r(n)和半径后,计算大于某个阈值的像素点坐标中心,当然阈值可以通过直方图分布来求。
更改圆心坐标r(n+1),重新计算。
直到||r(n)-r(n+1)||<1。对于离散图像而言,通常收敛门限是1。

就这个简单的几步,就搞定了。
当然,复杂度是……
[/Quote] 在图像中,怎么具体求阈值 和新像素坐标中心的呢,能简单举个例子吗?
playe63 2010-09-11
  • 打赏
  • 举报
回复
K(||(y-xi)/h||^2),中y,xi是坐标还是灰度值啊?
xiaoxiaokafeiwu 2010-08-05
  • 打赏
  • 举报
回复
需要啊
hmily801108 2010-04-04
  • 打赏
  • 举报
回复
很有收获,感谢。eblis88把复杂的东西能简单化,大师级任务。
sijiboblog 2009-11-12
  • 打赏
  • 举报
回复
感谢,非常感谢,非常非常感谢,要是所有难搞的东西都能用这样简单的话描述,再厚我也不嫌多(^^)
wuliang11 2009-03-09
  • 打赏
  • 举报
回复
你说的很详细,我明白了,真的很感谢你,谢谢.以后有什么不懂的我给你发邮件,还希望你多加指教.
eblis88 2009-03-08
  • 打赏
  • 举报
回复
有问题可以直接email。我不用qq,msn

eblis8888@gmail.com
eblis88 2009-03-08
  • 打赏
  • 举报
回复
本科就搞这个东西了阿,有前途!

q1: 范数在图像上可以认为就是距离.这种文章总喜欢用很深奥的数学公式来说明问题,搞得很复杂的样子.
距离小于1的,K(x)=1 就是说,某个支撑域内,Mask值为1。支撑域外,mask值为0

q2: 这个是卷积公式,f是整个图像,m是mask。

q3: 说实话,这个公式我忘了。大概我忘了,大概我看的时候就根本忽略了。。
不过根据你的公式里面
(y-xi)/h 这个xi是什么?如果xi是行的话,那应该就是逐行相减的意思。那么h就是搜索窗口的宽了,你的M*N的窗口,那h=N
公式出处是哪里?我忘了。
如果xi是前一桢的图像,那就不能这样解释了。哪个文章里面有这个公式??

要么你把原文贴上来看看。
wuliang11 2009-03-05
  • 打赏
  • 举报
回复
就是核函数这块老是不明白,我看文章中写的核函数有flat kernel 和高斯kernel,flat kernel不是有个条件限制吗?K(x)=1;(x<=1) ,K(x)=0;(x=其他),这里的x是范数||x||运算,那怎么都为1呢?还有,你上面写的g=f*s,f是图像,是表示整个图像吗,还是窗口内的图像呢? 在看一些文章,总是会有核函数K(||(y-xi)/h||^2),其中h是搜索窗口的宽,要是搜索窗口为M*N的呢,那h应该是多少?

就是好多细节部分不明白,感觉编不下去。你有qq号吗,或msn,我能加你吗,希望以后遇到什么问题能多多请教,我想做的毕业课题是目标跟踪,你应该很熟悉,希望能和你多交流。
eblis88 2009-03-05
  • 打赏
  • 举报
回复
就认为核函数是个卷积核吧
或者滤波器的核函数.

g=f*s f是图像,*表示卷积,s就是核函数。

图像中,就是模板,mask

mask大小,如果是n*n,那n*n内所有模板值都为1,就叫支撑与内全为1的核函数。当然,当然还要有系数,n^(-2)

meanshift有时候mask是圆的,那就是在那个圆半径内,都为1。这个也叫支撑域全为1的核函数


你写程序卡在那步了?
wuliang11 2009-03-04
  • 打赏
  • 举报
回复
我就是核函数这快不懂,在编程时,应该怎样编写这个核函数呢?你所说的支撑域全为1的核函数,是什么样的呢?帮我看看吧,谢了啊:)
wuliang11 2009-03-04
  • 打赏
  • 举报
回复
你能讲详细下吗,我不太明白,我查了很多资料,但是到编程时,还是不会,比较菜,还请你帮帮忙?一定给分
eblis88 2009-02-28
  • 打赏
  • 举报
回复
核函数不是只有最普通的两种么

支撑域全为1的核函数比较简单。

高斯型的,我还没用过。不方便评价
wuliang11 2009-02-27
  • 打赏
  • 举报
回复
编程时哪个核函数用什么来替代啊?
yxw860516 2009-02-25
  • 打赏
  • 举报
回复
学习中。。。。。。。。。。。。
eblis88 2009-02-25
  • 打赏
  • 举报
回复
means shift在聚类中已经是比较简单的方法了吧
如果你看不懂,除了上面那个直方图分布不会,我估计你是卡在迭代这步上。

定义圆心r(n)和半径后,计算大于某个阈值的像素点坐标中心,当然阈值可以通过直方图分布来求。
更改圆心坐标r(n+1),重新计算。
直到||r(n)-r(n+1)||<1。对于离散图像而言,通常收敛门限是1。

就这个简单的几步,就搞定了。
当然,复杂度是很大的。
实达诚实 2009-02-24
  • 打赏
  • 举报
回复
mark
eblis88 2009-02-24
  • 打赏
  • 举报
回复
窗口的直方图分布不会?

int ImageHist[256];
for (......)
for Value=0:255
if (Image(i,j)=Value)
ImageHist[Value]++;

这不就得到直方图分布了么。

算法要是看不懂,问你老师,或者反复看文献。直到理解文献中每一句话。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧