基于多传感器的高性能监控系统设计*
2014-12-31林飞龙彭诗瑶
林飞龙,彭诗瑶,2
(1.湖南大学物理与微电子科学学院,湖南 长沙 410082;2.中国科学院微电子研究所,北京 100029)
0 引言
远程监控[1]是集网络技术、通信技术、自动化控制技术、传感器技术于一体的综合应用技术,涉及生活、娱乐、工业、军事等诸多方面,是当前最热门、最具发展潜力的科技领域之一。
随着科技发展,监控技术从最初的模拟监控[2],经历PC视频监控[3],发展到了目前的嵌入式远程监控。嵌入式远程监控又是从 C/S 模式[4,5]逐渐变成以 B/S 模式[6,7]为主,并且一直向着低功耗、多功能、高性能方向发展。目前此类监控技术已经具备了比较完善的功能,但是依然存在许多不足,例如:文献[8]以ARM作为嵌入式服务器,实现了大坝监测数据的远程传输,但仅仅是单向数据传输,没有包含控制等其他功能;文献[9]结合了ARM和GPRS技术,设计了智能家居安防视频监控,虽然实现了监测与报警,但是依然缺乏控制功能,也没有网页视频监测功能;文献[10]增加了手机短信报警和嵌入式服务器功能,但是没有图像报警功能。
本文在此基础上进行系统扩展完善,在实现嵌入式服务器的基础上,结合applet,CGI和AJAX技术完善网页监控功能,采用多种传感器采集环境数据、视频数据以及人体入侵检测,利用GPRS模块实现短信交互、彩信报警,并添加图像处理技术对模糊图像进行复原。
1 硬件设计
系统的硬件结构主要分为嵌入式服务器(上位机)和采集控制告警模块(下位机)两部分。
1.1 上位机硬件电路
图1为嵌入式服务器硬件结构图。嵌入式服务器是系统的核心,采用飞凌嵌入式技术有限公司设计生产的FL2440开发板,其配置的S3C2440处理器是韩国三星公司推出的基于ARM920T内核的16/32位RISC处理器,支持WinCE,Linux等操作系统,在本系统中承担着视频、数据服务器的角色,实现数据收集、存储、传输。
图像传感模块采用中星微ZC301,该模块为USB接口,30W像素,足以应付近距离图片拍摄,并且直接输出JPEG图片数据,有利于网络传输与彩信发送。
图1 嵌入式服务器框图Fig 1 Block diagramn of embedded server
1.2 下位机硬件电路
图2为采集报警模块硬件结构,实现数据采集、电器控制和告警功能。选用STC12C5A60S2单片机作为核心处理器,温湿度模块用于采集温湿度数据,红外模块实现人体入侵感应,GPRS模块负责短信交互与告警,电器控制模块通过继电器实现电器类控制。
1.2.1 GPRS 模块
从控制系统成本考虑,GPRS模块选择广州谱泰公司的PTM101,内置TCP/IP协议与彩信协议,其硬件接口采用邮票孔封装,可以像芯片一样贴在应用板上,牢固可靠,大大缩小应用板体积。
图2 采集报警模块框图Fig 2 Block diagram of acquisition and alarm module
1.2.2 温湿度传感器
为减少硬件面积,系统选用SENSIRION公司的SHT11模块,支持CRC校验,传输可靠性高;在测量通信结束后自动转入低功耗模式;同时集成温湿度测量,测量温度范围为-40~100℃,精度为 ±0.4℃,测量湿度范围为 0~100%RH,精度为±3%RH,满足系统使用要求。其硬件连接方式简单,如图3所示。
1.2.3 红外传感器
图3 温湿度模块连接图Fig 3 Connection diagram of temperature and humidity module
本系统采用 HR—SR501人体红外感应模块,德国LHI778探头设计,灵敏度高、可靠性强;静态电流小于50 μA;可设置2种触发方式,自主添加光敏控制、温度补偿,应用灵活,价格便宜。
2 软件设计
软件设计是整个系统有效工作的核心,为保证服务器功能稳定,ARM处理器采用功能强大、稳定可靠的嵌入式Linux系统;下位机模块为保证实时性,自主开发与硬件全面融合的C语言程序代码。
2.1 温湿度采集
SHT11通过SCK时钟线和DATA数据线与单片机通信,上电后单片机需要发送一组“启动传输”时序:如图4所示,DATA起初为高电平,然后在相邻的2个SCK高电平之间令DATA保持低电平。
图4 “启动传输”时序Fig 4 Timing sequence of“start transmission”
初始化成功后控制器可发送测量任务命令,SHT11接收命令产生响应,然后等待其发出到“数据备妥”信号,读取数据。对于湿度数据,根据需要进行线性补偿和温度补偿来提高数据精度。
2.2 短信交互
系统采用PDU中文短信模式,发送时将信息内容严格按照PDU格式进行编码,再加上服务中心号码、被叫号码、协议标识、数据编码方案等内容,完成一条信息数据的打包,然后通过AT指令“AT+CMGS”启动发送。
接收信息时GPRS模块设置为自动上传,控制器以串口中断方式及时接收,然后按照信息格式解码出信息内容,完成相应操作,短信交互流程如图5所示。
2.3 视频采集传输
视频采集通过Video4linux接口函数,初始化摄像头后建立图像采集线程,以mmap内存映射方式获取图像数据。视频传输程序采用基于TCP协议的流式套接字技术,保证无差错、无重复发送,并按顺序接收。程序流程如图6。
服务器启动后首先初始化设备,建立采集图像数据的线程;同时建立套接字并绑定地址监听客户端请求。一旦收到客户端发送的服务要求则启动视频发送线程,若是退出请求则关闭套接字。图像的采集和发送是互斥的,因此,采集和发送线程中需要不断检测互斥锁是否到位。
图5 短信交互流程Fig 5 Short message interactive process
图6 视频采集与传输流程图Fig 6 Flow chart of video capture and transmission
2.4 感应与彩信报警
HR—SR501人体红外传感模块感应到人体后输出高电平,触发单片机外部中断,即发送命令到ARM处理器进行图像获取,然后以彩信方式发送到用户手机。
2.4.1 图像处理
本系统采用的ZC301图像传感,性能偏低,在目标发生运动时拍摄会造成图像模糊。针对该问题,并结合特定场合应用,采用背景法提取目标,运用差分法获得目标运动函数,通过改进的LR算法进行图像复原。
1)背景差分法获取模糊函数
采集一帧背景图像G0,两帧运动模糊图像G1,G2,G1-G0得到M1,G2-G0得到M2;设置适当阈值,对M1和M2逐像素扫描,当检测到M(i,j)大于阈值时,计算该点3×3区域的平均灰度值,即
若依然大于阈值,则记录该点属于模糊区域;按照此方法可以提取出模糊区域范围,端点分别是M1xmin,M1xmax,M1ymin,M1ymax和M2xmin,M2xmax,M2ymin,M2ymax(x代表行,y代表列),总共8个顶点,依次记为a1(M1xmin,M1ymin),a2(M1xmin,M1ymax),a3(M1xmax,M1ymin),a4(M1xmax,M1ymax),b1(M2xmin,M2ymin),b2(M2xmin,M2ymax),b3(M2xmax,M2ymin),b4(M2xmax,M2ymax),根据运动连续性和短时间内的匀速运动估计,可得模糊长度
模糊角度
即可得到点扩散函数。
2)改进LR算法复原
LR算法是目前被广泛应用的图像复原算法之一,它假设图像服从泊松分布,采用最大似然法进行估计,是一种基于贝叶斯分析的迭代算法[11],其迭代方程为
其中,⊕和*分别为相关运算和卷积运算,k为迭代次数,h为点扩散函数,可令g=f0进行迭代。对于实际质量较差图像,噪声不可忽略,得到
可见,噪声的存在导致了迭代的不收敛,即噪声放大[12]。构造改进的LR算法如下
其中,q(x,y)定义为
式中 Δ为由中心差分计算得到的梯度,s为梯度弱化因子(<1),G∂为对图像进行高斯低通滤波后的结果。在开始迭代前,先用高斯滤波器处理最初图像得到初始图像f0,初步地减弱噪声;接着,每次迭代前,都先计算q,然后代入式(6)对LR滤波进行约束:对于高频部分,若梯度值很大,|ΔsG∂|趋向于无穷,此时式(7)趋向于 0,则式(6)相当于式(5),说明具有一定的边缘保持能力;对于低频部分,若梯度值趋近于0,则|ΔsG∂|趋向于0,此时式(7)趋向于1,式(6)趋近于0.5,能够提高对比度;同时,由于G∂是对迭代后图像进行了高斯低通滤波的结果,已经减弱了许多噪声,因此,Δs主要作用于非噪声的边缘部分。但是当图像中含有污点时,该算子会同样使污点明显,因此,添加梯度弱化因子,减弱梯度作用,提高高斯滤波器作用效果,当s值趋向于0,则 Δs为1,高斯滤波起完全作用。
2.4.2 彩信发送
PTM101模块已经集成了彩信发送协议,只需通过串口发送相应AT指令和jpg图片数据到模块即可实现彩信发送,其发送流程如下:发送“AT^MMSUPSTART/r/n”,模块回复“OK”后,上传jpg图片数据,然后发送“AT^MMSUPEND/r/n”,若模块回复“PICTURE UPLOAD OK”则表明上传图片成功,接下来发送“AT^MMSSEND=158xxxx9465/r/n”,模块回复“MMS SENDING…”表明正在发送中,“SEND MMS OK”表明发送成功。
2.5 网页动态交互
系统需要通过B/S架构实现远程监控,因此,必须实现Web服务器功能。选用的Boa服务器是单任务HTTP服务器,处理速度快、源码开放、占用空间小,且支持cgi技术。
网页的框架设计使用Dreamweaver软件,主要有视频监视、数据显示、操作控制3个部分。视频显示、数据曲线绘制、时间日历显示都是采用Java小应用程序applet来编写。其中,视频显示使用SwingWorker来创建图像线程,建立套接字连接。数据采集与操作控制以ajax异步交互的方式与服务器cgi通信。当网页中提交请求时,首先通过ajax技术的XMLHttpRequest对象建立一个异步机制,然后以get方式将页面请求信息提交给服务器cgi函数进行处理,同时指定cgi处理函数,并建立回调处理函数用于响应。其交互流程如图7,整体网页效果如图8。
图7 ajax和cgi运行机制Fig 7 Operating mechanism of ajax and cgi
图8 网页界面Fig 8 Webpage interface
3 实验结果
图9是根据背景差分法得到模糊长度a=39,模糊角度b=45,之后通过3种方法得到的处理结果,从中可见本文改进的LR算法在视觉上较其他两者复原效果更好。
表1是采集1张相近的静态照片与3张模糊图像处理结果得出的评价参数表,峰值信噪比(PSNR)值越大复原质量越高;均方误差(MSE)越小表明复原质量越好;相关测度K值越大表明越相近。从表中数据可以看出:本文算法在3个方面的评价上都比其他2种复原方法要好。
图9 图像处理结果Fig 9 Image processing results
表1 评价参数对比Tab 1 Comparison of evaluation parameter
4 结束语
本文设计实现了一种更加全面完善的远程监控系统。采用温湿度传感器、图像传感器、人体红外传感器作为系统最前端的感知基础,采用ARM处理器建立数据、视频服务器,GPRS模块完成远程短信交互和彩信报警。细节上利用cgi,ajax,applet技术完善远程客户端页面,使用上更加方便、灵活、界面更加美观丰富,获取图像时添加图像处理技术,用以提升低端图像传感器性能,使得系统更具实用性。
[1]尧 平.基于嵌入式Web技术的远程监控系统研究[D].长沙:中南大学,2012.
[2]马武强.一体化模拟监控摄像机的设计及实现[D].太原:太原理工大学,2008.
[3]袁 毅.基于嵌入式Web服务器的网络视频监控[J].电网技术,2000,24(5):71-73.
[4]王晓东,杨学海.SNMP在C/S模式远程监控管理系统设计中的应用[J].电讯技术,2010(1):87-92.
[5]梁志勇,戴胜华.基于C/S模式的煤矿监控系统的应用研究[J].铁路计算机应用,2011(3):30-34.
[6]刘 娇,刘佳欣,唐 磊.基于B/S的通信电源监控系统软件设计与实现[J].电源技术,2013(1):136-137.
[7]蔡骥然,曹海传.B/S架构下基于OPC与Comet技术的实时监控系统[J].计算机应用,2012(2):214-216.
[8]宁 勇.基于ARM&Linux的大坝安全远程数据传输系统设计[D].长沙:湖南大学,2010.
[9]李 晋.基于 ARM和 GPRS智能家居安防视频监控设计[D].西安:西安电子科技大学,2011.
[10]杨国斌.基于嵌入式的智能安防系统的设计与研究[D].长沙:湖南大学,2012.
[11]闫 河,闫卫军,李唯唯.基于Lucy-Richardson算法的图像复原[J].计算机工程,2010,36(15):204-210.
[12]郭奕松,刘泽昕,徐伯庆.一种Lucy-Richardson算法和小波变换结合的图像复原算法[J].光学仪器,2012(6):26-30.