目标函数:最大的Bha相似系数。
输入:目标的颜色概率分布q(u)及初始位置y0
步骤:
1、依据初始位置y0,计算y0处的侯选目标的概率分布p(y0)以及Bha 相似系数[p(y0),q(u)];
2、依据公式计算 权重wi;
3、 依据公式计算新的位置y1;
4、 计算y1处的侯选目标的概率分布p(y1)以及Bha 相似系数[p(y1),q(u)];如果[p(y1),q(u)]<[p(y0),q(u)],则y1=1/2(y0+y1);再重新计算。
5、如果|y1-y0|<c,则迭代结束,否则y0=y1,跳到第1步继续进行。
其中,
第2步wi的计算,是 由于将目标函数按泰勒级数展开后,舍弃二级(包含)以上的高阶,而得到的一个系数。
第3步是 meanshift迭代的一个表达式。
第4步是为了保证Bha 相似系数始终增大,而且据Meer论文中提到在实际测试过程中,只有小于0.1%的概率会出现Bha 相似系数情况。所以有时也可省略。
最近看到一个改进是,利用kalman滤波器对初始点进行预测,然后meanshift进行迭代找到局部最相似的目标,同时对目标运动距离和最大相似性系数进行计算.再利用运动相对距离和最大相似性系数(值小了,可信度就低,表明目标被遮挡了.)对kalman的状态矩阵进行更新.再对目标位置进行下一次的预测,再下一轮的计算.
参考:
1.Dorin Comaniciu, Peter Meer. Real-Time Tracking of Non-Rigid Objects using Mean Shift 2002
2.Vasileios Karavasilis, Visual Tracking by Adaptive Kalman Filtering and Mean Shift 2010