本发明涉及一种目标追踪方法,尤其涉及一种基于改进TLD的多目标追踪方法。
背景技术:
:移动物体追踪是计算机视觉的一个重要分支,也是机器视觉系统的关键问题,融合了图像处理、模式识别、人工智能等许多领域的先进技术。近几年越来越多的学者和研究人员把目光投向视频跟踪,随着研究的深入和技术的发展,视频追踪逐渐成为生产生活中一个重要的组成部分,在人机交互、智能监控、安全监测、医疗诊断、视觉制导等民用与军用领域均获得了广泛的应用。视频追踪技术依据单目标或多目标、目标已知或未知等不同方面的具体应用发展出了很多精确高效的算法。同时,由于物体姿态的改变、光照的变化、噪音干扰或者非线性形变等原因,追踪算法的稳定性会受到影响,甚至会使算法失效。如何利用算法的优点,提高算法的稳定性和适用性也是现阶段视频追踪算法研究的重点。一个既精确又稳定的算法在实际应用中会获得非常广阔的应用前景。在目标检测领域,Freund和Schapire提出了Adaboost算法,对分类器的性能有很大的提升,在其基础之上CrowFC提出基于Haar特征的Adaboost算法;但目标的尺度变化对于正确检测有很大的影响,对此,LoweDG提出SIFT特征,克服了尺度变化对目标检测的影响;HuMK提出Hu矩,同样具有尺度不变性。在非基于分类器的检测算法上,D.L.Donoho提出一种独立多模态背景建模算法(IMBM),按一定周期选取帧序列建立背景模型,并加入阴影抑制步骤排除物体的阴影对前景的干扰,而且对环境光照的缓慢变化有较好的适应性。在目标追踪领域,LucasBD和KanadeT提出LK光流法,属于基于区域的光流计算方法,并利用图像金字塔加速计算过程,得到广泛的应用;BradskiGR提出的CamShift算法,利用迭代的Mean-Shift方法搜索反向投影图的收敛点进行对运动物体的追踪;KalalZ等人提出的Median-Flow算法,利用两次LK光流计算FB误差,以达到更好的追踪精度。此外,KalalZ等人提出的创新性的TLD框架,结合级联分类器与Median-Flow追踪器,构成了实时的长时间追踪单个未知目标的算法,对移动物体追踪的研究产生了极大的启发。TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生ZdenekKalal在其攻读博士学位期间提出的一种新的单目标长时间(longtermtracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目标模型及相关参数,从而使得跟踪效果更加稳定、鲁棒、可靠。对视频中移动物体的追踪主要包含两个方面,目标检测和目标追踪。目标检测算法对每一帧图像单独处理,计算出物体的位置。目标检测方法主要分为按像素检测与按特征检测两类,其中像素级别的方法精确度较低,特征级别的方法需要提前对检测器离线训练,只能用来追踪已知的物体。目标追踪算法根据物体在上一帧的位置预测其在下一帧的位置,以达到追踪的目的。但这种方法容易积累误差,而且一旦物体在图像中消失,追踪器就会永久失效,即使物体再次出现也无法重新进行追踪。移动物体追踪需要解决的关键问题有如何使检测算法适应光照的变化、物体姿态的改变、目标大小以及角度的变化;如何使追踪算法对追踪过程中目标发生上述变化时,以及发生部分遮挡时仍然能准确追踪到目标的位置;还要找到合适的机器学习方法,以满足应对任意复杂程度的视频及实时运行的要求。技术实现要素:本发明的目的就在于为了解决上述问题而提供一种基于改进TLD的多目标追踪方法。本发明通过以下技术方案来实现上述目的:一种基于改进TLD的多目标追踪方法,通过多目标追踪系统完成,所述多目标追踪系统包括追踪管理模块、目标检测模块和目标追踪模块,追踪管理模块包括追踪建立功能、追踪整合功能、追踪更新功能和追踪删除功能,目标检测模块采用由多个相互独立的卡尔曼滤波器合并而成的独立多目标卡尔曼滤波器,目标追踪模块采用多目标Median-Flow追踪器;所述多目标追踪方法包括以下步骤:(1)每当用户指定一个新目标,追踪管理模块即调用追踪建立功能,产生扫描窗集合;(2)目标检测模块初始化独立多目标卡尔曼滤波器,采用三维向量作为状态描述,获得第一帧图像;(3)从第二帧图像开始,按照下述方法处理:(3.1)追踪管理模块调用独立多目标卡尔曼滤波器对当前帧所有目标进行检测,首先依照步骤(1)产生的扫描窗集合建立扫描列表,表中每个元素代表对图像某区域的一次扫描,扫描元素包含:扫描包围框、均值特征、方差特征、图元差的方差;其中,均值特征与方差特征由扫描包围框切割出的图像元直接计算,图元差的方差通过以下方式得到:将扫描区域缩小到8×8尺寸,与特征列表中的标准图元作绝对减,计算绝对差的方差,即图元差的方差,其次计算所有扫描元素与相应特征元素的图元均值、图元方差的差,如果差的绝对值都小于某阈值,图元差的方差小于某阈值,保留该扫描元素;所有保留的扫描元素的包围框作为独立多目标卡尔曼滤波器的输出结果;(3.2)追踪管理模块调用多目标Median-Flow追踪器对上一帧所有目标进行追踪,首先在上一帧所有目标的包围框内产生均匀的点集,再利用LK光流算法从前一帧图像追踪到当前帧,再从当前帧图像追踪到前一帧,并计算所有点的FB误差,排除掉每个目标的FB误差最大的一半追踪点,最后预测每个目标在当前帧的追踪包围框,根据剩余的追踪点相互间距离的变化决定每个包围框尺寸的缩放比例,根据追踪点的平均位移决定每个包围框的位移;(3.3)追踪管理模块调用追踪整合功能,整合独立多目标卡尔曼滤波器与多目标Median-Flow追踪器的结果,如果独立多目标卡尔曼滤波器与多目标Median-Flow追踪器都有输出结果,在检测包围框中寻找图元差的方差最小的框作为最佳检测包围框,计算最佳检测包围框与追踪包围框的均值,作为算法的最终输出包围框;如果多目标Median-Flow追踪器没有输出结果而独立多目标卡尔曼滤波器有输出结果,在检测包围框中寻找图元差的方差最小的框作为算法的最终输出包围框;如果多目标Median-Flow追踪器有输出结果而独立多目标卡尔曼滤波器没有输出结果,将追踪包围框作为算法的最终输出包围框;如果多目标Median-Flow追踪器与独立多目标卡尔曼滤波器都没有输出结果,则认为目标在当前帧消失,向用户输出提示消息;(3.4)追踪管理模块调用追踪更新功能,更新独立多目标卡尔曼滤波器,对每个卡尔曼滤波器,如果当前帧检测到相应的目标,则利用其中图元差的方差最小的框更新该滤波器的参数;(4)每当用户删除一个目标,追踪管理模块即调用追踪删除功能,删除相应的追踪过程,包括:在画面中删去表示被删除目标的包围框;删除扫描窗集合中该目标所对应的所有扫描窗;从独立多目标卡尔曼滤波器的特征列表中删除该目标所对应的所有特征元素。上述卡尔曼滤波器和Median-Flow追踪器均为TLD算法中的常规算法,本发明主要是将传统的单目标改为多目标并对应改进卡尔曼滤波器和Median-Flow追踪器,所以相应名称为独立多目标卡尔曼滤波器和多目标Median-Flow追踪器。所述步骤(3.1)中,对于m个目标的独立多目标卡尔曼滤波器迭代过程的向量表达式为:时间更新:其中,观测更新:其中,其中是先验状态估计向量,是后验状态估计向量,是先验估计误差的协方差,Pk是后验估计误差的协方差,Q是过程噪声wk的协方差,R是测量噪声vk的协方差,zk是测量值,Kk的作用是使Pk达到最小,在Q与R恒定时,Pk与Kk很快会稳定到恒定值。所述步骤(3.2)中,多目标Median-Flow追踪器的FB误差的计算方法如下:从时间t的初始位置xt开始追踪产生时间t+k的位置xt+k,再从位置xt+k按时间反序追踪产生时间t的预测位置x′t,初始位置xt和预测位置x′t之间的欧氏距离就作为追踪器在时间t的FB误差εt,即:其中,γt+k(xt)代表从时刻t的位置xt跟踪到时刻t+k所在的位置,代表γ的逆向追踪;筛选追踪点的过程如下:设追踪点集:其中,ηi表示在第i个目标内部追踪点构成的集合,ηi的定义如下:先找到第i个目标的最小包围矩形,沿矩形的宽度方向均匀产生Nw个坐标,沿高度方向均匀产生Nh个坐标,其中Nw与Nh是用户指定的正整数,在每个坐标上生成一个追踪点,于是这Nw×Nh个追踪点构成ηi。本发明的有益效果在于:本发明的优点在于既利用了检测器即独立多目标卡尔曼滤波器对逐帧图像处理的独立性,又依靠了移动目标在视频时间顺序上的相关性,并利用追踪管理模块对独立多目标卡尔曼滤波器和多目标Median-Flow追踪器进行整合,所以实现了支持对多个未知目标进行追踪的目的,而且处理速度高于TLD。附图说明图1是实现本发明所述基于改进TLD的多目标追踪方法的多目标追踪系统的示意框图;图2-1是本发明实施例多目标追踪中第五帧的原始帧图像;图2-2是本发明实施例多目标追踪中的独立多目标卡尔曼滤波器对第五帧检测到的图像;图2-3是本发明实施例多目标追踪中在第4帧产生的均匀候选追踪点图像;图2-4是本发明实施例多目标追踪中的多目标Median-Flow追踪器经过计算FB误差筛选剩余的追踪点图像;图2-5是本发明实施例多目标追踪中追踪管理模块在比较检测包围框与追踪包围框之后得到的最终结果图像,表示目标在第5帧的位置。具体实施方式下面结合附图对本发明作进一步说明:如图1所示,本发明所述基于改进TLD的多目标追踪方法,通过多目标追踪系统完成,所述多目标追踪系统包括追踪管理模块、目标检测模块和目标追踪模块,追踪管理模块包括追踪建立功能、追踪整合功能、追踪更新功能和追踪删除功能,目标检测模块采用由多个相互独立的卡尔曼滤波器合并而成的独立多目标卡尔曼滤波器,目标追踪模块采用多目标Median-Flow追踪器;其中,目标检测模块的独立多目标卡尔曼滤波器利用改进的时间更新方法和观测更新方法对多个目标1、2…n进行检测,目标追踪模块的多目标Median-Flow追踪器对多个目标1、2…n进行追踪,追踪管理模块的追踪整合功能对独立多目标卡尔曼滤波器和多目标Median-Flow追踪器进行整合并最终输出追踪结果,追踪管理模块的追踪更新功能对独立多目标卡尔曼滤波器的检测结果进行更新,追踪管理模块的追踪删除功能对某些目标进行追踪过程的删除,追踪管理模块的追踪建立功能对多个目标1、2…n产生扫描窗集合。结合图1,本发明所述多目标追踪方法包括以下步骤:(1)每当用户指定一个新目标,追踪管理模块即调用追踪建立功能,产生扫描窗集合;(2)目标检测模块初始化独立多目标卡尔曼滤波器,采用三维向量作为状态描述,获得第一帧图像;(3)从第二帧图像开始,按照下述方法处理:(3.1)追踪管理模块调用独立多目标卡尔曼滤波器对当前帧所有目标进行检测,首先依照步骤(1)产生的扫描窗集合建立扫描列表,表中每个元素代表对图像某区域的一次扫描,扫描元素包含:扫描包围框、均值特征、方差特征、图元差的方差;其中,均值特征与方差特征由扫描包围框切割出的图像元直接计算,图元差的方差通过以下方式得到:将扫描区域缩小到8×8尺寸,与特征列表中的标准图元作绝对减,计算绝对差的方差,即图元差的方差,其次计算所有扫描元素与相应特征元素的图元均值、图元方差的差,如果差的绝对值都小于某阈值,图元差的方差小于某阈值,保留该扫描元素;所有保留的扫描元素的包围框作为独立多目标卡尔曼滤波器的输出结果;具体而言,对于m个目标的独立多目标卡尔曼滤波器迭代过程的向量表达式为:时间更新:其中,观测更新:其中,其中是先验状态估计向量,是后验状态估计向量,是先验估计误差的协方差,Pk是后验估计误差的协方差,Q是过程噪声wk的协方差,R是测量噪声vk的协方差,zk是测量值,Kk的作用是使Pk达到最小,在Q与R恒定时,Pk与Kk很快会稳定到恒定值;(3.2)追踪管理模块调用多目标Median-Flow追踪器对上一帧所有目标进行追踪,首先在上一帧所有目标的包围框内产生均匀的点集,再利用LK光流算法从前一帧图像追踪到当前帧,再从当前帧图像追踪到前一帧,并计算所有点的FB误差,排除掉每个目标的FB误差最大的一半追踪点,最后预测每个目标在当前帧的追踪包围框,根据剩余的追踪点相互间距离的变化决定每个包围框尺寸的缩放比例,根据追踪点的平均位移决定每个包围框的位移;具体而言,多目标Median-Flow追踪器的FB误差的计算方法如下:从时间t的初始位置xt开始追踪产生时间t+k的位置xt+k,再从位置xt+k按时间反序追踪产生时间t的预测位置x′t,初始位置xt和预测位置x′t之间的欧氏距离就作为追踪器在时间t的FB误差εt,即:其中,γt+k(xt)代表从时刻t的位置xt跟踪到时刻t+k所在的位置,代表γ的逆向追踪;筛选追踪点的过程如下:设追踪点集:其中,ηi表示在第i个目标内部追踪点构成的集合,ηi的定义如下:先找到第i个目标的最小包围矩形,沿矩形的宽度方向均匀产生Nw个坐标,沿高度方向均匀产生Nh个坐标,其中Nw与Nh是用户指定的正整数,在每个坐标上生成一个追踪点,于是这Nw×Nh个追踪点构成ηi;(3.3)追踪管理模块调用追踪整合功能,整合独立多目标卡尔曼滤波器与多目标Median-Flow追踪器的结果,如果独立多目标卡尔曼滤波器与多目标Median-Flow追踪器都有输出结果,在检测包围框中寻找图元差的方差最小的框作为最佳检测包围框,计算最佳检测包围框与追踪包围框的均值,作为算法的最终输出包围框;如果多目标Median-Flow追踪器没有输出结果而独立多目标卡尔曼滤波器有输出结果,在检测包围框中寻找图元差的方差最小的框作为算法的最终输出包围框;如果多目标Median-Flow追踪器有输出结果而独立多目标卡尔曼滤波器没有输出结果,将追踪包围框作为算法的最终输出包围框;如果多目标Median-Flow追踪器与独立多目标卡尔曼滤波器都没有输出结果,则认为目标在当前帧消失,向用户输出提示消息;(3.4)追踪管理模块调用追踪更新功能,更新独立多目标卡尔曼滤波器,对每个卡尔曼滤波器,如果当前帧检测到相应的目标,则利用其中图元差的方差最小的框更新该滤波器的参数;(4)每当用户删除一个目标,追踪管理模块即调用追踪删除功能,删除相应的追踪过程,包括:在画面中删去表示被删除目标的包围框;删除扫描窗集合中该目标所对应的所有扫描窗;从独立多目标卡尔曼滤波器的特征列表中删除该目标所对应的所有特征元素。更具体来说,上述独立多目标卡尔曼滤波器的算法为:其中,k代表帧图像的序号,observationO代表对目标的观测,函数addtrack()用于完成追踪建立的功能,T代表相似度判别阈值,m代表目标的总数,算法初始时m=0。多目标Median-Flow追踪器的追踪管理算法如下:其中,函数card()代表对元素数目计数,D和T的含义与上相同,函数sort()代表对元素按降序排序,resize(D,1)代表将D的长度缩小到1,mean(D,T)代表计算D与T的均值。本发明改进的多目标TLD整体算法为:其中,k代表帧图像的序号,observationO代表对目标的观测,m代表目标的总数,S代表当前帧所有目标的集合,S′代表前一帧所有目标的集合;函数multiTargetKalman()代表独立多目标卡尔曼滤波器,其输出的目标位置为D;函数multiTargetMedianFlow()代表多目标Median-Flow追踪器,其输出的目标位置为T;函数trackManagement()代表追踪管理机制。下面以一个具体实施例对本发明的追踪结果进行验证:实施例:在一段视频中追踪3个运动目标,3个目标的细节如下表所示:图2-1至图2-5是对视频carchase的第4帧到第5帧的追踪结果,其中图2-1是第5帧的原始图像,图2-2是检测模块对第5帧的检测结果图像,图2-3表示在第4帧产生的均匀候选追踪点图像,图2-4是经过计算FB误差筛选剩余的追踪点图像,图2-5是在比较检测包围框与追踪包围框之后得到的最终结果图像,表示目标在第5帧的位置。下表列出了从第1帧到第82帧追踪过程的详细数据:帧序号NoTDONDTC/msTTC/msTC/msSP212467.11012.40685.067100%41366.7275.50380.107100%61265.9904.03976.475100%81867.0884.63377.183100%101568.6524.77979.407100%121266.5544.60977.381100%141267.5155.04978.263100%161267.6384.32179.027100%1922/1138.0916.594154.724100%2425/2139.4657.005158.658100%2922/3149.4367.473169.508100%3521/4141.0658.910157.818100%4021/0142.6456.910157.641100%4632/2/1205.16526.242239.811100%5533/1/1203.85526.212239.746100%6434/1/0201.78828.144237.867100%7337/2/2210.27920.163242.529100%8237/3/1200.04823.793232.896100%由上述实施例可知,在改进的多目标TLD追踪实验中,出现了两次检测器(即独立多目标卡尔曼滤波器)失效,但追踪器(即多目标Median-Flow追踪器)仍然可以输出正确结果;出现两次追踪器失效,但都需要手动删除相应包围框,重新指定追踪目标才能继续追踪。可以验证在镜头、光照、物体姿态变化相对稳定的情况下,改进的多目标TLD框架可以在保持追踪精度不明显下降的前提下,很好地完成对多个目标的长时间追踪任务。实验过程平均帧频12.6fps/目标,处理速度能够满足大多数多目标实时追踪的要求。上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。当前第1页1 2 3