具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
图1表示图1示出了按照本发明的基于层级式特征匹配的目标跟踪装置。如图1所示,按照本发明的基于层级式特征匹配的目标跟踪装置可以包括:
目标检测模块10,用于将视频场景中的检测从背景中提取出来;
目标跟踪模块20,用于基于目标检测模块10输出的检测,通过一系列处理,记录每帧内的目标位置。
其中,所述目标检测模块10可以通过我们之前申请的专利申请号为CN200910077433.6的“运动目标检测方法及装置”实现,也可以通过公开的运动目标检测算法实现。由于这不是本发明的重点,这里不再详细描述。
所述目标跟踪模块20可以进一步包括:
特征提取模块21,用于计算目标的位置、直方图、速度,并将这些计算结果作为特征输出;
目标预测模块22,用于根据上一帧目标的位置、速度,预测当前帧目标的位置;
遮挡分离处理模块23,用于根据各个有趋势的目标的位置,判断目标之间是否发生遮挡或分离,将遮挡的目标编入遮挡组,将分离的目标从遮挡组内剔除;
匹配系数计算模块24,用于分别计算每一个目标与每个检测区域的特征匹配系数,把匹配系数记录到匹配系数矩阵中,以便后期的匹配决策;后面将对此进行详细介绍,参见图5~7和说明书的第12~16页。
匹配决策模块25,用于从匹配系数矩阵中选择出最佳匹配对并输出;后面将对此进行详细介绍,参见图8和说明书的第16~17页。
目标信息更新模块26,用于根据最佳匹配对,更新目标的信息,比如尺寸、面积、直方图等;
跟踪后处理模块27,用于完成包括目标状态转换,丢失目标删除,及新目标生成的处理。
特征提取模块21还可以进一步用于统计RGB彩色直方图和计算RGB三通道的一阶矩、二阶矩、三阶矩。其中,计算一阶矩、二阶矩、三阶矩的公式如下:
一阶矩(期望):
二阶矩(方差):
三阶矩(偏斜):
其中,i为通道数(即R通道、G通道、B通道),在此为RGB三通道,N为该目标对应的总像素数,pi,j为该目标第i通道第j个像素的像素值。对于一个RGB三通道的目标,共计算生成9个系数。对2组(1组有9个系数)系数进行做差比较再加权平均,就可以以一个标量来确定直方图的匹配程度。
目标预测模块22根据目标运动的累加位移及其相应的累加时间,计算该目标运动的平均速度,并根据该速度预测目标的下一次位移。其中,所述累加位移就是目标运动的位移的累加和,累加时间就是目标运动的时间的累加和。所述累加位移、累加时间及平均运动速度的关系为:
v=s/t
其中,s为目标质心稳定运动多帧后的位移,t为目标运动多帧所需的时间,v为该目标稳定运动的平均速度。通过上述公式便可计算得到平均速度。
根据所述平均速度v预测的下一次位移为:
s′=v·Δt
其中,Δt为预测的目标时间,即两帧之间的时间差,s′为目标质心稳定运动Δt时间后的位移。通过上述公式便可计算预测到下一次位移。根据位移和上一帧中目标的位置,便可得到目标在当前帧中的位置。
图2示出了按照本发明的遮挡分离处理模块23,可以对目标的遮挡/分离状态进行判决,同时还可以监管组机制,可以包括编入组员、删除组员、统计组信息。(组的定义和原理,例如参见Yang Tao在2005年的IEEE Computer Vision and Pattern RecognitionConference.San Diego:IEEE Computer Society Press第970-975页的“Real-time Multiple Objects Tracking with Occlusion Handling inDynamic Scenes”。)
需要注意的是,遮挡分离处理模块23所涉及的目标都是指有趋势目标,即当目标生成后,连续跟踪多帧(例如可以选为8帧)后且沿某一方向移动一定距离(例如可以选为10个像素)的目标。该模块23可以包括遮挡判据模块31、分离判据模块32、交叠判据模块33、面积合理性判据模块34、组空间整理模块35、组面积信息统计模块36。为了使遮挡分离处理更为稳定,遮挡分离处理模块23还可以包括遮挡稳定模块37。
图3示出了按照本发明的遮挡、分离、交叠的示意图。
遮挡判据模块31能够判断目标是否处于遮挡状态(遮挡状态的示意图参见图3(a))。当第i帧目标T和第i+1帧检测区域M满足以下全部条件时,则视为遮挡,遮挡后形成组并保存各目标编组前特征,该条件包括:(1)检测是存在的;(2)满足交叠判据,即1个M与2个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(T1.Area,T2.Area)<M.Area<(T1.Area+T2.Area);(注意,触发指的是开启/启动的瞬间。例如遮挡触发是指当满足R′>第三预定阈值和Max(T1.Area,T2.Area)<M.Area<(T1.Area+T2.Area)条件时,属于遮挡触发)。按照本发明的优选实施方式,第三预定阈值∈[0.05,0.15]。
分离触发:加入R′滤除极小区域的触发,要求R′>第三预定阈值;加入组面积限制,要求Max(M1.Area,M2.Area)<G.Area<(M1.Area+M2.Area);加入组成员面积限制,要求Min(Tj.sampleArea)≤Mi.Area≤Max(Tj.sampleArea)。(即当满足R′>第三预定阈值、Max(M1.Area,M2.Area)<G.Area<(M1.Area+M2.Area)以及Min(Tj.sampleArea)≤Mi.Area≤Max(Tj.sampleArea)条件时,属于分离触发。)
其中,R′表示目标间的面积比,其公式如下:
通常目标因运动、自身形变、检测误差等问题都会造成面积变化。sampleArea是遮挡时刻存储的样本面积。T1.sampleArea、T2.sampleArea分别表示目标T1、T2在遮挡时刻存储的样本面积;M.Area、M1.Area、M2.Area、Mi.Area分别表示检测M、M1、M2、Mi的面积;T1.Area、T2.Area、Tj.Area为目标T1、T2、Tj的面积;G.Area为组G的面积。其中i表示参与分离的检测的标号;j表示已编组目标的标号且j=1或者2。
分离判据模块32能够判断目标是否处于分离状态(分离状态的示意图参见图3(b))。当第j帧目标T和第j+1帧检测区域M满足以下全部条件时,则视为分离,分离后组解散,各目标匹配对应,该条件包括:(1)目标是稳定存在的,且具有一定的运动趋势;(2)检测是存在的;(3)满足交叠判据,即2个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]。
图5示出了按照本发明的匹配系数计算模块24。匹配系数计算模块24可以包括单体目标匹配系数计算模块41和分离目标匹配系数计算模块42。如图5所示,单体目标匹配系数计算模块41和分离目标匹配系数计算模块42之间是相互独立的,模块41用于针对单体目标进行处理,模块42用于对分离目标进行处理。
单体目标匹配系数计算模块41用于计算未发生遮挡的目标与未发生遮挡的前景检测间的匹配系数。该匹配系数C的计算公式如下:
C=α·Cdist+β·Chist+γ·Carea
其中,Cdist为距离匹配系数,Chist为直方图匹配系数,Carea为面积匹配系数。α、β、γ分别为距离匹配权值、直方图匹配权值、面积匹配权值。在本发明中,α、β、γ可以按照实际场景需求进行设定,这三者的值都∈(0,1),且满足三者的值的和为1,例如当场景为仓库时,α、β、γ可以分别设定为0.5、0.2和0.3。
1)距离匹配系数Cdist
其中,xtarget、ytarget分别为目标中心的横坐标和纵坐标;xregion、yregion分别为前景检测中心的横坐标和纵坐标;width、height分别为目标的宽度和高度。coef是最小匹配系数且coef∈[0.5,0.8],在本发明中,coef可以按照实际场景需求进行设定,例如当场景为仓库时,coef可以设定为0.6。
2)直方图匹配系数Chist
其中,R.hist、T.hist分别表示前景检测的直方图和目标的直方图。
3)面积匹配系数Carea
其中,R.area、T.area分别表示前景检测的面积和目标的面积。Max(·,·)、Min(·,·)分别表示取最大值、最小值函数。
分离目标匹配系数计算模块42用于计算分离目标和参与分离的前景检测间的匹配系数,主要由两步完成:特征选择和匹配值计算。为了使下一步匹配决策模块25中匹配决策的更为可靠,分离目标匹配系数计算模块42采用层级式特征匹配方法,按照不同的优先级来选择特征,并计算该特征的匹配系数。图6示出了按照本发明的两分离目标匹配系数计算方法,其具体步骤如下:
步骤101,计算面积特征。计算面积特征包括计算目标面积比targetsAreaRate、区域面积比regionsAreaRate、面积变化量deltaAreaRate,其公式如下:
deltaAreaRate=|regionsAreaRate-targetsAreaRate|
其中,sampleArea是遮挡时刻存储的样本面积。T1.sampleArea、T2.sampleArea分别表示目标T1、T2在遮挡时刻存储的样本面积;M1.Area、M2.Area分别表示检测M1、M2的区域面积。
步骤102,判断面积特征是否稳定,若稳定,则执行步骤103;若不稳定,则执行步骤104。判断面积特征是否稳定的依据是目标面积比targetsAreaRate和面积变化量deltaAreaRate。当targetsAreaRate小于第五预定阈值(第五预定阈值∈[0.4,0.6])且deltaAreaRate小于第六预定阈值(第六预定阈值∈[0.3,0.5])时,则认为面积特征稳定,否则认为面积特征不稳定。
步骤103,计算面积匹配系数。面积匹配系数AreaCoeffi,j的计算公式如下:
其中,Mi.Area表示的检测Mi的区域面积,Tj.sampleArea表示目标Tj在遮挡时刻存储的样本面积,Tj.Area表示的目标Tj的区域面积。
步骤104,计算直方图特征。计算直方图特征包括计算目标直方图比targetsHistRate、区域直方图比regionsHistRate、直方图变化量deltaHistRate,其公式如下:
targetsHistRate=相似度计算(T1.objectHistogram,T2.objectHistogram)
regionsHistRate=相似度计算(M1.objectHistogram,M2.objectHistogram)
deltaHistRate=|regionsHistRate-targetsHistRate|
其中,T1.objectHistogram、T2.objectHistogram分别表示目标T1、T2的直方图;M1.objectHistogram、M2.objectHistogram分别表示检测M1、M2的直方图。
步骤105,判断直方图特征是否稳定,若稳定,则执行步骤106;若不稳定,则执行步骤107。直方图特征稳定的条件是目标T和检测M的相似系数矩阵的对角线上的系数是该矩阵中系数最大的两个值,即第一最大系数和第二最大系数,第一最大系数大于第二最大系数,第二最大系数大于所有其余系数。假设目标T和检测M的相似系数矩阵为
S
T1-M1、S
T1-M2、S
T2-M1、S
T2-M2分别表示目标T1与检测M1、目标T1与检测M2、目标T2与检测M1、目标T2与检测M2的直方图的相似系数,那么矩阵的对角线上的系数是该矩阵中系数最大值和次大值指的就是以下两种情况:S
T1-M1和S
T2-M2是S
T1-M1、S
T1-M2、S
T2-M1、S
T2-M2四个直方图相似系数中最大值和次大值,或者S
T1-M2和S
T2-M1是S
T1-M1、S
T1-M2、S
T2-M1、S
T2-M2四个直方图相似系数中最大值和次大值。
步骤106,计算直方图匹配系数。用巴氏系数来计算,直方图匹配系数HistCoeffi,j的计算公式如下:
步骤107,计算趋势特征。计算趋势特征包括分析目标的运动轨迹,以及统计目标的遮挡时间。
步骤108,判断趋势特征是否稳定,若稳定,则执行步骤109;若不稳定,则执行步骤110。当同时满足以下条件时,认为趋势特征是稳定的:
1)两目标的运动轨迹的分析表明这两个目标在一段时间内都维持同一方向的运动,且这两个目标的运动方向相反。当两个目标运动方向的夹角>第七预定阈值时,则认为两个目标的运动方向相反。第七预定阈值∈[90,180]。
2)目标遮挡的时间小于第八预定阈值(第八预定阈值∈[40,60]且为整数)。
步骤109,计算趋势匹配系数。图7示出了按照本发明的趋势匹配系数计算的示意图。假设T1、T2的候选检测是M1、M2,通过T到M的向量与目标运动方向D之间的夹角可以获得∠1、∠2、∠3、∠4,比较∠1+∠2与∠3+∠4的数值,这两组数值中最小的即为趋势最佳匹配系数。
步骤110,计算默认匹配系数。默认匹配系数是由用户自己设定的,可以是直方图特征、趋势特征、直方图平衡特征的匹配系数。其中直方图特征和趋势特征的匹配系数详见步骤106和步骤109。直方图平衡特征的匹配系数是分别计算目标T和检测M的相似系数矩阵的各对角线上的系数之和,取对角线上系数之和最大的那个值为直方图平衡特征的最佳匹配系数。
图8示出了按照本发明的匹配决策模块。匹配决策模块25可以包括:单体目标匹配决策模块51和两分离目标匹配决策模块52。如图8所示,模块51和模块52之间是相互独立的,模块51用于针对单体目标进行处理,模块52用于对两分离目标进行处理。单体目标匹配决策模块51用于对未遮挡的目标进行匹配置信比较,决策出最佳匹配对。两分离目标匹配决策模块52用于对分离组内的目标进行匹配置信比较,决策出最佳匹配对。匹配决策方法步骤如下:
最大值标号。对匹配矩阵,先横向检测每行的最大值,对初始化全0的标号矩阵其对应位置加1,然后再纵向检测每列的最大值,对标号矩阵其对应位置再加1。这时标号矩阵每个位置就可能为三种情况的一种:0、1和2。“2”表示M与T互相选择;“1”表示M与T互相只有1个选择对方;“0”表示M与T相互没有选择。
提取匹配对。找到标号矩阵有“2”的位置,其横纵所对应的Ti和Mj就是最佳匹配对,即Ti-Mj。如果是2T-2M分离模型,我们需要清零匹配矩阵i行和j列的数据和清零标号矩阵,之后再重复最大值标号和提取匹配对这两个步骤,直至得到第二组最佳匹配对。
图9示出了按照本发明的目标信息更新模块。目标信息更新模块26可以包括单体目标信息更新模块61、遮挡目标信息更新模块62。如图9所示,模块61和模块62之间是相互独立的,模块61用于针对单体目标进行处理,模块62用于对遮挡目标进行处理。
单体目标信息更新模块61按照匹配结果,用检测区域信息更新单体目标信息。遮挡目标信息更新模块62按照匹配结果,用检测区域信息更新遮挡目标信息,其更新的内容包括遮挡目标质心、面积、外接尺寸,这些信息均使用组对应的前景检测信息更新。
为了修正遮挡过程的轨迹,目标信息更新模块26还可以包括遮挡轨迹修正模块63。如图9所示,模块63是可选模块,用于对模块62的输出结果作进一步的处理。图10示出了一例遮挡过程的未修正轨迹以及修正后轨迹的示意图。由于遮挡目标信息的更新使用的是组对应的前景区域信息,这就使遮挡两目标在遮挡过程中产生了一个“X”型的轨迹线,对目标的位置引入了误差(参见图10(a))。遮挡轨迹修正模块63记录遮挡时刻两目标所在位置以及分离时两前景检测所在位置,然后用直线连接(参见图10(b))。
跟踪后处理模块27可以包括组信息显示模块,用于为Debug显示出详尽的组内信息。跟踪后处理模块27对于没有匹配的检测就生成新目标。
本发明还提供了一种基于层级式特征匹配的目标跟踪方法,包括步骤:
将视频场景中的检测从背景中提取出来;
基于所提取出的检测,记录目标在每帧内的位置。
按照本发明的基于层级式特征匹配的目标跟踪方法,其中记录目标在每帧内的位置的步骤包括:
计算目标的位置、直方图、速度,并将这些计算结果作为特征输出;
根据上一帧中目标的位置、速度,预测当前帧中目标的位置;
根据多个目标的位置,判断多个目标之间是否发生遮挡或分离,将相互发生遮挡的目标编入遮挡组,将分离的目标从遮挡组内剔除;
分别计算每一个目标与每个检测的特征匹配系数,把匹配系数记录到匹配系数矩阵中,以便后期的匹配决策;
从匹配系数矩阵中选择出最佳匹配对并输出;
根据所述最佳匹配对,更新目标的信息;
完成包括目标状态转换、丢失目标删除及新目标生成的处理。
按照本发明的解决目标交汇遮挡的跟踪装置的最大优点在于实现了复杂背景下目标的准确跟踪,解决了目标交汇过程中因目标相互遮挡造成的目标跟踪丢失问题,能够确保目标在复杂场景下的连续跟踪,同时该装置具有很强的鲁棒性。
本发明还具有很强的实用性,可以用于智能视频监控装置中,用以实现目标分类识别、运动目标警戒、运动目标跟踪、PTZ跟踪、自动特写拍摄、目标行为检测、流量检测、拥挤检测、遗留物检测、被盗物检测、烟雾检测和火焰检测等功能。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,应当理解,本发明并不限于这里所描述的实现方案,这些实现方案描述的目的在于帮助本领域中的技术人员实践本发明。任何本领域中的技术人员很容易在不脱离本发明精神和范围的情况下进行进一步的改进和完善,因此本发明只受到本发明权利要求的内容和范围的限制,其意图涵盖所有包括在由所附权利要求所限定的本发明精神和范围内的备选方案和等同方案。