基于简化KDE的动态背景分割系统设计*
2012-07-03罗伍峙许少秋李伟彤
罗伍峙,许少秋,李伟彤,蔡 念,潘 晴
(广东工业大学 信息工程学院,广东 广州 510006)
将视频中的运动前景从背景中检测出来是目标跟踪、现场监控、行为分析等应用的基础。目前,高斯混合模型(GMM)[1]和核密度估计模型(KDE)[2]是背景建模的两种常用方法,两者都考虑了每个像素的多模态特征的分布,且都能够适应逐渐的、局部的背景变化。其中GMM需要指定建模的高斯数个数和参数,在处理复杂的场景空间变化时,性能不够理想;KDE能够较好地处理复杂的背景空间变化,但计算量大且需要大容量的存储器,对硬件有较高的要求。参考文献[3]中的算法通过简化KDE算法,使数据运算量和数据存储量大幅减少,但其颜色空间转换和欧式距离的量化划分仍比较耗时,不利于硬件实现。
本文通过改进参考文献[3]中的算法进一步降低其对硬件内存和运算速度的要求,达到与本文嵌入式硬件系统结合的目的。系统采用三星公司ARM11内核的S3C6410[4]SoC芯片为控制核心构建一个嵌入式视频监控系统,该系统对操作系统支持良好,开发流程简单,软硬件可裁剪,易于在同类型平台下的移植和升级。软件采用简化KDE背景建模算法对场景背景进行建模和学习,能较好地区分出运动前景和动态背景,可用于复杂的场景,在视频监控领域有较好的应用前景。
1 系统结构
动态背景分割系统由ARM11嵌入式硬件系统和软件系统组成,系统结构原理图如图1所示。CMOS传感器采集的视频输入S3C6410片上系统对视频进行处理,构建现场背景模型,分割出运动前景,通过JPEG压缩运动前景图片,保存到SD卡进行数据存储,以便用户查看。
1.1 硬件结构
本嵌入式系统配置1 GB的NAND Flash固化UBOOT、内核和文件系统,8 GB的SD卡存储运动前景图片,128 MB MOBILE DDR提供系统内存。CMOS摄像头采用OmniVision公司的彩色摄像头OV9650,分辨率达 130万像素,具有自动曝光控制、自动增益、自动白平衡等功能,速度可达 60 f/s。
1.2 软件系统
软件系统采用V4L2接口构建视频采集系统,完成图像采集、简化KDE背景建模、运动分割和图片的保存等任务。V4L2是Linux 2.6内核下开发视频设备的一套API接口,有极好的灵活性和扩展性。
如图2所示,系统开始后先对硬件系统初始化,然后通过V4L2操作视频设备,步骤如下:
(1)打开视频设备
fd=open(“/dev/video0”,O_RDWR);
(2)查询设备信息
ret=ioctl(fd,VIDIOC_QUERYCAP,&caminf);(3)设置视频捕获格式
作业的布置要分层次,分为基础题与提高题,以满足不同学生的需求,做到因材施教,使每个学生都能扬长避短,获得最佳的发展.
ret=ioctl(fd,VIDIOC_S_FMT,&fmt);
系统设置图像采集分辨率为640×480,图像格式为RGB565。
(4)启动图像采集
ret=ioctl(fd,VIDIOC_STREAMON,&type);
(5)读取图像数据
size=read(fd,img_buf,640×480×2)。
系统启动视频采集后,对采集的视频帧进行简化KDE背景建模,再对新采集的视频帧进行简化KDE背景建模来完成场景的运动前景分割和背景模型更新。若判断出有运动前景出现,则通过JPEG压缩该帧图片保存到SD卡。
2 背景建模
2.1 传统的KDE背景建模算法
假设x1,x2,…,xN是连续视频中关于一个像素点A的一组强度或颜色值样本,则可以对像素点A的任意强度或颜色值进行核密度估计得到其概率分布。如式(1)所示,给定t时刻像素点 A的强度或颜色值xt,则其核密度估计定义为:
其中,K(·)是带宽为h的核函数。高斯函数是常用函数可表示为:
其中,d为维数,σj为第 j维的带宽,在实时视频下,样本的数量有限。而不同的带宽反映不同的样本特征。因此核函数的带宽选择十分重要[2],带宽求解如下:
式(3)是一种用相邻样本的绝对差中位数m来计算图像的自适应带宽的方法。若:
则xt所代表的点为前景,th为图像的全局阈值。通过式(5)可知,KDE算法需对像素点A的历史记录x1,x2…,xN进行存储,并对该点新增值xN+1进行核密度估计,由此加大了系统的储存量和运算量,难以满足复杂场景的实时性。
2.2 简化KDE背景建模算法
KDE的简化可通减少样本数量和减少模型计算次数来实现,若仍采用复杂的KDE计算模型,在一定的场景下,计算量仍庞大。参考文献[3]中的算法采用背景的近似概率分布模型来替代KDE的模型,不仅减少了背景建模过程中的样本数量和样本计算次数,而且降低了模型本身的计算复杂度。原理如下,依照贝叶斯决策规则进行前景和背景的划分,若:
则具有特征 ν=[Hν,Sν,Iν]的像素点 A 被划分为前景。假设νk为像素点 A 的特征 ν 的量化特征,则 νk={ν:Q(ν)=νk}。观察一段时间后,像素点A所得的N个模型可用V={νk;k=1,…,N}表示,像素特征 v属于背景 b的后验概率P(b|v),可以通过式(7)、(8)来估计。
将式(7)带入式(6),则贝叶斯决策规则变为:
[3]不同的是,本文算法采用RGB颜色特征,避免了把每个像素点从RGB空间转到HSI空间带来的时间和内存方面的消耗;采用RGB空间的棋盘距离对νk进行量化划分,避免了欧式距离平方开方的繁杂运算。具体步骤如下:
(1)像素特征描述
本算法采用像素点的RGB颜色值作为其特征值。像素点 A的当前特征 ν=[Rν,Gν,Bν], 若该点已具有 N个颜色模型,则第 k个模型的特征表示为 νk=[Rk,Gk,Bk],k=1,…,N。
(2)ν 与 νk的距离和量化划分
ν与νk的距离采用棋盘距离,如式(10)所示:
棋盘距离 dk用来描述 ν与{νk}Nk=1的相似度,距离越大,相似度越低。可通过设置一个阈值定义所允许的相似度差异,如果超过这个阈值,则认为当前特征值不属于任意一个已有的模型,必须增加新模型;如果不超过这个阈值,则认为当前特征值可用与之最相似的那个模型来表示。
(3)在线学习
其中,Pt(b|νk)为观察到的特征 νk在 t时刻的后验概率,Pt(b|νk)初始值为 0,Mk在式(8)中赋值,Nd是两个相同模型νk中间间隔时间出现的帧数。α、β分别为学习率和遗忘率,Nt、Nf分别表示模型学习与遗忘时间内观测到的相应帧个数。在线学习算法表明,如果能够观测到某个时刻的模型,则其后验概率将按照学习率的指数倍增加,否则按照遗忘率的指数倍减小。模型发生越频繁,越属于背景的一部分。
3 实验结果与分析
通过利用系统在户外进行实验,并比较传统KDE算法、参考文献[3]算法和本文算法的运行结果。该实验视频持续时间为4 h 25 min 8 s,分割结果如图3所示。可以看出,参考文献[3]算法、本文算法和传统KDE算法分割出的运动物体前景基本相同,不同的是前两者都出现了分布较均匀的细小背景噪声点,这些噪声点可通过形态学处理去除干净,不影响运动物体的分割。其中,参考文献[3]算法与本文算法分割结果相似,只有局部细小差异。因此,本文算法的分割结果良好,能够清晰地辨别出运动前景。
表1统计出图3实验中对应动态背景分割算法每个像素点的运行时间和模型个数。其中,参考文献[3]的算法和本文算法的视频序列中的模型最大个数分别为4、8,主要集中在随风摆动背景树叶处。背景模型个数越多,像素点所需运行时间越长,最大时间的消耗就发生在这些点上。如表1所示,传统KDE算法平均时间是参考文献[3]算法平均时间的35倍,左右参考文献[3]算法平均时间是本文算法平均时间的1.5倍左右。
参考文献[3]算法和本文算法通过对像素点的量化划分和在线学习完成近似的核密度估计,代替传统KDE计算中必须考虑像素点在观察时间段内所有特征值这个缺点,从而大幅度降低了算法的运算复杂度。另外,只需保存已建立的模型特征值,减少对内存容量的需求,特别是当背景比较简单的时候这个优点更是突出。不同的是量化后样本粒度稍大,是背景场景的近似概率密度分布,出现了分布较均匀的细小背景噪声点。本文算法和参考文献[3]的算法相比,不用转换颜色空间,简化了量化划分方式,两者在分割结果相似的基础上本文算法在速度上优于参考文献[3]的算法,更满足嵌入式系统内存小、主频一般的情形。
表1 实验数据
本文设计的基于简化KDE的动态背景分割系统,通过量化特征以及在线学习策略来简化KDE背景建模算法,大幅度降低了运算的复杂度和对内存容量的需求。实验验证,算法运行结果良好,速度远高于传统KDE算法和参考文献[3]的简化算法,满足了需要动态背景分割的现场监控应用。
参考文献
[1]STAFFER C,GRIMSON W E L.Adaptive background mixture models for real-time tracking[A].In:Proceedings of the Computer Society on Computer Vision and Pattern Recognition.FortCollins,USA,1999.
[2]ELGAMMAL A,DURAISWAMI R,HARWOOD D,et al.Background and foreground modeling using nonparametric kernel density estimation for visual surveillance[J].Proc.of the IEEE,2002,90(7):1151-1163.
[3]Xu Shaoqiu.Dynamic background modeling for foreground segmentation[C].8th IEEE/ACIS International Conference on Computer and Information Science(ICIS 2009),Shanghai,China,2009:599-604.
[4]Samsung Electronics Inc.S3C6410X,risc microprocessor[Z].(REV 1.10)User′s Manual 2008.