一种运动目标检测的方法

文档序号:9453787阅读:528来源:国知局
一种运动目标检测的方法
【技术领域】
[0001] 本发明涉及图像处理,特别是涉及一种运动目标检测的方法。
【背景技术】
[0002] 对于运动目标检测,现有的技术一般都是建立并维护一个背景模型,然后逐像素 对比背景模型与当前帧图片来差分运动目标,对于动态背景的误检(如树叶的晃动)和 静止目标漏检的现象考虑稍显不足,因而在某些场景下的检测准确性难以令人满意。例 如 Olivier Barnich 等人在《IEEE TRANSACTIONS ON IMAGE PROCESSING》提出的使用 ViBe (Visual Background Extraction)算法进行目标检测,其整个流程可以概括如下:使 用起始帧为每一个像素点建立背景模型(背景模型是一个非参数逐像素模型,具体是指图 片中的每一像素都具有一个模型,并且该模型是由20个像素值构成,也称为样本;初始化 过程:每个像素的模型是从起始帧图片的当前像素和其8邻域的像素的9个像素值中有放 回的抽取20个样本构成,如图1所示),读入新的一帧利用背景模型差分出前景(具体来 说就是如果某个像素的当前值与两个或者多于两个背景样本相似(相似的定义为像素当 前值和背景样本之间的距离度量小于R)则认为该像素为背景,反之为前景,如图2所示)。 如果某像素被检测为背景,该像素的模型将有1/16概率被更新(某像素模型被更新是指模 型中的20个样本的某一个被该像素的当前值随机替换掉,如图3所示),同时还有1/16的 概率更新8邻域内某个像素的模型。其在进行前景检测时,缺乏对晃动背景的干扰和运动 目标静止不动对检测效果可能产生的影响进行考虑。处理方式如图1至3,图1的ViBe初 始化过程,图中所示为任一像素的背景模型初始化过程。图2的ViBe检测过程,图中所示 为任意一个像素前景检测过程,并且图中事例的判断结果为背景。sl-s20是像素模型中的 20个样本,v(x)是像素当前值,S R(v(x))是以当前值v(x)为中心R为半径的圆形区域,某 个样本落在圆形区域内即认为样本与当前值v( x)相似。为方便表示,我们假设像素可以用 一个二维向量表示,其他维度的表示与之类似。图3的ViBe的更新过程,图中所示为一个 像素的模型被更新的过程。图的左侧的检测示意图认为该像素点为背景,如果当前像素此 次获得了可以更新模型的机会,就会如图中所示用当前像素值随机的替换掉背景模型中的 一个样本。
[0003] ViBe算法使用起始帧为每一个像素点建立背景模型,读入新的一帧利用背景模 型差分出前景,如果某像素被检测为背景,该像素的模型将有1/16概率被更新,同时还有 1/16的概率更新8邻域内某个像素的模型。其所使用的更新机制对背景的更新速度较慢, 难以适应快速变化的动态背景区,容易将动态背景(如晃动的树叶)误检测为前景;如果起 始帧包含前景目标,会在目标离开后的一段时间内将目标在起始帧停留的区域误检测为前 景,现有初始化方案没有专门对此类错误进行处理;其传播更新机制虽然能够使得之前被 前景遮挡的区域的背景信息迅速融入背景模型,但是也会使得静止目标渐渐融入背景中, 污染了背景模型,如果静止目标再次运动,其之前静止位置也会在很长一段时间内被误检 为前景。
[0004] 例如,树叶常常会受到风的影响进行无规则的晃动,现有的技术会将其误检测出 来,如图4所示。其中左上为原图;右上为人工标注出的理想检测结果;左下为ViBe算法检 测结果;右下为使用本发明实施例的进行检测的结果。通过对比可以明显看出,ViBe算法 对晃动背景的抗干扰能力较差,会在检测过程中大量将晃动的背景误检测为前景。
[0005] 如图5,当视频的起始帧含有运动目标时会将运动目标初始化进背景模型中,因 而当车开走时,其初始停留的位置会在相当长的时间段内被检测为前景,虽然这些检测错 误都会随着算法的运行慢慢被纠正,但其耗时较长,且对于已检测错误的片段,没有提出专 门的措施进行纠正。其中左上为包含运动目标的起始帧;右上为起始帧中的目标离开了起 始位置的某帧图片;左下为传统检测算法的检测效果图;右下为本发明实施例的检测效果 图。可以看到传统算法在车开走之后会将其原先停留的位置误检测为前景。
[0006] 图6中目标运动到视野内后做了一段时间的停留,由于其背景传播更新机制,目 标会慢慢融入背景中,直到完全检测不出来。其中左上为依次从视野外搬入三个物体静置 的原图;右上为人工标注出的理想检测效果图;左下为传统算法检测效果图;右下为本发 明实施例的检测效果图。可以看出,在传统算法检测效果图中,先行搬入的两个物体由于停 留时间较长,已经完全融入到背景了。

【发明内容】

[0007] 本发明提出一种运动目标检测方法,可以有效提高视频运动目标检测的准确性。
[0008] 为实现上述目的,本发明采用以下技术方案:
[0009] -种运动目标检测的方法,包括以下步骤:
[0010] 1)读入视频流的一帧图像;
[0011] 2)判断读入的帧图像是否为第一帧,如果是则以第一帧建立背景模型,否则转向 步骤3);
[0012] 3)对读入的帧图像用背景模型差分出初步检测图;
[0013] 4)对初步检测图做后处理;
[0014] 5)使用Blink Map图确定动态背景区域;
[0015] 6)对动态背景区域使用邻域匹配(Neighboring Match)和急速更新(Sharp Update)机制进行模型修正;
[0016] 9)完成背景模型更新;如果视频未结束,转步骤1),否则处理完毕。
[0017] 进一步地:
[0018] 在步骤6)和9)之间还包括以下步骤:
[0019] 7)检测步骤4)获得的后处理结果是否有长时间前景区域,如果检测到长时间前 景区域则转到步骤8),否则转到步骤9);
[0020] 8)对于长时间前景区域,分别计算该区域模型与其邻域模型的对比度RC_M和该 区域聚类结果与其邻域模型的对比度RC_C,如果RC_M大于ratio_upLimit倍的RC_C (可优 选设定ratio_upLimit为1. 5,也可根据具体情况做适当调整),则认为该区域的初始模型 是错误的,并使用聚类结果修正该区域的模型,反之,认为该区域的初始模型是正确的;然 后转步骤9)。
[0021] 步骤2)中,采用Vibe初始化方法构建背景模型;步骤3)中,采用ViBe检测方法 进行初步检测;步骤9)中,采用取消了邻域更新的Vibe更新机制进行更新。
[0022] 步骤4)包括:
[0023] 对初步检测图进行中值滤波、闭操作、凸包处理,再将处理结果与初步检测图作与 操作得到去除噪声的检测图;
[0024] 对去除噪声的检测图做膨胀、填洞处理得到包含所有前景目标的检测图;
[0025] 设定一个比初始像素差值检测阈值更小的像素差值检测阈值,重新检测包含所有 前景目标的检测图中指示的前景区域中的前景目标;
[0026] 经过中值滤波、闭操作、填洞处理得到最终处理结果图。
[0027] 步骤5)包括:
[0028] 比较当前帧的初步检测图和前一帧的初步检测图,找出数值相同的像素,再将 Blink Map图中对应的像素值减去step_decrease (可优选设定step_decrease为1,也可 根据具体情况做适当调整),找出数值不同的像素,然后将Blink Map图中对应的像素值 加上step_increase (可优选设定step_increase为15,也可根据具体情况做适当调整), 且Blink Map图中的每一个像素值限制在[0,level_upLimit]之间(可优选设定level_ upLimit为150,也可根据具体情况做适当调整);
[0029] 以step_threshold作为阈值(可优选设定step_threshold为30,也可根据具体 情况做适当调整),阈值化Blink Map图得到二值图Blink Mask,从而确定动态背景区域。
[0030] 步骤5)进一步包括:
[0031] 检测二值图Blink Mask中的像素,如果二值图Blink Mask中某个像素非0,并且 该像素在当前帧的最终处理结果图中也非0,则在二值图Blink Mask中将该像素值置0。
[0032] 步骤6)中所述邻域匹配包括:对于既被初步检测为前景同时又为动态背景的像 素,将该像素的像素值重新与其半径为5像素距离的圆形邻域内的像素的模型进行比对, 如果模型认为该像素为背景,则将该像素位置修改为背景;所述急速更新包括:对于被更 新修改为背景的像素,使用该像素的像素值替换掉背景模型中设定数量的背景像素样本 (可优选设定两个,也可根据具体情况做适当调整)。
[0033] 步骤7)包括:统计步骤4)得到的后处理结果中的每个像素检测结果,如果某个 区域在设定时间段内被检测为前景的频度达到设定的程度,则认为该区域是长时间前景区 域。
[0034] 步骤8)包括:通过如下公式计算对比度RC_M和对比度RC_C :
[0035]
[0036]
[0037] 其中D (Pl,Pj)是像素pjP p ,在RGB色彩空间内的欧式距离,P MC表示长时间前景 区域的模型中的代表像素构成的一个集合,?《表示长时间前景区域的周围邻域区域的模型 中的代表像素构成的一个集合,P ee表示长时间前景区域的聚类结果中的像素构成的一个集 合,#PMC,#PMS,#P CC分别是PMC,PMS,Pcc集合中元
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1