基于特征点的目标跟踪算法,加入了投票算法,原理比较简单,算法流程如图所示。
Step1:在样本图像检测Keypoint,根据人工选择的区域划分前景Keypoint与背景Keypoint,分别计算相应的描述子descriptor,存储在feature的数据库的矩阵中。
Step2:给前景Keypoint分配从1开始的序列号,给背景Keypoint分配成统一的0序列号。并将它们存在class分类(前景)数据库的向量(矩阵)中。同时Keypoint中包含该点图像中的绝对坐标系中的位置。
Step3:进入循环(主要是初步选取活动的Keypoint和根据评估投票结果精选Keypoint和一些运动信息)
Step4: 初选Keypoint分为Track和Match的两个过程:(实际代码中与上述算法有所出入,这里先讲述上述算法)
在当前图像帧中检测Keypoint;
Step5:计算当前Keypoint与样本图像中的所有Keypoint(含前景与背景)的特征的距离或等同量,特征匹配程度较高的Keypoint作为Active Keypoint,即有效Keypoint。
Step6:
Track 过程:光流法计算相邻图像帧的关键点移动情况,倘若前向计算与后向计算结果相差不大且没有离开图像视野,则认为该点为active Keypoint;
Step7:合并上述的active Keypoint;
Step8: 根据Active Keypoint之间的距离和相应的样本中Keypoint之间的距离的比例,计算相应的尺寸变化的比例向量,取其中值。
Step9:类似的得到旋转角度。