一种消除阴影的方法
技术领域
本发明涉及智能监控系统领域,尤其涉及一种消除阴影的方法。
背景技术
在智能监控领域,由于阴影的影响,会导致目标前景区域提取的不准确,甚至产生严重错误,进而影响后续的目标跟踪、目标属性判别以及目标行为分析过程,大大降低诸如目标分类,遗弃物检测,越界分析等系统的性能。而且由于在很多场合下阴影都是广泛存在的,因而阴影是目标检测问题中一个无法绕开的难题,并严重降低了智能监控系统的性能,成为限制当前智能监控发展的一个因素。因此,阴影检测以及抑制成为了当前学术界和工业界的一个热点问题。
当前已经发展的阴影检测以及消除方法主要基于两种思路:一种是基于阴影模型的方法,这种方法需要估计物体的形状,以及光照的方向模型,算法复杂,需要的先验信息过多,且效果不明显;另外一种是基于阴影区域像素颜色特性的方法,其检测主要在HSI颜色空间,主要基于如下的假设:背景区域在受到遮挡,形成阴影的过程中,阴影区域像素灰度较未遮挡时灰度降低,降低程度视光照强度以及阴影像素是出于本影还是半影区域而有所不同,但是在形成阴影前后背景点的色调以及色饱和度变化都较小。这种假设在室外监控场景中常常无法成立的,因为当背景的色饱和度较低的时候,背景在阴影遮挡前后的色调变化非常明显,而且饱和度的变化也并非像一些文献指出的那样不明显,因而难以通过这种方法来进行普适的阴影检测。
发明内容
本发明所解决的技术问题在于提供一种消除阴影的方法,以解决上述背景技术中的缺点。
一种消除阴影的方法,包括以下步骤:
(1):建立背景模型,将各个像素的概率密度建模为混合高斯模型,利用多帧图像进行背景估计;
(2):利用减背景法计算当前帧图像与背景的差异,并采用3δ法则进行前景分割,在这一步要完成目标前景区域的分割,将每个像素按照以下公式进行是否为前景点的判定:
TH=3δ,δ为差图像I-BG的标准差,I表示当前图像,BG表示建立的背景模型,I-BG是广义的一种差,当与背景中某个大概率模型匹配时是当前点与匹配背景模型之差,没有匹配模型时为当前模型与最大概率模型之差;
(3):进行背景更新,即更新所匹配模型的均值、方差以及各个模型的权重因子,背景更新的策略是当前像素是前景点时,给予较小的更新因子;
(4):对第(2)步得到的前景图像进行形态学处理,提取前景中面积较大的团块,这里采用的形态学算子是闭算子,去除掉前景提取过程中获得的一些独立噪声点;
(5):对前景二值团块进行标记,标记算法采用跑长码(Run-length Code)标记方式,接着对每一个团块进行特征提取,包括团块的面积以及横纵坐标的范围,并计算以横纵坐标确定的外接矩形内的前景像素占比,前景像素占比的定义为:
其中arealabel,Rlabel,min,Rlabel,max,,Clabel,max,分别代表当前团块的面积,横纵坐标的最小值以及最大值;
(6):逐个判断前景团块是否含有明显阴影,依据的信息主要是每一个前景团块的前景像素占比;由于阴影会导致目标局域的前景像素占比降低,因而当一个目标的前景像素占比较低时提取的前景团块中具有目标阴影部分,一般的前景区域都基本是在一个矩形区域内的,而且在监控系统中目标本体的宽度都是差不多一致的,而阴影的加入将改变这种局面,使得各个前景团块的每行前景点数差异较大,由于阴影大都在水平地面上,因而存在阴影的那些行的前景目标点数将较大,将当前帧在每一个前景区域范围内的图像单独取出,并将其由RGB颜色空间转换到HLC颜色空间;
RGB颜色空间转换到HLC空间的计算过程如下:
(6.1)步:将RGB转换到xyz颜色空间;
(6.2)步:将x,y,z空间转化为p-q空间:
p=f(x)-f(y),q=0.4[f(z)-f(y)]
上式中:f(α)=11.6α1/3-1.6;
(6.3)步:将p-q空间转化为s-t空间:
s=(a+bcosθ)p,t=(c+dsinθ)q
其中:a=0.880,b=0.966,c=8.025,d=2.558,θ=arctan(p/q);
(6.4)步:由s-t空间计算HLC颜色空间;
(7):利用HLC颜色空间的颜色一致性进行像素聚类;
采用Munsell颜色空间是因为HLC表示的颜色空间符合人类视觉的一致性,能够提供一种综合灰度,色调以及色饱和度信息的颜色距离度量DNBS下表是DNBS取值与人类视觉感知的颜色差异对应关系:
DNBS的定义如下:设两点在HLC颜色空间中的颜色索引分别为A(H1,L1,C1)与B(H2,L2,C2),那么他们之间的距离DNBS如下式所示:
其中ΔH=|H1-H2|,ΔL=|L1-L2|,ΔC=|C1-C2|;
依据像素颜色之间的NBS距离,将前景区域目标进行聚类,将DNBS(A,B)<6的两点归入同一类,得到目标不同颜色区域的颜色聚类,接着将面积较小的块并入附近块间DNBS较小且面积较大块,采用如下策略:
d(Sk,Sl)表示两类之间的空间距离;
(8):判断并剔除阴影区域的聚类块;首先需要判断所聚类所得的每个小块,哪些是属于阴影的,将属于阴影的块去除掉,并去除掉毛刺后即可以得到去除阴影后比较完整的目标;
(8.1)步:计算去除掉每一种可能的聚类区域后目标按行求和后的方差;
定义前景团块中去掉聚类所得的第cut_index类区域的前景后部分目标中按行累加的前景像素数的方差如下:
varcut_index=var(sum_rowrow_index)
var表示求取方差,sum_rowrow_index表示前景团块去掉聚类所得的第cut_index类后所剩局域第row_index行的二值前景点之和,也就是当前行的二值点数目;
(8.2)步:利用varcut_index来判定一个区域是否属于目标本体,由于阴影区域的存在增加了varcut_index,如果能够正确的去掉阴影所代表的标记类,能够显著的减少varcut_index使得varcut_index取得最小值的cut_index类就代表着阴影的区域;
设i=argmin(varcut_index)表示在去掉第i个聚类后所得的前景二值图按行求和后的方差最小,聚类i为目标本体的阴影,将标记为i的聚类冲目标团块前景中去除,在去掉聚类i后即可得到抑制阴影后的前景二值图,再行聚类即可得到比较干净的前景区域。
有益效果:
本发明提高了智能监控系统的性能,目标前景区域提取的更准确。
附图说明
图1为本发明的流程示意图;
具体实施方式
为了使本发明的技术手段、创作特征、工作流程、使用方法达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明。
一种消除阴影的方法,包括以下步骤:
(1):建立背景模型,将各个像素的概率密度建模为混合高斯模型,利用多帧图像进行背景估计;
(2):利用减背景法计算当前帧图像与背景的差异,并采用3δ法则进行前景分割,在这一步要完成目标前景区域的分割,将每个像素按照以下公式进行是否为前景点的判定:
Th=3δ,δ为差图像I-BG的标准差,I表示当前图像,BG表示建立的背景模型,I-BG是广义的一种差,当与背景中某个大概率模型匹配时是当前点与匹配背景模型之差,没有匹配模型时为当前模型与最大概率模型之差;
(3):进行背景更新,即更新所匹配模型的均值、方差以及各个模型的权重因子,背景更新的策略是当前像素是前景点时,给予较小的更新因子;
(4):对第(2)步得到的前景图像进行形态学处理,提取前景中面积较大的团块,这里采用的形态学算子是闭算子,去除掉前景提取过程中获得的一些独立噪声点;
(5):对前景二值团块进行标记,标记算法采用跑长码(Run-length Code)标记方式,接着对每一个团块进行特征提取,包括团块的面积以及横纵坐标的范围,并计算以横纵坐标确定的外接矩形内的前景像素占比,前景像素占比的定义为:
其中arealabel,Rlabel,min,Rlabel,max,,Clabel,max,分别代表当前团块的面积,横纵坐标的最小值以及最大值;
(6):逐个判断前景团块是否含有明显阴影,依据的信息主要是每一个前景团块的前景像素占比;由于阴影会导致目标局域的前景像素占比降低,因而当一个目标的前景像素占比较低时提取的前景团块中具有目标阴影部分,一般的前景区域都基本是在一个矩形区域内的,而且在监控系统中目标本体的宽度都是差不多一致的,而阴影的加入将改变这种局面,使得各个前景团块的每行前景点数差异较大,由于阴影大都在水平地面上,因而存在阴影的那些行的前景目标点数将较大,将当前帧在每一个前景区域范围内的图像单独取出,并将其由RGB颜色空间转换到HLC颜色空间;
RGB颜色空间转换到HLC空间的计算过程如下:
(6.1)步:将RGB转换到xyz颜色空间;
(6.2)步:将x,y,z空间转化为p-q空间:
p=f(x)-f(y),q=0.4[f(z)-f(y)]
上式中:f(α)=11.6α1/3-1.6;
(6.3)步:将p-q空间转化为s-t空间:
s=(a+bcosθ)p,t=(c+dsinθ)q
其中:a=0.880,b=0.966,c=8.025,d=2.558,θ=arctan(p/q);
(6.4)步:由s-t空间计算HLC颜色空间;
(7):利用HLC颜色空间的颜色一致性进行像素聚类;
采用Munsell颜色空间是因为HLC表示的颜色空间符合人类视觉的一致性,能够提供一种综合灰度,色调以及色饱和度信息的颜色距离度量DNBS下表是DNBS取值与人类视觉感知的颜色差异对应关系:
DNBS的定义如下:设两点在HLC颜色空间中的颜色索引分别为A(H1,L1,C1)与B(H2,L2,C2),那么他们之间的距离DNBS如下式所示:
其中ΔH=|H1-H2|,ΔL=|L1-L2|,ΔC=|C1-C2|;
依据像素颜色之间的NBS距离,将前景区域目标进行聚类,将DNBS(A,B)<6的两点归入同一类,得到目标不同颜色区域的颜色聚类,接着将面积较小的块并入附近块间DNBS较小且面积较大块,采用如下策略:
d(Sk,Sl)表示两类之间的空间距离;
(8):判断并剔除阴影区域的聚类块;首先需要判断所聚类所得的每个小块,哪些是属于阴影的,将属于阴影的块去除掉,并去除掉毛刺后即可以得到去除阴影后比较完整的目标;
(8.1)步:计算去除掉每一种可能的聚类区域后目标按行求和后的方差;
定义前景团块中去掉聚类所得的第cut_index类区域的前景后部分目标中按行累加的前景像素数的方差如下:
varcut_index=var(sum_rowrow_index)
var表示求取方差,sum_rowrow_index表示前景团块去掉聚类所得的第cut_index类后所剩局域第row_index行的二值前景点之和,也就是当前行的二值点数目;
(8.2)步:利用varcut_index来判定一个区域是否属于目标本体,由于阴影区域的存在增加了varcut_index,如果能够正确的去掉阴影所代表的标记类,能够显著的减少varcut_index使得varcut_index取得最小值的cut_index类就代表着阴影的区域;
设i=argmin(varcut_index)表示在去掉第i个聚类后所得的前景二值图按行求和后的方差最小,聚类i为目标本体的阴影,将标记为i的聚类冲目标团块前景中去除,在去掉聚类i后即可得到抑制阴影后的前景二值图,再行聚类即可得到比较干净的前景区域。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。