本发明涉及运动物体跟踪处理领域,特别是涉及一种显微操作中多目标轨迹异常处理方法及系统。
背景技术:
视觉追踪是研究模式生物功能的标准流程,尤其对于显微操作系统操作后的模式生物功能研究至关重要。显微操作完成后,视觉检测系统检测到连续视频中每一帧的目标的运动信息,如位置、身体部位朝向等,根据这些检测信息生成轨迹进一步进行分析,来研究生物的生理学功能和显微操作效果。该系统在很多学科均有广泛应用,如基因学、药物研发、毒物测试、行为学研究等。传统的人工标记的方法时间成本高,效率低,而现有的自动化检测算法的检测结果常常伴含有噪声和错误信息,如视野有限、目标交叉造成的检测算法漏检目标等,容易造成生成的轨迹错误,对研究结果产生较大的负面影响。例如:斑马鱼幼鱼作为一种典型的模式生物,相对于其他模式生物如小鼠和果蝇等,其运动不确定性大,更容易造成轨迹生成的错误。在获得斑马鱼幼鱼的检测信息后,对于不同帧之间的斑马鱼幼鱼,需要进行目标识别与轨迹关联,但是在检测过程中由于视野有限、目标交叉、反馈算法漏检等问题,可能导致某些斑马鱼某几帧无法关联轨迹,导致轨迹匹配错误,需要对该异常情况进行处理。
技术实现要素:
本发明的目的是提供一种显微操作中多目标轨迹异常处理方法及系统,能够提高遗漏目标的轨迹关联成功率,提高异常情况的处理效率。
为实现上述目的,本发明提供了如下方案:
一种显微操作中多目标轨迹异常处理方法,包括:
获取物体运动的第k-1帧图像检测信息,并对所述第k-1帧图像检测信息进行卡尔曼滤波初始化,所述第k-1帧图像检测信息包括物体的位置和方向;
根据所述第k-1帧图像检测信息,预测第k帧图像检测信息;
采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息;
根据所述正确匹配信息,将成功匹配的目标进行卡尔曼滤波更新,得到目标的最优状态估计信息;
获取漏检信息和新目标出现信息;
根据所述漏检信息、所述新目标出现信息以及错误匹配信息对目标进行异常情况处理。
可选地,所述根据所述第k-1帧图像检测信息,预测第k帧图像检测信息,具体包括:
根据所述第k-1帧图像检测信息采用公式
其中,
可选地,所述采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息,具体包括:
采用匈牙利公式
其中,
可选地,所述获取漏检信息和新目标出现信息,具体包括:
获取第k帧图像检测到的目标数和第k-1帧图像检测到的目标数;
判断所述第k帧图像检测到的目标数是否小于所述第k-1帧图像检测到的目标数;
若所述第k帧图像检测到的目标数小于所述第k-1帧图像检测到的目标数,说明有目标未能得到成功的匹配,获取漏检信息;
若所述第k帧图像检测到的目标数大于所述第k-1帧图像检测到的目标数,说明有新出现的目标,获取新目标出现信息。
一种显微操作中多目标轨迹异常处理系统,包括:
第k-1帧图像检测信息获取模块,用于获取物体运动的第k-1帧图像检测信息,并对所述第k-1帧图像检测信息进行卡尔曼滤波初始化,所述第k-1帧图像检测信息包括物体的位置和方向;
第k帧图像检测信息预测模块,用于根据所述第k-1帧图像检测信息,预测第k帧图像检测信息;
目标关联模块,用于采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息;
最优状态估计信息确定模块,用于根据所述正确匹配信息,将成功匹配的目标进行卡尔曼滤波更新,得到目标的最优状态估计信息;
漏检信息、新目标出现信息获取模块,用于获取漏检信息和新目标出现信息;
异常情况处理模块,用于根据所述漏检信息、所述新目标出现信息以及错误匹配信息对目标进行异常情况处理。
可选地,所述第k帧图像检测信息预测模块,具体包括:
第k帧图像检测信息预测单元,用于根据所述第k-1帧图像检测信息采用公式
其中,
可选地,所述目标关联模块,具体包括:
目标关联单元,用于采用匈牙利公式
其中,
可选地,所述漏检信息、新目标出现信息获取模块,具体包括:
目标数获取单元,用于获取第k帧图像检测到的目标数和第k-1帧图像检测到的目标数;
目标数判断单元,用于判断所述第k帧图像检测到的目标数是否小于所述第k-1帧图像检测到的目标数;
漏检信息获取单元,用于当所述第k帧图像检测到的目标数小于所述第k-1帧图像检测到的目标数时,获取漏检信息;
新目标出现信息获取单元,用于当所述第k帧图像检测到的目标数大于所述第k-1帧图像检测到的目标数时,获取新目标出现信息。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开一种显微操作中多目标轨迹异常处理方法,通过获取物体运动的第k-1帧图像检测信息,并对所述第k-1帧图像检测信息进行卡尔曼滤波初始化,所述第k-1帧图像检测信息包括物体的位置和方向;根据所述第k-1帧图像检测信息,预测第k帧图像检测信息;采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息;根据所述正确匹配信息,将成功匹配的目标进行卡尔曼滤波更新,得到目标的最优状态估计信息;获取漏检信息和新目标出现信息;根据所述漏检信息、所述新目标出现信息以及错误匹配信息对目标进行异常情况处理。本发明能够提高遗漏目标的轨迹关联成功率,提高异常情况的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明显微操作中多目标轨迹异常处理方法流程图;
图2为本发明斑马鱼多的检测信息示意图;
图3为本发明显微操作中多目标轨迹异常处理系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种显微操作中多目标轨迹异常处理方法及系统,能够提高遗漏目标的轨迹关联成功率,提高异常情况的处理效率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明显微操作中多目标轨迹异常处理方法流程图。如图1所示,一种显微操作中多目标轨迹异常处理方法包括:
步骤101:获取物体运动的第k-1帧图像检测信息,并对所述第k-1帧图像检测信息进行卡尔曼滤波初始化,所述第k-1帧图像检测信息包括物体的位置和方向。
获取第k-1帧的图像检测信息(每一条幼鱼的位置和方向),进行卡尔曼滤波器的初始化,初始化状态向量
其中
初始化模型协方差噪声矩阵,这里的模型是指斑马鱼追踪的卡尔曼滤波模型,主要是状态转移矩阵f和观测矩阵h,即公式(7)和(10):
其中σx,σy,σθ分别为预测模型x方向位置、y方向位置和角度的预测的高斯分布的标准差,衡量了预测模型的不确定性,数值由用户设定和调整。
初始化观测模型的协方差矩阵,这里的模型是指斑马鱼追踪的卡尔曼滤波模型,主要是状态转移矩阵f和观测矩阵h,即公式(7)和(10):
其中σ'x,σ'y,σ'θ分别为检测算法的x方向位置,y方向位置,角度检测的高斯分布的标准差,用来衡量检测器的检测精度,数值根据实际的检测器效果进行设定。
对于状态向量x0i的协方差矩阵:
其中σ为衡量第k-1帧状态向量精度的高斯分布的方差,由用户定义,σ数值对滤波效果影响不明显(σ数值越大,第k-1帧的卡尔曼滤波的输出的状态向量越接近于第k-1帧的检测值),之后矩阵p会不断更新,数值会变化。
步骤101是卡尔曼滤波第k-1帧的状态向量的初始化(即公式(1),包括x位置坐标,x方向速度,y位置坐标,y方向速度,鱼头朝向,和鱼头转动的角速度),
步骤101是描述不确定性的用户定义的协方差矩阵q、r、p的初始化,根据第k-1帧初始化的信息,得到第二帧的预测信息,预测前必须有当前帧的信息,初始化步骤是卡尔曼滤波的第一步。卡尔曼滤波是预测和更新步骤的不断循环,得到目标状态向量的最优估计的算法(检测算法检测到的信息有噪声,需要设计协方差矩阵q、r、p和模型(状态转移矩阵f,状态观测矩阵h,滤除噪声)。
步骤102:根据所述第k-1帧图像检测信息,预测第k帧图像检测信息,具体包括:
根据所述第k-1帧图像检测信息采用公式
其中,
更新协方差矩阵p(这是卡尔曼滤波的基本公式之一),其物理意义是p所衡量的状态向量x的不确定性增大了,即置信度降低。
其中,f为状态转移矩阵:
其中,
步骤103:采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息,具体包括:
采用匈牙利公式
其中,
检测算法得到的只是目标位置和朝向的序列,每一个目标对应一个卡尔曼滤波器,执行更新步骤前必须知道用什么信息更新,目标关联执行的是将对应的检测信息分配到对应的目标(如当前帧检测到的第2个信息对应上一帧的第3个目标)。通过目标关联,得到检测算法得到的检测序列的各元素与各个目标的卡尔曼滤波器的对应。
对于第k帧的图像,目前有第k-1帧的卡尔曼滤波的各个目标的状态向量序列
其中
其中,h为状态转移矩阵:
使用匈牙利算法求解上述矩阵(8)即可以进行目标关联(判定k-1时刻的那个状态向量与k时刻的哪个检测来自于同一目标),算法具体步骤参考自文献(haroldw.kuhn,"thehungarianmethodfortheassignmentproblem",navalresearchlogisticsquarterly,2:83–97,1955.kuhn'soriginalpublication.)。
步骤104:根据所述正确匹配信息,将成功匹配的目标进行卡尔曼滤波更新,得到目标的最优状态估计信息。
成功匹配到的目标,需要满足以下两个条件:
a)匈牙利算法输出的匹配结果即为匹配到的目标,如第1个目标对应第3个检测信息
b)对于匈牙利算法的输出,还需要对匹配结果的距离
对于成功匹配到的目标,进行卡尔曼滤波的更新,以得到目标的最优状态估计:
其中,
步骤105:获取漏检信息和新目标出现信息,具体包括:
步骤1051:获取第k帧图像检测到的目标数和第k-1帧图像检测到的目标数;
步骤1052:判断所述第k帧图像检测到的目标数是否小于所述第k-1帧图像检测到的目标数;
步骤1053:若所述第k帧图像检测到的目标数小于所述第k-1帧图像检测到的目标数,说明有目标未能得到成功的匹配,获取漏检信息;
步骤1054:若所述第k帧图像检测到的目标数大于所述第k-1帧图像检测到的目标数,说明有新出现的目标,获取新目标出现信息。
步骤106:根据所述漏检信息、所述新目标出现信息以及错误匹配信息对目标进行异常情况处理。
异常情况处理分3种情况:
1、若第k帧图像检测到的目标数nk小于第k-1帧的目标数mk,说明有目标未能得到成功的匹配(目标未被成功检测到),对于未成功匹配的斑马鱼轨迹,使用公式(5)(6)的卡尔曼滤波预测值进行预测,并使用预测值与之后其他帧的成功匹配到的检测值进行更新步骤,若漏检的帧数超过一个用户设定的帧数,则删除轨迹。
2、若第k帧图像检测到的目标数大于第k-1帧的目标数,则对于新出现的目标建立新的轨迹,对新出现目标初始化新的卡尔曼滤波器。
3、对于步骤103中被删除的错误匹配,对错误匹配的已有的目标使用公式(5)(6)的卡尔曼滤波预测值进行预测,对于错误匹配的检测值初始化新的卡尔曼滤波器。
图3为本发明显微操作中多目标轨迹异常处理系统结构图。如图3所示,一种显微操作中多目标轨迹异常处理系统包括:
第k-1帧图像检测信息获取模块201,用于获取物体运动的第k-1帧图像检测信息,并对所述第k-1帧图像检测信息进行卡尔曼滤波初始化,所述第k-1帧图像检测信息包括物体的位置和方向。
第k帧图像检测信息预测模块202,用于根据所述第k-1帧图像检测信息,预测第k帧图像检测信息。
目标关联模块203,用于采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息。
最优状态估计信息确定模块204,用于根据所述正确匹配信息,将成功匹配的目标进行卡尔曼滤波更新,得到目标的最优状态估计信息。
漏检信息、新目标出现信息获取模块205,用于获取漏检信息和新目标出现信息。
异常情况处理模块206,用于根据所述漏检信息、所述新目标出现信息以及错误匹配信息对目标进行异常情况处理。
所述第k帧图像检测信息预测模块202,具体包括:
第k帧图像检测信息预测单元,用于根据所述第k-1帧图像检测信息采用公式
其中,
所述目标关联模块203,具体包括:
目标关联单元,用于采用匈牙利公式
其中,
所述漏检信息、新目标出现信息获取模块205,具体包括:
目标数获取单元,用于获取第k帧图像检测到的目标数和第k-1帧图像检测到的目标数;
目标数判断单元,用于判断所述第k帧图像检测到的目标数是否小于所述第k-1帧图像检测到的目标数;
漏检信息获取单元,用于当所述第k帧图像检测到的目标数小于所述第k-1帧图像检测到的目标数时,获取漏检信息;
新目标出现信息获取单元,用于当所述第k帧图像检测到的目标数大于所述第k-1帧图像检测到的目标数时,获取新目标出现信息。
实施例1:
本实施例以斑马鱼幼鱼为实验对象,开发了一种针对于模式生物的通用的轨迹异常处理方法,能够提高遗漏目标的轨迹关联成功率,提高异常情况的处理效率。具体的,一种斑马鱼多目标轨迹异常处理方法包括:
步骤301:获取斑马鱼运动的第k-1帧图像检测信息,并对所述第k-1帧图像检测信息进行卡尔曼滤波初始化,所述第k-1帧图像检测信息包括幼鱼的位置和方向;
步骤301:根据所述第k-1帧图像检测信息,预测第k帧图像检测信息;
步骤301:采用匈牙利算法将所述第k帧图像检测信息中的检测序列的各元素和各目标的卡尔曼滤波器对于第k帧的预测信息进行目标关联,得到匹配信息,所述匹配信息包括正确匹配信息、错误匹配信息和未匹配信息;
步骤301:根据所述正确匹配信息,将成功匹配的目标进行卡尔曼滤波更新,得到目标的最优状态估计信息;
步骤301:获取漏检信息和新目标出现信息;
步骤301:根据所述漏检信息、所述新目标出现信息以及错误匹配信息对目标进行异常情况处理。
本发明具有下列优点:
1.该算法效率较高,主要原因是卡尔曼滤波和匈牙利算法本身是效率很高的算法,体现在两方面:
a)卡尔曼滤波这个算法本身的效率优势,kalman滤波只涉及矩阵的乘法、加法和求逆运算(公式5,6,11,12,13,14,15),同时本发明设计的系统转移矩阵(7)和观测矩阵(10)最高阶数为6阶,求逆涉及的计算量也很小。对于每个目标(斑马鱼幼鱼)初始化一个滤波器,使用多线程技术所有的更新和预测并行执行,使得算法效率很高,运行速度快。
b)匈牙利算法将目标关联问题转换为最优匹配问题,本身的执行效率较高。
2.对于性能较好的检测器(即能很好的检测到图像中的所有目标,同时漏检的情况持续帧数不会太长),本发明对于遗漏目标的轨迹关联成功率很高。对于漏检的目标,只执行预测的步骤2(由于没有更新信息,无法进行更新,只能进行预测)。预测步骤2中,不断预测目标的位置,同时协方差矩阵的各元素数值会增大,即预测的不确定性增大,在协方差矩阵的范围内搜寻需要匹配的检测值,结合步骤3中的公式8,9与匈牙利算法,寻找最适合的检测进行匹配并更新卡尔曼滤波器。
成功率高有两个原因:
a)因为目标运动能力的限制,不会运动太远,不会超过协方差矩阵的范围。
b)目标的运动在短暂的漏检(目标漏检的帧数较小,即上次成功检测与该次成功检测的帧数间隔较小,)帧数间具有连续性,使用公式(7)设计的状态转移矩阵可以的到较为准确的预测(即预测的目标位置、方向和实际的目标位置、方向差别不会很大),因此漏检不会对目标关联产生太大影响。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。