本发明属于图像处理技术领域,特别是一种基于sopc的均值偏移视频目标跟踪方法。
背景技术:
meanshift算法[1]是一种基于密度梯度的无参数估计方法,是模板匹配跟踪算法中的一种主流算法。meanshift算法在2003年由comaniciud引入到目标跟踪领域,因其收敛速度快、计算量小、实时性好引起了人们的广泛关注。它利用图像中像素建立加权直方图作为目标特征,具有一定的抗遮挡、抗形变的能力,但对尺度变化目标的跟踪性能不佳。目前的研究多基于软件仿真[2~4],对于硬件实现的研究并不多。
目前的实现方法是基于dsp+fpga设计[5],dsp为主,fpga为辅。在文献[5]中dsp完成算法的主流程的计算,fpga仅负责算法直方图统计部分和外围电路。因为meanshift算法基于浮点运算,不利于fpga编程实现,fpga+dsp协同实现时系统的处理时间最快达到20ms左右,无法满足实时性更高的场合。
参考文献
[1]comaniciud,rameshv,meerp.kernel-basedobjecttracking[j].ieeetrans.onpatternanalysisandmachineintelligence,2003,25(5):564-577.
[2]anbangyao,guijinwang,xingganglin,etal.anincrementalbhattacharyyadissimilaritymeasureforparticlefiltering[j].patternrecognition.2010,43(4):1244–1256.
[3]r.venkateshbabu,s.suresh,anamitramakur.onlineadaptiveradialbasisfunctionnetworksforrobustobjecttracking[j].computervisionandimageunderstanding.2010,114(3)297–310.
[4]leichterido,lindenbaummichael,rivlinehud.meanshifttrackingwithmultiplereferencecolorhistograms[j].computervisionandimageunderstanding,2010,114(3):400–408.
[5]孙航,韩红霞,郭劲等.基于均值偏移快速算法的红外目标跟踪[j].仪器仪表学报,2012,33(5):1122-1127.
[6]comaniciud.nonparametricrobustmethodsforcomputervision[d].newjersey:thestateuniversityofnewjersey,2000.
[7]liuqing,tanglin-bo,zhaobao-jun,etal.afasttargettrackingalgorithmbastedonconnectedcomponentlabelingandgreyvaluestatistics[c].iccasm2012,1267-1270.
[8]刘晴,唐林波,赵保军.跟踪窗自适应的meanshift目标跟踪算法[j].系统工程与电子技术,2012,34(2):409-412.
liuqing,tanglin-bo,zhaobao-jun.algorithmoftargettrackingbasedonmeanshiftwithadaptivetrackingwindow[j].systemsengineeringandelectronics,2012,34(2):409-412.
[9]叶有时,赵保军,唐林波等.多目标实时跟踪可编程片上系统的软件优化[j].光学精密工程,2011,19(3)681-689.
[10]altera.embeddeddesignhandbook[m].publishedbyaltera,2010.
技术实现要素:
本发明针对现有技术的不足,提出了一种尺度自适应的均值偏移视频目标跟踪方法,并在单片fpga上利用sopc技术搭建算法的软硬件平台,软硬件协同工作实现跟踪算法。
本发明实现的具体步骤如下:
步骤(1)核函数k(x)的计算
其中,{zi}i=1...n表示跟踪窗口内的任一像素点(xi,yi),z0表示窗口中心(xcenter,ycenter)。h表示核函数的带宽。
从核函数的表达式可以看出,对于位于带宽内的像素点,k(x)与相对距离的平方成反比;带宽外的像素点,k(x)为零。核函数计算中涉及浮点数据的平方运算,单个时钟周期内不可能完成。因此,进行下面的改进,保证单个时钟周期能完成计算过程。
令
由变化后的式子可以看到,若对跟踪窗口的带宽进行32等份,对相似距离求近似后,浮点运算变为整形运算;因为k1、k2的取值范围已知,k12、k22的取值可以事先求得;
表1.整形近似后的相似系数
步骤(2)目标模型或候选模型的建立
其中,冲激函数δ[b(zi)-u]的作用是判断b(zi)的灰度值是否属于第u个量化值。
目标模型和候选模型的计算步骤完全一致,在此,以目标模型为例进行介绍,候选模型的优化与此类似。
目标模型的公式为
(1).k(x)、
(2).
步骤(3)偏移矢量的权重和偏移矢量
由权重计算公式可以得出下面的结论:每个像素点zi对应的偏移矢量的权重,由其对应的量化值在目标模型和候选模型中的概率决定,与zi的位置无关。
∴对于量化值u相等的点,其wi的取值相等;
∴
由上面的分析可以看出,偏移矢量的计算可以分两步进行,第一步坐标偏移统计核:负责计算xu、nu,只涉及加法运算;第二步坐标偏移和加权:利用权重系数加权,求得偏移矢量,涉及浮点乘、除运算。与原算法相比,此过程为全等运算,只是改变了运算规则,并没有进行近似。
本发明的有益效果:本发明利用sopc原理对均值漂移算法进行软硬件划分,减少了算法实现的复杂度,使其适合在fpga上实现;又结合fpga的硬件特点,提出了实时整数运算核,并行流水提取相应的目标信息;最后,结合niosiicpu的特点,对软件实现部分进行优化,提高算法的执行效率。实验结果表明,该系统实时性强,能在4ms内完成对目标的跟踪,对目标的尺度变化具有自适应性。
附图说明
图1是均值偏移算法的处理流程。
图2是嵌入式系统的硬件结构框图。
图3是软件的流程图。
图4是嵌入式系统的跟踪结果。
图5是跟踪飞机视频序列的处理时间。
具体实施方式
下面结合附图和表对本发明实施例作详细说明。
图1是均值偏移算法的处理流程,在起始帧手动标定跟踪窗的中心和位置,计算得到核函数加权的直方图分布即目标模板;在当前帧保持上一帧的跟踪位置不变,计算得到候选目标模板;以目标模板和候选模板的最相似为原则,使目标窗口沿偏移矢量即梯度变化最大的方向移动,最终定位目标的真实位置。
图2是嵌入式系统的硬件结构框图。利用硬件编程实现核函数统计算法核、坐标偏移统计核和目标几何特征提取核;利用软件编程实现meanshift的相关处理,包括直方图归一化、坐标偏移和加权、偏移权重和迭代判决。硬件部分采用硬件编程语言vhdl并行流水实现,并将计算结果写入双端口ram中,触发cpu进行软件操作。meanshift算法在跟踪过程中无窗口更新机制,对尺度变化目标的跟踪效果不好。为了适应尺度变化目标的跟踪及算法实时性的考虑,采用文献[7]中连通域标记方法提取目标面积,按照文献[8]中所述的方法进行尺度更新。
图3是软件的流程图。首先,cpu从双端口ram中读取fpga的计算结果,计算目标模型或候选模型;其次,cpu计算各量化值对应的权重,连同从双端口ram中读取fpga统计的各量化值计算结果,求得目标的新的中心位置;最后,cpu计算迭代是否满足迭代终止条件,若满足条件,则将计算结果输出到监视器上,并读取面积结果更新跟踪窗的尺度,若不满足,则将新位置通知fpga,由fpga重新统计目标区域的特征并送入cpu以供cpu重新计算。
图4是嵌入式系统的跟踪结果。系统的硬件平台的核心为fpga,选取altera公司的fp2s180f1020i4,实验中采用的红外视频图像其分辨率为352×288。实验以天空中的飞机视频序列为测试对象,测试算法对目标尺度变化、旋转状态下的跟踪能力。图4从左至右为跟踪序列在第15帧、115帧和215帧的跟踪图像。在目标发生较大的尺度变化和旋转时仍能准确的跟踪目标。
图5列出了跟踪飞机视频序列的处理时间,试验中,目标尺度从15×10逐渐增大到90×60,其平均计算时间为3.42ms,最大处理时间小于4ms,可满足对大部分红外视频序列的实时跟踪。
应用本发明提出的方法和文献[5]中采用fpga+dsp实现方法对比,可以看出,文献[5]中改进的方法随着目标尺度变化,处理时间迅速增加;而本发明方法处理的跟踪时间,受目标尺度变化的影响很小。这是因为通过软硬件划分后,软件的处理时间不受目标尺度的影响,硬件处理时间与目标尺度成线性关系,但其采用流水并行实现,所以处理时间的增加很小。
表4.算法的不同实现方式处理时间的对比
本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明,而并非作为对本发明的限定,只要在本发明的范围内,对以上实施例的变化、变形都将落在本发明的保护范围。