首页> 中国专利> 一种克服静止前景运动目标检测的方法

一种克服静止前景运动目标检测的方法

摘要

一种克服静止前景运动目标检测的方法,包括以下步骤:检测图像是否有长时间前景区域,如果检测到长时间前景区域则转到步骤8),否则转到步骤9);8)对于长时间前景区域,分别计算该区域模型与其邻域模型的对比度RC_M和该区域聚类结果与其邻域模型的对比度RC_C,如果RC_M大于ratio_upLimit倍的RC_C,则认为该区域的初始模型是错误的,并使用聚类结果修正该区域的模型,反之,认为该区域的初始模型是正确的;9)完成背景模型更新;如果视频未结束,则检测新图像帧,否则处理完毕。

著录项

  • 公开/公告号CN105184817A

    专利类型发明专利

  • 公开/公告日2015-12-23

    原文格式PDF

  • 申请/专利权人 清华大学深圳研究生院;

    申请/专利号CN201510548886.8

  • 发明设计人 李秀;陈连胜;汤友华;

    申请日2015-08-31

  • 分类号G06T7/20;

  • 代理机构深圳新创友知识产权代理有限公司;

  • 代理人王震宇

  • 地址 518000 广东省深圳市南山区西丽深圳清华大学城清华校区

  • 入库时间 2023-12-18 12:59:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-27

    授权

    授权

  • 2016-02-10

    著录事项变更 IPC(主分类):G06T7/20 变更前: 变更后: 申请日:20150831

    著录事项变更

  • 2016-01-20

    实质审查的生效 IPC(主分类):G06T7/20 申请日:20150831

    实质审查的生效

  • 2015-12-23

    公开

    公开

说明书

技术领域

本发明涉及图像处理,特别是涉及一种运动目标检测的方法。

背景技术

对于运动目标检测,现有的技术一般都是建立并维护一个背景模型, 然后逐像素对比背景模型与当前帧图片来差分运动目标,对于动态背景的 误检(如树叶的晃动)和静止目标漏检的现象考虑稍显不足,因而在某些 场景下的检测准确性难以令人满意。例如OlivierBarnich等人在《IEEE TRANSACTIONSONIMAGEPROCESSING》提出的使用ViBe(VisualBackground Extraction)算法进行目标检测,其整个流程可以概括如下:使用起始帧 为每一个像素点建立背景模型(背景模型是一个非参数逐像素模型,具体 是指图片中的每一像素都具有一个模型,并且该模型是由20个像素值构成, 也称为样本;初始化过程:每个像素的模型是从起始帧图片的当前像素和 其8邻域的像素的9个像素值中有放回的抽取20个样本构成,如图1所示), 读入新的一帧利用背景模型差分出前景(具体来说就是如果某个像素的当 前值与两个或者多于两个背景样本相似(相似的定义为像素当前值和背景 样本之间的距离度量小于R)则认为该像素为背景,反之为前景,如图2 所示)。如果某像素被检测为背景,该像素的模型将有1/16概率被更新(某 像素模型被更新是指模型中的20个样本的某一个被该像素的当前值随机 替换掉,如图3所示),同时还有1/16的概率更新8邻域内某个像素的模 型。其在进行前景检测时,缺乏对晃动背景的干扰和运动目标静止不动对 检测效果可能产生的影响进行考虑。处理方式如图1至3,图1的ViBe初 始化过程,图中所示为任一像素的背景模型初始化过程。图2的ViBe 检测过程,图中所示为任意一个像素前景检测过程,并且图中事例的判断 结果为背景。s1-s20是像素模型中的20个样本,v(x)是像素当前值,SR(v(x)) 是以当前值v(x)为中心R为半径的圆形区域,某个样本落在圆形区域内即 认为样本与当前值v(x)相似。为方便表示,我们假设像素可以用一个二维 向量表示,其他维度的表示与之类似。图3的ViBe的更新过程,图中所 示为一个像素的模型被更新的过程。图的左侧的检测示意图认为该像素点 为背景,如果当前像素此次获得了可以更新模型的机会,就会如图中所示 用当前像素值随机的替换掉背景模型中的一个样本。

ViBe算法使用起始帧为每一个像素点建立背景模型,读入新的一帧利 用背景模型差分出前景,如果某像素被检测为背景,该像素的模型将有 1/16概率被更新,同时还有1/16的概率更新8邻域内某个像素的模型。 其所使用的更新机制对背景的更新速度较慢,难以适应快速变化的动态背 景区,容易将动态背景(如晃动的树叶)误检测为前景;如果起始帧包含 前景目标,会在目标离开后的一段时间内将目标在起始帧停留的区域误检 测为前景,现有初始化方案没有专门对此类错误进行处理;其传播更新机 制虽然能够使得之前被前景遮挡的区域的背景信息迅速融入背景模型,但 是也会使得静止目标渐渐融入背景中,污染了背景模型,如果静止目标再 次运动,其之前静止位置也会在很长一段时间内被误检为前景。

例如,树叶常常会受到风的影响进行无规则的晃动,现有的技术会将 其误检测出来,如图4所示。其中左上为原图;右上为人工标注出的理想 检测结果;左下为ViBe算法检测结果;右下为使用本发明实施例的进行检 测的结果。通过对比可以明显看出,ViBe算法对晃动背景的抗干扰能力较 差,会在检测过程中大量将晃动的背景误检测为前景。

如图5,当视频的起始帧含有运动目标时会将运动目标初始化进背景 模型中,因而当车开走时,其初始停留的位置会在相当长的时间段内被检 测为前景,虽然这些检测错误都会随着算法的运行慢慢被纠正,但其耗时较 长,且对于已检测错误的片段,没有提出专门的措施进行纠正。其中左上 为包含运动目标的起始帧;右上为起始帧中的目标离开了起始位置的某帧 图片;左下为传统检测算法的检测效果图;右下为本发明实施例的检测效 果图。可以看到传统算法在车开走之后会将其原先停留的位置误检测为前 景。

图6中目标运动到视野内后做了一段时间的停留,由于其背景传播更 新机制,目标会慢慢融入背景中,直到完全检测不出来。其中左上为依次 从视野外搬入三个物体静置的原图;右上为人工标注出的理想检测效果图; 左下为传统算法检测效果图;右下为本发明实施例的检测效果图。可以看 出,在传统算法检测效果图中,先行搬入的两个物体由于停留时间较长, 已经完全融入到背景了。

发明内容

本发明提出一种克服静止前景运动目标检测方法,可以有效提高视频 运动目标检测的准确性。

为实现上述目的,本发明采用以下技术方案:

一种克服静止前景运动目标检测的方法,包括以下步骤:

1)读入视频流的一帧图像;

2)判断读入的帧图像是否为第一帧,如果是则以第一帧建立背景模型, 否则转向步骤3);

3)对读入的帧图像用背景模型差分出初步检测图;

4)对初步检测图做后处理;

7)检测步骤4)获得的后处理结果是否有长时间前景区域,如果检测 到长时间前景区域则转到步骤8),否则转到步骤9);

8)对于长时间前景区域,分别计算该区域模型与其邻域模型的对比度 RC_M和该区域聚类结果与其邻域模型的对比度RC_C,如果RC_M大于 ratio_upLimit倍的RC_C(可优选设定ratio_upLimit为1.5,也可根据具 体情况做适当调整),则认为该区域的初始模型是错误的,并使用聚类结果 修正该区域的模型,反之,认为该区域的初始模型是正确的;

9)完成背景模型更新;如果视频未结束,转步骤1),否则处理完毕。

进一步地:

步骤4)和步骤7)之间进一步包括以下步骤:

5)使用BlinkMap图确定动态背景区域;

6)对动态背景区域使用邻域匹配(NeighboringMatch)和急速更新 (SharpUpdate)机制进行模型修正。

步骤2)中,采用Vibe初始化方法构建背景模型;步骤3)中,采用ViBe 检测方法进行初步检测;步骤9)中,采用取消了邻域更新的Vibe更新机 制进行更新。

步骤4)包括:

对初步检测图进行中值滤波、闭操作、凸包处理,再将处理结果与初 步检测图作与操作得到去除噪声的检测图;

对去除噪声的检测图做膨胀、填洞处理得到包含所有前景目标的检测 图;

设定一个比初始像素差值检测阈值更小的像素差值检测阈值,重新检 测包含所有前景目标的检测图中指示的前景区域中的前景目标;

经过中值滤波、闭操作、填洞处理得到最终处理结果图。

步骤5)包括:

比较当前帧的初步检测图和前一帧的初步检测图,找出数值相同的像 素,再将BlinkMap图中对应的像素值减去step_decrease(可优选设定 step_decrease为1,也可根据具体情况做适当调整),找出数值不同的像 素,然后将BlinkMap图中对应的像素值加上step_increase(可优选设定 step_increase为15,也可根据具体情况做适当调整),且BlinkMap图中 的每一个像素值限制在[0,level_upLimit]之间(可优选设定 level_upLimit为150,也可根据具体情况做适当调整);

以step_threshold作为阈值(可优选设定step_threshold为30,也 可根据具体情况做适当调整),阈值化BlinkMap图得到二值图BlinkMask, 从而确定动态背景区域。

步骤5)进一步包括:

检测二值图BlinkMask中的像素,如果二值图BlinkMask中某个像 素非0,并且该像素在当前帧的最终处理结果图中也非0,则在二值图Blink Mask中将该像素值置0。

步骤6)中所述邻域匹配包括:对于既被初步检测为前景同时又为动态背 景的像素,将该像素的像素值重新与其半径为5像素距离的圆形邻域内的 像素的模型进行比对,如果模型认为该像素为背景,则将该像素位置修改 为背景;所述急速更新包括:对于被更新修改为背景的像素,使用该像素 的像素值替换掉背景模型中设定数量的背景像素样本(可优选设定两个,也 可根据具体情况做适当调整)。

步骤7)包括:统计步骤4)得到的后处理结果中的每个像素检测结果,如 果某个区域在设定时间段内被检测为前景的频度达到预定的程度,则认为 该区域是长时间前景区域。

步骤8)包括:通过如下公式计算对比度RC_M和对比度RC_C:

RC_M=(ΣpiPMCΣpjPMSD(pi,pj))÷(#PMC×#PMS)---(1)

RC_C=(ΣpiPCCΣpjPMSD(pi,pj))÷(#PCC×#PMS)---(2)

其中D(pi,pj)是像素pi和pj在RGB色彩空间内的欧式距离,PMC表示长时 间前景区域的模型中的代表像素构成的一个集合,PMS表示长时间前景区域 的周围邻域区域的模型中的代表像素构成的一个集合,PCC表示长时间前景 区域的聚类结果中的像素构成的一个集合,#PMC,#PMS,#PCC分别是PMC,PMS,PCC集合中元素的数目。

步骤8)进一步包括:

通过如下公式计算长时间前景区域的模型和聚类结果的像素值的方 差VAR_M和VAR_C:

VAR_M=(ΣpiPMCD(pi,pMC))÷(#PMC)---(3)

VAR_C=(ΣpiPCCD(pi,pCC))÷(#PCC)---(4)

其中和分别是集合PMC和PCC中像素的均值;

如果满足条件:ratio_downLimit*RC_C<RC_M<ratio_upLimit*RC_C (可优选设定ratio_downLimit为0.66,可优选设定ratio_upLimit为1.5, 也可根据具体情况做适当调整)且max(VAR_M,VAR_C)>var_downLimit(可 优选设定var_dwonLimit为8000,也可根据具体情况做适当调整),则利 用边缘检测对长期前景区域的判决进行修正,否则转到步骤9);

优选地,步骤8)进一步包括:

结合长时间前景区域的定位和直方图分析,将检测到的长时间前景区 域作进一步精确分割。

本发明的有益效果:

本发明针对静态前景,首先识别出长时间检测为前景的区域,然后判 别初始模型是否准确,如果错误则还进行相应的修正;通过对图像划分区 域进行处理,可以更好地针对区域特征设计更为适用的检测更新算法,以 达到较为令人满意的检测效果。进一步地,结合区域对比度和边缘信息的 长时间前景区域分类的算法能够非常准确地区分出哪些长时间前景区域的 模型是错误的,再用聚类算法获取的聚类结果修正该区域的模型,使得检 测结果更加准确。进一步地,针对动态背景问题,首先通过结合后处理结 果和表征前景检测结果变化频率程度的BlinkMap准确地确定动态背景区 域,然后通过邻域匹配(NeighboringMatch)及急速更新(SharpUpdate) 机制实现动态背景噪声像素的检测和快速更新,使得模型变得更加鲁棒, 使得动态区域的检测到的更加少的虚假前景,更加便于后处理操作。优选 实施例可以较好地处理动态背景误检和静止前景目标漏检的问题。

附图说明

图1为ViBe初始化过程,图中所示为任一像素的背景模型初始化过 程;

图2为ViBe检测过程,图中所示为任意一个像素前景检测过程,并 且图中事例的判断结果为背景;

图3为ViBe的更新过程,图中所示为一个像素的模型被更新的过程;

图4为晃动背景下的检测效果图;

图5为传统算法在初始化过程中有运动目标所会造成的错误;

图6为传统算法的传播机制对检测效果产生的影响示意图;

图7为检测长时间前景区域的算法图;

图8为长时间前景区域的处理流程;

图9为长时间前景区域的处理流程;

图10为将检测到的长时间前景区域进一步精确划分的算法图;

图11为长时间前景区域划分成真正相互独立的长时间前景区域的 流程;

图12为本发明实施例的运动目标检测的方法流程图。

具体实施方式

以下对本发明的实施方式作详细说明。应该强调的是,下述说明仅仅 是示例性的,而不是为了限制本发明的范围及其应用。

如图12所示,在一种实施例中,一种运动目标检测的方法包括如下 步骤。

1)视频流的读入;

2)判断读入的帧图像是否为第一帧,如果是则以第一帧建立背景模 型,否则转向3)。这里使用Vibe的初始化方案进行背景模型的构建。

3)利用背景模型差分出初步检测图,记为Mask1,这里使用ViBe的 检测方案进行初步检测。

4)对初步检测图做后处理。首先进行中值滤波,闭操作,凸包,再 与初步检测图Mask1作与操作得到去除噪声的检测图,记为Mask11。然后, 对去除噪声的检测图Mask11做膨胀、填洞得到包含所有前景目标的检测图, 记为Mask12。最后,设定一个更加小的像素差值检测阈值,即设定一个更 小的R值,重新检测Mask12中指示的前景区域以使得该区域的前景目标尽 可能完整的被检测出来,再加上一些后处理(包括中值滤波、闭操作、填 洞)得到最终处理结果,记为Mask2。

5)比较当前帧的初步检测图Mask1和前一帧的初步检测图Mask1,找 出数值相同的像素,BlinkMap图中对应的像素值减去1,找出数值不同 的像素,BlinkMap图中对应的像素值加上15,并且BlinkMap中的每一 个像素值限制在0-150之间。使用30作为阈值,阈值化BlinkMap得到二 值图,记为BlinkMask。此外,为了避免前景的边界区域也被检测为动态 背景,需将BlinkMask的一些值置0,具体操作:如果BlinkMask中某 个像素非0,即该像素为动态背景,并且该像素在当前帧的最终处理结果 图Mask2中也非0,即该像素为前景,就在BlinkMask中将该像素值置0。 如此就可以获知哪些区域是动态背景区域,并且通过BlinkMask表示出来。

6)对动态背景区域使用邻域匹配(NeighboringMatch)和急速更新 (SharpUpdate)机制进行模型修正。其中邻域匹配是指如果某一个像素 既被初步检测为前景同时又是动态背景,即Mask1和BlinkMask中同时等 于255的像素,则将该像素值重新与其半径为5像素距离的圆形邻域内的 像素的模型进行比对,如果有模型认为该像素为背景,则将该像素位置修 改为背景。急速更新是指对于被邻域更新修改为背景的像素点,使用该像 素值替换掉背景模型中的两个背景像素样本,以适应动态背景区域的快速 晃动。

7)迭代统计最终检测结果Mask2中的每个像素检测结果,如果某个 区域在某段时间内被频繁检测为前景,就认为该区域是长时间前景区域或 者说静止的前景区域。如果检测到长时间前景区域则转到8),否则转到9)。

8)对于长期前景区域,分别计算该区域模型与其邻域模型的对比度 RC_M和该区域聚类结果(对于每个像素,通过序列领导聚类(Sequential LeaderClustering,SLC)算法,聚类该像素之前所有被检测为前景的像 素值获得该像素一直被检测为前景的这段时间内真实物体)与其邻域模型 的对比度RC_C,如公式(1)、(2)所示:

RC_M=(ΣpiPMCΣpjPMSD(pi,pj))÷(#PMC×#PMS)---(1)

RC_C=(ΣpiPCCΣpjPMSD(pi,pj))÷(#PCC×#PMS)---(2)

其中D(pi,pj)是像素pi和pj在RGB色彩空间内的欧式距离,PMC表示长时 间前景区域的模型中的代表像素构成的一个集合,PMS表示长时间前景区域 (如图8.b中白色区域所示)周围邻域区域(我们对长时间前景区域向外 膨胀15个像素获得邻域区域,如图8.b中灰色区域所示)的模型中的代表 像素构成的一个集合,PCC表示长时间前景区域的聚类结果中的像素构成的 一个集合,#PMC,#PMS,#PCC分别是PMC,PMS,PCC集合中元素的数目。

如果RC_M大于1.5倍的RC_C,则认为初始模型是错误的,并使用聚 类结果修正该区域的模型;反之,则认为初始模型是正确的,不需要做任 何修正,由此得到了正确的初始化模型。完整的处理流程如图8所示。

但是,如果检测到的长时间前景区域的模型或者聚类结果景物纹理复 杂,上述方法就会失效,为此,进一步分析边缘(edge)信息修正上述方 法的一些错误判决。具体步骤如下,首先计算长时间前景区域的模型和聚 类结果的像素值的方差VAR_M和VAR_C,如公式(3,4)所示:

VAR_M=(ΣpiPMCD(pi,pMC))÷(#PMC)---(3)

VAR_C=(ΣpiPCCD(pi,pCC))÷(#PCC)---(4)

其中和分别是集合PMC和PCC中像素的均值。

如果0.66*RC_C<RC_M<1.5*RC_C&&max(VAR_M,VAR_C)>8000,我们 就进行图9中e-h所示操作,否则转到9)。完整的处理流程如图9所示。

进一步分析发现,如果不同的长时间前景目标离得特别近,就会被检 测成同一个前景物体,这是不利于我们的算法处理的,所以我们设计了一 个算法来将检测到的长时间前景区域进一步划分为真正相互独立的长时间 前景区域。我们通过对长时间前景区域的起始时间图(ts,见图7)进行 直方图分析,将每个长时间前景区域进一步划分为真正相互独立的长时间 前景区域。这个分析的主要思想是找出若干个区间,每个区间直方图取值 都大于某个阈值,每个区间的左边界为上一区间右边界之后第一个大于 0.005的bin的左边界,对应的右边界为该左边界之后的第一个小于0.005 的bin的左边界,如图10所示。结合长时间前景区域定位算法和直方图分 析实现长时间前景区域的精确分割的流程如图11所示。

9)基本背景模型更新,这里我们采用取消了邻域更新的Vibe更新机 制进行更新,以免运动物体静止时慢慢融入到背景中去。若视频未结束则 转向1)进行下一帧处理,否则结束视频处理操作。

图12所示为方法的完整流程。

实例算法

图7至图11展示实例中可采用的具体算法或处理流程。

考虑到噪声、光照变化、景物相互遮挡等多种干扰因素,一种检测长 时间前景区域的具体算法如图7所示,可非常可靠地检测长时间前景区域 或者说静止的前景区域,其中ts是一个长时间前景物体开始静止的时间, tfg是一个长时间前景物体从开始静止到当前时刻所经历的时间,LFGMask 是长时间前景区域的指示图,算法的输出,FGMask是用来计算长时间前景 区域的前景检测图,算法的输入,td是一个全局变量用来实现一个时延机 制以确保检测到完整的长时间前景区域。

图8示出长时间前景区域的处理流程。(a)Mask2的时间序列,(b) 借助图7所示算法获得的长时间前景区域指示图(获得指示图非常完整, 内部没有任何孔洞),其中白色区域是获得的长时间前景区域,灰色区域是 为后续操作借助膨胀操作获得的相应的邻域区域,(c)上面的图片中的中 心区域和邻域区域都是模型,下面的图片中的中心区域是聚类结果,邻域 区域还是模型,(d)借助(c)的相关数据获得最终的修正模型

图9示出长时间前景区域的处理流程。(a)Mask2的时间序列,(b) 借助图7所示算法获得的长时间前景区域指示图(获得指示图非常完整, 内部没有任何孔洞),(c)上面的图片中的中心区域和邻域区域都是模型, 下面的图片中的中心区域是聚类结果,邻域区域还是模型,(d)借助(c) 的相关数据获得最终的修正模型,可以看出火车区域模型没有能够得到正 确修正,(e)Mask1的时间序列,(f)上面的图是借助图7所示算法获得 的长时间前景区域指示图(获得指示图轮廓非常精确),下面的图是上图对 应的轮廓图(g)分别对应(c)中两幅图片的canny边缘检测图,(h)借 助(g)的相关数据获得最终的修正模型(如果长时间前景区域的模型的边 缘与前景检测到的边缘更相似就需用聚类结果修正模型,具体判断条件是 如果count_same_edge_pixel_M>count_same_edge_pixel_C,用聚类结 果修正长时间前景区域的模型),可以看出火车区域模型得到了正确修正

图10所示算法的基本思想是找出若干个区间,每个区间直方图取值 都大于某个阈值,每个区间的左边界为上一区间右边界之后第一个大于 0.005的bin的左边界,对应的右边界为该左边界之后的第一个小于0.005 的bin的左边界,其中标识符findingLeftBorder为真则表示当前是在寻 找某个区间的左边界,LBPs和RBPs两个数组用于存储这些边界的左右边 界点数值,IN用于表示最终找到的符合要求的区间数目。

图11示出长时间前景区域划分成真正相互独立的长时间前景区域的 流程。(a)Mask2的时间序列,(b)借助图7所示算法获得的长时间前景 区域指示图(获得指示图非常完整,内部没有任何孔洞)(c)上面的图片 是长时间前景区域开始静止的的时间图,下面是对应的直方图,并且已经 进行了直方图分析处理,(d)借助(c)的相关数据获得长时间前景区域的 划分,可以看出区域划分的十分准确。

本发明实施例中的要点:

1)结合后处理结果和BlinkMap图准确地确定动态背景区域。

2)设计了邻域匹配(NeighboringMatch)和急速更新(SharpUpdate) 方法实现对动态区域模型的快速更新,使得模型更加鲁棒。

3)设计了一种前景时长比例统计的方法能够非常可靠地检测出长时 间的前景区域。

4)设计了结合区域对比度和边缘信息的长时间前景区域分类的方法, 能够非常准确地区分出长时间前景区域的模型是否准确。

以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这 些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当 视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号