基于SoPC技术的实验室智能视频监控系统
2012-06-29车进,康彩,吴丹
车 进,康 彩,吴 丹
(宁夏大学物理电气信息学院,宁夏 银川 750021)
责任编辑:任健男
随着科学研究日益广泛,实验室安全问题受到了人们越来越多的重视,实验室内设备的造价一般都很昂贵,一旦发生意外事故(如火灾、偷盗等),将会造成很大的损失。鉴于智能视频监控系统具有广泛的应用前景[1],比较理想的解决方案就是在实验室内安装视频监控系统,对实验室的情况进行实时反馈,一旦发生意外能及时通知相关人员,达到实时安防监控。此外Altera公司提出的片上可编程系统(SoPC)解决方案,使得FPGA在嵌入式系统设计领域的地位越来越重要。Altera在继Nios之后,推出了功能更加完备的第二代处理器Nios II,并提供了完善的集成开发工具[2],熟练应用开发工具可快速开发出高效的SoPC系统,应用于各个领域。
基于上述,本文提出了基于SoPC技术的实验室智能安全监控系统。系统采用Altera公司的TE3开发板,将Nios II软处理器与Cyclone II相结合作为主控制器,结合智能视频理念,为实验室监控提供了一个低成本、低功耗、多功能的解决方案。
1 系统总体方案设计
系统由计算机终端和基于TE3开发板的监控器组成。其中计算机终端负责实时接收监控器发来的信息,进行信息处理,通过视频实时显示实验室内部情况以及各参数的当前值,将信息存入数据库,同时判断是否有异常情况,如有异常情况,则启动报警装置。监控器负责图像采集、压缩、运动目标检测与跟踪和网络传输,以及将各个传感器的数据通过网络传至远程计算机端。系统整体设计结构如图1所示。
图1 系统总体设计模块
在该系统中使用的平台为Altera的TE3开发板,它由一块核心板和一块扩展板组成。核心板是由FPGA及一些常用的外围器件组成的一个最小的也是完整的SoC系统,其核心为Cyclone II 2C35 FPGA芯片,还包括存储器、网络接口及串口等。扩展板具有丰富的用户接口,除了常用的输入输出接口之外,为模拟音视频设计了AV,VGA及音频输入输出接口,为数字视频及无线应用增加了ASI,A/D及D/A接口。系统采用CCD图像传感器采集图像,输出为NTSC制全电视信号,分辨力为640×480,通过步进电机和电机驱动电路来完成控制摄像头的方向控制,电机驱动采用L298N作为驱动芯片,驱动器和电机之间加光耦隔离,采用PWM方式控制驱动电机。系统连接的传感器有温度传感器、湿度传感器、烟雾传感器和红外热释传感器。
2 系统各模块设计及实现
系统的设计基于SoPC技术,利用SoPC Builder完成Nios II处理器软核及其外设的创建和配置,定制成SoPC组件[2-3]。在Nios II集成开发环境下用C++语言编程完成系统中各个组件间的有机配合,实现智能监控功能。
整个系统具体可以划分为图像实时采集、图像预处理、图像压缩、图像存储、运动目标监测跟踪、CCD摄像头控制、传感器、数据信息传输、远程计算机监控及报警等模块,如图2所示。下面分别介绍各模块实现方案。
图2 系统功能模块划分
2.1 图像采集及编码空间转换模块
由于CCD摄像头输出的NTSC制式全电视信号不能直接进行数据处理和存储,所以必须首先对其进行解码和色彩空间转换等一系列处理。在此,将采集到的模拟视频信号通过TV Decoder 7181B解码为标准的ITU656格式的数字信号,再通过硬件模块ITU656转换为YCbCr信号(Y∶U∶V=4∶2∶2),并将其转换为 RGB(由红、绿、蓝3 个分量组成)信号,至此完成了图像采集和图像编码以及空间转换。
2.2 VGA显示模块
VGA输出接口芯片采用AD公司的ADV7123来对RGB视频信号进行D/A变换。输出的RGB信号经过视频编码,通过DAC904显示到VGA上,实时显示采集到的图像。
2.3 存储模块
将RGB信号的另一路存入开发板上的SRAM中,供给图像预处理模块和Nios II读取进行下一步处理。图像传输采用全双工通信。
2.4 图像预处理模块
这里的主要处理过程就是从SRAM中读取RGB信号,先根据RGB图像灰度转换公式[4]转换为灰度图像,再采用阈值法处理为二值化图片,提供给Nios II做运动目标检测与跟踪。转换公式为
2.5 运动目标检测与跟踪模块
原始图像数据经过二值化,与原始存放的图像数据使用做差法进行处理,得到图像差异信息,并据此进行轮廓提取,计算得到最大的图像轮廓信息确定为跟踪对象,根据跟踪对象的坐标控制步进电机控制模块,完成运行目标的检测与跟踪。算法流程如图3所示。
2.6 图像压缩模块
图3 运动物体检测与跟踪算法流程
为了在有限的SRAM空间中存储更多的图像数据,并有效提高数据传输的效率,需要对视频图像进行压缩。目前最流行且全面的连续色调静止画面压缩标准之一是联合图像专家组JPEG(Joint Photographic Experts Group),其压缩技术采用有损压缩方式离散余弦变换(DCT)去除冗余的图像数据,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10∶1到40∶1之间[4-6],因此本系统采用JPEG标准进行图像压缩。其基本算法流程如图4所示。
图4 JPEG图像压缩算法流程
1)颜色空间的转换和采样。系统通过CCD摄像头采集到彩色图像,分别对每个彩色分量进行压缩,然后合成为完整的压缩图像。在数字视频处理中,相对于RGB空间,YCbCr空间(Y分量表示亮度信息,Cb表示色度,Cr表示饱和度)的压缩效果更好,这是由于人眼对色彩变化的敏感度不如对亮度变化的敏感度,因此对色彩的编码可以比对亮度的编码粗糙些,从而可以提高压缩比。基于以上原因,本系统在对彩色视频图像压缩前先将其从RGB空间转换到YCbCr空间,采用的转换公式为
2)二维离散余弦变换。DCT能够将图像空间表达式转换为频率域,实现能量压缩,可以达到减少图像空间冗余性的目的。对具有高度相关性的图像信号而言,DCT具有很好的压缩特性,JPEG,MPEG和H.263等标准都采用DCT技术作为压缩编码的首选方案。二维DCT及其逆变换公式如下
根据JPEG标准,在编码器的输入端,把待转换的图像依次分割为不重叠的8×8像素块,然后对每个像素块分别采用二维DCT进行变换,由此获得64个变换系数,可用一个8×8的数组F(u,v)表示。根据DCT的性质,元素F(0,0)表示直流(DC)系数,即8×8像素块的均值,其他63个元素为交流(AC)系数。
3)量化。其过程是将每个DCT系数除以各自的量化步长并取整数得到量化系数,目的是减小非“0”系数的幅度以及增加“0”值系数的数目,从而减少数据量并达到压缩目的。
4)Z字形(Zigzag)扫描。经量化后的AC系数通常具有很多零值,为了增加连续“0”系数的个数,对量化系数进行Zigzag扫描,从而得到一个1×64的系数矢量,其元素按频率从低到高的顺序排列。
5)熵编码。对扫描后的1×64系数矢量采用霍夫曼(Huffman)编码方式进行熵编码。对于DC系数(即矢量的第一个元素),进行差分编码;对于其他的63个AC系数,首先判断其是否零值,是零值则做加一计数,若为非零值则进行行程编码,从而完成一幅图像的JPEG压缩[7]。
2.7 传感器模块
负责循环检测各个传感器的变化,记录传感器的当前值,一方面,判断传感器当前值是否正常,如不正常,启动报警模块,并用语音播报传感器关联的环境参数,发出警报;另一方面,将传感器数据发送至数据传输模块,最终在监控终端显示。
2.8 数据传输模块
以太网芯片采用的是Davicom公司的DM9000A,该芯片是10/100自适应以太网芯片,包括了MAC和PHY层的功能。该芯片既有通用处理器接口,也有MII的PHY层接口,本系统的设计中FPGA连接的是通用处理器接口,基于UDP协议的数据传输。
2.9 报警模块
负责异常情况处理。一方面,如果有接收到控制器发送来传感器的数据异常,则产生声光报警;另一方面,如果发现运动目标,则指示灯闪烁,告知有异常情况。
2.10 PC 监控模块
PC监控端负责接收图像和传感器的数据,实现视频监控和环境参数的显示;外加摄像头的转向和速度控制参数。在本系统中采用Visual Studio 2008完成上位机开发,其界面如图5所示。
图5 远端PC监控终端显示界面
3 系统分析与总结
本设计实现了基于SoPC技术和机器视觉技术及传感器技术相结合的视频目标跟踪及报警平台。能够根据温度、湿度、烟雾、人员活动设定值进行报警,并且把报警消息发送给远程用户。系统基本工作状态有:
1)自检状态。设置电机每秒转动一次,每次为3.5°,完成图像模板(背景)采集。
2)监控状态。电机处于监控状态,时刻监测是否有目标入侵。
3)跟踪状态。出现目标入侵时,由处理器进行识别、标记,给出位置变化,驱动步进电机进行转动,予以跟踪。
系统各项参数如下:
1)图像采集参数。摄像头制式为NTSC制式;分辨力为640×480;采集速度为30帧/秒。
2)跟踪灵敏度。目标跟踪标准度为标识框偏离目标不超过10个像素点;跟踪速度为在5 m范围内,目标移动速度可达2.5 m/s;跟踪范围大于150°。
本系统硬件和软件升级都很方便,可以根据用户定制,在短时间内完成符合要求的监控系统;支持短信通知管理人员,远程网络监控,方便应用于家居、商场、图书馆等。
[1]郑世宝.智能视频监控技术与应用[J].电视技术,2009,33(1):94-96.
[2]李兰英.Nios II嵌入式软核SOPC设计原理及应用[M].北京:北京航空航天大学出社,2006.
[3]章智慧,白瑞林,沈宪明.面向SOPC Builder的用户自定义IP核开发[J].自动化仪表,2006,27(9):23-25.
[4]RAFAEL.数字图像处理(MATLAB版)[M].阮秋琦,译.北京:电子工业出版社,2009.
[5]陆利坤,辛望,李业丽.基于数字信号处理器的JPEG压缩算法分析与实现[J].北京印刷学院学报,2004(3):6-10.
[6]于晓宇,傅志中,唐学怡.JPEG标准下图像压缩算法的研究与实现[J].电视技术,2009,33(S1):55-57.
[7]张元伟,刘彦隆.基于JPEG标准的静态图像压缩算法研究[J].电子设计工程,2010,18(2):78-80.