基于ARM的智能监控报警系统的设计与实现

更新时间:2023-09-25 09:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于ARM的智能监控报警系统的设计与实现

摘要: 基于UP-NETARM2410-S平台实现运动图像的检测、报警以及对监控设备的开关控制。利用GSM网络实现短信收发功能控制设备的开关,当设备收到打开信号时,系统将不断地采集图像信息,通过分析判断是否有运动物体并报警。

关键词: ARM;GSM;V4L;ioctl

中图分类号:TH 文献标识码:A 文章编号:1671-7597(2011)0310056-01

0 引言

传统的视频监控系统由于采用人工监控以及设备自身的局限性,使得报警系统会出现漏报,误报,报警系统的安全性与实用性大大降低。

本文利用嵌入式平台上的GSM模块实现对设备的远程控制和接受设备短信,通过USB摄像头对特定空间的视频帧信息进行抓取进而进行特定分析,根据分析的结果判断是否要向报警。 1 系统设计

本系统能实现通过GPRS控制监控设备开闭与与动物体的检测与报警。为了实现以上功能,将系统分为两个功能模块:图像抓取模块和监听用户控制命令模块。

1)系统的硬件设计

本系统主要采用博创S3C2410嵌入式实验开发平台,该处理器内部集成了ARM公司ARM920T处理器核的32位微控制器,主频最高可达203MHz。另外,该平台还配置了64M NAND FLASH和64M SDRAM。ARM嵌入式开发平台的GPRS扩展板采用的GPRS模块型号为SIM100-E,是SIMCOM公司推出的GSM/GPRS双频模块,主要为语音传输、短消息和数据业务提供无线接口,本系统中只用到了短消息收发。SIM100-E模块为用户提供了功能完备的系统接口。摄像头采用网眼2000B,它的速度在352*288的分辨率下可以达到至少25fps,并且支持24位的色彩深度,网眼2000B使用USB接口,连接和使用都很方便,不需要外接电源。本系统总体硬件设计如图1所示: 2)系统的软件设计

系统主要利用了摄像头,GSM和LCD(主要是用来演示)来完成视频监控和报警的功能。摄像头不断地采集图像后,经过一系列图像处理后得到最后的图像,并通过判断该图像来决定是否利用GSM网络向用户报警并在LCD上显示。系统的主要线程包括串口监听线程、图像采集线程、运动目标检测线程和设置设备参数线程。系统软件总体设计模型如图2所示: 2 视频获取

USB摄像头以其良好的性能和低廉的价格得到广泛应用。同时因其灵活、方便的特性,易于集成到嵌入式系统中。在嵌入式Linux系统中,它的使用需要借助相应的内核驱动程序。 1)Video4Linux

Video4Linux是Linux中关于视频设备的内核驱动,为针对视频设备的应用程序编程提供一系列接口函数。配合适当的视频采集设备和相应的驱动程序,可以实现影像采集、AM/FM广播、频道切换等功能,在远程会议、可视电

话、视频监控系统中有着广泛的应用。

在Liunx 下,所有外设都被看成是一种特殊的文件,称之设备文件。系统调用是内核和应用程序之间的接口,而设备驱动程序则是内核和外设之间的接口,它完成设备的初始化和释放、对设备文件的各种操作和中断处理等功能,为应用程序屏蔽了外设硬件的细节,使得应用程序可以像普通文件一样对外设进行操作。

2)ioctl函数

Linux系统通过标准的I/O系统调用函数操作设备,从而实现与设备通信。ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数如下:

int ioctl(int fd,ind cmd,…);

其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,后面的省略号,是补充参数。其中本系统中所应用的对摄像头设备初始化的主要控制调用如下:

ioctl(vdev->fd, VIDIOCGCAP, &(vdev->capability)//得到图像采集设备相关信息。

ioctl(vdev->fd, VIDIOCGPICT, &(vdev->picture)//得到设备采集的图像属性。

ioctl(vdev->fd, VIDIOCSPICT, &(vdev->picture)//设置设备采集的图像属性。

ioctl(vdev->fd, VIDIOCGMBUF, &(vdev->mbuf)//得到映射缓冲区的属性,该控制函数的调用主要用于内存映射采集数据方式。 3 运动信息检测

系统通过摄像头得到视频图像后,需要判断是否有运动信息从而决定是否发出报警信息。对运动的目标检测主要有帧间差分法和差分背景法。 1)三帧间差分法

帧间差分法是通过计算相邻两帧图像间的差值来判断出运动区域的。但是此类方法往往会出现“双影”现象和“空洞”现象。三帧差分作为帧间差分发的改进算法,是将相邻的三帧图像作为一组进行再差分,能较好的检测出中间帧运动目标的形状轮廓。 2)差分背景法

在得到背景帧后,将当前帧和背景帧进行背景减除得到差值图像,所得差值图像中的像素灰度值如大于设定的阈值,则可判定为所要检测的运动目标。 由于利用背景差分与三帧间差分的联合算法对运动信息进行检测并不理想易发生误报警现象。另外考虑到开发板的摄像头对光线的变化十分敏感,所以本系统实际利用三帧间算法的改进算法来检测运动目标。检测时

考虑到有运动过缓和过快的物体,只用三帧根本无法检测的到,所以本系统采用“双三帧”的方式采集图像信息。 4 向用户报警的实现

GPRS 模块和应用系统是通过串口连接的,控制系统可以通过的AT 命令的字符串来与应用系统进行通信。GPRS 模块具有一套标准的AT 命令集,包括一般命令、呼叫控制命令、网络服务相关命令、电话本命令、短消息命令、GPRS

命令等。在本系统中只用到了短消息命令。通过AT 命令的编写,实现向特定用户手机号码编写短消息并进行发送。 5 结语

本次系统的设计是利用S3C2410开发平台综合运用GPRS无线通信、摄像头等实现的对运动物体的检测预报警。在系统设计的过程中运用了改进的三帧间差分算法图像处理技术对图像信息进行处理,取得了较好的效果。系统测试正常,完全能够实现所需功能。

参考文献:

[1]汪亚明、黄文清、周海英,动态图像序列中的运动目标检测[J].计算机测量与控制,2003.11(8):564-565.

[2]周西汉、刘勃、周荷琴,一种基于对称差分和背景消减的运动检测方法[J].计算机仿真,2005(4).

[3]文灏、陈红涛,基于减背景与对称差分的运动目标检测[J].微计算机信息,2007(25).

[4]博创科技.UP-NETARM2410-S Linux嵌入式系统实验指导书[M].北京博创科技,2004.

[5]文军,如何有效实现智能视频监控[J].中国安防(技术与应用),2008.11.55-57.

[6]姚聪、方勇、汪敏等,基于ARM的嵌入式图像采集处理系统及其无线传输[J].电子技术,2003.(11):31-341.

[7]李海峰,基于视频流运动信息分析系统研究与实现[D].吉林大学,2009. [8]Lipton A.Fujiyoshi H.Patti R Moving target classification and tracking from real-time video 1998.

[9]Valera M.Vehstin S A Intelligent distributed surveillance sys tems2005(2).

[10]Arseneau S.Cooperstock J Real-time image segmentation for ac tion recognition1999.

[11]Barren J.Fleet D.Beauchemin S Perforlnance of optical flow Techniques 1994(1).

本文来源:https://www.bwwdw.com/article/i3kd.html

Top