一种背景建模方法及用于背景建模的相机

文档序号:1114204 发布日期:2020-09-29 浏览:13次 >En<

阅读说明:本技术 一种背景建模方法及用于背景建模的相机 (Background modeling method and camera for background modeling ) 是由 张彩红 刘刚 张昱升 曾峰 于 2019-03-19 设计创作,主要内容包括:本发明实施例提供了一种背景建模方法及用于背景建模的相机,从采集的视频图像序列中,获取一帧图像,分别统计该图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。通过本方案,利用像素值的计数方式,即可建立较为准确的背景模型,无需经过复杂的建模、计算过程,提高了背景建模的速度和效率。(The embodiment of the invention provides a background modeling method and a camera for background modeling, wherein a frame of image is obtained from a collected video image sequence, the pixel values of all pixel points in a preset neighborhood range of each pixel point in the image and the statistical number of each pixel value are respectively counted, a background sub-model corresponding to each pixel point is established according to the pixel values respectively counted by each pixel point and the statistical number of each pixel value, and the background sub-model corresponding to each pixel point is utilized to establish the background model of the video image sequence. By the scheme, a relatively accurate background model can be established by utilizing a pixel value counting mode, complex modeling and calculating processes are not needed, and the speed and efficiency of background modeling are improved.)

一种背景建模方法及用于背景建模的相机

技术领域

本发明涉及视频监控技术领域,特别是涉及一种背景建模方法及用于背景建模的相机。

背景技术

从一个视频序列中检测动态目标是视频监控的首要而基本的任务。目前,许多跟踪系统对运动目标的检测都依赖于背景提取技术,也就是将当前输入的视频帧与背景模型进行比较,根据当前视频帧的像素点与背景模型的偏离程度,来判断该像素点是目标像素还是背景像素。然后,对那些被认为是目标的像素点做进一步处理以便识别目标、确定目标的位置,进而实现跟踪。因此,背景模型的建立,直接影响着目标跟踪的准确性,如何建立准确的背景模型是实现目标跟踪的关键。

目前,较为流行的背景建模方法为混合高斯建模方法,由K个(一般是3~5个)高斯模型加权组成,如果当前视频帧中的像素点与该像素点的K个模型中的某一个匹配度较高,则认为是背景,反之则认为是前景,并将该像素点作为一个新模型,更新已存在的K个模型。混合高斯建模方法建立的模型是一种直观的概率密度模型,能够适应光照变化以及多模态场景。

但是,由于针对每一个像素点,都需要建立K个高斯模型,高斯模型的建立过程复杂、计算量较大,导致背景建模的速度慢、效率低。

发明内容

本发明实施例的目的在于提供一种背景建模方法及用于背景建模的相机,以提高背景建模的速度和效率。具体技术方案如下:

第一方面,本发明实施例提供了一种背景建模方法,所述方法包括:

从采集的视频图像序列中,获取一帧图像;

分别统计所述图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,所述像素值指示灰度值和/或颜色值;

根据针对所述各像素点分别统计的像素值及每个像素值的统计数目,建立所述各像素点对应的背景子模型,所述背景子模型包括像素值及像素值的统计数目;

利用所述各像素点对应的背景子模型,搭建所述视频图像序列的背景模型。

可选的,所述颜色值为指定颜色通道的取值或者各颜色通道的取值组成的数组,所述灰度值为所述各颜色通道的取值的平均值。

可选的,所述根据针对所述各像素点分别统计的像素值及每个像素值的统计数目,建立所述各像素点对应的背景子模型,包括:

针对所述各像素点,分别执行以下操作:

统计第一像素点的预设邻域范围内像素值的种类数目,所述第一像素点为所述各像素点中的任一像素点;

判断所述种类数目是否大于预设背景样本数目;

若大于,则读取与所述预设背景样本数目相同数目的多种像素值以及所述多种像素值中每个像素值的统计数目,组成所述第一像素点对应的背景子模型;

若不大于,则读取所述预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,与多个取值为零的像素值及取值为零的统计数目组成所述第一像素点对应的背景子模型,所述取值为零的像素值及取值为零的统计数目的数量均等于所述预设背景样本数目与所述种类数目之差。

可选的,在所述分别统计所述图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目之后,所述方法还包括:

按照统计数目从大到小的顺序,对由像素值及像素值的统计数目组成的元素进行排列,得到像素值集合;

所述读取与所述预设背景样本数目相同数目的多个像素值以及所述多个像素值中每个像素值的统计数目,组成所述第一像素点对应的背景子模型,包括:

按照所述预设背景样本数目,从所述像素值集合中,按照从前到后的排列顺序读取多个元素,组成所述第一像素点对应的背景子模型。

可选的,在所述利用所述各像素点对应的背景子模型,搭建所述视频图像序列的背景模型之后,所述方法还包括:

获取当前视频帧中各像素点的像素值;

根据所述当前视频帧中各像素点的像素值,基于对所述当前视频帧中各像素点的像素值是否分别包含于所述当前视频帧中各像素点对应的背景子模型中的判断结果,更新所述当前视频帧中各像素点对应的背景子模型;

根据更新后的所述当前视频帧中各像素点对应的背景子模型,确定更新后的背景模型。

可选的,所述根据所述当前视频帧中各像素点的像素值,基于对所述当前视频帧中各像素点的像素值是否分别包含于所述当前视频帧中各像素点对应的背景子模型中的判断结果,更新所述当前视频帧中各像素点对应的背景子模型,包括:

针对所述当前视频帧中的各像素点,分别执行以下操作:

判断第二像素点的像素值是否包含于所述第二像素点对应的背景子模型中,所述第二像素点为所述当前视频帧中的任一像素点;

若是,则确定所述第二像素点对应的背景子模型中像素值与所述第二像素点的像素值相同的元素,所述背景子模型包括多个元素,每个元素包括像素值及像素值的统计数目;将所述元素中的统计数目加1,并将所述第二像素点对应的背景子模型中除所述元素以外的其他元素中的统计数目减1,其中,若任一统计数目为0,则保持所述任一统计数目为0;

若否,则将所述第二像素点对应的背景子模型中所有元素中的统计数目减1,其中,若任一统计数目为0,则保持所述任一统计数目为0;确定所述第二像素点对应的背景子模型中统计数目非零且最小的元素在所述第二像素点对应的背景子模型中的序号;判断所述序号是否小于预设背景样本数目;若小于,则将所述第二像素点对应的背景子模型中下一个序号的元素中的统计数目设置为1,并将所述下一个序号的元素中的像素值设置为所述第二像素点的像素值;若不小于,则将所述第二像素点对应的背景子模型中最后一个元素中的统计数目设置为1,并将所述最后一个元素中的像素值设置为所述第二像素点的像素值。

可选的,在所述将所述元素中的统计数目加1之前,所述方法还包括:

判断所述元素中的统计数目是否达到预设门限值;

若达到,则保持所述元素中的统计数目为所述预设门限值不变;

若未达到,则执行所述将所述元素中的统计数目加1。

可选的,在所述根据更新后的所述当前视频帧中各像素点对应的背景子模型,确定更新后的背景模型之后,所述方法还包括:

获取所述当前视频帧中第三像素点的像素值及所述第三像素点的像素值的统计数目,所述第三像素点为所述当前视频帧中的任一像素点;

将所述背景模型中所述第三像素点对应的背景子模型中的各统计数目进行叠加,得到所述第三像素点对应的统计数目总和;

根据所述第三像素点的像素值的统计数目及所述统计数目总和,计算所述第三像素点的前景概率。

可选的,所述根据所述第三像素点的像素值的统计数目及所述统计数目总和,计算所述第三像素点的前景概率,包括:

根据所述第三像素点的像素值的统计数目及所述统计数目总和,利用前景概率计算公式,计算所述第三像素点的前景概率,所述前景概率计算公式为:

其中,FG(x,y)为所述第三像素点的前景概率,(x,y)为所述第三像素点的坐标,snk为所述第三像素点的像素值的统计数目,为所述统计数目总和,sni为所述第三像素点对应的背景子模型中第i个统计数目,N为预设背景样本数目。

第二方面,本发明实施例提供了一种背景建模装置,所述装置包括:

获取模块,用于从采集的视频图像序列中,获取一帧图像;

统计模块,用于分别统计所述图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,所述像素值指示灰度值和/或颜色值;

建立模块,用于根据针对所述各像素点分别统计的像素值及每个像素值的统计数目,建立所述各像素点对应的背景子模型,所述背景子模型包括像素值及像素值的统计数目;

搭建模块,用于利用所述各像素点对应的背景子模型,搭建所述视频图像序列的背景模型。

可选的,所述颜色值为指定颜色通道的取值或者各颜色通道的取值组成的数组,所述灰度值为所述各颜色通道的取值的平均值。

可选的,所述建立模块,具体用于:

针对所述各像素点,分别执行以下操作:

统计第一像素点的预设邻域范围内像素值的种类数目,所述第一像素点为所述各像素点中的任一像素点;

判断所述种类数目是否大于预设背景样本数目;

若大于,则读取与所述预设背景样本数目相同数目的多个像素值以及所述多个像素值中每个像素值的统计数目,组成所述第一像素点对应的背景子模型;

若不大于,则读取所述预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,与多个取值为零的像素值及取值为零的统计数目组成所述第一像素点对应的背景子模型,所述取值为零的像素值及取值为零的统计数目的数量均等于所述预设背景样本数目与所述种类数目之差。

可选的,所述装置还包括:

排列模块,用于按照统计数目从大到小的顺序,对由像素值及像素值的统计数目组成的元素进行排列,得到像素值集合;

所述建立模块,在用于实现所述读取与所述预设背景样本数目相同数目的多个像素值以及所述多个像素值中每个像素值的统计数目,组成所述第一像素点对应的背景子模型时,具体用于:

按照所述预设背景样本数目,从所述像素值集合中,按照从前到后的排列顺序读取多个元素,组成所述第一像素点对应的背景子模型。

可选的,所述获取模块,还用于获取当前视频帧中各像素点的像素值;

所述装置还包括:

更新模块,用于根据所述当前视频帧中各像素点的像素值,基于对所述当前视频帧中各像素点的像素值是否分别包含于所述当前视频帧中各像素点对应的背景子模型中的判断结果,更新所述当前视频帧中各像素点对应的背景子模型;

确定模块,用于根据更新后的所述当前视频帧中各像素点对应的背景子模型,确定更新后的背景模型。

可选的,所述更新模块,具体用于:

针对所述当前视频帧中的各像素点,分别执行以下操作:

判断第二像素点的像素值是否包含于所述第二像素点对应的背景子模型中,所述第二像素点为所述当前视频帧中的任一像素点;

若是,则确定所述第二像素点对应的背景子模型中像素值与所述第二像素点的像素值相同的元素,所述背景子模型包括多个元素,每个元素包括像素值及像素值的统计数目;将所述元素中的统计数目加1,并将所述第二像素点对应的背景子模型中除所述元素以外的其他元素中的统计数目减1,其中,若任一统计数目为0,则保持所述任一统计数目为0;

若否,则将所述第二像素点对应的背景子模型中所有元素中的统计数目减1,其中,若任一统计数目为0,则保持所述任一统计数目为0;确定所述第二像素点对应的背景子模型中统计数目非零且最小的元素在所述第二像素点对应的背景子模型中的序号;判断所述序号是否小于预设背景样本数目;若小于,则将所述第二像素点对应的背景子模型中下一个序号的元素中的统计数目设置为1,并将所述下一个序号的元素中的像素值设置为所述第二像素点的像素值;若不小于,则将所述第二像素点对应的背景子模型中最后一个元素中的统计数目设置为1,并将所述最后一个元素中的像素值设置为所述第二像素点的像素值。

可选的,所述装置还包括:

判断模块,用于判断所述元素中的统计数目是否达到预设门限值;

保持模块,用于若所述判断模块的判断结果为达到,则保持所述元素中的统计数目为所述预设门限值不变;

所述更新模块,具体用于若所述判断模块的判断结果为未达到,则执行所述将所述元素中的统计数目加1。

可选的,所述获取模块,还用于获取所述当前视频帧中第三像素点的像素值及所述第三像素点的像素值的统计数目,所述第三像素点为所述当前视频帧中的任一像素点;

所述装置还包括:

计算模块,用于将所述背景模型中所述第三像素点对应的背景子模型中的各统计数目进行叠加,得到所述第三像素点对应的统计数目总和;根据所述第三像素点的像素值的统计数目及所述统计数目总和,计算所述第三像素点的前景概率。

可选的,所述计算模块,具体用于:

根据所述第三像素点的像素值的统计数目及所述统计数目总和,利用前景概率计算公式,计算所述第三像素点的前景概率,所述前景概率计算公式为:

Figure BDA0001999933830000071

其中,FG(x,y)为所述第三像素点的前景概率,(x,y)为所述第三像素点的坐标,snk为所述第三像素点的像素值的统计数目,

Figure BDA0001999933830000072

为所述统计数目总和,sni为所述第三像素点对应的背景子模型中第i个统计数目,N为预设背景样本数目。

第三方面,本发明实施例提供了一种用于背景建模的相机,所述相机包括摄像头、处理器及存储器;

所述摄像头,用于采集视频图像序列;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的计算机程序时,实现本发明实施例第一方面所述的方法步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面所述的方法步骤。

本发明实施例提供的一种背景建模方法及用于背景建模的相机,从采集的视频图像序列中,获取一帧图像,分别统计该图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。利用像素点的预设邻域范围内所有像素点的像素值和像素值的统计数目,建立该像素点的背景子模型,进而搭建出视频图像序列的背景模型,作为背景的像素点,该像素点的像素值的统计数目通常较大,因此,利用像素值的计数方式,即可建立较为准确的背景模型,无需经过复杂的建模、计算过程,提高了背景建模的速度和效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的一种背景建模方法的示意图;

图2为本发明实施例的背景建模方法的一种邻域范围示意图;

图3为本发明实施例的背景建模方法的一种背景模型更新的示意图;

图4a为本发明实施例的摄像头采集的一张图像;

图4b为图4a对应的前景效果图像;

图4c为本发明实施例的摄像头采集的另一张图像;

图4d为图4c对应的前景效果图像;

图4e为本发明实施例的摄像头采集的再一张图像;

图4f为图4e对应的前景效果图像;

图4g为本发明实施例的摄像头采集的再一张图像;

图4h为图4g对应的前景效果图像;

图4i为本发明实施例的摄像头采集的再一张图像;

图4j为图4i对应的前景效果图像;

图4k为本发明实施例的摄像头采集的再一张图像;

图4l为图4k对应的前景效果图像;

图4m为本发明实施例的摄像头采集的再一张图像;

图4n为图4m对应的前景效果图像;

图5为本发明实施例的一种背景建模方法的背景建模和前景输出的流程图;

图6为本发明实施例的背景建模装置的功能框图;

图7为本发明实施例的用于背景建模的相机的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了提高背景建模的速度和效率,本发明实施例提供了一种背景建模方法、装置、用于背景建模的相机及计算机可读存储介质。下面,首先对本发明实施例所提供的一种背景建模方法进行介绍。

本发明实施例所提供的一种背景建模方法的执行主体可以为相机等具有图像处理功能的电子设备,本发明实施例主要以相机为执行主体进行介绍。为了能够提高背景建模的速度和效率,执行主体中应该至少包括搭载有核心处理芯片的处理器。实现本发明实施例所提供的一种背景建模方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路中的至少一种。

如图1所示,本发明实施例所提供的一种背景建模方法,可以包括如下步骤。

S101,从采集的视频图像序列中,获取一帧图像。

本实施例中,由相机中的摄像头采集视频图像序列V={f0,f1,…,ft,…},可以从中任一获取一帧图像作为建立初始背景模型的参考图像。由于背景模型是在不断更新的,因此,通常获取视频图像序列中的第一帧图像作为建立初始背景模型的参考图像。

可选的,获取的图像可以为视频图像序列中的第一帧图像。

S102,分别统计图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,其中,像素值指示灰度值和/或颜色值。

预设邻域范围是图像中某一像素点所处的一定图像范围,一个邻域范围内除了建立背景子模型的像素点以外,还包括该像素点周围的若干像素点,通常情况下,邻域范围大小不宜设置的过大或者过小,通常设置为3*3或者5*5的大小。像素值是指表征像素点的像素取值,可以指示灰度值和/或颜色值,当然还可以指示LBP(Local Binary Pattern,局部二值模式)特征值等等。

可选的,颜色值可以为指定颜色通道的取值或者各颜色通道的取值组成的数组,灰度值可以为各颜色通道的取值的平均值。

在RGB图像中,颜色值可以为R通道、G通道、B通道中指定通道的取值,也可以为R通道、G通道和B通道三个通道的取值组成的数组,灰度值则为这三个通道的取值的平均值。

在获取到图像之后,可以遍历该图像中的每个像素点,以(x,y)处的像素点为例,统计其预设邻域范围内的像素值及每个像素值的统计数目,可以基于统计的像素值和统计数目,组成该像素点的像素值集合{(p1,n1),(p2,n2),…,(pk,nk)},其中,pi为第i个像素值,ni为第i个像素值的统计数目。如图2所示,对于(x,y)处的像素点,按照3*3的预设邻域范围所划分的区域内各像素点的像素值,该预设邻域范围内,像素值的具体取值为20的统计数目为1、像素值的具体取值为25的统计数目为3、像素值的具体取值为30的统计数目为3、像素值的具体取值为50的统计数目为2,则可以组成一个像素值集合{(20,1),(25,3),(50,2),(30,3)}。

可选的,在执行S102之后,本发明实施例所提供的方法还可以包括如下步骤:

按照统计数目从大到小的顺序,对由像素值及像素值的统计数目组成的元素进行排列,得到像素值集合。

由于统计数目越大,该像素点为背景像素的可能性就越大,为了更能够体现该像素点是否为背景像素,以及后续便于进行背景更新,可以按照统计数目从大到小的顺序对统计得到的元素进行排序,得到{(sp1,sn1),(sp2,sn2),…,(spk,snk)},例如对图2所示的统计数据进行排序后得到的像素值集合为{(25,3),(30,3),(50,2),(20,1)}。

S103,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,其中,背景子模型包括像素值及像素值的统计数目。

在统计得到各像素点的预设邻域范围内所有像素点的像素值及每个像素值的统计数目后,可以根据统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型。具体的,统计的像素值及每个像素值的统计数目可以存储在像素值集合中,则可以根据像素值集合中的各元素,建立各像素点对应的背景子模块。背景子模型实际是由统计的像素值和该像素值的统计数目组成的,可以是从像素值集合中挑选出来的。具体的,背景子模型中的元素数目可以与预先设置的背景样本数目相同,则第j个像素点对应的背景子模型实际为:

BGj={(val1,count1),(val2,count2),…,(valN,countN)} (1)

其中,val为像素值,count为统计数目,N为预设背景样本数目。

可选的,S103具体可以包括:

针对各像素点,分别执行以下操作:

统计第一像素点的预设邻域范围内像素值的种类数目,其中,第一像素点为各像素点中的任一像素点;判断种类数目是否大于预设背景样本数目;若大于,则读取与预设背景样本数目相同数目的多个像素值以及每个像素值的统计数目,组成第一像素点对应的背景子模型;若不大于,则读取预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,与多个取值为零的像素值及取值为零的统计数目组成第一像素点对应的背景子模型,其中,取值为零的像素值及取值为零的统计数目的数量均等于预设背景样本数目与种类数目之差。

在建立背景子模型时,可以先判断统计的预设邻域范围内的像素值的种类数目是否大于预设背景样本数目。如果不大于,则说明统计的所有信息均可以作为背景子模型中的元素,且对于剩下的元素可以都置为0,保证背景子模型的元素总数等于预设背景样本数目;如果大于,组需要从统计的信息中挑选出一部分作为背景子模型中的元素,而在一般情况下,会读取统计数目较大的像素值和统计数目作为背景子模型中的元素。由于统计的像素值和统计数目可以按照统计数目从大到小的排列顺序存储在像素值集合中,因此,可选的,读取与预设背景样本数目相同数目的多个像素值以及每个像素值的统计数目,组成第一像素点对应的背景子模型的步骤,具体可以为:

按照预设背景样本数目,从像素值集合中,按照从前到后的排列顺序读取多个元素,组成第一像素点对应的背景子模型。

假设预设背景样本数目为N,则可以从像素值集合中挑选前N个元素组成第一像素点对应的背景子模型。以保证可以从像素值序列中挑选出统计数目较大的元素作为背景子模型中的元素。

S104,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。

在针对图像中的每一个像素点都建立了背景子模型之后,可以基于每个像素点对应的背景子模型搭建视频图像序列的背景模型,背景模型可以是各像素点对应的背景子模型的集合。

应用本实施例,从采集的视频图像序列中,获取一帧图像,分别统计该图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。利用像素点的预设邻域范围内所有像素点的像素值和像素值的统计数目,建立该像素点的背景子模型,进而搭建出视频图像序列的背景模型,作为背景的像素点,该像素点的像素值的统计数目通常较大,因此,利用像素值的计数方式,即可建立较为准确的背景模型,无需经过复杂的建模、计算过程,提高了背景建模的速度和效率。并且,预设背景样本数目为2就可以实现背景建模,因此,在效果较好的情况下能够最大程度的降低模型的存储空间。

图1所示实施例搭建的背景模型实际为一个初始化的背景模型,在视频监控时,需要对背景模型不断更新,将一些不常变化的像素点更新为背景像素,以提高背景模型的准确性,因此,在建立视频图像序列的背景模型之后,还需要执行如图3所示的背景模型更新的流程。

S301,获取当前视频帧中各像素点的像素值。

假设当前视频帧为ft,通过比较当前帧中的像素值与背景模型中的像素值,进行更新。因此,首先获取当前视频帧中各像素点的像素值。

S302,根据当前视频帧中各像素点的像素值,基于对当前视频帧中各像素点的像素值是否分别包含于当前视频帧中各像素点对应的背景子模型中的判断结果,更新当前视频帧中各像素点对应的背景子模型。

在获取到当前视频帧中各像素点的像素值之后,可以通过比较当前视频帧中各像素点的像素值与背景模型中对应的背景子模型,来更新各像素点的背景子模型。具体的,比较的方式就是通过判断像素值是否包含于背景子模型进行比较。

可选的,S302具体可以为,针对当前视频帧中的各像素点,分别执行以下操作:

S3021,判断第二像素点的像素值是否包含于第二像素点对应的背景子模型中,其中,第二像素点为当前视频帧中的任一像素点,若是则执行S3022至S3023,否则执行S3024至S3026。

假设第二像素点的像素值为ftq(x,y),第二像素点对应的背景子模型为BGq(x,y),则判断像素值是否包含于对应的背景子模型中的方式,具体可以是判断ftq(x,y)与BGq(x,y)相交,判断相交的结果是否为空。如果为空,则说明背景子模型BGq(x,y)中不包含像素值ftq(x,y);如果不为空,则说明背景子模型BGq(x,y)中包含像素值ftq(x,y)。

S3022,确定第二像素点对应的背景子模型中像素值与第二像素点的像素值相同的元素,其中,背景子模型包括多个元素,每个元素包括像素值及像素值的统计数目。

S3023,将像素值与第二像素点的像素值相同的元素中的统计数目加1,并将第二像素点对应的背景子模型中除该元素以外的其他元素中的统计数目减1,其中,若任一统计数目为0,则保持该统计数目为0。

如果像素值ftq(x,y)包含于背景子模型BGq(x,y)中,首先需要确定背景子模型BGq(x,y)中像素值与像素值ftq(x,y)相同的元素。像素值ftq(x,y)出现在背景模型中,则说明该像素点有为背景像素的可能性,可能是监控场景下连续几帧未变化的像素点,则可以增加该像素点为背景像素的置信度,因此,可以相应的增加对应的背景子模型中像素值的统计数目;而对于背景子模型中其他像素值,可以通过减小这些像素值的统计数目,降低这些像素值为背景的置信度。假设ftq(x,y)=pi,也就是像素值ftq(x,y)与背景子模型BGq(x,y)中第i个元素中的像素值相同,则将ni加1,也就是将第i个元素中的统计数目加1,其他n均减1,并保证n≥0,即基于第二像素点更新后的背景子模型为:

{(p1,n1-1),…,(pi,ni-1),…,(pN,nN-1)} (2)

S3024,将第二像素点对应的背景子模型中所有元素中的统计数目减1,其中,若任一统计数目为0,则保持该统计数目为0。

如果背景子模型BGq(x,y)中不包含像素值ftq(x,y),则说明该像素点不是背景像素,则可以通过减小背景子模型BGq(x,y)中所有像素值的统计数目,降低该像素点为背景像素的置信度。

S3025,确定第二像素点对应的背景子模型中统计数目非零且最小的元素在第二像素点对应的背景子模型中的序号。

S3026,判断序号是否小于预设背景样本数目,若小于则执行S3027,否则执行S3028。

S3027,将第二像素点对应的背景子模型中下一个序号的元素中的统计数目设置为1,并将下一个序号的元素中的像素值设置为第二像素点的像素值。

S3028,将第二像素点对应的背景子模型中最后一个元素中的统计数目设置为1,并将最后一个元素中的像素值设置为第二像素点的像素值。

为了应对新的目标出现在监控场景中,而该目标可能在后续监控场景中出现不移动的情况,可以在背景子模型中添加相应的像素样本,假设最小非零ni为第i个像素样本,若i<N,则设置ni+1=1,且pi+1=ftq(x,y),若i≥N,则设置nN=1,且pN=ft(x,y)。由于背景子模型中的元素一般是按照统计数目从大到小的顺序排列,因此,在添加相应的像素样本和统计数目时,可以通过设置统计数目非零且最小的元素的后一个元素实现。

可选的,在执行S3023之前,本发明实施例所提供的方法还可以执行如下步骤:

判断元素中的统计数目是否达到预设门限值;若达到,则保持元素中的统计数目为预设门限值不变;若未达到,则执行S3023中将元素中的统计数目加1的步骤。

如果一个像素点在视频序列中一直未变化,按照本实施例提供的方法,该像素点对应的像素值的统计数目会一直增加下去,如果统计数目的值变得很大,不仅需要很大的存储空间,造成背景模型的异常,同时也会导致前景的Ghost(重影或者拖影)现象较严重。为了避免Ghost现象的出现,可以设置一个门限值,例如255,在对统计数目加1之前,首先判断元素中的统计数目是否达到255这个门限值,如果没达到,则可以对该统计数目进行加1的操作,如果达到了,则保持该统计数目为255这个门限值不变。对图4a所示的图像进行检测,可以得到图4b所示的前景效果图像,其中暗区为前景,图4b中的Ghost区域不明显。

S303,根据更新后的当前视频帧中各像素点对应的背景子模型,确定更新后的背景模型。

基于当前帧中的每一个像素点去更新每一个像素点对应的背景子模型,从而可以达到更新背景模型的目的,而对于视频图像序列中的每一个视频帧,都应先基于视频帧中的像素点更新背景模型。

可选的,在执行S303之后,本发明实施例所提供的方法还可以执行如下步骤:

S3031,获取当前视频帧中第三像素点的像素值及第三像素点的像素值的统计数目,其中,第三像素点为当前视频帧中的任一像素点。

S3032,将背景模型中第三像素点对应的背景子模型中的各统计数目进行叠加,得到第三像素点对应的统计数目总和。

S3033,根据第三像素点的像素值的统计数目及统计数目总和,计算第三像素点的前景概率。

在利用更新后的背景模型进行目标识别时,可以对当前视频帧中第三像素点(任一个像素点)进行分析,获取相应的像素值和统计数目,统计数目可以是从相应的背景子模型中获取到,将统计数目与统计数目总和相比,即可得到该像素点为背景的概率,相应的,可以换算出该像素点为前景的概率。

可选的,S3033具体可以为:

根据第三像素点的像素值的统计数目及统计数目总和,利用前景概率计算公式,计算第三像素点的前景概率,其中,前景概率计算公式为:

其中,FG(x,y)为第三像素点的前景概率,(x,y)为第三像素点的坐标,snk为第三像素点的像素值的统计数目,为统计数目总和,sni为第三像素点对应的背景子模型中第i个统计数目,N为预设背景样本数目。

应用本实施例,基于视频图像序列中的各视频帧,更新背景模型,使得背景模型更为准确,并且在更新模型的过程中,只需要对统计数目进行加1或者减1的操作,计算简单,客观上能够更大程度的降低前景残留,能够快速实现背景模型的更新,并且,由于限制了统计数目的门限值,避免了因数目过大导致的Ghost现象。

为了便于理解,下面通过一个完整的实例以及具体的识别结果,对本发明实施例所提供的背景建模方法进行介绍。如图5所示,为该实例的背景建模处理流程图。

对视频图像序列的处理分为两大部分,第一部分为背景建模过程,第二部分为前景输出。在背景建模过程中,主要包括如下步骤:

第一步,初始化。

假设视频图像大小为W*H,视频序列为V={f0,f1,…,ft,…},背景样本数目为N,则背景模型为:

BG={(val1,count1),(val2,count2),…,(valN,countN)} (4)

其中,val为像素值,count为统计数目。

初始化的过程,就是将上述背景模型中的所有val和count都置为零。

第二步,邻域值统计计数。

设置邻域窗口大小为Win,遍历第一帧图像f0(x,y)的每个像素,以(x,y)处的像素为例,统计其预设邻域范围内的像素值以及每个像素值的统计数目,可以利用计数器来统计数目,得到:

{(p1,n1),(p2,n2),…,(pk,nk)} (5)

对计数进行排序(按照统计数目从大到小的顺序),得到:

{(sp1,sn1),(sp2,sn2),…,(spk,snk)} (6)

第三步,背景模型BG。

判断k与N的大小,如果k≤N,则将公式(6)中对应的像素值和统计数目填入到公式(1)中(x,y)对应处(图1所示实施例的背景子模型);如果k>N,则将公式(6)中前N个像素值和统计数目填入到公式(1)中(x,y)对应处。

遍历整个图像,则可以建立背景模型BG。

第四步,当前帧像素值ft(x,y)与背景模型比较。

假设当前帧为ft,通过比较当前帧中的像素值与背景模型中的像素值,进行更新。

第五步,判断ft(x,y)是否属于BG(x,y),若是则执行第六步,否则执行第七步。

第六步,BG(x,y)像素值计数。

即ft(x,y)属于BG(x,y),则将BG(x,y)中所有的count减1,即:

{(val1,count1-1),(val2,count2-1),…,(valN,countN-1)}

={(sp1,sn1-1),(sp2,sn2-1),…,(spN,snN-1)} (7)

其中,保证sn≥0,假设最小非零sni为第i个像素样本:

若i<N,则设置sni+1=1,且spi+1=ft(x,y);

若i≥N,则设置snN=1,且spN=ft(x,y)。

第七步,新像素值计数替换BG最小非0计数器。

即ft(x,y)不属于BG(x,y),假设ft(x,y)=vali,则将sni加1,其他sn均减1,并保证sn≥0,即:

{(val1,count1-1),…,(vali,counti+1),…,(valN,countN-1)}

={(sp1,sn1-1),…,(spi,sni+1),…,(spN,snN-1)} (8)

第八步,计数器排序

对公式(7)或者公式(8)利用计数值sn进行排序,使当前像素点的背景模型为:

{(sp1,sn1),(sp2,sn2),…,(spN,snN)} (9)

其中,sn1>sn2>…>snN

基于上述步骤,既可以得到更新后的背景模型。

前景输出的过程主要是:利用公式(9)区分当前帧的前景和背景,将当前帧ft与背景模型BG进行比较,设当前帧ft(x,y)对应的计数器值为snk,则当前像素的前景概率为:

其中,FG(x,y)为ft(x,y)的前景概率,snk为计数器值,为统计数目总和。

以图形灰度为像素值建立背景模型,利用公式(10)对视频图像序列(图4a、图4c、图4e、图4g、图4i、图4k、图4m)计算得到的图4a对应的前景效果如图4b所示、图4c对应的前景效果如图4d所示、图4e对应的前景效果如图4f所示、图4g对应的前景效果如图4h所示、图4i对应的前景效果如图4j所示、图4k对应的前景效果如图4l所示、图4m对应的前景效果如图4n所示。

相应于上述方法实施例,本发明实施例提供了一种背景建模装置,如图6所示,该背景建模装置可以包括:

获取模块610,用于从采集的视频图像序列中,获取一帧图像;

统计模块620,用于分别统计所述图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,所述像素值指示灰度值和/或颜色值;

建立模块630,用于根据针对所述各像素点分别统计的像素值及每个像素值的统计数目,建立所述各像素点对应的背景子模型,所述背景子模型包括像素值及像素值的统计数目;

搭建模块640,用于利用所述各像素点对应的背景子模型,搭建所述视频图像序列的背景模型。

可选的,所述颜色值为指定颜色通道的取值或者各颜色通道的取值组成的数组,所述灰度值为所述各颜色通道的取值的平均值。

可选的,所述建立模块630,具体可以用于:

针对所述各像素点,分别执行以下操作:

统计第一像素点的预设邻域范围内像素值的种类数目,所述第一像素点为所述各像素点中的任一像素点;

判断所述种类数目是否大于预设背景样本数目;

若大于,则读取与所述预设背景样本数目相同数目的多个像素值以及所述多个像素值中每个像素值的统计数目,组成所述第一像素点对应的背景子模型;

若不大于,则读取所述预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,与多个取值为零的像素值及取值为零的统计数目组成所述第一像素点对应的背景子模型,所述取值为零的像素值及取值为零的统计数目的数量均等于所述预设背景样本数目与所述种类数目之差。

可选的,所述装置,还可以包括:

排列模块,用于按照统计数目从大到小的顺序,对由像素值及像素值的统计数目组成的元素进行排列,得到像素值集合;

所述建立模块630,在用于实现所述读取与所述预设背景样本数目相同数目的多个像素值以及所述多个像素值中每个像素值的统计数目,组成所述第一像素点对应的背景子模型时,具体可以用于:

按照所述预设背景样本数目,从所述像素值集合中,按照从前到后的排列顺序读取多个元素,组成所述第一像素点对应的背景子模型。

可选的,所述获取模块610,还可以用于获取当前视频帧中各像素点的像素值;

所述装置还可以包括:

更新模块,用于根据所述当前视频帧中各像素点的像素值,基于对所述当前视频帧中各像素点的像素值是否分别包含于所述当前视频帧中各像素点对应的背景子模型中的判断结果,更新所述当前视频帧中各像素点对应的背景子模型;

确定模块,用于根据更新后的所述当前视频帧中各像素点对应的背景子模型,确定更新后的背景模型。

可选的,所述更新模块,具体可以用于:

针对所述当前视频帧中的各像素点,分别执行以下操作:

判断第二像素点的像素值是否包含于所述第二像素点对应的背景子模型中,所述第二像素点为所述当前视频帧中的任一像素点;

若是,则确定所述第二像素点对应的背景子模型中像素值与所述第二像素点的像素值相同的元素,所述背景子模型包括多个元素,每个元素包括像素值及像素值的统计数目;将所述元素中的统计数目加1,并将所述第二像素点对应的背景子模型中除所述元素以外的其他元素中的统计数目减1,其中,若任一统计数目为0,则保持所述任一统计数目为0;

若否,则将所述第二像素点对应的背景子模型中所有元素中的统计数目减1,其中,若任一统计数目为0,则保持所述任一统计数目为0;确定所述第二像素点对应的背景子模型中统计数目非零且最小的元素在所述第二像素点对应的背景子模型中的序号;判断所述序号是否小于预设背景样本数目;若小于,则将所述第二像素点对应的背景子模型中下一个序号的元素中的统计数目设置为1,并将所述下一个序号的元素中的像素值设置为所述第二像素点的像素值;若不小于,则将所述第二像素点对应的背景子模型中最后一个元素中的统计数目设置为1,并将所述最后一个元素中的像素值设置为所述第二像素点的像素值。

可选的,所述装置还可以包括:

判断模块,用于判断所述元素中的统计数目是否达到预设门限值;

保持模块,用于若所述判断模块的判断结果为达到,则保持所述元素中的统计数目为所述预设门限值不变;

所述更新模块,具体可以用于若所述判断模块的判断结果为未达到,则执行所述将所述元素中的统计数目加1。

可选的,所述获取模块610,还可以用于获取所述当前视频帧中第三像素点的像素值及所述第三像素点的像素值的统计数目,所述第三像素点为所述当前视频帧中的任一像素;

所述装置还可以包括:

计算模块,用于将所述背景模型中所述第三像素点对应的背景子模型中的各统计数目进行叠加,得到所述第三像素点对应的统计数目总和;根据所述第三像素点的像素值的统计数目及所述统计数目总和,计算所述第三像素点的前景概率。

可选的,所述计算模块,具体可以用于:

根据所述第三像素点的像素值的统计数目及所述统计数目总和,利用前景概率计算公式,计算所述第三像素点的前景概率,所述前景概率计算公式为:

Figure BDA0001999933830000221

其中,FG(x,y)为所述第三像素点的前景概率,(x,y)为所述第三像素点的坐标,snk为所述第三像素点的像素值的统计数目,

Figure BDA0001999933830000222

为所述统计数目总和,sni为所述第三像素点对应的背景子模型中第i个统计数目,N为预设背景样本数目。

应用本实施例,从采集的视频图像序列中,获取一帧图像,分别统计该图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。利用像素点的预设邻域范围内所有像素点的像素值和像素值的统计数目,建立该像素点的背景子模型,进而搭建出视频图像序列的背景模型,作为背景的像素点,该像素点的像素值的统计数目通常较大,因此,利用像素值的计数方式,即可建立较为准确的背景模型,无需经过复杂的建模、计算过程,提高了背景建模的速度和效率。

本发明实施例还提供了一种用于背景建模的相机,如图7所示,包括摄像头701、处理器702及存储器703;

所述摄像头701,用于采集视频图像序列;

所述存储器703,用于存放计算机程序;

所述处理器702,用于执行所述存储器703上所存放的计算机程序时,实现本发明实施例所提供的背景建模方法的所有步骤。

摄像头701、处理器702与存储器703之间可以通过有线连接或者无线连接的方式进行数据传输,并且相机可以通过有线通信接口或者无线通信接口与其他的设备进行通信。图7所示的仅为通过总线进行数据传输的示例,不作为具体连接方式的限定。

上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本实施例中,处理器通过读取存储器中存储的计算机程序,并通过运行该计算机程序,能够实现:从采集的视频图像序列中,获取一帧图像,分别统计该图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。利用像素点的预设邻域范围内所有像素点的像素值和像素值的统计数目,建立该像素点的背景子模型,进而搭建出视频图像序列的背景模型,作为背景的像素点,该像素点的像素值的统计数目通常较大,因此,利用像素值的计数方式,即可建立较为准确的背景模型,无需经过复杂的建模、计算过程,提高了背景建模的速度和效率。

另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的背景建模方法的所有步骤。

本实施例中,计算机可读存储介质存储有在运行时执行本发明实施例所提供的背景建模方法的计算机程序,因此能够实现:从采集的视频图像序列中,获取一帧图像,分别统计该图像中各像素点的预设邻域范围内所有像素点的像素值以及每个像素值的统计数目,根据针对各像素点分别统计的像素值及每个像素值的统计数目,建立各像素点对应的背景子模型,利用各像素点对应的背景子模型,搭建视频图像序列的背景模型。利用像素点的预设邻域范围内所有像素点的像素值和像素值的统计数目,建立该像素点的背景子模型,进而搭建出视频图像序列的背景模型,作为背景的像素点,该像素点的像素值的统计数目通常较大,因此,利用像素值的计数方式,即可建立较为准确的背景模型,无需经过复杂的建模、计算过程,提高了背景建模的速度和效率。

对于用于背景建模的相机和计算机可读存储介质实施例而言,由于其所涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、用于背景建模的相机及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种智能移动设备的人体检测方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!