《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于视频动态检测的车库监控报警系统
基于视频动态检测的车库监控报警系统
来源:电子技术应用2013年第11期
张 凯,庄 梁,张 强
南京信息工程大学 信息与控制学院,江苏 南京210044
摘要: 为解决因小区车库物业监管疏忽而造成的车辆被盗等问题,提出了一种安装在私家车上的视频动态检测监控报警系统。系统采用S3C6410微处理器芯片,将motion动态检测程序、嵌入式Boa服务器等移植到系统终端,通过帧差法实现对车内图像的动态检测,并由WiFi模块将系统接入小区网络。当有物体闯入车内时,系统即发出报警并发送邮件通知用户,用户通过邮件推送服务可在手机上得到实时图片信息,也可通过访问网页获得实时视频。测试结果表明,动态检测稳定可靠,视频流畅清晰,能够满足要求。
中图分类号: TP368.2
文献标识码: A
文章编号: 0258-7998(2013)11-0030-04
Garage monitoring alarm system based on video motion detection
Zhang Kai,Zhuang Liang,Zhang Qiang
School of Information Science & Control, Nanjing University of Information Science & Technology, Nanjing 210044,China
Abstract: In order to solve the problem that cars are stolen which caused by the regulatory oversight of residential property, a monitoring alarm system based on video motion detection which installed in the private car is proposed. The system uses the S3C6410 microprocessor chip. Motion and Boa server are transplanted into the system terminal, and the frame difference method which can realize the motion detection of image in the car is used. The system is connected to the network community by the WiFi module.When an object coming into the car, the system alarms and sends an E-mail to the user. User can get the real-time picture on the mobile phone by E-mail pushing service, and can also acquire the real-time images by browsing the webpage. The test result shows that motion detection is stable and reliable, the video is fluent and clear,and it can meet the requirements.
Key words : embedded;community garage;motion;Boa server;frame differentiation method

    随着人们生活水平的不断提高以及安全意识的不断增强,人们对小区安全也越来越重视,而小区车库安全是小区安全中必不可少的一部分[1]。但是由于小区入住率低、小区车库管理混乱、环境复杂,私家车在小区车库易遭受偷盗,甚至抢劫,导致车主遭受巨大损失。目前小区车库主要由监控人员通过视频监控。然而由于视频监控存在盲区、车库监控设备易遭破坏以及监控人员疏忽等问题,此种方式不能有效地保障私家车在小区车库的安全。相关文献介绍的当前车库的监控系统主要是基于PC平台的监控,是对整个小区车库的监控,并且不具备主动报警的功能。为此,设计了一种安装在私家车内的监控报警系统。该系统不同于一般的汽车防盗报警系统,可以通过对车内图像的检测来判断车辆是否被偷盗,并可进行邮件通知和实时监控,通过对摄像头的控制可更加直观地观察到现场的情况,对于提高私家车在小区车库的安全性具有很大帮助。

1 系统总体设计
    系统的整体结构简图如图1所示,该系统由视频采集终端、无线网络端以及视频接收终端组成[2]。整个系统通过WiFi模块接入小区网络。视频采集终端将USB摄像头采集到的实时视频数据传输到系统中,然后由motion对采集到的视频进行处理。当检测到有物体进入车内时即发出报警,并通过邮件把车内实时图片发送出去;视频接收终端通过网络以及CGI脚本与嵌入式Boa服务器进行交互,可实现对车内视频的实时监控。

2 系统硬件设计
2.1 系统硬件平台设计

    该系统硬件主要包括32位的嵌入式微处理器、WiFi无线模块、USB摄像头等。系统的硬件结构框图如图2所示,其核心部分为S3C6410微处理器和256 MB的SDRAM、1 GB的NAND Flash以及多种外设接口(包括USB接口、SDIO接口、网卡接口等)所组成的最小系统。

2.2 USB摄像头
    USB摄像头与微处理器的USB HOST接口直接相连。摄像头采用OV9650芯片,支持最大分辨率为1 300×1 028,可以输出GRB4:2:2、YUV(4:2:2)和YCbCr(4:2:2)三种视频格式,这三种格式均符合CCIR601和CCIR656标准。
2.3 WiFi无线模块接口电路
    WiFi无线模块采用Marvell公司低成本、低功耗的88W8686芯片,它通过SDIO接口与主控设备相连。该模块遵循IEEE 802.11g标准,而且兼容802.11b协议标准,工作在2.4 GHz频段,最高传输速率可达54 Mb/s。内置天线,可适应不同的工作环境,设备可以方便地接入无线网络[3]。S3C6410 带有2 路SDIO 接口,其中 SDIO0 通常被用作SD卡接口使用,另一路在本系统中用于连接WiFi无线模块,其接口电路图如图3所示。

2.4 SD卡接口电路
    SD存储卡用于对重要视频数据以及图片的存储。通过SDIO接口与系统相连,最大可支持32 GB。其接口电路图如图4所示。

3 系统软件设计
3.1 软件开发环境介绍

    本系统采用Linux操作系统, Linux系统具有开源、内核可裁剪、对网络的支持比较完善等特点,用户可以根据自己的需求对内核进行裁剪并重新编译。在开发阶段,采用挂载NFS根文件系统进行开发,以方便软件的调试。本文完成的工作有:(1)在前面所述的硬件平台上构建最小嵌入式Linux系统,包括对UBOOT、内核、根文件系统的移植[4],在对内核进行移植时,将本系统所用到的USB摄像头和WiFi模块等相关的驱动编译到内核中。(2)在该系统平台上进行motion的移植及嵌入式Web服务器的搭建。编写基于motion的监控程序,通过CGI和motion中的Http API来编写Web控制页面并对该系统进行整体测试。
    系统交叉编译环境:主机开发环境选择ubuntu9.10操作系统,主机工具链gcc-4.6.3,交叉编译工具链arm-linux- -gcc-4.3.2,内核版本采用Linux2.6.38内核。
3.2 移植motion到6410开发板
     motion是一个用于移动图像监控的程序,本系统实现的视频动态检测功能就是基于motion的,使用的是motion-3.2.12版本。下面介绍motion的移植和相关的配置。
    首先将motion-3.2.12源码解压到/work/tools目录下,接下来进行编译安装,进入解压后的目录,执行命令:./configure-prefix=${PWD}/_install-host=arm-linux,生成Makefile文件,由make进行编译,make install将生成的库和头文件安装到指定的./_install目录下。然后拷贝./_install/bin/下的可执行程序motion到开发板根文件系统的/usr/sbin目录下。另外需在开发板根文件系统目录中创建/var/run/motion/目录,用于存放motion进程。
    接着进行motion的配置,根据./_install/etc/下的参考配置文件进行配置,修改后将配置文件放在开发板根文件系统的/etc/motion目录下。配置文件的主要参数设置如表1所示。

3.3 动态视频检测算法及报警实现
    目前,在静态背景下,主要有三类运动目标检测算法:帧差法、背景减法和光流法。本系统调用的motion采用帧差法[5]。该方法基于图像序列中相邻图像中较强的空间相关性,直接将相邻两帧或多帧图像中对应的像素点逐一相减,各个像素对之间都会得到一个数值,如果这个数值的绝对值小于指定的阈值,则认为该点为背景像素点,反之为运动目标中的像素点。帧差法最大的特点在于算法实现简单,程序设计复杂度低,实时性好。此外,由于相邻帧的时间间隔比较短,因此该方法对光线的变化具有较强的鲁棒性,帧差法流程图如图5所示。

    其中T为二值化阈值,Di(x,y)中的1表示运动目标,0表示背景。本系统的motion动态视频检测通过帧差法来判断是否有物体入侵,并通过2个脚本来响应motion事件,以实现监控报警和邮件通知。监控报警脚本通过判断motion配置文件中的参数设置决定在on_motion_detected事件触发时播放报警声。邮件通知脚本通过判断motion配置文件中的参数设置决定在on_event_start事件触发时发送最新捕获到的图片信息到指定的邮箱来通知用户。
3.4 Web服务器的搭建
    为了方便服务器和浏览器通信,需要进行Boa服务器移植以及CGI程序编写和HTML网页设计。
    Boa服务器通过建立http请求列表来响应多路http连接请求,可以大大节约系统资源,非常适用于嵌入式系统[6]。这里主要介绍Boa服务器的移植过程。首先将下载的Boa源码包解压到/work/boa目录下,进入解压后的目录/work/boa/boa-0.94.13/src执行./configure生成Makefile文件;接下来修改生成的Makefile文件,将CC=gcc改为 CC=arm-linux-gcc,将CPP=gcc-E改成CPP=arm-linux-gcc-E,保存后进行make;之后执行arm-linux-strip boa,可以去掉调试信息并进行优化,最终会在src目录下生成boa可执行文件。然后对Boa的配置文件boa.conf修改如下:
    修改#ServerName www.your.org.here
    为 ServerName www.your.org.here;
    修改DoucmentRoot /var/www
    为DoucmentRoot /www;
    修改AccessLog /var/log/boa/access log
    为#AccessLog /var/log/boa/access_log;
    修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    为ScriptAlias /cgi-bin/ /gec/web/cgi-bin/。
    接着在开发板上创建/etc/boa和其他相关的目录并将前面生成的boa和boa.conf拷贝过来,步骤如下:
    创建目录mkdir /etc/boa;
    创建HTML文档的主目录mkdir /www;
    创建CGI脚本所在录  mkdir /www/cgi-bin;
    将boa.conf拷贝到开发板根文件系统的/etc/boa下cp boa.conf  /nfs_root /etc/boa;
    将boa拷贝到开发板根文件系统的/etc/boa下cp src/boa  /nfs_root /rootfs/etc/boa;
    将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下cp /etc/mime.types  /nfs_root /rootfs/etc。
    接下来进行CGI程序的编写,其编程原理主要为:通过GET或者POST等方法获取表单中的数据,激活URL所指定的CGI应用程序,CGI应用程序将处理好的结果传送给服务器,服务器再把结果返回到浏览器。
    系统的HTML页面包括4个界面,即系统设置、网页监控、查看图片和查看视频。将设计好的index.html页面拷贝到开发板www目录下,打开浏览器输入开发板地址,如http://172.16.72.93/index.html,可看到设计好的网页。
3.5 基于TCP/IP协议的视频流传输

 


    本系统的视频实时传输是基于TCP/IP协议的流式套接字接口编程方式[7]。实现的该协议的设计基于分层模型,包括网络接口层、网络层、传输层、应用层,每一层都封装来自上一层的消息,加上自己的数据头和数据尾。它实现了网络中不同主机间的通信,属于典型的B/S模式。面向TCP的网络通信流程如图6所示。数据传输的步骤如下:首先服务器端创建Socket函数进行初始化并建立流式套接字,之后调用Bind函数进行端口绑定,接着调用Listen函数等待浏览器的请求。当浏览器向服务器发送连接请求时,通过Accept和Connet函数来建立连接,接着通过Send和Recv函数实现数据的通信功能,最后通过Close函数关闭套接字。
    本文提出了基于视频动态检测的小区车库私家车监控报警系统。主要从motion移植、视频动态检测及报警、Web服务器搭建和视频传输等方面阐述了系统的设计思路。实验测试表明,系统运行稳定可靠,视频传输的清晰度高,传输流畅,能够满足需求,可以极大地提高私家车在小区车库的安全性。
参考文献
[1] 李红刚,张素萍,方佳,等.基于ARM的智能家居远程监控系统设计[J].现代电子技术,2009(5):134-128.
[2] 李昂,送海声,苏小芸.基于Android的视频监控系统设计与实现[J].电子技术应用,2012,38(7):138-140.
[3] 曹理发,尹勇,刘恒辉.基于ARM和DSP的视频监控系统设计与实现[J].电子器件,2009,32(1):213-217.
[4] 韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.
[5] 徐腾飞.视频序列中基于检测的多目标跟踪研究[D]. 南京:南京邮电大学,2011.
[6] 陈荣军,罗文聪.基于无线的物联智能家居控制系统设计[J].电子技术应用,2012,38(5):142-144.
[7] 代治国,李兴霞.基于ARM的智能小区远程视频监控系统[J].电子设计工程,2013(2):70-72.

此内容为AET网站原创,未经授权禁止转载。