邹洪清,王代强
(1.贵州大学 电子信息学院,贵州 贵阳 550025;2.贵州大学 人民武装学院,贵州 贵阳 550025)
现在人们对自己私有财产的安全性要求越来越高,包括企业和个人。像住宅区、办公场所等地方的安全问题日益突显,非法入侵,入室盗窃等违法犯罪行为对人们的生命财产安全构成了严重的威胁,而视频监控系统在预防犯罪、调查取证等方面有着不可替代的作用,因此视频监控系统在各行各业中扮演的角色越来越重要。但当视频监控没有提示功能的话,那么对视频内容的判断和异常情况的处理只能依赖人来完成,这就对监控人的注意力和对异常情况的应变处理能力提出了很高的要求,大多数的经济损失都是由监控人员的疏忽造成的。其二,在监控过程中,监控视频通常存储在磁盘中,由于监控时间长,会要求足够大的磁盘空间存储视频,如果长时间记录的是无运动的视频图像,这样所含有用的信息极少,从而造成了资源的严重浪费。所以,视频监控系统和运动目标检测结合起来,有效地减少了磁盘不必要的存储,提高了磁盘的利用率。因此提出一种嵌入式系统与目标检测算法结合起来,并把运动的图像通过GPRS发送给管理者。
本系统主要包括ARM主控板、图像采集模块、GPRS模块等3大模块。该系统的设计目的是,由前端摄像头将采集到的图像信息进行编码压缩后,经RS232把图像信息传入到嵌入式处理器,嵌入式的Linux操作系统负责图像信息的目标检测、图像存储并通过GPRS通信模块给管理者发送过去,完成现场远程监控功能。
根据系统总体设计我们得出该系统可以快速的通过手机获取监控现场的信息,同时可以通过手机发送指令对该系统发送命令和进行配置。依据系统所需功能,设计硬件结构如图1所示。
图1 系统硬件结构Fig.1 Hardware structure
ARM主控板在整个系统中起到核心作用。它不仅要承担对异常事件的判断和处理工作,还要负责图片采集,发送和接收短消息并且具有处理短信息内容的能力。为了使用户更加友好的操作,在主控板上我们配置触摸屏采用图形化界面对整个系统进行配置,这就要求处理器具有对GUI的支持。在本系统中我们釆用ARM9开发板(其核心处理器是S3C2440),该主控板集成丰富的外设资料可以满足我们的系统需要,其中主要包括LCD和触模屏接口 (支持用户通过触摸柄进行操作)、64MB SDRAM、2MB Nor FLASH、64MB Nand FLASH、USB l.l Host接口、USB l.l Device接口、SD卡接口等等。
本开发板配用了 CMOS摄像头模块 CAM130,其内部使用的是 OV9650芯片,需要为其配置驱动程序。在Device Drivers菜单里选择 Multimedia devices,回车进入,选择OV9650 on the S3C2440 driver,如图 2所示。
图2 CMOS摄像头驱动配置Fig.2 CMOScamera driver configuration
由于本开发板支持万能USB摄像头,识别中星微摄像头,所以本系统不需要进行摄像头驱动的移植。
所谓GPRS(即通用分组无线服务)是以GSM系统为前提发展的一种承载业务,是在传统GSM网络之上架构,用来完成分组形式的数据服务,它是一种标准的分组交换数据。用户可以在一端到另一端不用电路交换模式就能在分组转移模式下接收或发送数据,相对优点:资源利用率高,永不断线,按流量收费,登陆快捷,可达115 kbps快速传送[1-2]。
本系统采用西门子公司的MC35i,它是新一代的双频GSM/GPRS无线模块,迅速稳定的条件下进行系统数据语音传输,甚至传真和短信也没问题。系统使用的正常电压是3.2~5.0 V,在800 MHz和1 800 MHz两个频段进行工作,对应频段功耗分别是2 W和1.5 W[3]。
MC35i模块主要由GSM基带处理、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为MC35i的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。
MC35i模块的正常运行需要相对应的外围电路与其配合,MC35i共有40个引脚,通过ZIF连接器分别与电源电路、启动与关机电路、数据通信电路、语音通信电路、SIM卡电路、指示灯电路等连接。这40个引脚又可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。如图3所示,即为MC35i硬件连接图。
图3 GPRS通信模块接口框图Fig.3 GPRScommunication module interface block diagram
在硬件和操作系统准备好后,进行本系统软件部分的编码与实现。该系统采用中星微摄像头,使用的芯片是中星微ZC301P。通过摄像头进行视频信息的采集和捕获。当有物体闯入监测区域时,系统会对入侵物体进行图片保存并通过GPRS发送给用户。本系统软件设计部分分为视频采集模块设计、动态图像检测及GPRS通信模块。
本系统的视频采集模块是基于V4L2(Video for linux 2)Linux的视频编码,V4L2是 Linux系统中关于视频设备的内核驱动,是V4L的升级版本,包括一套数据结构和底层V4L2驱动接口。在Linux中,视频设备是设备文件,这里使用的中星微摄像头属于字符设备,可以像访问普通文件一样对其进行读写。本系统的摄像头在/dev/video下。
V4L2视频采集的基本流程包括以下几个方面是:打开视频设备、读取设备信息和视频信息、初始化视频设备、视频采集、视频数据的处理和显示、关闭视频设备。流程如图4所示。
图4 视频采集基本流程图Fig.4 Video capture basic flowchart
目前,常见的动态图像检测算法有背景差分法、光流法、帧差法等。背景差分法检测是将视频帧图像与背景参考模型相对比,从而检测出移动物体[4-5]。本系统使用背景差分法,其运动目标检测的流程图如图5所示。
图5 运动目标检测流程图Fig.5 Moving target detection flowchart
本系统使用的运动目标检测算法为 motion,它集成了运动目标检测和保存变化的图片。在探测到时运动目标时,它可以执行所设定目录里的文件或脚本等功能。motion在mini2440开发板上的交叉编译过程如下:
1)在虚拟机RHEL5系统中创建目录 motion #mkdir/home/motion
2)将motion-3.2.12.tar.gz源代码拷贝到虚拟机中上面所建的目录下。
3)解压motion源代码 #tar zxvf motion-3.2.12.tar.gz
4)创建交叉编译安装目录 #mkdir/opt/motion
5)交叉编译 #cd/home/motion/motion-3.2.12
#./configure--host=arm-linux--build=i486-gnulinux --prefix=/opt/motion
其中,--host=arm-linux是交叉编译,--prefix是motion安装目录
6)将编译生成的可执行程序和配置文件拷贝到根文件系统 #cd/opt/motion
通过 SecureCRT的 rs命令下载bin目录下的motion可执行文件、etc目录下的 motion-dist.conf和motion.conf文件,然后将下载的上述3个文件上传到mini2440开发板系统中,并对motion.conf的配置选项作相应的修改即可。
监控主板通电后,主机开始初始化,模块由AT指令对MC35i完成初始化。西门子MC35i模块支持AT指令集,并使用扩展的AT指令控制短消息的发送。本系统采用AT指令实现通信。主控模块发出的AT指令用来建立通信链路。AT指令集的命令格式帧都是以AT开头。
在进行GPRS上网之前,首先要对GPRS模块进行初始化设置。主要包括设定它的工作模式、外部接入点和使用的协议类型等。下面为初始化使用的AT指令:
1)连接到GPRS网络。AT+CGATT=1。为了使用GPRS服务,MC35i必须先连接到GPRS网络,然后MC35i才能启动GPRS的数据集以及移动应用操作程序。
2)发起 PDP上下文激活请求。AT+CGDC0NT=1,,P,CMNET。也就是指定通讯格式、IP地址类型和网络接入点APN(负责与因特网或者其他兼容网络的交互)。
3)协商 Qos(服务质量)。 AT+CGQREQ=1,3,4,3,0,0。 其中的数字分别表示了 PDPcontext标志符、服务优先级、延迟级别、可靠性级别、峰值吞吐量别。
4)进行PDP上下文激活。AT+CGACT=1、1。用于在数据传输前先激活,如果GPRS还没连接,它将由AT指令自动连接。其中后一个1标示特定的PDP上下文。MC35i在上面的4个步骤中都要回答OK表示确认。
5)进入数据传输模式。AT+CGDATA=PPP。MC35i回答:CONNECT。然后就可以用PPP帧格式直接传送数据,MC35i的回答也是以PPP帧格式,等PPP连接终止后,才能发送更多的AT指令给GPRS模块。
初始化完成以后,使用摄像头模块对监控场地进行图像采集[6],图6为GPRS通信模块软件工作示意图。
图6 GPRS通信模块软件工作示意图Fig.6 Schematic GPRScommunication module software work
给开发板上电后,通过串口调试软件可以看到MC35i初始化的各条指令。在终端窗口输入AT+CMGF=0,设定模块工作模式为PDU模式,返回0K后,输入AT+CMGS=(手机号码)按下回车,在收到>后输入所要发送的信息内容即可向指定手机发送消息,在收到0K!后表示发送成功,证明GPRS模块通信良好。
当开发板启动起来后,连接好摄像头,切换到motion目录下,执行命令:#./motion-c motion.conf,摄像头监控区域有运动目标时,摄像头会保存有变化的图片到/root/motion下,并把有变化的图片发送给用户。
经过测试分析,基于GPRS动态图像监控的设计与实现方案具有实时性好、功耗低、工作可靠等优点,适用于家庭住宅,仓库等。本系统通过嵌入式系统与运动目标检测相结合,对移动的物体进行摄像保存并通过GPRS发送给用户。通过查找目前国内外远程监控系统相关资料,完成了系统设计和实现主要功能。
[1]张舰.嵌入式家庭无线网络监控的设计与实现 [D].成都:西华大学,2010.
[2]Vojin G.Oklobdzija.Digital Design and Fabrication[M].CRC Press,2008.
[3]潘斌,郭红霞.短信收发模块MC35I的外围电路设计[J].单片机及嵌入式系统应用,2004,4(7):38-41.PAN Bin,GUO Hong-xia.Peripheral circuit design text messaging module MC35I[J].Microcontroller and Embedded Systems,2004,4(7):38-41.
[4]李志华.智能视频监控系统目标跟踪与分类算法研究[D].浙江大学.2009.
[5]于哲舟.视频流图像内容检索与运动目标检测研究[D].吉林大学,2007.
[6]Parmo B.Aportable and scalablemonitoring systemfor cluster[J].Software Practiceand Experience,2000,12(7):723-739.