自动图像报警系统研究及单片机实现
基于图像的自动报警系统克服了传统单点信号报警的缺陷,采用 RISC 结构单片机和 FLASH、CPLD 技术可使系统具有实时响应和自适应能力。关键词:图像报警 RISC FLASH CPLD 自适应报警系统广泛应用于银行、饭店、交通管理以及智能大厦等场所和领域。传统的自动报警装置,大多采用单点信号报警,即在某一特定位置安放传感器,当该采集点处的物理量达到报警门限时,就向中心控制计算机发出报警请求信号。
这种报警装置的优点是安装便利,反应迅速,但其适用范围较小,对单点噪声过分敏感而导致误报,在防止误报和漏报两方面不可兼得等先天缺陷,限制了它不能被应用于情况复杂、并要求具备一定动态控制能力的场所。 基于图像的自动报警系统克服了单点信号报警的缺陷。通过对所监视场景的全景拍摄,避免了对单一采集点进行测量的随机噪声敏感性;而数字图像处理技术的引入,使整个系统可以在一个较宽的范围内进行自适应调整。
本文论述自动图像报警系统的组成和技术要点,并对实际应用中的关键技术环节给出了设计解决方案。该系统特别适用于银行等智能型建筑中的防盗报警。 自动图像报警系统的组成完整的自动图像报警系统主要由三部分组成:图像采集摄象机、图像信号处理与报警信号发生、中心控制计算机[1]。本文仅对上述第二部分进行讨论。为降低中心控制处理的复杂度和图像信号传输的额外开销,将图像信号处理及报警信号发生以硬件实现并随同摄象机安置于前端,从而构成分布式处理系统是十分必要的。
根据这一需要,图像报警系统的硬件结构如图 1 所示。 设计实现中的关键技术保证实时性和动态调整能力是系统实现中的首要目的。为便于硬件处理,算法上采用灰度阈值分割和差值图像面积累计。基于降低系统成本的考虑,不可能选用具有较强数字信号处理能力的 DSP 芯片,而一般的工业控制单片机又很难达到实时运算的要求,这正是设计中的关键问题。 本系统中采用查找表的思路,将图像差值运算转换为对 FLASH/EPROM 的读操作。
其原理是预先将差值算法的处理结果存储于 FLASH 或 EPROM 的既定存储单元中,而进行差值运算的两帧图像的象素灰度数据(8bits)分别作为存储器的高 8 位地址和低 8 位地址。这样处理的结果是每进行一个象素的差值运算,所需要的时间是存储器的一个读周期,显然可以满足实时的要求。经过差值处理后的象素灰度值再经过阈值判别送计数器,当累计数量超过一定面积时,MCU 将发出报警信号。 存储器(FLASH/EPROM)的算法为:(Gvalue)=|Hvalue-Lvalue|
(1)其中 Hvalue 为 A/D 直通图像抽样信号(8bits),同时也是存储器高 8 位地址;Lvalue 为 DRAM 中存储的数字图像参考帧抽样信号(8bits),即存储器低 8 位地址;Gvalue 为存储器 16 位地址。 阈值判别采用全局阈值法[2],这种方法适用于场景具有均匀光照条件的情况。对于场景整体灰度的变化,可以通过由 MCU 控制定时刷新 DRAM 参考帧数据,并调整全局阈值 T 和临界面积 S 而获得自适应的效果。阈值判别和计数统计为:if (Gvalue)>T,count=count+1(2)if count>S,触发报警
(3) (c)为差值处理后的图像,(d)为全局阈值分割的结果硬件实现中的器件选择硬件实现中器件的选择对整个系统的性能起着举足轻重的作用。经过认真调研,本系统选用了 ATMEL 公司的几款芯片完成系统的关键部分功能。 RISC 结构单片机 AT90S2313 ATMEL 公司的 90 系列单片机是增强 RISC 内载 FLASH 的 AVR 单片机,AVR 单片机是第一种真正的 8 位 RISC 单片机,快速存取 RISC 寄存器文件和单指令周期使它的性能明显优越于普通 8 位单片机。
AT90S2313 具有 2K 字节内载编程 FLASH,128 字节 SRAM 数据存储单元,128 字节 EEPROM 工作寄存器,32 字节通用工作寄存器,15 I/O,8 位和 16 位定时/计数器各一个,通用异步收发,支持在系统编程,最高工作频率达 12MHz[3]。在本系统中,它负责完成 A/D 器件的初始化,地址发生器、数据存储器的控制,以及计数统计和报警触发。 A/D 转换器选用 Philips 公司的 SAA7111,其初始化通过 I2C 总线进行。
利用 AT90S2313 的两个通用 I/O 引脚,就可以产生 I2C 总线的时序信号,完成对 SAA7111 的初始化。片内的 16 位计数器用以进行计数统计,并产生中断报警信号。阈值判别和临界面积的设定以及 DRAM 参考帧的定期刷新都通过对 AT90S2313 的编程来实现。 AT29C512 高密度 FLASH 本系统根据差值数据宽度的需要,选择 AT29C512(64K×8)Boot FLASH,其读周期长度为 70ns,完全满足实时处理的要求。
选用 FLASH 的优点是可以进行在系统改写,这在使用环境复杂,需要大量动态调整处理的情况下是非常有利的。可以通过 AT90S2313 对 FLASH 中的差值算法进行修改以适应实际环境的需要。 ATF1500A 高密度 CPLD DRAM 的操作时序信号包括行、列地址产生、刷新控制、读写控制等全部由地址信号发生器来产生,这里选用了 ATF1500A 高性能 FLASH CPLD。除产生经过抽样选择的行、列地址信号外,还需要给 AT29C512 提供读控制信号及完成整个系统的同步。
SAA7111 主模式所产生的时钟信号 LLC2 是系统工作的基准时钟。由于 SAA7111 输出的图像格式大大超出了报警系统所需要的基本分辨率,所以要进行一定的分频即抽样处理。 ATF1500A 具有 32 个触发器,32 I/O 和 1500 等效门,最大引脚间延时为 7.5ns [4]。其各种工作参数充分满足了系统地址/控制总线结构需要,并且具有第三方开发工具支持和加密特性。 系统性能评估与单点信号报警相比,自动图像报警系统具有全景监测、动态调整和抗干扰能力强等优点。
在系统设计实现过程中,采用了查找表技术降低处理器复杂度,并通过器件的比较和选用,使系统运行效果达到了优化。在系统试运行过程中,当出现蚊虫爬上摄象机镜头和闪电等情况时,可能导致误报的发生。解决的方法涉及对图像内容的理解和动态范围调整与时间密度相关性的问题,将进行深入研究和讨论。 参考文献[1] 程晓舫,吴建华等,HODOLIC 计算机图像监控报警系统的设计,中国科学技术大学学报,1997.5.7;[2] 章毓晋,图像处理和分析,清华大学出版社,1999[3] ATMEL,AVR RISC Microcontroller Data Book,Aug.1999[4] ATMEL,Configurable Logic Data Book,Mar.1997