传统meanshift跟踪算法流程
- 格式:doc
- 大小:280.00 KB
- 文档页数:3
传统meanshift 跟踪算法实现流程
一、 Meanshift 算法流程图
视频流
手动选定跟踪目标
提取目标灰度加权直方图特征hist1
提取候选目
标区域
提取候选目标的灰度加权直方图特征hist2
均值漂移得到均值漂移向量及新的候选区域位
置
是否满足迭代结束条件
第二帧之后图像
第一帧图像
得到当前帧目标位置
是
否
图1 meanshift 流程图
二、 各模块概述
1、 手动选定目标区域:手动框出目标区域,并把该区域提取出来作为目标模板
区域;
2、 提取目标灰度加权直方图特征hist1;
2.1构造距离权值矩阵m_wei ;
使用Epanechnikov 核函数构造距离加权直方图矩阵:设目标区域中像素
点(,)i j 到该区域中心的距离为dist ,则
_(,)1/m wei i j dist h =-,这里h 是核函数窗宽,h 为目标区域中离区域中心
最远的像素点到中心的距离:若所选目标区域为矩形区域,区域的半宽度为
x h ,半高度为y h ,则22()x y h sqrt h h =+; 2.2得到归一化系数C ;
1/C M =,其中M 是m_wei 中所有元素值之和; 2.3计算目标的加权直方图特征向量hist1;
若图像为彩色图像,则把图像的,,r g b 分量归一化到[0,15]之间(分量值与16取余,余数即为归化后的分量值),然后为不同的分量值赋予不同的权值得到每个像素点的特征值_q temp :
_256*16*q t e m p r g b =
++ 对于像素点(,)i j ,设其特征值为_q temp ,则另
1(_1)1(_1)_(,)hist q temp hist q temp m wei i j +=++;
若图像是灰度图像,则直接利用每个像素的灰度值作为每个像素的特征值,然后统计得到hist1;
把一维数组hist1归一化:11*hist hist C =;归一化后的数组hist1即为目标的加权直方图特征向量;
3、 从第二帧开始的图像,通过迭代的方式找到该帧图像中目标的位置;
3.1提取候选目标区域:以上一帧图像中目标的位置或上一次迭代得到的目标位置为中心提取出目标模板区域大小的区域;
3.2提取候选目标区域的加权直方图特征向量hist2:提取方法同步骤2.3; 计算候选目标区域的特征值矩阵_1q temp :
_1
(,)256*(,)
16*(,)q t e m p i j r i j g i j b i j
=++; 3.3均值漂移到新的目标区域;
3.3.1计算候选目标区域相对于目标区域的均值漂移权值w :
(
1()/2()),2(2w s q r t h i s t i h i s t i
h i s t
=≠ 2()
0h i s t i =时,()0;w i = 3.3.2 根据每个像素点所占的均值漂移权值计算漂移矩阵xw : 11(_1(,)1)*[(1),(2)]a
b
i j xw xw w q temp i j i y j y ===++--∑∑ 3.3.2得到权值归一化后的均值漂移向量Y :
11
/(_1(,)1)a
b
i j Y xw w q temp i j ===+∑∑
3.3.3得到下一个候选目标区域的中心位置y : ;y y Y =+
二、算法总结
对于输入的视频流,程序处理流程:
1、获取第一帧图像,在第一帧图像中给出要跟踪的目标矩形模板区域A ,假定A 的高度为a ,宽度为b 。
根据模板区域的大小构造核函数距离加权矩阵_m wei ,并根据模板区域的颜色特征构造目标的加权直方图特征向量
1hist ;
2、对于第t 帧图像t I ,假定1t -帧图像中目标所在的位置为1t y -,初始化均值漂移矩阵[2,2]Y =,迭代次数0num =,下一次的迭代位置1num t t y y -=;
3、If(22(1)(2)0.5Y Y +> & 20num <) 3.1num ++;
3.2以num t y 为中心,提取出目标模板区域大小的候选目标区域B ; 3.3计算B 的特征值矩阵_1q temp 及加权直方图特征向量2hist ; 3.4计算候选目标区域相对于目标区域的均值漂移权值w ; 3.5得到权值归一化后的均值漂移向量Y ; 3.61num num t t y y Y -=+; 3.7转到步骤3; 4、else
4.1得到当前帧的目标位置num t t y y =; 4.21t t =+,转到步骤2;。