首页> 中国专利> 基于自适应Codebook背景模型的前景检测方法

基于自适应Codebook背景模型的前景检测方法

摘要

本发明公开了一种基于自适应Codebook背景模型的前景检测方法,首先采用训练序列训练得到Codebook背景模型,根据Codebook背景模型组成背景图像,对待检测图像进行背景减除得到前景二值图,删除面积小于预设阈值的前景区域,将对应像素点信息更新至Codebook背景模型;对每个前景区域块中的每个像素点设置像素邻域,根据待检测图像灰度图和背景图像灰度图中像素邻域对应区域的HOG特征向量,判断该像素点是否为伪前景像素点,如果是将对应像素点信息更新至Codebook背景模型;再结合亮度范围和互相关系数消除阴影,将阴影对应像素点信息更新至Codebook背景模型,根据最终的Codebook背景模型进行前景减除得到最终的前景目标。本发明可以融合实时场景信息,自适应场景变化,提高前景检测的准确度。

著录项

  • 公开/公告号CN104835145A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 电子科技大学;

    申请/专利号CN201510164369.0

  • 发明设计人 周雪;邹见效;徐红兵;秦志远;

    申请日2015-04-09

  • 分类号G06T7/00(20060101);

  • 代理机构成都行之专利代理事务所(普通合伙);

  • 代理人温利平

  • 地址 611731 四川省成都市高新区(西区)西源大道2006号

  • 入库时间 2023-12-18 10:12:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-12

    授权

    授权

  • 2015-09-09

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

    实质审查的生效

  • 2015-08-12

    公开

    公开

说明书

技术领域

本发明属于计算机视觉技术邻域,更为具体地讲,涉及一种基于自适应Codebook背景模型的前景检测方法。

背景技术

智能视频监控中前景目标检测一般是通过检测视频流,将前景目标从背景中提取出来。序列图像前景目标检测方法目前主要有三种,分别是背景减除法、帧差法和光流法。光流法由于计算复杂很少使用,帧差法可以处理缓慢的背景改变,但由于检测出的物体容易出现断裂和空洞,难以得到完整的运动目标,因此人们越来越倾向于使用背景减除方法。背景减除方法通过判断当前视频序列图像与背景模型的差别进行前景检测,主要难点在于如何利用一段时间内的背景像素的统计特征进行准确的背景建模。背景模型的好坏将直接影响前景目标检测的效果。

经典的Codebook(码本)背景模型作为一种量化的背景模型,根据像素点连续采样值的颜色距离和亮度范围为每一个像素点生成一个Codebook,进而建立起一帧图像的Codebook模型。Codebook背景模型具有很好的聚类分割性能,不涉及到浮点运算,因此计算量大大降低,占用内存小且运行速度更快,并通过引入缓存码本Cache提高自适应更新能力。然而经典的Codebook背景模型在实际的测试中针对光照突变以及运动目标阴影等伪前景无法做到有效去除。光照突变(例如突然开灯)在实际的场景中十分普遍,运动目标伴随的阴影在单一光源场景中几乎都有出现,这些伪前景将极大地影响前景检测的准确性。

目前针对阴影消除,多利用阴影本身特性进行后续处理;针对光照突变的引起的伪前景检测,文献中大多采用的是对模型结构进行优化。比如采用比经典Codebook单柱体模型更复杂准确的双柱体(DTCC)或者混合圆锥(HCC)的Codebook模型。具体可以参见文献:黄金,金炜东,秦娜,周艳,刘景波.消除阴影和高亮噪声的双柱题Codebook前景检测模型[M][J].西安交通大学学报,2013,47(4):28-34以及文献Anup,Doshi,Mohan,Trivedi,“Hybrid Cone-Cylinder” Codebook Model for Foreground Detection with Shadow and Highlight Suppression[Z],University of California:San Diego-CVRR Laboratory,2006.中的Codebook模型,都采用了更贴近现实场景的码本结构,包含了更多的像素信息,可以在特定场景下较为有效地消除高亮噪声和阴影。但是以上这些算法需要先验地确定Codebook结构参数,然后通过改变背景模型的结构将高亮噪声和阴影信息包含到背景模型中。但这些算法无法实时有效地结合背景变化信息,无法做到自适应更新背景,且伪前景消除率不高(阴影约为61.90%,高亮噪声80.48%)。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于自适应Codebook背景模型的前景检测方法,通过HOG特征来确定伪前景目标,并结合亮度范围和互相关系数来确定阴影区域,从而融合实时场景信息,自适应场景变化,提高前景检测的准确度。

为实现上述发明目的,本发明基于自适应Codebook背景模型的前景检测方法,包括以下步骤:

S1:采用视频流前若干帧图像作为Codebook背景模型的训练序列,训练得到Codebook背景模型,然后采用每个像素点的码本中权重最大的码字对应的像素值均值组成背景图像;

S2:对待检测图像进行背景减除得到前景二值图;

S3:遍历前景二值图中每个前景区域,将面积小于预设阈值的前景区域删除,并将对应区域的像素信息更新至Codebook背景模型;

S4:分别得到待检测图像和的背景图像的灰度图像;对于当前前景二值图中每个前景区域块,遍历前景区域块中的每个像素点,将以该像素点为中心、边长为[λlg(10+d)]的正方形区域作为像素邻域,其中λ为预设的常数,d表示该像素点与前景区域块的中心像素点的距离;分别计算待检测图像灰度图和背景图像灰度图中像素邻域对应区域的HOG特征向量,计算两个HOG特征间的欧式距离D,如果欧式距离D大于预设阈值,说明该像素点是真正的前景像素点,否则该像素点是伪前景像素点,从前景二值图中将判定为伪前景的像素点更改为背景像素点,并将该像素点信息更新至Codebook背景模型;

S5:遍历当前前景二值图中前景区域块的每个像素点,记像素点(x,y)在待检测图像中的亮度值为I(x,y),在背景图像中的亮度值B(x,y),判断是否Tlow<B(x,y)-I(x,y)<Thigh,其中Tlow、Thigh为预设的最小和最大阈值,如果不满足,该像素点为真正的前景像素点,否则将以像素点(x,y)为中心、边长为2l+1的正方形区域为像素邻域,计算待检测图像灰度图和背景图像灰度图中像素邻域对应区域的互相关系数,如果互相关系数小于预设阈值,该像素点为真正的前景像素点,否则该像素点为阴影像素点,将像素点信息更新至Codebook背景模型;

S6:根据当前的Codebook背景模型对待检测图像重新进行背景减除,得到最终的前景目标。

本发明基于自适应Codebook背景模型的前景检测方法,首先采用训练序列训练得到Codebook背景模型,采用每个像素点的码本中权重最大的码字对应的像素值均值组成背景图像,对待检测图像进行背景减除得到前景二值图,删除面积小于预设阈值的前景区域,将对应像素点信息更新至Codebook背景模型;对每个前景区域块中的像素点设置像素邻域,分别计算待检测图像灰度图和背景图像灰度图中像素邻域对应区域的HOG特征向量,如果两个HOG特征向量的欧氏距离小于预设阈值,则该像素点为伪前景像素点,将对应像素点信息更新至Codebook背景模型;再结合亮度范围和互相关系数消除阴影,将阴影对应像素点信息更新至Codebook背景模型,根据最终的Codebook背景模型进行前景减除得到最终的前景目标。

本发明具有以下有益效果:

(1)计算前景像素邻域在待检测图像和背景图像的HOG特征向量,通过HOG特征向量的距离判断是否为真实前景,可以有效地排除光照突变引起的干扰;

(2)利用亮度范围和互相关系数,能够准确地确定阴影区域;

(3)通过对伪前景和阴影区域的消除,得到的前景目标更加准确;

(4)通过将伪前景和阴影区域的像素点更新到Codebook背景模型中,使Codebook背景模型能够自动适应场景的变化,提高前景检测的准确度。

附图说明

图1是本发明基于自适应Codebook背景模型的前景检测方法的具体实施方 式流程图;

图2是Codebook模型训练的流程图;

图3是伪前景目标去除的流程图;

图4是不同位置的像素点的邻域示意图;

图5是结合HOG特征的仿前景去除效果对比图;

图6是结合亮度范围和互相关系数的阴影消除效果对比图;

图7是基于Cache的Codebook背景模型更新示意图;

图8是本发明与经典码本模型算法的前景目标检测对比图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本邻域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明基于自适应Codebook背景模型的前景检测方法的具体实施方式流程图。如图1所示,本发明基于自适应Codebook背景模型的前景检测方法包括以下步骤:

S101:训练得到Codebook背景模型: 

在本发明中,首先需要得到Codebook背景模型,即针对图像中每一个像素点连续采样值的颜色距离和亮度为每个像素点生成一个Codebook(码本),并根据采样值的统计规律,确定每一个Codebook中码字的个数。

下面详细介绍Codebook模型的训练方法:取视频流前N帧图像作为Codebook模型的训练序列。假设训练序列中单个像素的采样值为:X={x1,x2,...,xN},其中每一个元素都是一个RGB向量。设C={c1,c2,...,cL}为一个像素的Codebook,含有L个码字,每一个像素对应Codebook中的码字个数不一定相同,主要取决于像素点采样值的变化情况。每个码字ci(i=1,...,L)由两部分组成:RGB向量和码字中各元素的含义表示如下:

分别表示该像素点在三个通道上的均值;

表示码字中的最小最大亮度值;

fi:码字出现的频率;

λi:码字没有出现的最大时间间隔,也就是码字最大消极步长;

pi,qi:码字第一次和最后一次出现的时间

在Codebook模型的训练阶段,将像素点的每一个采样值都拿来与已有的Codebook中的码字进行比对,如果存在码字与其匹配,即将匹配的码字进行更新,目的是更新Codebook中码字的统计状态;如果没有匹配的码字,则为其创建一个新的码字存入Codebook中。图2是Codebook模型训练的流程图。如图2所示,Codebook模型的练的具体步骤如下:

S201:初始化Codebook模型:

将每个像素的Codebook置为空,每个Codebook中的码字个数置为零。

S202:训练图像序号t=1。

S203:根据每个像素采样值进行码字匹配:

对于第t图像中某个像素的采样值xt=(Rt,Gt,Bt),计算其亮度值 记待匹配码字cm的RGB向量为νm,根据以下两个判断条件判断采样值与码字是否匹配:

颜色判据公式为:

colordist(xt,vm)≤ε1         (1) 

亮度判据公式为:

brightness(I,<I~m,I^m>)=true---(2)

ε1为预设的阈值,colordist(xt,vm)以及的详细计算过程参见文献Kim K,Chalidabhongse T H,Harwood D.Real-time foreground-background segmentation using codebook model[J].Real TimeImaging,2005,11(3):172-185.

如果两个判据公式得到的结果均为肯定,说明匹配成功,否则匹配不成功。

S204:判断是否有码字匹配成功,如果未匹配成功,进入步骤S205,如果匹配成功,进入步骤S206。

S205:创建新码字:

创建一个新的码字cl

vl=(Rl,Gl,Bl)       (3) 

auxl=<I,I,1,t-1,t,t>       (4) 

进入步骤S207。

S206:更新匹配码字:

记与采样值匹配的码字为cm,则将cm的RGB向量vm和auxm分别更新为:

vm=[fmRm+Rtfm+1,fmGm+Gtfm+1,fmBm+Btfm+1]---(5)

auxm=<min(I,I~m,),max(I,I^m),fm+1,max(λm,,t-qm),pm,t>---(6)

进入步骤S207。

S207:判断是否t=N,如果是,Codebook背景模型训练结束,如果不是,进入步骤S208。

S208:令t=t+1,返回步骤S203。

为了使码本结构简洁准确,Codebook背景模型训练结束后,需要对码本中的消极码字(其λ大于预设阈值)进行消除。最大时间间隔λ较大的码字意味着其代表的像素信息属于偶尔出现在背景中的前景。

S102:得到背景图像:

为了便于后续处理和效果对比,根据步骤S101得到的Codebook背景模型,选取每个像素点的码本中频率值f最大的码字对应的像素值均值组成背景图像,频率值最大说明出现次数最多,得到的背景图像最能代表背景信息。

S103:背景减除得到前景二值图:

基于背景减除的前景目标检测技术,最直接的方法就是将当前帧图像与背景模型相减。本发明中,前景目标的检测方法是根据像素点的采样值与其对应的Codebook中码字是否匹配来判断的。如果存在匹配的码字,则认为该点为背景点,否则认为是前景点。假设目标检测过程中,待检测图像n中某像素的RGB值为xn=(Rn,Gn,Bn),计算亮度值记待匹配码字为cm,判断Codebook中是否有与该像素匹配的码字。与判据公式(1)和(2)一样,判据公式为:

colordist(xn,vm)≤ε2       (7) 

brightness(I,<I~m,I^m>)=true---(8)

其中,ε2表示预设的阈值。

同样地,如果两个判据公式得到的结果均为肯定,说明匹配成功,该像素为背景像素,否则匹配不成功,该像素为前景像素。

完成一帧图像中所有像素点的前景判断后,初步得到若干块疑似前景区域,并将判断为背景的像素点像素值置为0,判断为前景的像素值置为1,得到前景二值图。

S104:前景二值图像预处理:

由于光照的变化以及动态目标的移动会产生一些较小的前景快,预处理的目的是消除这些较小的前景块,得到更为纯净的前景,可减少后续处理的工作量。其具体操作为:遍历前景二值图中每个前景区域,将面积小于预设阈值的前景区域删除,并将对应区域的像素信息更新至Codebook背景模型。

S105:利用HOG特征去除伪前景目标:

由于场景中光照的变化,背景减除得到的前景二值图中可能出现伪前景目标。鉴于HOG特征具有一定的光照不变性,本发明采用伪前景目标图像和其对应的背景图像的HOG特征向量的距离来判断前景目标的真实性。

本发明采用基于像素邻域的检测区域划分策略。靠近前景区域块边缘的像素邻域极易将当前帧图像的背景信息包含进来,为了排除背景像素信息对HOG计算的干扰,本发明根据前景区域块的大小、形状以及邻域中心点坐标与前景区域边界的相对位置,自适应的调整邻域的大小。

图3是伪前景目标去除的流程图。如图3所示,本发明中伪前景目标去除的具体步骤为:

S301:图像灰度化:

分别得到待检测图像和步骤S102得到的背景图像的灰度图像。

S302:令前景区域块序号k=1。

S303:令像素点序号r=1。

S304:像素邻域划分:

对第k个前景区域块中的第r个像素点,其邻域以该像素点为中心、边长为[λlg(10+d)]的正方形区域,[]表示取整,λ为预设的常数,为了便于HOG特征的提取,邻域不宜太小,一般设置λ≥10。d表示该像素点与前景区域块的中心像素点的距离。d越大,则该像素点越接近前景图像块的边缘。可见,本发明中 像素邻域在一定范围内变化,但不会小于λ也不会趋于无限大。图4是不同位置的像素点的邻域示意图。如图4所示,像素点越靠近前景图像块的边缘,其邻域越小。

S305:计算HOG特征的欧式距离:

根据步骤S304得到像素邻域,分别计算待检测图像灰度图和背景图像灰度图中对应区域的HOG特征向量,计算两个HOG特征间的欧式距离D。

S306:判断欧式距离D是否大于预设阈值,如果大于,则说明像素点r是真正的前景像素点,不作任何操作,直接进入步骤S308;否则说明像素点r是伪前景像素点,进入步骤S307。

S307:更新Codebook背景模型: 

从前景二值图中将判定为伪前景像素点更改为背景像素点,即将伪前景像素点的像素值置为0,并将伪前景像素点信息更新至Codebook背景模型,进入步骤S308。

S308:判断是否r=Rk,Rk表示第k个前景区域块中的像素点数量,如果是,进入步骤S310,否则进入步骤S309。

S309:令r=r+1,返回步骤S304。

S310:判断是否k=K,K表示前景区域块的数量,如果是,伪前景目标去除结束,否则进入步骤S311。

S311:令k=k+1,返回步骤S303。

为了验证结合HOG特征更新的Codebook背景模型是否能够有效地消除光照突变产生的伪前景,采用4个场景进行了对比实验。图5是结合HOG特征的仿前景去除效果对比图。如图5所示,楼道场景a和室内场景a都是光照变化引起的伪前景,经典的Codebook背景模型无法将光照引起的背景变化实时的更新到Codebook中,所以得到的前景二值图中光照突变引起的背景变化同样被认为是前景,出现误检。尤其是在室内场景a中,全局的光照变化导致大面积的伪前景出现,严重影响了前景检测效果。结合HOG特征更新后的Codebook模型将伪前景像素信息实时更新到Codebook背景模型中,从而有效地消除了光照突变引起的伪前景。楼道场景b和室内场景b中有人进入,即出现真实前景,结合HOG特征更新的Codebook背景模型和经典Codebook模型都准确地捕捉到真 实前景,没有出现漏检。

S106:阴影检测: 

在光源比较单一的场景中,运动前景极易产生影子,不利于后续的跟踪和识别处理。为了消除前景中的阴影,本发明参考了文献张笑微,王月琴.基于灰度图像的阴影检测算法[J].网络与信息技术,2007,26(7),45-47.中的阴影去除方法,对前景区域的阴影部分进行判定并通过更新背景模型进行消除。

在一般情况下,阴影区域像素值比背景稍暗,基于这一特性,本发明将对应的背景与前景二值图对应当前帧区域亮度值作差,可以得到以下阴影判据:

F1(x,y)=1Tlow<B(x,y)-I(x,y)<Thigh0otherwise---(9)

其中,F1(·)为亮度阈值判据,B(x,y)为背景像素(x,y)亮度值,I(x,y)为前景像素(x,y)亮度值。如果采用灰度化的图像,可以用灰度对比代替亮度值对比,简化计算过程。Tlow、Thigh为预设的最小和最大阈值,两个阈值可以参考前景、背景灰度值人为设定,也可以通过一帧图像的平均亮度值自适应设置,即由平均亮度值通过设定公式计算得到。

为了进一步确定该像素是否为阴影,本发明将像素邻域作为一个整体,通过互相关系衡量其与对应背景区域的相关性(与真实前景相比,阴影与背景具有较高的互相关性)。如果互相关系数高于阈值,则表明该像素为阴影覆盖点。此处使用的像素邻域定义为:以像素(x,y)为中心、边长为2l+1的正方形区域,l为大于等于1的常数。像素邻域的互相关系数由式(10)得到:

阴影互相关判据F2(·)定义为:

F2(x,y)=1Cs(x,y)>Tc0otherswise---(11)

其中,Tc为阴影互相关系数阈值。

结合公式(10)(11),可得最终的阴影判据公式:

当F(x,y)为1时,可确定当前像素点属于阴影区域,将像素信息更新到Codebook背景模型中。

为了验证结合亮度范围和互相关系数的Codebook背景模型是否能够有效地消除运动目标的阴影,采用3个场景阴影消除的对比实验。图6是结合亮度范围和互相关系数的阴影消除效果对比图。如图6所示,分别从两个视频序列中截取了3个场景,阴影的位置略有不同,分别位于运动目标的侧面,身后中部和目标底部。最右侧的一列为利用亮度范围和互相关系数检测阴影区域并将阴影区域像素信息更新到Codebook背景模型后得到的前景二值图。对比中间一列经典Codebook背景模型的检测效果可知,本发明中结合了亮度范围和互相关系数更新的Codebook背景模型可以有效地去除阴影,得到准确的前景目标。

S107:根据当前的Codebook背景模型对待检测图像重新进行背景减除,得到最终的前景目标。

为了适用于视频实时监控系统,适应变化的背景信息,在目标检测过程中需要实时更新Codebook模型。除了将每帧待检测图像的光影噪点、光照突变和阴影带来的伪前景像素信息更新到Codebook背景模型以外,还建立了一个前景像素缓存码本Cache来缓存真实的前景信息。利用Cache来缓存真实前景信息的具体过程为:如果一个像素的采样值与已有码本不匹配,则为其建立一个新的码字到Cache中,如果Cache中已经存在匹配的码字,则更新这个码字的信息。同时,当某个码字在Cache中的存在达到了预设的时间阈值,则将该码字更新到Codebook背景模型中,即将存在时间足够长的前景像素点作为背景像素点。与Codebook背景模型一样,前景像素缓存码本Cache通过消除消极码字来进行码本维护。图7是基于Cache的Codebook背景模型更新示意图。

为了说明本发明的技术效果,采用经典Codebook背景模型算法与本发明的整体流程进行对比实验。图8是本发明与经典码本模型算法的前景目标检测对比图。如图8所示,在同一个摄像机下拍摄的视频在3个不同的时刻截取了3个不同的场景:场景1是灯突然熄灭(伪前景);场景2是楼道门打开(静态真实前景);场景3是有人经过(动态真实前景)。与经典Codebook背景模型算法 相比,场景1中,本发明有效的去除了除光源以外,光照突变造成的伪前景;场景2和场景3中都没有出现真实前景的漏检,并且去除了零碎的前景区域和光斑噪点;在场景3中,除了准确的检测出真实前景,本发明还有效地去除了运动目标底部的阴影,得到了更准确的前景目标。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术邻域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术邻域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号