基于码本算法中亮度范围的改进策略
2013-11-20范振涛陈晓竹
范振涛,陈晓竹,陈 亮
(中国计量学院 信息工程学院,浙江 杭州310018)
运动目标检测是机器视觉中一项重点研究内容,也是智能视频监控系统中最为基础的技术之一,运动目标检测性能的好坏直接关系到整个视频监控系统的综合性能.目前较流行的检测方法主要有光流法、帧差法和背景差法.其中,背景差法简单易于实现且鲁棒性强,已经成为目前的研究热点.而在实际检测中,背景往往是容易受光照变化和噪声影响的动态复杂背景,因此,如何构建并更新好一个有效的背景模型以适应这种背景变化,就成为背景差法研究的关键[1].为此,已有学者相继提出单高斯模型[2]、混合高斯模型[3]和核密度估计模型[4]等多种背景模型,但相较而言,码本模型以其对复杂背景更强的适应性和较好的实时性等优点,成为其中应用最为广泛的方法[5].
码本算法由Kim等人于2005年提出,是一种基于单一像素点式的检测方法.其核心思想是:对视频序列中的每个像素点进行聚类量化得到对应的码本模型;然后对新输入的像素点在该模型中寻找码字匹配,从而完成运动目标的检测.此后,学者们以该算法为基础相继提出各种改进,分别取得了不错的效果.而其中文献[6-7]在码本模型中融入分块思想,有效消除了原始码本模型基于单一像素点方式导致的弱抗干扰影响;文献[8]则在文献[7]基础上进一步通过引入反馈校正机制实现自适应的码书更新,解决了伪目标重复出现的问题;文献[9-12]提出码本模型和高斯模
型的混合模型,在检测精度上有了较大提升;文献[13]则通过融合码本模型和纹理特征从时域和空域两方面分别建模,最终获得比常用方法在背景扰动、全局光变等室内外场景下更好的准确性和鲁棒性.
然而,目前有关码本模型的各种改进多是基于原始码本算法展开的,而对于其算法本身的关注却少之又少[14].本文在不改变算法约束条件的前提下,对其模型进行不断的实验研究,深入研究发现算法中对码字亮度范围的定义不能满足亮度范围正常进行动态调整以作为像素点亮度变化的界定区间.针对算法中的该问题,需要进行适当修正改进,以保证算法描述准确合理,为基于码本算法的后续研究打好基础.以下内容将首先通过实验提出算法存在的问题,然后对问题进行理论分析,并提出相应改进策略,最后通过实验验证改进后算法在检测效果上的改善.
1 码本算法
码本算法采用聚类量化技术,通过对视频序列的连续观测来建立背景模型.其思想是首先基于颜色距离和亮度范围[15],把图像上每个像素点采样获取到的样本聚类到对应码本集合中,然后对新输入的像素值在码本集合中寻找码字匹配,如果匹配成功就进行码本更新,否则就生成一个新的码元素.经过多次训练得到背景的码本模型,最后,根据该模型对视频中的前景和背景进行分割,完成运动目标的检测.
1)颜色距离
2)亮度范围
当且仅当这两个条件同时满足时,像素点和对应码字才被认定为匹配成功.其中式(2)中,Ihigh和Ilow是算法定义的亮度范围上限和下限[16],目的是把待检测像素点的亮度变化范围限制在阴暗边界和高亮边界之间.它们的定义如式(3)、(4).
其中式(3)、(4)中参数α和β一般在0.4≤α≤0.7,1.1≤β≤1.5范围取值;Ihigh和Ilow的值则随当前像素值大小变化而处于动态调整状态,当新输入像素值大于其范围上限,则对其上限进行逐步加调整;反之当新输入像素值小于其下限,则对其下限进行逐步减调整[17],也即亮度范围是一个始终保持动态调整的稳定范围.
2 实验与问题
2.1 问题发现
本文在装有 VS2008(配置 OpenCV2.3)的PC机(双核CPU,频率3.2GHz,2G内存)上对码本算法进行实现,并基于不同场景下的多段视频进行测试.在对其中一段存在树枝摆动和光照变化场景的室外视频进行实验时发现,如图1左图所示的标定区域是一辆未发生移动的车辆,本该被作为背景进行处理,而在右图的检测结果中却发现该区域连续被判别为目标区域,对于造成此误判的原因,本文通过对误判区域的检测过程进 行跟踪的方法做如下研究.
图1 原始视频及目标检测结果Figure 1 Original video and object detection video
针对图中标定区域,取其中一个像素点(240,135)逐帧跟踪分析,发现该点首次被误判为目标,是由于像素亮度超出对应码字亮度范围上限所致,鉴于此区域连续很多帧被误判,因此本文想到通过输出该点随视频帧连续变化时的RGB曲线图和对应码字的亮度范围曲线图进行分析,其中视频第0-1536帧相应曲线如图2和图3.
图2 像素点(240,135)的RGB曲线图Figure 2 RGB-curve-graph on pixel(240,135)
图3 像素点(240,135)的RGB曲线图Figure 3 Brightness-range-graph of corresponding codeword with pixel(240,135)
观察图2、图3发现,随该点像素值逐渐升高或降低直至突破亮度范围上下限时,其上下限没有做出动态调整适应像素值的变化,而是保持不变,这与亮度范围是保证像素值在其内变化的动态稳定范围的定义是不符的,没能实现码本算法有关亮度范围的描述.因此该点不能满足码字匹配条件中亮度范围的要求,也就导致了如图1中标定区域连续误判问题的发生.
2.2 问题分析
由亮度范围上下限定义公式(3)、(4)可知,出现上述问题的原因可解释为:①随像素值逐渐升高,仅当像素值上下浮动不超过16%,即当满足min I>0.84·max I时(本文参数α取0.7,β取1.2,0.84即为α·β),亮度范围上限值才由公式Ihigh=1.2·max I计算,又因此时码字最大亮度maxI也随像素值升高而升高,故其上限值可以正常更新;②而当像素亮度值上下浮动超过16%,即当min I<0.84·max I时,则随像素值升高,其上限值将一直由公式Ihigh=min I/0.7计算,而此时,由于码字最小亮度min I并不随像素值升高而改变,因此,上限值也将一直保持不变,即使像素值突破该上限。这就导致亮度范围上限发生更新失败,如图3中第516-1026帧曲线段可见.
至于随像素值逐渐降低,由于亮度范围下限值都由公式Ilow=0.7·max I计算,则当像素值下降至0.7·max I时,由于此时码字最大亮度max I并未随之降低,故其下限值也将因未发生改变而被突破,而且若先按上述方式①先升高再下降,由于此时max I的值已经由于正常更新而升高,则范围下限也随之上调,就会导致像素值变化的区间被整体上调,则当像素值再下降时,该范围下限就会很轻易被突破,这均导致亮度范围下限不能正常更新.
综上分析,亮度范围上下限更新失败均是由于定义不合理所致,即随像素值升高至一定范围,其上限未由逐步增大的max I值计算,而是由未发生改变的min I算得,导致亮度范围上限更新失败;当像素值降低到一定范围,亮度下限未由逐步减小的min I计算,而是由未发生变化的max I计算,于是出现亮度范围下限更新失败.
2.3 改进策略
以上式(5)~(7)为由平均亮度值所构造的新亮度范围,其中γ为参数,一般在0~30间取值.将式(5)~(7)与原定义公式(3)、(4)联合可得重新定义后的亮度范围如下:
其中,式(8)、(9)右值括号中Ilow和Ihigh分别是由公式(3)、(4)所定义的亮度范围,等式左值为重新定义的新亮度范围.则亮度范围重新定义后,随像素值升高或降低至一定范围时,其上限值和下限值将随平均亮度所构造范围逐渐变化而进行缓慢调整,也即亮度范围可以随像素值逐渐变化而进行缓慢更新.
2.4 实验验证
对于重新定义亮度范围后的算法,按照图2和图3所用方法,输出视频中像素点(240,135)随视频帧连续变化时的RGB曲线图和对应码字的亮度范围曲线,以验证改进后算法中的亮度范围可以随像素值逐渐变化而进行动态调整,满足原算法中对其描述.曲线如图4、图5.
图4 像素点(240,135)的RGB曲线图Figure 4 RGB-curve-graph on pixel(240,135)
图5 像素点(240,135)的RGB曲线图Figure 5 Redefined-rightness-range-graph of corresponding codeword with pixel(240,135)
从图4、图5可以发现,经过重新定义的亮度范围已经能够随像素值升高或降低进行相应动态调整,保证像素点亮度可以在一个动态的亮度范围内变化,符合原算法中对亮度范围定义的描述,说明理论分析与实验结果相符,算法的改进可以达到预期效果.
3 实验效果对比
在以上实验环境下,对该视频基于算法改进前后进行运动目标检测测试,从中选取如下两帧的检测结果进行对比分析(目标检测结果均未进行形态学处理),实验结果如图6.
图6 算法改进前与改进后实验结果对比Figure 6 Comparison of detection result
由图6第539帧实验结果可见,对于原始视频中标定的作为背景的静止车辆,亮度范围重新定义后的算法可以正确将其判别为背景,同时在噪声抑制以及对作为动态背景的树枝摆动的检测上有明显改善.由第954帧实验结果可见,重新定义亮度范围后的算法,除对噪声抑制与对动态背景检测效果明显外,同时对于作为复杂背景的汽车阴影具有一定的抑制作用,而在算法改进前,此区域则是被判别为目标.
4 结 语
本文从对码本算法的实现出发,通过对实验结果分析,发现了算法中亮度范围定义方面存在的问题,并在理论上进行了分析,提出把平均亮度融入亮度范围的定义之中,使其符合算法描述,实验结果也说明该改进在检测效果上有一定体现.但由于本文并未改变算法中的其他部分,如码字结构和算法步骤,故本文对算法的改进不影响以往基于码本算法的其他研究,只是为以往研究提供了更加准确合理的研究基础.
[1]郭春生,王 盼.一种基于码本模型的运动目标检测算法[J].中国图象图形学报,2010,5(7):1079-1083.Guo Chunsheng,Wang Pan.An algorithm based on codebook model to moving objects detection[J].Journal of Image and Graphics,2010,15(7):1079-1083.
[2]Wren C R,Darrell T,Pentland A P,et al.Real-time tracking of the human body [J].IEEE Transactions on,Pattern Analysis and Machine Intelligence,1997,19(7):780-785.
[3]Stauffwer C,Grimson W E L.Adaptive background mixture models for real-time tracking[C]//Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition.USA:IEEE Computer Society,1999:246-252.
[4]Elgammal A,Harwood D,Davis L.Non-parametric model for background subtraction[C]//Proceedings of the 6th European Conference on Computer Vision-Part II Dublin.Ireland:IEEE Computer Society,2000:751-767.
[5]Kim K,Chalidabhongse T H,Harwood D,et al.Real-time foreground-background segmentation using codebook model[J].Real-Time Imaging,2005,11(3):172-185.
[6]陈财雄,陈晓竹,范振涛.分块思想和码本模型的运动检测算法[J].中国计量学院学报,2012,23(2):125-130.Chen Caixiong,Chen Xiaozhu,Fan Zhentao.Detection algorithm based on block mode and codebook model[J].Journal of China University of Metrology,2012,23(2):125-130.
[7]贺 彪,方贤勇,罗 斌,等.基于新的码书模型检测动态背景下的运动目标[J].计算机技术与发展,2011,21(7):108-111.He Biao,Fang Xianyong,Luo Bin,et al.Moving object detection in dynamic background based on a new codebook model[J].Computer Technology and Development,2011,21(7):108-111.
[8]方贤勇,贺 彪,罗 斌.一种基于块的校正码书模型[J].计算机应用研究,2011,28(10):3977-3982.Fang Xianyong,He Biao,Luo Bin.Block based corre-ction codebook model[J].Application Research of Computers,2011,28(10):3977-3982.
[9]Li Yongbin,Chen Feng,Xu Wenli,et al.Gaussian-Based Codebook Model for Video Background Subtrac-tion[C]//Proceedings of the 2nd International Conference on Natural Computation.Xi'an:ICNC,2006:762-765.
[10]叶 勇,管业鹏,李晶晶.基于混合高斯模型与码本算法的前景目标检测[J].计算机工程,2012,38(5):1-4.Ye Yong,Guan Yepeng,Li Jingjing.Based on gau-ssian mixture model and codebook algorithm [J].Computer Engineering,2012,38(5):1-4.
[11]黄 进,金炜东,秦 娜.基于三维高斯混合码本模型的运动目标检测算法[J].西南交通大学学报,2012,47(4):662-668.Huang Jin,Jin Weidong,Qin Na.Moving objects detection algorithm based on three-dimensional gaussian mixture codebook model[J].Journal of Southwest Jiaotong U-niversity,2012,47(4):662-668.
[12]徐 成,田 峥,李仁发.一种基于改进码本模型的快速运动检测算法[J].计算机研究与发展,2010(12):2149-2156.Xu Cheng,Tian Zheng,Li Renfa.A fast motion detection method based on improved codebook model[J].Journal of Computer Research and Development,2010(12):2149-2156.
[13]李 峰,周荷琴.融合码本和纹理的双层视频背景建模方法[J].中国科学技术大学学报,2012,42(2):99-105.Li Feng,Zhou Heqin.A two-layers background modeling method based on codebook and texture[J].Journal of U-niversity of Science and Technology of China,2012,42(2):99-105.
[14]李文辉,李慧春,王 莹,等.对码本模型中码字结构的改进[J].吉林大学学报:理学版,2012,50(3):517-522.Li Wenhui,Li Huichun,Wang Ying,et al.Improvement on codeword structure in codebook model[J].Journal of Jilin University:Science Edition,2012,50(3):517-522.
[15]方贤勇,贺 彪,罗 斌.一种基于 HSV颜色空间的新码书模型[J].计算机应用,2011,31(9):2497-2501.Fang Xianyong,He Biao,Luo Bin.New codebook model based on HSV color space[J].Journal of Computer Applications,2011,31(9):2497-2501.
[16]莫 林,周 赞,雷 禹,等.基于 YUV空间码本模型的运动检测[J].计算机工程与应用,2012,48(25):180-183.Mo Lin,Zhou Zan,Lei Yu,et al.Motion detection method based on YUV codebook model[J].Computer Engineering and Applications,2012,48(25):180-183.
[17]许雪梅,墨 芹,倪 兰,等.基于局部更新的分层码本目标检测算法[J].计算机应用,2011,31(12):3399-3402.Xu Xuemei,Mo Qin,Ni Lan,et al.Moving object detection based on local updated layered codebook[J].Journal of Computer Application,2011,31(12):3399-3402.