一种运动目标检测的方法_2

文档序号:9453787阅读:来源:国知局
素的数目。
[0038] 步骤8)进一步包括:
[0039]通过如下公式计算长时间前景区域的模型和聚类结果的像素值的方差 VAR_C:
[0040]
[0041 ]
[0042] 其中&和f分别是集合PMC和P中像素的均值;
[0043] 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);
[0044] 步骤8)进一步包括:结合长时间前景区域的定位和直方图分析,将检测到的长时 间前景区域作进一步精确分割。
[0045] 本发明的有益效果:
[0046] 本发明针对动态背景问题,首先通过结合后处理结果和表征前景检测结果变化频 率程度的Blink Map准确地确定动态背景区域,然后通过邻域匹配(Neighboring Match) 及急速更新(Sharp Update)机制实现动态背景噪声像素的检测和快速更新,使得模型变得 更加鲁棒,使得动态区域的检测到的更加少的虚假前景,更加便于后处理操作。进一步地, 针对静态前景,首先识别出长期检测为前景的区域,然后判别初始模型是否准确,如果错误 则还进行相应的修正。通过对图像划分区域进行处理,可以更好地针对区域特征设计更为 适用的检测更新算法,以达到较为令人满意的检测效果;进一步地,结合区域对比度和边缘 信息的长时间前景区域分类的算法能够非常准确地区分出哪些长时间前景区域的模型是 错误的,再用聚类算法获取的聚类结果修正该区域的模型,使得检测结果更加准确。优选实 施例可以较好地处理动态背景误检和静止前景目标漏检的问题。
【附图说明】
[0047]图1为ViBe初始化过程,图中所示为任一像素的背景模型初始化过程;
[0048] 图2为ViBe检测过程,图中所示为任意一个像素前景检测过程,并且图中事例的 判断结果为背景;
[0049] 图3为ViBe的更新过程,图中所示为一个像素的模型被更新的过程;
[0050] 图4为晃动背景下的检测效果图;
[0051] 图5为传统算法在初始化过程中有运动目标所会造成的错误;
[0052]图6为传统算法的传播机制对检测效果产生的影响示意图;
[0053] 图7为检测长时间前景区域的算法图;
[0054] 图8为长时间前景区域的处理流程;
[0055] 图9为长时间前景区域的处理流程;
[0056] 图10为将检测到的长时间前景区域进一步精确划分的算法图;
[0057] 图11为长时间前景区域划分成真正相互独立的长时间前景区域的流程;
[0058] 图12为本发明实施例的运动目标检测的方法流程图。
【具体实施方式】
[0059] 以下对本发明的实施方式作详细说明。应该强调的是,下述说明仅仅是示例性的, 而不是为了限制本发明的范围及其应用。
[0060] 如图12所示,在一种实施例中,一种运动目标检测的方法包括如下步骤。
[0061] 1)视频流的读入;
[0062] 2)判断读入的帧图像是否为第一帧,如果是则以第一帧建立背景模型,否则转向 3)。这里使用Vibe的初始化方案进行背景模型的构建。
[0063] 3)利用背景模型差分出初步检测图,记为Maskl,这里使用ViBe的检测方案进行 初步检测。
[0064] 4)对初步检测图做后处理。首先进行中值滤波,闭操作,凸包,再与初步检测图 Maskl作与操作得到去除噪声的检测图,记为Maskl 1。然后,对去除噪声的检测图Maskl 1做 膨胀、填洞得到包含所有前景目标的检测图,记为Maskl2。最后,设定一个更加小的像素差 值检测阈值,即设定一个更小的R值,重新检测Maskl2中指示的前景区域以使得该区域的 前景目标尽可能完整的被检测出来,再加上一些后处理(包括中值滤波、闭操作、填洞)得 到最终处理结果,记为Mask2。
[0065] 5)比较当前帧的初步检测图Maskl和前一帧的初步检测图Maskl,找出数值相同 的像素,Blink Map图中对应的像素值减去1,找出数值不同的像素,Blink Map图中对应的 像素值加上15,并且Blink Map中的每一个像素值限制在0-150之间。使用30作为阈值, 阈值化Blink Map得到二值图,记为Blink Mask。此外,为了避免前景的边界区域也被检测 为动态背景,需将Blink Mask的一些值置0,具体操作:如果Blink Mask中某个像素非0, 即该像素为动态背景,并且该像素在当前帧的最终处理结果图Mask2中也非0,即该像素为 前景,就在Blink Mask中将该像素值置0。如此就可以获知哪些区域是动态背景区域,并且 通过Blink Mask表示出来。
[0066] 6)对动态背景区域使用邻域匹配(Neighboring Match)和急速更新(Sharp Update)机制进行模型修正。其中邻域匹配是指如果某一个像素既被初步检测为前景同时 又是动态背景,即Maskl和Blink Mask中同时等于255的像素,则将该像素值重新与其半 径为5像素距离的圆形邻域内的像素的模型进行比对,如果有模型认为该像素为背景,则 将该像素位置修改为背景。急速更新是指对于被邻域更新修改为背景的像素点,使用该像 素值替换掉背景模型中的两个背景像素样本,以适应动态背景区域的快速晃动。
[0067] 7)迭代统计最终检测结果Mask2中的每个像素检测结果,如果某个区域在某段时 间内被频繁检测为前景,就认为该区域是长时间前景区域或者说静止的前景区域。如果检 测到长时间前景区域则转到8),否则转到9)。
[0068] 8)对于长期前景区域,分别计算该区域模型与其邻域模型的对比度RC_M和该区 域聚类结果(对于每个像素,通过序列领导聚类(Sequential Leader Clustering,SLC)算 法,聚类该像素之前所有被检测为前景的像素值获得该像素一直被检测为前景的这段时间 内真实物体)与其邻域模型的对比度RC_C,如公式(1)、(2)所示:
[0069]
[0070]
[0071] 其中D(Pl,Pj)是像素pjPp ,在1?8色彩空间内的欧式距离,PMC表示长时间前景 区域的模型中的代表像素构成的一个集合,P MS表示长时间前景区域(如图8. b中白色区域 所示)周围邻域区域(我们对长时间前景区域向外膨胀15个像素获得邻域区域,如图8. b 中灰色区域所示)的模型中的代表像素构成的一个集合,Pee表示长时间前景区域的聚类结 果中的像素构成的一个集合,#P K,#PMS,分别是P MC,PMS,集合中元素的数目。
[0072] 如果RC_M大于1. 5倍的RC_C,则认为初始模型是错误的,并使用聚类结果修正该 区域的模型;反之,则认为初始模型是正确的,不需要做任何修正,由此得到了正确的初始 化模型。完整的处理流程如图8所示。
[0073] 但是,如果检测到的长时间前景区域的模型或者聚类结果景物纹理复杂,上述方 法就会失效,为此,进一步分析边缘(edge)信息修正上述方法的一些错误判决。具体步骤 如下,首先计算长时间前景区域的模型和聚类结果的像素值的方差VAR_M和VAR_C,如公式 (3,4)所示:
[0074]
[0075]
[0076] 其中&和^分别是集合PMe和P中像素的均值。
[0077]如果0? 66*RC_C〈RC_M〈 1 ? 5*RC_C&&max(VAR_M,VAR_C) >8000,我们就进行图9中 e_h所示操作,否则转到9)。完整的处理流程如图9所示。
[0078] 进一步分析发现,如果不同的长时间前景目标离得特别近,就会被检测成同一个 前景物体,这是不利于我们的算法处理的,所以我们设计了一个算法来将检测到的长时间 前景区域进一步划分为真正相互独立的长时间前景区域。我们通过对长时间前景区域的起 始时间图(ts,见图7)进行直方图分析,将每个长时间前景区域进一步划分为真正相互独 立的长时间前景区域。这个分析的主要思想是找出若干个区间,每个区间直方图取值都大 于某个阈值,每个区间的左边界为上一区间右边界之后第一个大于〇. 005的bin的左边界, 对应的右边界为该左边界之后的第一个小于0. 005的bin的左边界,如图10所示。结合 长时间前景区域定位算法和直方图分析实现长时间前景区域的精确分割的流程如图11所 不。
[0079] 9)基本背景模型更新,这里我们采用取消了邻域更新的Vibe更新机制进行更新, 以免运动物体静止时慢慢融入到背景中去。若视频未结束则转向1)进行下一帧处理,否则 结束视频处理操作。
[0080] 图12所示为方法的完整流程。
[0081] 实例算法
[0082] 图7至图11展示实例中可采用的具体算法或处理流程。
[0083] 考虑到噪声、光照变化、景物相互遮挡等多种干扰因素,一种检测长时间前景区域 的具体算法如图7所示,可非常可靠地检测长时间前景区域或者说静止的前景区域,其中 ts是一个长时间前景物体
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1