文献标识码: A
文章编号: 0258-7998(2012)03-0145-04
将视频中的运动前景从背景中检测出来是目标跟踪、现场监控、行为分析等应用的基础。目前,高斯混合模型(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,则其核密度估计定义为:
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]的算法,更满足嵌入式系统内存小、主频一般的情形。
本文设计的基于简化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.