基于嵌入式的液位视频监控系统的研究与实现
2013-02-13王海帆马福昌
王海帆,马福昌
(太原理工大学 测控技术研究所,山西 太原030024)
责任编辑:任健男
随着科学技术以及人工智能的迅猛发展,视频监控技术已经被运用到生活的各个领域,视频监控已经进入了数字化、网络化的时代,即第三代的视频监控系统。而随着社会发展的需求,智能视频监控系统也在最近几年兴起,智能视频监控系统就是在无人看守的情况下,能够实时监测环境中的运动目标,通过对运动物体特征值的提取分析,对获得的有用信息进行处理,同时去掉大量不需要的数据信息,达到节省存储空间的目的。本文设计了一种采用FPGA[1-4]和ARM的嵌入式智能液位视频监控系统,对采集到的图像信息进行图像识别,得到液位信息,同时将超出设定值的图像信息应用WiFi技术远程传输出去,实现了液位的远程无线视频监控,具有实时性强、可靠性高、灵活性好的特点。
1 系统总体设计
系统主要由图像的采集、图像的缓存、图像的显示、图像的识别、数据的存储与传输等部分组成。系统框图如图1所示。图像的采集采用CMOS图像传感器,虽然CMOS图像传感器采集出来的图像较CCD传感器略差,但是CCD的成本远高于CMOS产品,而且CMOS传感器的功耗比CCD产品低。用SDRAM实现图像数据的缓存,供VGA实时地显示图像。图像采集、缓存和显示单元由FPGA完成。图像的识别、存储和传输由ARM9微控制器完成。其中FPGA和ARM通过双口RAM进行通信。
系统工作流程:OV7670采集输出的16 bit的RGB565视频数据通过FPGA内部的FIFO缓存进入SDRAM,OV7670通过SCCB协议由FPGA进行配置,VGA实时地读取SDRAM中的数据进行显示,同时FPGA读取SDRAM中的数据存入双口RAM中,读取完一帧图像后向ARM微控制器发送中断信号,ARM微控制器将读取的视频数据通过内部的图像识别模块实现液面高度的自动读数,并判断液位是否超出预设值,如果超出则并启动WiFi[5-7]模块将视频数据发送出去并报警,同时将视频数据保存到SD卡中,如果没有超出则重新读取图像进行分析[8-12]。
2 系统硬件设计
2.1 基于FPGA的硬件设计
图1 系统总体设计框图
FPGA选用的是Altera公司的EP3C25Q240C8N,它是Altera的Cyclone系列的第三代产品。CycloneⅢ系列FPGA较之前的产品具有更低的功耗、成本和更高性能,得到了广泛的应用。EP3C25拥有24 624个逻辑单元,内部集成了66个嵌入式存储器模块M9K,608 kbit的内部RAM,并有66个18×18嵌入式乘法器,4个内部PLL,最大用户可用148个I/O引脚,83个差分通道。
2.1.1 图像采集模块
本系统采用的摄像头是CMOS摄像头OV7670图像传感器,特点是体积小,工作电压低,通过SCCB总线控制,输出16位数据,图像最高帧率达到30帧/秒(f/s)。数字输出格式有YUV/YCrCb 4∶2∶2,RGB 4∶2∶2,RGB565/555/444,Raw RGB Data。支持色彩饱和度、灰度、Gamma、锐度(边缘增强)和像素反转等参数的调节,具有自动曝光控制、自动增益控制、自动白平衡、自动亮度控制和自动噪声控制等功能。图像采集模块具体电路设计如图2所示。
图2 图像采集模块电路设计(截图)
2.1.2 图像显示模块
图像显示模块主要作用是将CMOS采集到的数字图像转换成模拟图像,通过VGA接口显示到LCD显示器上。图像显示模块电路包括数模转换电路和VGA接口电路,如图3所示,本电路中选用的数模转换芯片为AD公司的ADV7123KST140,它有3组独立的10 bit宽的RGB数字输入口和3个相应的RGB模拟输出口,5 V供电,速度为140 MHz,低功耗。其原理图如图3所示。
图3 图像显示模块具体电路(截图)
2.1.3 图像缓存模块
SDRAM模块包括SDRAM读写、向SDRAM写数据FIFO和从SDRAM读数据FIFO,采用异步FIFO的设计方法实现SDRAM的突发读写,同时FPGA为SDRAM提供同步命令接口和时序逻辑控制,从FPGA的输入时钟为50 MHz,通过内部PLL倍频后成为100 MHz的时钟供给SDRAM。本设计使用的是韩国HYUNDAI公司的HY57V641620,存储容量为4组×16 Mbit(8 Mbyte),工作电压为3.3 V,兼容LVTTL接口,支持自动刷新(Auto-Refresh)和自刷新(Self-Refresh),16位数据宽度。具体接口电路如图4所示。
图4 图像缓存模块接口电路(截图)
2.2 基于ARM的硬件设计
ARM处理器采用2440 16/32 bit RISC微处理器。2440作为手持设备设计的专用芯片,具有低功耗、处理计算速度高等特点。该器件工作电压为1.3 V,采用16/32 bit ARM 920T RISC核心,提供的接口包括NAMD闪存、数码相机、TFT液晶屏、USB、SD/MMC存储卡及触摸屏等,支持Windows CE和Linux等系统。
2.2.1 SD卡存储模块
SD卡是一种低电压的Flash闪存产品,有标准的SD/SPI两种操作模块。对于SD操作模式,读写速度快、控制信号线多、操作复杂,对于SPI操作模块,速度慢、信号线少、操作相对简单。本设计采用的是SD模式,在这种模式下,所有数据线都要接上拉电阻。具体接口电路如图5所示。
图5 SD卡接口电路(截图)
2.2.2 WiFi传输模块
目前,市面上的WiFi模块有USB,UART,SPI,SDIO等4种接口,本设计采用SDIO接口的WiFi模块。内部采用Marvell 88w8686芯片,支持1 200~115 200 baud的波特率范围,支持单3.3 V供电,具体电路图如图6所示。
图6 WiFi模块接口电路(截图)
3 系统软件设计
在本系统中,FPGA的编程时通过Verilog语言来实现的,在QuartusⅡ环境下进行编程和调试的。其中FPGA实现3个功能:1)视频信号的采集和显示部分的时序控制;2)对OV7670进行控制、配置和初始化;3)视频图像信号压缩和缓存的控制。ARM处理器用来实现图像识别模块、SD卡读写和WiFi模块的控制。ARM嵌入式微处理器的软件设计以实时嵌入式操作系统Linux为软件平台,系统各功能采用C语言编程来实现。系统工作流程如图7所示。
3.1 视频信号采集模块软件设计
视频采集模块分为摄像头初始化、配置和数据格式转换两部分,一部分是按照SCCB总线时序,对OV7670进行初始化,并将数据写入到摄像头内部寄存器,控制它的工作模式,使它输出RGB图像信号,另一部分则将输出的8 bit数据转化为16 bit的RGB565信号。其中VSYNC为帧同步信号,HREF为行同步信号,XCLK为系统时钟输入信号,PCLK为像素时钟。将得到的cmos_data数据的相邻2个字节作为RGB565信号输出,仿真图如图8和图9所示。
图7 系统软件流程图(截图)
3.2 图像的缓存模块
SDRAM的操作有以下几个步骤:上电后等待200μs后进入稳定期,向SDRAM发送预充电命令,等待一定时钟后发送8次刷新命令,设置SDRAM的工作模式寄存器,行列选择之后可以进行读写操作,对SDRAM的操作时通过对CS#,RAS#,CAS#,WE#,ADDR的组合指令来完成的。SDRAM仿真时序图如图10所示。
3.3 图像识别算法
图像识别模块将采集到的图像进行处理,得到标尺的读数。所用到的标尺如图11所示。
图11 刻度标尺(截图)
在测量现场需要安装标有刻度的专用标尺,标尺刻度用4位数码管字体标注,刻度最小间距1 mm。由于测量现场必然受到噪声等环境因素的影响,图像存在一定的畸变,所以首先需要进行预处理,将获得的图像进行灰度处理,转换为灰度图像,接着进行二值化分割,分割出目标图像;随后进行形态学滤波,包括腐蚀、膨胀、开运算和闭运算;然后采用3×3的中值滤波模板进行,中值滤波后标尺的刻度边缘得到保护,去除了噪声的干扰。
经过图像预处理后利用Canny算子进行边缘检测,从图像中分离度数字图像和其下方的刻度图像,再利用水平投影法和垂直投影法,以及数字本身长度和面积等特征,通过多次采样取平均值的方法标定出水位分割线和分割后的字符,利用数字结构特征分析法和穿线法识别单个字符,得到整数部分,利用分割线到整数刻度与两个整数字符间的像素差的比值来得到小数部分,最终整数部分加小数部分得到所需要的数值。算法流程图如图12所示。
图12 算法流程图
3.4 测试结果
本系统所使用的标尺上的刻度采用数码管字体,这种字体没有弧线,横平竖直,简化了识别的难度,同时提高了识别的准确性。
对上述字体在实验室进行了数百次实验,得到了可靠地实验数据,见表1。通过测试可以看出,该识别算法能达到预定的设计目标。
4 结论
本文基于FPGA和ARM设计了一种结构简单、成本低、实用性强的智能高速液位无线视频监控系统,能在无人看守的情况下远程读取液位数据。充分发挥了FPGA和ARM的特点,利用FPGA在逻辑控制和数据采集方面的优势,以及ARM稳定性好、控制性强的特点,来实现液位数据的采集识别、存储及传输,以及VGA的显示。系统能够很好地实现智能监控液位的目的,节省了人力和物力的成本,为实现更好的嵌入式无线液位监控系统提供了一个良好的解决方案。
表1 数字识别率测试
[1]庄聪聪,王大明.基于ARM7与FPGA架构的面阵CCD图像采集系统的设计[J].科技广场,2010(1):104-106.
[2]严华宇.基于FPGA的玻璃缺陷图像采集预处理系统设计[D].武汉:武汉理工大学,2007.
[3]舒志猛,陈素华.基于FPGA和DSP的高速图像处理系统[J].现代电子技术,2012,35(4):143-144.
[4]胡胜,杨雷,宋跃,等.基于ARM&FPGA的CCD图像识别装置[J].仪表技术与传感器,2012(1):55-56.
[5]胡君连.基于WiFi的嵌入式无线视频监控系统设计[D].上海:东华大学,2012.
[6]吴颖.基于视觉传感的嵌入式液位测量系统[D].天津:天津大学,2009.
[7]薛子伯.基于WiFi的触发式无线图像采集系统的研究与设计[D].吉林:吉林大学,2011.
[8]宋乐,林玉池,吴颖,等.基于视觉传感的嵌入式自动读尺系统[J].传感器与微系统,2009,28(8):87-88.
[9]赵瑶池,胡祝华,胡诗雨.嵌入式网络智能视频监控系统设计与实现[J].现代电子技术,2012,35(4):69-71.
[10]王刚,毛剑飞,田青,等.基于ARM11的无线视频监控系统[J].计算机系统应用,2011,20(8):19-20.
[11]毕克宏.基于机器视觉的水位监控系统研究[D].郑州:郑州大学,2009.
[12]余振庭.排水系统中的网络监控图像识别控制设计与实现[D].杭州:浙江大学,2008.