基于颜色和区域梯度方向特征的阴影检测算法
解文华1, 2,易本顺1,肖进胜1,甘良才1
(1. 武汉大学 电子信息学院,湖北 武汉,430072;
2. 中国船舶重工集团公司 第709 研究所,湖北 武汉,430074)
摘要:针对利用颜色或者纹理等单一特征无法有效检测运动阴影的问题,提出一种结合颜色与区域纹理信息进行阴影检测的算法。在融合策略上,根据视频图像不同区域的纹理复杂程度,选择使用颜色信息或者区域梯度方向直方图对运动阴影进行检测。通过分析,证明区域梯度方向的光照不变性,提出一种利用该特征进行基于纹理的阴影检测新方法,可有效克服传统算法以像素为最小检测单位容易受到噪声干扰的不足。实验结果表明:该算法在不同场景下表现出较好的阴影检测性能,同时具有计算复杂度低、实时性好的优点。
关键词:目标检测;阴影检测;背景建模;混合高斯模型
中图分类号:TP391 文献标志码:A 文章编号:1672-7207(2013)12-4874-07
Shadow detection algorithm based on color and regional gradient direction features
XIE Wenhua1, 2, YI Benshun1, XIAO Jinsheng1, GAN Liangcai1
(1. School of Electronic Information, Wuhan University, Wuhan 430072, China;
2. No.709 Research Institute, China Shipbuilding Industry Corporation, Wuhan 430074, China)
Abstract: As single features such as color or texture can not be used to detect moving shadow effectively, a method of shadow detection based on color and regional texture was proposed. Through analyzing and proving the illumination invariance of regional gradient direction was proved, and a new texture-based method of shadow detection using this feature was proposed, by this way, the noise effect when using one pixel as the smallest detecting unit in traditional methods can be significantly reduced. Then, in the combination of color and regional texture, the color information or the regional gradient direction histogram was used respectively to detect moving shadow according to the complexity of texture in different image areas. The results show that the proposed algorithm is effective in detecting shadow under different scenes, meanwhile, it has characteristics of low computational complexity and excellent real-time ability.
Key words: target detection; shadow detection; background modeling; Gaussian mixture model
运动目标提取是视频监控系统中的一个重要内容。在很多实际场景中,由于物体遮挡光线产生阴影,运动分割或变化检测方法会把运动物体及其产生的阴影一起提取出来,容易造成错误的运动目标定位、分割、跟踪以及分类。因此,运动阴影的检测和抑制已成视频监控技术中的一个重要课题[1-4]。现有的阴影检测算法大体可分为2类:基于模型的方法和基于特征的方法[5]。其中,基于模型的方法通常需要先验知识,仅适用于一些特殊的场景,并且其计算一般较复杂,不适于实时的应用,基于特征的方法一般直接采用图像的特征,如颜色、纹理等信息进行判断[6]。例如,利用阴影不会改变所覆盖背景的色调但会减少其强度和饱和度的特性,在HSV颜色空间检测阴影[7];利用局部颜色不变性在RGB空间实现阴影检测[8];根据阴影所覆盖区域的纹理保持不变的特点,分别基于Gabor小波变化和局部二元图(LBP)对阴影进行检测[9-10]。上述基于颜色的方法对动态场景的光照变化较为敏感,为此,基于Gabor小波变换或局部二元图(LBP)对阴影进行检测。而基于纹理的方法在较为平坦的区域检测性能欠佳,因此,仅利用1种特征不能有效检测阴影。近来出现一些结合多种特征检测运动阴影的新方法,如利用Gabor小波变换并结合颜色模型来检测阴影,但这种方法计算复杂度较高[11];融合颜色和梯度特征对运动阴影进行消除,但其以像素为最小检测单位,容易受到噪声干扰[12]。为此,本文作者提出一种基于颜色和区域梯度方向特征的运动阴影检测新算法,根据纹理复杂程度在不同区域利用颜色或者区域梯度方向直方图进行阴影检测。
1 基于颜色特征的运动阴影检测
颜色特征常被用来检测阴影,目前已有文献虽然采用不同的颜色空间,但基本原理大多基于运动阴影和其覆盖的背景像素相比具有相似的色度和饱和度而亮度变暗这一特点。
1.1 前景的提取和阴影颜色模型的建立
采用混合高斯模型来提取前景,其前景提取原理是对每一像素点利用时刻更新的高斯混合模型记录它颜色的历史信息,同时利用混合模型的1个子集作为背景模型表征背景。对于新获取的1帧图像,若当前像素点的颜色特征与其相应的背景模型相匹配,则判断为背景点,否则为前景点。一般取背景模型中权重最大的那个模型的R,G和B共3通道的均值生成重建背景。
在通常情况下,由于运动目标投射的阴影显著区别于背景,因此,会作为前景被混合高斯建模方法提取出来,即混合高斯建模方法所提取出的前景部分不仅包含运动目标,而且包含运动目标投射的阴影,本文的阴影检测在已提取出的前景区域上进行。
为直接利用混合高斯背景建模的中间结果,以减少计算量,文中阴影检测算法作用于RGB空间。阴影颜色模型参数有rR,rG,rB和σR,σG,σB。其中,rR,rG,rB分别为阴影区域在R,G和B颜色通道的亮度平均值,σR,σG,σB分别为阴影区域在R,G和B颜色通道的亮度标准差。
1.2 基于颜色特征的阴影检测算法
SNP(statistical non-parametric)方法[13]是一种经典有效的阴影检测方法,通过比较当前输入图像像素特征值与重构背景图像相同位置像素特征值来检测输入图像所含的阴影。本文根据SNP算法的思想,采用如下步骤进行阴影检测:
(1) 计算各前景点处的光照变化程度。假设当前帧中已提取的前景区域内存在一点J(x,y),其R,G,B 3个通道的亮度分别为FR,FG,FB;同时,设该点所对应的重建背景图像中相同位置处的像素值为BR,BG,BB,计算亮度变化系数ρ为
(1)
亮度变化系数ρ的含义代表当前帧点J(x,y)处的明暗变化程度,大于1说明与重建背景相比该点变亮,值越大表明变得越亮,反之,小于1则说明该点变暗,且值越小表明变得越暗。由于阴影的覆盖会造成亮度降低,因此,若ρ≥1,说明点J(x,y)必然不属于阴影,而属于运动目标本身,于是判断结束,直接返回;若τ1<ρ<1成立,说明点J(x,y)为准阴影点,转入步骤(2)进行进一步判断,其中门限τ1的选取是为减小噪声的干扰,一般取0.3左右。
(2) 根据准阴影点的色彩变化情况来进一步判断该点是否为真正的阴影点。首先,利用式(2)分别计算出准阴影点R,G,B 3个通道的颜色相对于重建背景中该位置的颜色变化情况:
(2)
式中:Ci为i通道的颜色变化量;i为R,G或B;亮度变化系数ρ在式中的作用是为消除光照变化的影响。计算出各通道的颜色变化情况后,采用下式作阴影判断:
(3)
式中:S(x,y)表示当前帧在坐标(x,y)处的判别结果,1表示阴影像素,0表示运动物体;σR,σG,σB分别为由混合高斯背景建模得到的重建背景中坐标(x,y)处R,G,B 3个通道的颜色变化标准差;λ为置信因子,取2.5~3.0之间。
基于颜色的阴影检测算法对动态场景的光照变化较为敏感,并且当运动目标上的部分像素点具有和阴影相似的颜色特征时,上述方法将会把这些像素点误判为阴影。另外,在上述方法中,抗噪声门限τ1的设置使其无法检测出较强的阴影。因此,为获得更好的阴影检测效果,联合使用纹理特征来实现阴影检测。
2 基于区域梯度方向直方图的阴影检测
纹理是物体的固有属性,具有很强的稳定性。在大多数场景中,运动物体和背景之间有着明显不同的纹理特征,但运动物体所投射的阴影不会改变背景的纹理特性,因此,可以利用这一特点来实现阴影检测。纹理的梯度方向是表征纹理的重要特征。为提高算法的抗噪声性能,在基于纹理特征的阴影检测算法中,利用待检测像素点邻域内的梯度方向直方图而非单个像素点上的梯度方向来实现。
2.1 区域梯度方向直方图
将以待检测像素点为中心的矩形区域称作感兴趣区域(ROI),并用w,h分别表示ROI的宽和高,w和h的合理取值跟视频图像的大小有关。假设I(x,y)为ROI内位于点(x,y)处的像素的灰度,则ROI的梯度方向直方图可通过如下步骤求得。
(1) 利用梯度模板[-1,0,1]计算ROI中各点的梯度值:
(4)
式中:Gh(x,y)和Gv(x,y)分别表示该点在水平方向和垂直方向上的梯度。
(2) 计算(x,y)处的梯度强度M(x,y)和梯度方向θ(x,y):
(5)
为提高梯度方向直方图的抗噪性,求取梯度方向时采用[0,π]的非符号方向空间,此时梯度方向变为:
(6)
(3) 将不同方向的梯度离散地划分到相应的直方图级数中,并做归一化处理,完成直方图的构建。假设欲构建直方图H的总级数为N,即将梯度方向的取值空间[0,π]等分为N个bins,则直方图的构建按下式进行:
(7)
式中:m=0,1,…,N-1,为直方图的级数;δ为Kronecker delta函数。
2.2 区域梯度方向直方图的光照不变性
为证明梯度方向直方图的光照不变性,建立如下阴影模型,令I(x,y)是位于(x,y)处像素点的亮度,E(x,y)表示该点的辐射度,ρ(x,y)表示该点处的反射率,则I(x,y)可由下式表示:
(8)
考虑光源为日光,摄像机位置固定,则辐射强度E(x,y)可近似为:
(9)
式中:CA为背景光强度,CP为光源强度,φ为入射光线方向和物体表面法线方向之间的夹角,对于同一背景和同一目标产生的阴影,可认为φ为常量。在一个小邻域内,可近似认为各点处的CA,CP和φ分别相等。
假设图像中(x,y)处的亮度和梯度方向在阴影覆盖前后分别为I(x,y)、I′(x,y)和θ(x,y)、θ′(x,y),考虑到反射率只与物体表面的固有属性有关,在阴影覆盖前后保持不变,则联合利用式(8)和(9)有:
(10)
上述推导过程证明运动阴影的干扰并不影响背景图像纹理梯度的方向,即阴影覆盖前后背景的梯度方向是恒定的。
假设阴影覆盖前后ROI的梯度方向直方图分别为H和H′,其中第m个bin分别为H(m)和H′(m),则必有H(m)=H′(m)。为使证明过程更简洁,令Ph(x,y)=ρ(x+1,y)-ρ(x-1,y),Pv(x,y)= ρ(x,y+1)-ρ(x,y-1),证明如下:
(11)
其中:M(x,y)和M′(x,y)分别代表阴影覆盖前后坐标(x,y)处的梯度强度。
综上所述,在光照强度发生改变时,待检测像素点小邻域内的梯度方向直方图相等,即具有光照不变性,据此可以剔除由于运动阴影带来的干扰。
2.3 基于区域梯度方向直方图的阴影检测
对获得的包含运动阴影在内的运动前景,根据区域梯度方向直方图对局部单调亮度变化免疫的特性,即背景在阴影覆盖前后区域梯度直方图相等,检测出阴影。具体步骤如下。
(1) 由式(7)计算已提取前景像素点邻域内的梯度方向直方图H以及重建背景相应位置的梯度方向直方图H′。
(2) 利用MDPA距离做直方图匹配:
(12)
式中:D(H,H′)为2个直方图的MDPA距离。相比欧氏距离,MDPA距离综合考虑2个直方图各级差异的分布情况,因此,能够更精确地衡量2个直方图的相似程度。例如,假设2个直方图之间存在两级的差异,两级之间相隔越远MDPA距离越大。MDPA距离的阈值为τ2,即相应的D小于τ2则作为阴影点提取出来。
3 基于颜色和区域梯度方向特征的运动阴影检测
基于颜色特征与基于区域梯度方向特征的阴影检测算法具有各自的优点,但直接将2种算法的检测结果相与并不能得到很好的检测效果。
基于区域梯度方向的检测方法对纹理复杂区域的检测结果可信度较高;而对于光滑区域,其检测可信度较低,这时需要结合颜色信息作进一步检测。本文将纹理复杂度测量函数R(H)定义为
(13)
式中:。R(H)越小,说明区域所包含纹理信息越少,当R(H)小于一个阈值时,认为该区域为光滑区域,采用区域梯度方向检测阴影的可信度不高,这时进一步利用颜色信息进行阴影检测,并将检测结果作为最终检测结果。
基于颜色和区域梯度方向特征的运动阴影检测具体方法如下:
(1) 利用混合高斯背景建模方法提取前景,并完成背景的重建,后续操作均在已提取出的前景区域上执行。
(2) 分别计算前景像素点邻域内的梯度方向直方图H以及重建背景相应位置的梯度方向直方图H′,并计算R(H)和R(H′),若R(H)和R(H′)分别小于阈值γ1和γ2,则执行步骤(3);否则,执行步骤(4)。
(3) 利用颜色特征进行阴影检测,具体检测步骤见第1.2节。
(4) 利用MDPA距离做直方图匹配,小于τ2属于运动阴影,否则属于运动对象。
4 实验结果与分析
为验证文中算法的性能,选取4段分别包含室外、室内、高速公路等场景的视频序列(Campus,Laboratory,Intelligent Room和Highway I)进行阴影检测。其中,Campus为室外场景,光照强度较低,同时序列包含很强的噪声信号;Laboratory和Intelligent Room为室内场景,目标距离光源较远,阴影强度非常低; Highway I为高速公路场景,阴影很强且在整幅图像中占很大比例,目标运动较快,黑色、灰色等车辆目标在颜色特征上与阴影极为相似。另外,为更方便地评价与对比文中算法阴影检测的主客观效果,首先采用人工标注的方法得到原始视频图像中的真实前景区域,然后强制文中算法作用于该区域。
图1所示为本文算法对Campus视频中第371帧的阴影检测结果。其中,图1(a)和1(b)所示为原始图像和背景图像,图1(c)所示为手工标注出的真实前景区域和阴影区域,前景和阴影分别用白色与灰色表示,图1(d)为SNP算法(1.2节)检测结果。由图1(d)可知:由于该算法以单个像素为基本检测单位,因此,特别是在颜色信息容易受到噪声干扰的目标边缘等区域,误检率较高,另外,目标上颜色较深的部分和阴影具有相似的颜色特征,被错检成了阴影。图1(e)所示为基于区域梯度的阴影检测结果。从图1(e)可见:由于该算法基于区域纹理特征,因此受噪声干扰较小,但是,在较为平坦的区域容易出现误检和漏检。将图1(d)和(e)的算法相结合,获得最终检测结果,即图1(f)所示,主观阴影检测效果优于上述2种算法。
图2所示为本文算法在另外3个视频序列上进行阴影检测的实验结果(从上到下依次为Laboratory,Intelligent room和Highway I),测试帧均是随机抽取的。其中图2(a1),(b1),(c1)和(a2),(b2),(c2)所示分别为原始图像和背景图像,图2(a3,b3,c3)所示为手工标注的阴影区域和前景区域,图2(a4,b4,c4)所示为本文算法的检测结果。从图2可见:文中算法在室内、室外等具有不同阴影强度与图像噪声干扰的场景下,均获得较为优异的检测效果。
为进一步评估本文算法的阴影检测性能,采用阴影正确检测率η和前景正确检测率ξ作为性能评价指标[14]:
(14)
其中:TS和TF分别为正确检测到的阴影像素点数和前景像素点数,NS和NF分别表示被误判为前景的阴影像素点数和被误判为阴影的前景像素点数。将本文算法与SNP,SP[15]和DNM1[11]这等3种经典阴影检测算法进行对比,结果如表1所示,其中SNP,SP和DNM1算法的测试结果来源于文献[15]。
图1 Campus序列阴影检测结果
Fig. 1 Shadow detection results of Campus
图2 本文算法对3个视频的阴影检测结果
Fig. 2 Shadow detection results of proposed algorithm for three vedios
从表1可知:本文算法在不同场合下的综合性能要优于以上3种经典算法。这是由于上述几种方法虽然在不同的颜色空间采用不同的标准来检测阴影,但都是以单个像素为基本检测单位,因此,容易受噪声的干扰;另外,利用单一的颜色特征进行阴影检测,在目标与阴影具有相似的颜色特征时容易出现误判;而文中算法在利用颜色特征的同时结合区域纹理特征,从而可以有效克服随机噪声的干扰,并减少由于目标与阴影颜色特征相似而引起的误判。
表1 不同算法性能比较
Table 1 Performance comparison of different methods
表2所示为本文算法在上述4段视频序列上的执行时间。4个视频序列里,除Campus序列的原始分辨率为352×288以外,其余均为320×240。为便于比较,测试前将Campus序列的分辨率转换为320×240。实验硬件配置为2.4 GHz酷睿i3双核处理器,编译环境为VS2005。
由表2可知:本文算法在处理Highway I序列时所需平均时间最长,这是因为该序列中的前景所占面积较大,平均约占整个图像比例的34%,但也达到了33.1 ms/帧(约30.2帧/s),满足实时处理要求。
表2 本文算法处理时间
Table 2 Processing time of proposed algorithm
5 结论
(1) 证明区域梯度方向的光照不变性,并采用区域梯度方向直方图来进行基于纹理的阴影检测,有效克服了随机噪声的干扰。在实际阴影检测过程中,首先使用混合高斯模型得到前景区域,然后,在前景区域上根据图像不同位置的纹理复杂程度选择基于颜色或者基于区域梯度方向直方图的方法进行阴影检测。
(2) 文中算法能够在不同场景下稳定有效地检测出运动阴影,并具有计算复杂度低、实时性好的优点。
参考文献:
[1] 曹健, 陈红倩, 张凯, 等. 结合区域颜色和纹理的运动阴影检测方法[J]. 机器人, 2011, 33(5): 628-633.
CAO Jian, CHEN Hongqian, ZHANG Kai, et al. Moving cast shadow detection based on region color and texture[J]. Robot, 2011, 33(5): 628-633.
[2] 闻帆, 屈桢深, 闫纪红. 集成多特征信息的运动阴影检测[J]. 哈尔滨工业大学学报, 2011, 43(5): 13-19.
WEN Fan, QU Zhenshen, YAN Jihong. Moving shadow detection by integrating multiple features[J]. Journal of Harbin Institute of Technology, 2011, 43(5): 13-19.
[3] TIAN Yingli, Feris R S, LIU Haowei, et al. Robust detection of abandoned and removed objects in complex surveillance videos[J]. IEEE Transactions on Systems, Man, and Cybernetics-Part C: Applications and Reviews, 2011, 41(5): 565-576.
[4] 闵华清, 吕居美, 罗荣华, 等. 基于GMM和MRF的自适应阴影检测[J]. 华南理工大学学报: 自然科学版, 2011, 39(7): 115-120.
MIN Huaqing, L Jumei, LUO Ronghua, et al. Adaptive shadow detection based on GMM and MRF[J]. Journal of South China University of Technology: Natural Science Editon, 2011, 39(7): 115-120.
[5] 郭利生, 郭立, 焦荣惠, 等. 一种基于运动阴影的目标检测算法[J]. 模式识别与人工智能, 2007, 20(2): 180-184.
GUO Lisheng, GUO Li, JIAO Ronghui, et al. An object detection algorithm based on moving shadow[J]. Pattern Recognition and Artificial Intelligent, 2007, 20(2): 180-184.
[6] Yang M T, Lo K H, Chiang C C, et al. Moving cast shadow detection by exploiting multiple cues[J]. IET Image Processing, 2008, 2(2): 95-104.
[7] Cucchiara R, Grana C, Piccardi M, et al. Improving shadow suppression in moving object detection with HSV color information[C]//Proceedings of the Intelligent Transportation Systems. NJ, USA: IEEE, 2001: 334-339.
[8] Amato A, Mozerov M G, Bagdanov A D, et al. Accurate moving cast shadow suppression based on local color constancy detection[J]. IEEE Transactions on Image Processing, 2011, 20(10): 2954-2966.
[9] Leone A, Distante C, Buccolieri F. Shadow detection for moving objects based on texture analysis[J]. Pattern Recognition, 2007, 40(4): 1222-1233.
[10] 张玲, 程义民, 谢于明, 等. 基于局部二元图的视频对象阴影检测方法[J]. 系统工程与电子技术, 2007, 29(6): 974-977.
ZHANG Ling, CHENG Yimin, XIE Yuming, et al. Shadow detection method in video sequences based on LBP[J]. Systems Engineering and Electronics, 2007, 29(6): 974-977.
[11] 柏柯嘉, 刘伟铭, 汤义. 基于Gabor小波和颜色模型的阴影检测算法[J]. 华南理工大学学报: 自然科学版, 2009, 37(1): 64-68.
BAI Kejia, LIU Weiming, TANG Yi. Shadow detection algorithm based on Gabor wavelet and color model[J]. Journal of South China University of Technology: Natural Science Edition, 2009, 37(1): 64-68.
[12] 刘宏, 李锦涛, 刘群, 等. 融合颜色和梯度特征的运动阴影消除方法[J]. 计算机辅助设计与图形学学报, 2007, 19(10): 1279-1285.
LIU Hong, LI Jintao, LIU Qun, et al. Moving cast shadow elimination based on color and gradient features[J]. Journal of Computer-aided Design & Computer Graphics, 2007, 19(10): 1279-1285.
[13] Horprasert T, Harwood D, Davis L S. A statistical approach for real-time robust background subtraction and shadow detection[C]//Proceedings of the 7th IEEE International Conference on Computer Vision. Kerkyra: IEEE, 1999: 255-261.
[14] Sanin A, Sanderson C, Lovell B C. Shadow detection: a survey and comparative evaluation of recent methods[J]. Pattern Recognition, 2012, 45(4): 1684-1695.
[15] Prati A, Mikic I, Trivedi M, et al. Detecting shadows: Algorithms and evaluation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2003, 25(7): 918-923.
(编辑 邓履翔)
收稿日期:2012-09-14;修回日期:2012-11-06
基金项目:国家自然科学基金资助项目(61371125)
通信作者:解文华(1987-),男,河南许昌人,博士研究生,从事视频处理与机器视觉研究;电话:13720108602;E-mail:xiewenhua0422@126.com