具体实施方式
首先,给出本发明中使用的一些术语的定义。
定义
在描述本发明时,全部使用下列定义(包括上面的描述)。
T:Tracks/Targets 跟踪轨迹/跟踪目标
M:Measures 检测区域/前景检测
G:Group 组
检测:检测到的当前帧的前景团块,例如通过检测器检测到的。
检测区域:前景检测的外接矩形区域。
目标:连续多帧匹配形成的检测序列,例如通过***连续多帧匹配形成的。
目标区域:目标的外接矩形区域。
目标位置:目标质心在图像中的坐标位置(u,v)。
有趋势目标:当目标生成后,连续跟踪多帧(例如可以选为8帧)后且沿某一方向移动一定距离(例如可以选为10个像素)的目标。
交叠:检测区域与目标区域或目标区域与目标区域二者发生叠压。即,二者在图像中面积交集不为空集M∩T≠Φ或者T1∩T2≠Φ。其中“交”为相互的含义,“叠”为叠压。表征两个对象间的关系。
遮挡判据模块中的交叠判据:用于判断是否出现1个检测区域叠压2个目标的现象。
分离判据模块中的交叠判据:用于判断是否出现2个检测区域叠压1个目标的现象。
交汇:当两个或多个跟踪目标移动到某一相对较近的空间位置时,使目标在图像中表现为被其他目标遮挡的状态,称目标间发生交汇。“交”说明二者面积的交叠,“汇”为二者路径的聚拢。仅表征目标所处的过程状态。
遮挡:特指目标间发生的交叠现象。仅表征目标的瞬时状态。
首次遮挡:交汇目标首次发生交叠时的状态。即:当两个或多个跟踪目标的前景检测从非交汇状态变为交汇状态时刻的瞬时状态。
分离:当两个或多个跟踪目标的前景检测从交汇状态变为非交汇状态时刻的瞬时状态。
遮挡过程:指两个或多个跟踪目标从首次遮挡到分离的全部交汇过程,持续状态。
组:为遮挡在一起的目标编制一个组,组内可以共享组员(遮挡目标)的信息,如Id、面积、直方图等。
组集:管理帧内的全部遮挡组的集合。
分离模型:为了处理的简化,把复杂的分离过程简化成几个典型模型。
mT-nM:通用的分离模型,n个目标对m个检测的分离模型的简写。
2T-2M:最简单的分离模型,2个目标对2个检测的分离模型的简写。
两目标分离:即2T-2M模型,发生分离时,遮挡组内仅存在2个目标。这是目标分离模型中最简单的模型。任何多目标分离最后都要经过这一模型。
匹配:T找到自己对应的M的过程。
Ti-Mj:一个匹配对的简写,表示第i个T和第j个M相互匹配。
最佳匹配对:在匹配矩阵中,决策风险最小的一对组合Ti-Mj,即得分最高的匹配对。
优选实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
图1表示按照本发明的解决多目标交汇遮挡的跟踪装置。如图1所示,按照本发明的解决多目标交汇遮挡的跟踪装置可以包括:
特征提取模块1,用于提取目标图像中目标的特征,包括目标的位置、直方图和速度,并输出所述特征;
目标预测模块2,用于根据上一帧目标的位置、速度,预测当前帧目标的位置;
遮挡分离处理模块3,用于根据各个有趋势的目标的位置,判断目标之间是否发生遮挡或分离,将遮挡的目标编入遮挡组,将分离的目标从遮挡组内剔除;
多目标分离匹配系数计算模块4,用于判别出孤目标,并计算每个孤目标与该孤目标前景的特征匹配系数,把匹配系数输入到匹配系数矩阵,以便后期的匹配决策;
多目标分离匹配决策模块5,用于从匹配系数矩阵中选择出最佳匹配对并输出;
多目标信息更新模块6,用于根据匹配结果,更新目标的尺寸、面积、直方图等信息;
跟踪后处理模块7,用于完成目标状态转换,丢失目标删除,及新目标生成等处理。
特征提取模块1中所述目标图像可以是视频序列经过目标检测处理后的结果图像。视频序列可以是视频的一部分或全部。目标可以是根据用户设定的运动目标。目标检测处理可以通过现有的任意一种目标检测方法实现。例如可以采用专利申请号为CN200910077433.6的专利中的运动目标检测方法对视频序列进行处理,以输出目标图像。由于目标检测不是本发明的重点,这里不再详细描述。
目标预测模块2中根据目标运动的累加位移及其相应的累加时间,计算该目标运动的平均速度,并根据该速度预测目标的下一次位移。其中,所述累加位移就是目标运动的位移的累加和,累加时间就是目标运动的时间的累加和。所述累加位移、累加时间及平均运动速度的关系为:
v=s/t
其中,s为目标质心稳定运动多帧后的位移,t为目标运动多帧所需的时间,v为该目标稳定运动的平均速度。通过上述公式便可计算得到平均速度。
根据所述平均速度v预测的下一次位移为:
s′=v·Δt
其中,Δt为预测的目标时间,即两帧之间的时间差,s′为目标质心稳定运动Δt时间后的位移。通过上述公式便可计算预测到下一次位移。根据位移和上一帧中目标的位置,便可得到目标在当前帧中的位置。
图2示出了按照本发明的遮挡分离处理模块3,可以对目标的遮挡/分离状态进行判决,同时还可以监管组机制,可以包括编入组员、删除组员、统计组信息。(组的定义和原理,例如参见Yang Tao在2005年的IEEE Computer Vision and Pattern Recognition Conference.SanDiego:IEEE Computer Society Press第970-975页的“Real-timeMultiple Objects Tracking with Occlusion Handling in DynamicScenes”。)
需要注意的是,遮挡分离处理模块3所涉及的目标都是指有趋势目标,即当目标生成后,连续跟踪多帧(例如可以选为8帧)后且沿某一方向移动一定距离(例如可以选为10个像素)的目标。该模块3可以包括遮挡判据模块31、分离判据模块32、交汇判据模块33、面积合理性判据模块34、组空间整理模块35、组面积信息统计模块36。为了使遮挡分离处理更为稳定,遮挡分离处理模块3还可以包括遮挡稳定模块37。
图3示出了按照本发明的遮挡、分离、交叠的示意图。
遮挡判据模块31能够判断目标是否处于遮挡状态(遮挡状态的示意图参见图3(a))。当第i帧目标T和第i+1帧检测区域M满足以下全部条件时,则视为遮挡,遮挡后形成组并保存各目标编组前特征,该条件包括:(1)检测是存在的;(2)满***叠判据,即1个M与多个T交叠;(3)满足面积合理性判据。
其中交叠判据由交叠判据模块33实现;面积合理性判据由面积合理性判据模块34实现。
交叠判据模块33能够判断目标是否处于交叠状态(真实的交叠状态的示意图参见图3(c),虚假的交叠状态的示意图参见图3(d))。为了提高遮挡分离触发的可靠性,滤除虚假的交叠状态,判断交叠状态的方法如下:
计算检测区域(实线矩形框)与目标区域(虚线矩形框)的交叠面积(灰色矩形框)同目标区域自身面积(虚线矩形框)的比值R,其计算公式如下,参见图3(a)、3(b):
其中,overlap_area为检测区域(实线矩形框)与目标区域(虚线矩形框)的交叠面积(灰色矩形框),tgt_area为目标区域自身面积(虚线矩形框)。
对于遮挡,当R>第一预定阈值时,则认为目标区域与检测区域真实交叠,反之则为虚假交叠;对于分离,当R>第二预定阈值,则认为目标区域与检测区域分离,反之则为虚假分离。按照本发明的优选实施方式,第一预定阈值∈[0.3,0.5],第二预定阈值∈[0.2,0.4]。这两个阈值之间没有大小关系,只是针对不同的情况(遮挡、分离)所取的阈值。
面积合理性判据模块34可以对参与遮挡的检测和目标的面积进行合理性判断,用于滤除细小、超大的噪声目标和检测。判断条件如下:
遮挡触发:加入R′滤除极小目标的触发,要求R′>第三预定阈值;加入面积关系限制,要求Max(Tj.Area)<M.Area<∑Tj.Area(注意,触发指的是开启/启动的瞬间。例如遮挡触发是指当满足R′>第三预定阈值和Max(Tj.Area)<M.Area<∑Tj.Area条件时,属于遮挡触发)。按照本发明的优选实施方式,第三预定阈值∈[0.05,0.15]。
分离触发:加入R′滤除极小区域的触发,要求R′>第三预定阈值;加入组面积限制,要求Max(Mi.Area)<G.Area<∑Mi.Area;加入组成员面积限制,要求Min(Tj.sampleArea)≤Mi.Area≤Max(Tj.sampleArea)。(即当满足R′>第三预定阈值、Max(Mi.Area)<G.Area<∑Mi.Area以及Min(Tj.sampleArea)≤Mi.Area≤Max(Tj.sampleArea)条件时,属于分离触发。)
其中,R′表示目标间的面积比,其公式如下:
通常目标因运动、自身形变、检测误差等问题都会造成面积变化。sampleArea是遮挡时刻存储的样本面积。Tj.sampleAre表示目标Tj在遮挡时刻存储的样本面积;M.Area、Mi.Area分别表示检测M、Mi的面积;Tj.Area为目标Tj的面积;G.Area为组G的面积。其中i表示参与分离的检测的标号;j表示已编组目标的标号。
分离判据模块32能够判断目标是否处于分离状态(分离状态的示意图参见图3(b))。当第j帧目标T和第j+1帧检测区域M满足以下全部条件时,则视为分离,分离后组解散,各目标匹配对应,该条件包括:(1)目标是稳定存在的,且具有一定的运动趋势;(2)检测是存在的;(3)满***叠判据,即多个M与1个T交叠;(4)满足面积合理性判据;(5)检测的组指针与目标的组指针一致。
其中交叠判据由上述交叠判据模块33实现;面积合理性判据由上述面积合理性判据模块34实现。
组空间整理模块35用于整理组空间,可以完成以下工作:删除组内已分离的组员;整理空出的组员位和组位;清除空组的面积统计信息;统计新的组员数和组数;校验是否存在与注册信息不一致的组员;清除多目标分离的检测区域ID寄存器。
组面积信息统计模块36用于统计组面积信息,可以完成以下工作:统计组员面积的最大值、最小值;统计参与组分离的检测区域的面积和。
遮挡稳定模块37用于提高遮挡过程的连续性,其通过对短暂缺失的遮挡帧进行纠错来避免遮挡过程的中断。遮挡帧缺失的原因有:组对应的检测区域超出合理范围;组对应的检测区域突然消失。遮挡稳定模块37采用电容充放电思想,其处理方式如下(假设5帧连续遮挡目标的视频序列):若该5帧序列内目标在其中一帧出现检测问题,形成“可触发-可触发-不可触发-可触发-可触发”的触发情况,未开启遮挡稳定模块37时,该5帧序列内目标的实际输出表现为“遮挡-遮挡-不遮挡-不遮挡-不遮挡”;而开启遮挡稳定模块37后,该5帧序列内目标的实际输出表现为“遮挡-遮挡-遮挡-遮挡-遮挡”的情况。遮挡稳定模块37解决了因一帧“遮挡不触发”造成的交汇过程中断问题。按照本发明的实施方式,交叠判据模块33先执行处理,当目标处于交叠状态时由面积合理性判据模块34继续执行处理;然后遮挡判据模块31和分离判据模块32(模块31和模块32没有先后顺序)分别执行处理,如果目标处于遮挡状态但未进入分离状态,则组空间整理模块35、组面积信息统计模块36以及遮挡稳定模块37相继执行处理。遮挡稳定模块37是一个可选模块,操作时也可以不执行处理。
图4示出了按照本发明的遮挡稳定模块37的时序示意图。如图4所示,当组触发遮挡(组触发遮挡指的是:目标处于遮挡状态时,与检测构成了一个组,如果该组维持了一段时间则处于组触发遮挡状态)时(竖线矩形),遮挡稳定模块37保持水平A高度,当没有遮挡触发时(白色下降区)遮挡稳定模块37工作,为组保持遮挡状态,当遮挡间歇(丢失遮挡帧)不大时,则可以保持T=A时间长度不销毁遮挡组。举例来说,当目标前一帧处于遮挡状态,以该目标与检测构成遮挡组,随后在一定时间内该遮挡组处于不明状态(即不处于遮挡状态也不处于分离状态)后,接着该遮挡组又处于分离状态,则由遮挡稳定模块37对该遮挡组的不明状态过程执行处理。如果该遮挡组处于不明状态的时间<第四预定阈值,则认为该遮挡组处于稳定的遮挡状态,并保留该遮挡组信息;否则认为该遮挡组处于不稳定的遮挡状态,并销毁该遮挡组信息。其中第四预定阈值∈[4,6]。
多目标分离匹配系数计算模块4用于处理两个以上的目标遮挡时的匹配系数计算,主要是判别孤目标的前景和孤目标的匹配。这里以3T-2M为例。对于两个前景检测、三个目标来对应,必然会产生一个两目标的组和一个单目标。这个单目标我们称其为“孤目标”。当3T-2M模型成功找出孤目标并且分离后,此模型就简化成目前较为成熟的2T-2M模型了。2T-2M模型目标分离匹配的处理方法可以使用现有的解决两目标交汇遮挡的跟踪方法,例如可以参考专利申请号为CN201010142813.6的中国专利。
为了判别孤目标的前景,建立了两类模型:以“人-人-人”模型为代表的相近面积目标模型,主要解决3个面积相近目标的处理;以“人-人-车”模型为代表的非相近面积目标模型,主要解决3个面积不相近的目标处理。依据以下方法来区分这两个模型:计算3个目标各自的面积T_area
j(j=1或2或3)、3个目标的面积的均值
以及任一目标与该面积的均值的差值的绝对值
若存在任一R
j大于第五预定阈值,则认为这3个目标属于相近面积模型,即为“人-人-人”模型;否则认为这3个目标属于面积非相近模型,即为“人-人-车”模型。其中第五预定阈值∈[0.2,0.4]。
图5示出了按照本发明的判别孤目标的前景建立的两类模型的示意图,其中五星标出了孤目标。图5(a)表示的是人-人-人模型与孤目标前景的示意图,可以看出孤目标前景的面积很小,由于无论另外两个目标如何交汇,只要没有完全重合就会比孤目标的前景大,因此对于这类模型的孤目标识别就是在2M中找最小面积的前景。图5(b)和图5(c)表示的是人-人-车模型与孤目标前景的示意图,针对该类模型采用正反面积匹配法来识别孤目标。
正反面积匹配法识别孤目标的步骤是:
1)统计正反方面积匹配均值。以目标T1为正方,剩余的两个目标T2、T3为反方,先计算正方目标与检测M1的面积匹配系数和反方目标与检测M2的面积匹配系数,计算上述两个面积匹配系数的均值C1,再计算正方目标与检测M2的面积匹配系数和反方目标与检测M1的面积匹配系数,计算上述两个面积匹配系数的均值C2。同理,分别以目标T2、T3为正方,可以计算得到面积匹配系数的均值C3、C4、C5、C6。
2)寻找均值的最大值。比较C1、C2、C3、C4、C5、C6的值,找到这6个值中的最大值,则该最大值对应的正方就是孤目标。
所述孤目标的匹配可以使用现有的直方图特征进行匹配。为了提高匹配的鲁棒性,这里引入RGB三通道的一阶矩、二阶矩、三阶矩来计算匹配系数histMomentsCoff,其计算公式如下:
其中i为通道数(即R通道、G通道、B通道),在此为RGB三通道,N为该目标对应的总像素数,pi,j为该目标第i通道第j个像素的像素值。对于一个RGB三通道的目标,共计算生成9个系数。对2组(1组有9个系数)系数进行做差比较再加权平均,就可以以一个标量来确定直方图的匹配程度。k为阶矩(即期望E、方差σ、偏斜S);表示各分量的权值,可以全都设置为1。
多目标分离匹配决策模块5用于对分离组内的目标进行匹配置信比较,决策出最佳匹配对。匹配决策方法步骤如下:
最大值标号。对匹配矩阵,先横向检测每行的最大值,对初始化全0的标号矩阵其对应位置加1,然后再纵向检测每列的最大值,对标号矩阵其对应位置再加1。这时标号矩阵每个位置就可能为三种情况的一种:0、1和2。“2”表示M与T互相选择;“1”表示M与T互相只有1个选择对方;“0”表示M与T相互没有选择。
提取匹配对。找到标号矩阵有“2”的位置,其横纵所对应的Ti和Mj就是最佳匹配对,即Ti-Mj。例如3T-2M,在孤目标的匹配过程中,由于只需要孤目标的最佳匹配对,所以只需要执行一遍此算法。
图6示出了按照本发明的目标信息更新模块。多目标信息更新模块6可以包括遮挡目标信息更新模块61。
遮挡目标信息更新模块62按照匹配结果,用检测区域信息更新遮挡目标信息,其更新的内容包括遮挡目标质心、面积、外接尺寸,这些信息均使用组对应的前景检测信息更新。
为了修正遮挡过程的轨迹,多目标信息更新模块6还可以包括遮挡轨迹修正模块62。图7示出了一例遮挡过程的未修正轨迹以及修正后轨迹的示意图。由于遮挡目标信息的更新使用的是组对应的前景区域信息,这就使遮挡两目标在遮挡过程中产生了一个“X”型的轨迹线,对目标的位置引入了误差(参见图7(a))。遮挡轨迹修正模块62记录遮挡时刻两目标所在位置以及分离时两前景检测所在位置,然后用直线连接(参见图7(b))。
跟踪后处理模块7可以包括组信息显示模块,用于为Debug显示出详尽的组内信息。
本发明还提供了一种解决多目标交汇遮挡的跟踪方法,可以包括:
提取目标图像中目标的特征,包括目标的位置、直方图和速度,并输出所述特征;
根据上一帧目标的位置、速度,预测当前帧目标的位置;
根据各个目标的位置,判断目标之间是否发生遮挡/分离,将遮挡的目标编入遮挡组,将分离的目标从遮挡组内剔除;
判别出孤目标,并计算每个孤目标与该孤目标前景的特征匹配系数,把匹配系数输入到匹配系数矩阵,以便后期的匹配决策;
从匹配系数矩阵中选择出最佳匹配对并输出;
根据匹配结果,更新目标的尺寸、面积、直方图等信息;
完成目标状态转换,丢失目标删除,及新目标生成等处理。
按照本发明的解决目标交汇遮挡的跟踪装置的最大优点在于实现了复杂背景下多目标的准确跟踪,解决了目标交汇过程中因目标相互遮挡造成的目标跟踪丢失问题,能够确保目标在复杂场景下的连续跟踪,同时该装置具有很强的鲁棒性。
本发明还具有很强的实用性,可以用于智能视频监控装置中,用以实现目标分类识别、运动目标警戒、运动目标跟踪、PTZ跟踪、自动特写拍摄、目标行为检测、流量检测、拥挤检测、遗留物检测、被盗物检测、烟雾检测和火焰检测等功能。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,应当理解,本发明并不限于这里所描述的实现方案,这些实现方案描述的目的在于帮助本领域中的技术人员实践本发明。任何本领域中的技术人员很容易在不脱离本发明精神和范围的情况下进行进一步的改进和完善,因此本发明只受到本发明权利要求的内容和范围的限制,其意图涵盖所有包括在由所附权利要求所限定的本发明精神和范围内的备选方案和等同方案。