基于DSP的智能视频监控系统的实现
象,将其发送到SendTsk维护的SCOM中,SendTsk接收到这个Message包后,对其进行相应的处理,然后发送到PC主机。线程通信如图 3所示。
·PC端软件
在服务器主机端,主要实现三个功能:(1)接收来自网络摄像头的视频流并解码,对应模块为网络摄像机模块;(2)构建用户界面,即客户端模块,记录用户算法设置、控制命令等,用户可以根据自己的需求在规则设置界面中对特定的通道设置算法参数和控制命令等;(3)将图像数据和算法参数、控制命令传给DSP端,对应模块为后台服务模块。
算法设计与DSP实现
基于DM642的智能视频监控系统的核心是智能视频监控算法,本算法可以实现对监控目标物越线产生报警,对贵重物体消失产生报警,对可疑物体产生报警。算法原理:首先利用改进的帧间差分法来初始化背景模型,得到自适应背景图像[9];然后把当前图像和背景图像做差分运算;再使用动态阈值法对差值图像二值化,引入形态学噪声滤波器来消除噪声影响[8];进而使用快速二值图像连通域标记算法提取动目标;最后与用户预先设置的警戒规则进行比较,如有违规,产生报警信息。算法流程如图4所示。
自适应背景模型建立
在运动目标检测过程中背景模型建立的准确与否直接影响到目标检测结果的好坏。由于背景是个渐变的过程,所以采用了自适应背景更新方法:在视频图像序列中先假设第一帧图像为参考图像I0,在随后的图像序列中找两帧图像I1和I2,要求运动部分在I0,I1以及I2中所占区域没有重叠,将三帧图像的灰度值平均得到图像I:
将图像I与I0进行比较,如果差别较大(差值超出某一阈值T0),则为目标区域,否则为背景区域;在目标区域,进一步判断I1与I2的灰度值,如差别不大(差值小于某一阈值T1),则可用I1或I2中对应区域作为背景对应区域,否则用I0中对应区域作为背景对应区域,经过这一替代,就可以得到一个不包含运动目标的背景图像Ib。然后用此参考图像初始化背景图像模型,公式如下:
差值图像建立及二值化
自适应背景BL产生后,每一帧视频图像将与BL差分,并得到差分后的差值图像,进而进行二值化。在这一过程中,阈值选取的优劣是二值化结果好坏的关键。本文采用动态阈值法进行二值化处理。它的基本思想是对于需要二值化的每一帧差值图像,确定一个最佳阈值,使图像进行二值化处理后,能方便而准确的定位目标物。具体过程如下。
设差值图像灰度值取值分布范围为1~K,像素总数为N,灰度为i的像素数为ni,则每个图像灰度值的取值概率为:pi=ni/N。设以h为阈值将图像分割为两个区域A、B,灰度为1到h的像素和灰度为h+1到K的像素分别构成区域A和B,各组产生的概率为:
以类间方差作为衡量分离性能的准则,极大化的过程就是自动取定阈值的过程,因此,最佳阈值为: 。换句话说,类间方差最大的那个图像灰度值就是当前差值图像的最佳阈值。
运动目标检测
动态阈值确定以后,可根据此阈值对差值图像进行二值化,得到二值图像。但是在背景和目标中还会存在一定量的噪声斑点,再经过形态学运算处理后的图像更有利于目标提取,滤波后的二值图像通常包含多个连通区域。本文采用改进快速标记算法对各连通域进行检测提取。该算法对原图像只进行一次扫描后通过特殊的边界像素标记,就能搜集足够信息,可方便快捷的获得目标几何特征参数,算法分为像素扫描、整理等价表和图像代换,共三个环节。
根据用户设置的算法规则判断报警
得到动目标的外接矩形以后,对每一个目标物进行跟踪监控就具体化为对每一个矩形框的跟踪监控。这一过程中,用户通过PC端的客户端模块中的用户界面来选择算法规则,实现对人或车的监控。用户可以在主机服务器界面中设定规则,包括对场景设置虚拟警戒线、警戒区域和违规行为(比如贵重物体消失报警,可疑物的出现报警,目标物的越线报警)。一旦当前帧有外接矩形违规,则产生报警信息。
结语
本文实现了一个支持多板卡,多通道以及网络监控的智能视频监控系统。提供了一个完整的包括DSP硬件、软件框架、算法及实现的解决方案,较好的解决了背景更新,动目标提取等监控系统中的重要技术环节,提出并实现了对可疑物的报警、对贵重物体的报警等实用算法。基于DM642的DSP硬件板卡如图5所示,系统运行结果如图6所示。整个系统的技术指标如表1所示。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)