发明内容
本发明提供了一种智能视频监控中的路面图像提取方法及装置,用以准确确定监控场景中运动目标的运动区域。
本发明提供了一种智能视频监控中的路面图像提取方法,包括:
获取视频流中的输入图像,根据获取的输入图像生成背景图像;
根据所述背景图像检测从所述视频流中获取的输入图像中的运动像素点,生成运动目标图像;
统计所生成的运动目标图像帧数,并根据每一帧运动目标图像中的运动像素点,分别统计各像素点属于运动像素点的次数;
当所生成的运动目标图像帧数达到设定帧数时,确定统计次数大于第一阈值的像素点组成运动目标的运动区域,并根据背景图像和确定出的运动区域生成路面图像。
该路面图像提取方法中,所述根据获取的输入图像生成背景图像,包括:
建立初始化背景图像,初始化背景图像中各像素点的像素值均为0;
对当前帧输入图像与其前一帧输入图像进行绝对差分运算,得到第一差分图像;
对所述第一差分图像进行阈值化处理和滤波处理,得到二值前景图像;
根据每一帧二值前景图像确定静止像素点,分别统计各像素点属于静止像素点的次数,并当像素点的统计次数大于第二阈值时,在初始化背景图像中更新对应像素点的像素值;
当初始化背景图像中各像素点的像素值均被更新后,将初始化背景图像中各像素点的像素值除以更新次数,生成背景图像。
所述像素点更新后的像素值为:该像素点更新前的像素值与当前帧输入图像中该像素点的像素值之和。
该路面图像提取方法,还包括:
根据所述运动目标图像和输入图像更新背景图像。
其中,所述根据运动目标图像和输入图像更新背景图像,具体包括:
根据每一帧输入图像对应的运动目标图像确定静止像素点;
更新背景图像中各静止像素点的像素值。
所述背景图像中各静止像素点更新后的像素值为:该像素点在当前帧输入图像中的像素值乘以第一权重与在前一帧输入图像中的像素值乘以第二权重之和,所述第一权重和第二权重之和为1。
该路面图像提取方法中,所述根据背景图像检测从所述视频流中获取的输入图像中的运动像素点,生成运动目标图像,包括:
将获取的输入图像与背景图像进行绝对差分运算,得到第二差分图像;
对所述第二差分图像进行阈值化处理和滤波处理,检测出运动像素点,生成运动目标图像。
本发明提供了一种智能视频监控中的路面图像提取装置,包括:
图像获取模块:用于获取视频流中的输入图像;
背景建模模块:用于根据获取的输入图像生成背景图像;
运动检测模块:用于根据所述背景图像检测从所述视频流中获取的输入图像中的运动像素点,生成运动目标图像;
路面图像合成模块:用于统计所生成的运动目标图像帧数,并根据每一帧运动目标图像中的运动像素点,分别统计各像素点属于运动像素点的次数,当所生成的运动目标图像帧数达到设定帧数时,确定统计次数大于第一阈值的像素点组成运动目标的运动区域,并根据背景图像和确定出的运动区域生成路面图像。
该路面图像提取装置,还包括:
背景更新模块:用于根据运动目标图像和输入图像更新背景建模模块中的背景图像。
本发明提供的智能视频监控中的路面图像提取方法及装置,首先根据输入图像确定背景图像,再根据确定出的背景图像检测输入图像中的运动像素点,利用运动检测得到的运动目标图像确定运动目标的运动区域,从而根据运动区域和背景图像生成路面图像,可以准确确定出监控场景中运动目标的运动区域,有效应对运动区域比较复杂的情况,提高确定出的路面图像的精确度。
具体实施方式
本发明实施例提供了一种智能视频监控中的路面图像提取方法及装置,用以准确确定监控场景中运动目标的运动区域。
首先对本发明实施例涉及的几个基本概念进行定义。视频流,是指由摄像头从监控场景中提取出的连续视频图像,视频流可以看作由时间上连续的若干帧图像组成;输入图像,是指从视频流中获取的图像;背景图像是指输入图像中静止背景组成的图像,例如智能交通监控中的公路、公路两旁的房屋、树木等,背景图像中包括运动目标的运动区域和非运动区域;路面图像,是指监控场景中运动目标的运动区域组成的图像,此处“路面”是一个相对广义的概念,在具体应用场景中有具体含义,例如智能交通监控中是指车辆行驶的公路。准确提取出监控场景中的路面图像,才能区分运动目标的运动区域和非运动区域,从而为运动目标检测、统计、监控等提供基础。
本发明实施例提供了一种智能视频监控中的路面图像提取方法,如图3所示,包括:
S301、获取视频流中的输入图像,根据获取的输入图像生成背景图像;
S302、根据背景图像检测从视频流中获取的输入图像中的运动像素点,生成运动目标图像;
S303、统计所生成的运动目标图像帧数,并根据每一帧运动目标图像中的运动像素点,分别统计各像素点属于运动像素点的次数;
S304、当所生成的运动目标图像帧数达到设定帧数时,确定统计次数大于第一阈值的像素点组成运动目标的运动区域,并根据背景图像和确定出的运动区域生成路面图像。
本发明实施例提供的智能视频监控中的路面图像提取方法,根据背景图像检测输入图像中的运动像素点,也即检测运动目标,利用运动检测得到的运动目标图像提取运动目标的运动区域,从而进一步确定出路面图像,可以准确确定出监控场景中运动目标的运动区域,有效应对运动区域比较复杂的情况,提高确定出的路面图像的精确度。
下面以具体实施例详细说明该路面图像提取方法,首先根据从视频流获取的输入图像生成背景图像;生成背景图像后,根据背景图像对视频流中获取的输入图像进行运动检测,检测出输入图像中的运动像素点,即运动目标,生成运动目标图像;再根据运动目标图像确定运动目标的运动区域,从而根据运动区域和背景图像生成路面图像。较优的,根据运动目标图像和输入图像更新背景图像,以适应监控场景中背景环境的变化,使提取出的路面图像更加精确。如图4所示,处理流程包括:
S401、从摄像头捕获的视频流中获取输入图像,根据获取的输入图像生成背景图像;
S402、确定一个设定帧数N,参数i初始化为1;
例如设定帧数为100帧,则后续依次从第1帧输入图像开始进行循环处理,到处理完第100帧输入图像时结束循环;
S403、获取输入图像,根据背景图像检测该输入图像的运动像素点,即运动目标,生成运动目标图像;
S404、根据该运动目标图像和输入图像更新背景图像,对背景图像的更新是为了适应监控场景中背景环境的变化;
S405、统计各像素点的次数,根据运动目标图像中的运动像素点,将对应像素点的统计次数加1,各像素点的统计次数初始化为0;
S406、统计所生成的运动目标图像帧数,具体统计方法为参数i+1,并判断i是否大于N,如果否,则说明所生成的运动目标图像帧数没有达到设定帧数,则返回执行S403,如果是,则说明所生成的运动目标图像帧数达到了设定帧数,则执行S407;
S407、确定统计次数大于第一阈值的像素点组成运动目标的运动区域,并根据确定出的运动区域和背景图像生成路面图像,第一阈值为根据设定帧数确定的数值,第一阈值小于设定帧数;
因为确定出的运动区域采用二值化的表示方式,即像素值为1表示为运动区域,像素值为0表示为非运动区域,即运动区域只是表明路面图像的范围,而并未表明该范围内各像素点的具体像素值,所以需要根据确定出的运动区域与背景图像才能准确确定路面图像。
在上述流程中,对背景图像的更新可以在统计像素点的次数之后执行,即S404在S405之后执行;或者,对背景图像的更新与统计像素点的次数同时执行,即S404与S405同时执行。
本发明实施例提供的智能视频监控中的路面图像提取方法,以帧间差分法为基础,估计出背景图像,然后再检测运动目标,提高了图像提取的精确度;利用运动检测得到的运动目标图像估计运动区域,可以有效应对运动区域复杂的情况,例如交通监控中的多车道情况;利用提取出的路面图像,可以简单有效的进行运动目标速度统计、智能控制、运动目标数目统计等后续操作,应用广泛。
本发明实施例同时提供了一种路面图像提取装置,如图5所示,包括:
图像获取模块501:用于获取视频流中的输入图像;
背景建模模块502:用于根据获取的输入图像生成背景图像;
运动检测模块503:用于根据背景图像检测从视频流中获取的输入图像中的运动像素点,生成运动目标图像;
路面图像合成模块504:用于统计所生成的运动目标图像帧数,并根据每一帧运动目标图像中的运动像素点,分别统计各像素点属于运动像素点的次数,当所生成的运动目标图像帧数达到设定帧数时,确定统计次数大于第一阈值的像素点组成运动目标的运动区域,并根据确定出的运动区域和背景图像生成路面图像。
较优的,如图6所示,该装置还包括背景更新模块505,其中:
背景更新模块505:用于根据运动目标图像和输入图像更新背景建模模块502中的背景图像。
下面对本发明实施例中各模块的实现原理和具体处理方法进行详细介绍。
首先介绍背景建模模块的实现原理。
智能视频监控中的运动目标一般都是运动的,在一段时间比较长的视频流中,对于每个像素点,总会在某几帧输入图像中属于非运动点,此时该像素点的像素值就是背景图像中对应位置的像素值。本发明实施例根据该基本思想,利用背景建模模块提取监控场景的背景图像。
首先建立一幅初始化背景图像,表示为[IB(x,y)]w×h,其中w和h分别表示该初始化背景图像的宽度和高度,各像素点的像素值初始化均为0;构造矩阵[N(x,y)]w×h和[C(x,y)]w×h,其中N(x,y)表示像素点(x,y)属于静止像素点的次数,C(x,y)表示像素点(x,y)的更新次数,并且均初始化为全0矩阵。
对从一段视频流中依次提取的若干帧输入图像,重复进行如下操作:
对于每一帧输入图像It,与其前一帧输入图像It-1进行绝对差分运算,即计算两帧输入图像中每个像素点对应的像素值之差的绝对值,得到该相邻两帧的差分图像,为了与后续出现的差分图像进行区分,此处称为第一差分图像;再对每个第一差分图像进行阈值化处理得到二值化图像,二值化图像是指图像中每个像素点的像素值为0或者1,其中运动像素点为1,静止像素点为0,阈值化处理可以将每个第一差分图像分割成互不包含的两类;
采用形态学方法对二值化图像进行滤波处理,得到二值前景图像[B(x,y)]w×h,其中静止像素点的像素值为0,运动像素点的像素值为1;
该二值前景图像上,如果B(x,y)=0,则N(x,y)加1,如果B(x,y)=1,则N(x,y)不变。设定阈值为T,为了与上文中的第一阈值区分,此处阈值T称为第二阈值;当N(x,y)>T时,则执行操作:IB(x,y)加It(x,y),C(x,y)加1;
经过对若干帧输入图像的处理后,当所有的C(x,y)均大于0时,对初始化背景图像中任意像素点(x,y)的像素值执行如公式[1]所示的操作,即得到背景图像[I′B(x,y)]w×h:
I′B(x,y)=IB(x,y)/C(x,y) [1]
公式[1]是指背景图像中各像素点的像素值等于更新后的初始化背景图像中各像素点的像素值除以更新次数。
对本发明实施例中采用形态学方法对二值化图像进行滤波处理,进行简单介绍,形态学方法包括膨胀运算、腐蚀运算、开运算、关运算等,对二值化图像进行滤波处理,主要是填充前景区域中的空洞,同时去除面积较小的孤立区域、非连通区域,只保留连通区域的面积大于给定阈值的连通部分,此处阈值可以称为第三阈值,具体包括如下步骤:
a、对二值化图像进行中值滤波,以去除孤立的噪声点,例如进行3×3的中值滤波;
b、对步骤a得到的图像进行形态学膨胀操作,例如进行5×5的形态学膨胀操作;
c、对步骤b得到的图像进行边界跟踪(Bound Tracking),或者边缘点连接(Edge Point Linking),得到图像中每个连通区域的边界,从而获得每个连通区域的相关信息,如大小、面积等,然后去除面积小于设定的第三阈值或者形状不规则的连通区域,可以根据需要灵活设定;
d、将步骤c中获取的轮廓内部的像素点设置为前景点,以填充其中可能存在的空洞。
接着介绍运动检测模块的实现原理。
目前常用的运动检测算法,包括光流法、帧间差分法、背景差分法等等。本发明实施例采用背景差分法,即在每个像素点(x,y),计算输入图像与背景图像的对应像素值的差的绝对值,得到差分图像[Δ(x,y)]w×h,为了便于区分,此处称为第二差分图像;再对第二差分图像进行阈值化处理,区分运动像素点和静止像素点,得到二值化图像,运动像素点即为组成运动目标的像素点;然后使用数学形态学方法对二值化图像进行滤波处理,填充前景区域中的空洞,同时去除面积较小的孤立区域、非连通区域,只保留连通区域的面积大于给定阈值的连通部分,得到运动目标图像。运动目标图像也为二值化图像,其中静止像素点的像素值为0,运动像素点的像素值为1;
接着介绍背景更新模块的实现原理。
对背景图像进行更新,可以采用多种方法实现,本发明实施例介绍其中一种的实现方法,如公式[2]所示:
IB(t,x,y)=(1-α)It-1(x,y)+αIt(x,y) [2]
设t时刻,输入图像为It,经运动检测模块处理之后得到的运动目标图像为Ft,则更新背景图像中每个像素点(x,y)处的像素值IB(t,x,y),如公式[3]所示:
其中,条件Ft(x,y)=0是指运动目标图像中像素值为0的像素点,对应静止像素点,α为第一权重,是大于0小于1的常数,1-α为第二权重,α可以根据需要灵活设定。
最后介绍路面图像合成模块的实现原理。
图像合成主要是区分运动目标的运动区域和非运动区域,以智能交通监控为例,主要是确定各种交通工具运行的公路所在的位置,以区分出非路面,例如路两旁的房屋、树木等。
具体实现流程如下:构造矩阵[R(x,y)]w×h,其中任意元素R(x,y)表示(x,y)处的像素点属于运动目标图像中运动像素点的统计次数,初始化为全0矩阵;对从一段视频流中提取的输入图像,对每一帧重复进行如下操作:
对每个像素点(x,y),如果在运动检测模块检测到的运动目标图像上该像素点的像素值为1,也即确定为运动像素点,则将R(x,y)的值加1,否则R(x,y)的值保持不变。
当检测了设定帧数的输入图像,也即生成了设定帧数的运动目标图像之后,使用阈值化处理的方法将矩阵R中所有像素点分成两类,即运动目标的运动区域和非运动区域,生成二值化图像,如果像素点对应的统计次数大于设定的第一阈值,则判定该像素点属于运动目标的运动区域,运动区域中像素点对应的像素值为1,反之属于非运动区域,非运动区域中像素点对应的像素值为0。
较优的,还可以使用数学形态学方法对得到的二值化图像进行滤波处理,以去除误检区域,进一步提高提取的精确性。例如对于智能交通监控中的路面提取来说,一般情况下,每条道路至少会经过图像的两条边,可以利用这个假设去除大部分的误检区域;当然对于不同的实际场景还有不同的判别原则,可以根据实际情况确定。
最后,根据背景图像和确定出的运动区域即可生成路面图像,因为运动区域中各像素点对应的像素值为1,非运动区域中各像素点对应的像素值为0,所以路面图像的范围便可由运动区域划定。路面图像的范围划定之后,该范围内各像素点的像素值可以根据背景图像确定,从而生成路面图像。
为了便于理解,以几副图像为例进行介绍。
请参见图7a,是从一段视频流中获取的一帧输入图像,该帧输入图像中的运动目标为汽车;静止背景为高速公路,以及高速公路两旁的植被、土地等。
请参见图7b,是根据从该段视频流中获取的若干帧输入图像所生成的背景图像,可以看出,运动目标汽车在背景图像中已被去除,仅保留了静止背景。该背景图像中运动目标的运动区域为高速公路,非运动区域为高速公路两旁的植被、土地等。本发明的目的正是要准确提取运动区域高速公路组成的图像。
请参见图7c,采用本发明实施例提供的路面图像提取方法,通过运动检测准确确定出了运动区域和非运动区域,其中非运动区域为锯齿线内用“x”标示的区域。从背景图像中去除该部分非运动区域后即可得到路面图像。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。