自動圖像報警系統(tǒng)研究及單片機實現(xiàn)
報警系統(tǒng)廣泛應(yīng)用于銀行、飯店、交通管理以及智能大廈等場所和領(lǐng)域。傳統(tǒng)的自動報警裝置,大多采用單點信號報警,即在某一特定位置安放傳感器,當該采集點處的物理量達到報警門限時,就向中心控制計算機發(fā)出報警請求信號。這種報警裝置的優(yōu)點是安裝便利,反應(yīng)迅速,但其適用范圍較小,對單點噪聲過分敏感而導(dǎo)致誤報,在防止誤報和漏報兩方面不可兼得等先天缺陷,限制了它不能被應(yīng)用于情況復(fù)雜、并要求具備一定動態(tài)控制能力的場所。
基于圖像的自動報警系統(tǒng)克服了上述缺陷。通過對所監(jiān)視場景的全景拍攝,避免了對單一采集點進行測量的隨機噪聲敏感性;而數(shù)字圖像處理技術(shù)的引入,使整個系統(tǒng)可以在一個較寬的范圍內(nèi)進行自適應(yīng)調(diào)整。
1 自動圖像報警系統(tǒng)的組成
完整的自動圖像報警系統(tǒng)主要由三部分組成:圖像采集攝像機、圖像信號處理與報警信號發(fā)生、中心控制計算機[1]。本文僅對上述第二部分進行討論,前文中的自動圖像報警系統(tǒng)實際上也特指該子系統(tǒng)。
為降低中心控制處理的復(fù)雜度和圖像信號傳輸?shù)念~外開銷,將圖像信號處理及報警信號發(fā)生以硬件實現(xiàn)并隨同攝像機安置于前端,從而構(gòu)成分布式處理系統(tǒng)。圖像報警系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。
2 設(shè)計實現(xiàn)中的關(guān)鍵技術(shù)
保證實時性和動態(tài)調(diào)整能力是系統(tǒng)實現(xiàn)中的首要目的。為便于硬件處理,算法上采用灰度閾值分割和差值圖像面積累計?;诮档拖到y(tǒng)成本的考慮,不可能選用具有較強數(shù)字信號處理能力的DSP芯片,而一般的工業(yè)控制單片機又很難達到實時運算的要求,這正是設(shè)計中的關(guān)鍵問題。
本系統(tǒng)中采用了查找表的思想,將圖像差值運算轉(zhuǎn)換為對FLASH/EPROM的讀操作。其原理是預(yù)先將差值算法的處理結(jié)果存儲于FLASH或EPROM的既定存儲單元中,而進行差值運算的兩幀圖像的象素灰度數(shù)據(jù)(8bits)分別作為存儲器的高8位地址和低8位地址。這樣處理的結(jié)果是每進行一個象素的差值運算,所需要的時間是存儲器的一個讀周期,顯然可以滿足實時的要求。經(jīng)過差值處理后的象素灰度值再經(jīng)過閾值判別送計數(shù)器,當累計數(shù)量超過一定面積時,MCU將發(fā)出報警信號。
存儲器(FLASH/EPROM)的算法為:
(Gvalue)=|Hvalue-Lvalue|(1)
其中Hvalue為A/D直通圖像抽樣信號(8bits),同時也是存儲器高8位地址;Lvalue為DRAM中存儲的數(shù)字圖像參考幀抽樣信號(8bits),即存儲器低8位地址;Gvalue為存儲器16位地址。
閾值判別采用全局閾值法[2],這種方法適用于場景具有均勻光照條件的情況。對于場景整體灰度的變化,可以通過由MCU控制定時刷新DRAM參考幀數(shù)據(jù),并調(diào)整全局閾值T和臨界面積S而獲得自適應(yīng)的效果。閾值判別和計數(shù)統(tǒng)計如式(2)(3)所描述:
if(Gvalue)>T,count=count+1(2)
if count>S,觸發(fā)報警(3)
系統(tǒng)工作實例如圖2所示。
3 單片機實現(xiàn)中的器件選擇和工作特性描述
硬件實現(xiàn)中器件的選擇對整個系統(tǒng)的性能起著舉足輕重的作用。ATMEL公司是世界上著名的高性能、低功耗、非易失性存儲器和數(shù)字集成電路的一流半導(dǎo)體制造公司。經(jīng)過認真調(diào)研,本系統(tǒng)選用了ATMEL的幾款芯片完成系統(tǒng)的關(guān)鍵部分功能。
3.1 RISC結(jié)構(gòu)單片機AT90S2313
ATMEL公司的90系列單片機是增強RISC內(nèi)載FLASH的單片機,通常簡稱為AVR單片機。傳統(tǒng)的基于累加器的結(jié)構(gòu)需要大量的程序代碼,以實現(xiàn)累加器和存儲器之間的數(shù)據(jù)傳送,并且由于時鐘分頻,使得數(shù)據(jù)傳輸成為系統(tǒng)瓶頸。AVR單片機是第一種真正的8位RISC單片機,快速存?。遥桑樱眉拇嫫魑募蛦沃噶钪芷谑顾男阅苊黠@優(yōu)越于普通8位單片機[3]。
AT90S2313具有2K字節(jié)內(nèi)載編程FLASH,128字節(jié)SRAM數(shù)據(jù)存儲單元,128字節(jié)EEPROM工作寄存器,32字節(jié)通用工作寄存器,15I/O,8位和16位定時/計數(shù)器各一個,通用異步收發(fā),20腳PDIP或SOIC封裝,支持在系統(tǒng)編程,最高工作頻率達12MHz[4]。本系統(tǒng)中,它負責完成A/D器件的初始化,地址發(fā)生器、數(shù)據(jù)存儲器的控制,以及計數(shù)統(tǒng)計和報警觸發(fā)。
A/D轉(zhuǎn)換選用了Philips公司的SAA7111,其初始化通過I2C總線進行。利用兩個AT90S2313的通用I/O引腳,就可以產(chǎn)生I2C總線的時序信號,完成對SAA7111的初始化。片內(nèi)的16位計數(shù)器用以進行計數(shù)統(tǒng)計,并產(chǎn)生中斷報警信號。閾值判別和臨界面積的設(shè)定以及DRAM參考幀的定期刷新都通過對AT90S2313的編程來實現(xiàn)。
由于采用了精簡指令集結(jié)構(gòu),AT90S2313的編程與通常的51系列有所不同。為實現(xiàn)更復(fù)雜的控制功能,還可考慮選擇AT90S系列的其他型號,如4414、8515等。
3.2 AT29C512高密度FLASH
盡管FLASH技術(shù)在今天已經(jīng)不是什么新鮮產(chǎn)物,但ATMEL的AT29和AT49系列仍以其卓越的性能和廣泛的適用性在市場上獨占熬頭。本系統(tǒng)根據(jù)差值數(shù)據(jù)寬度的需要,選擇AT29C512(64K×8)Boot FLASH,其讀周期長度為70ns,完全滿足實時處理的要求。
選用FLASH的優(yōu)點是可以進行在系統(tǒng)改寫,這在使用環(huán)境復(fù)雜、需要大量動態(tài)調(diào)整處理的情況下是非常有利的??梢酝ㄟ^AT90S2313對FLASH中的差值算法進行修改以適應(yīng)實際環(huán)境的需要。
對于環(huán)境條件變化不大的情況,可以使用ATMEL公司的EPROM產(chǎn)品,型號為AT27C512R或AT27C520。
3.3 ATF1500A高密度CPLD
DRAM的操作時序信號包括行、列地址產(chǎn)生、刷新控制、讀寫控制等全部由地址信號發(fā)生器來產(chǎn)生,這里選用了ATF1500A高性能FLASHCPLD。除產(chǎn)生經(jīng)過抽樣選擇的行、列地址信號外,還需要給AT29C512提供讀控制信號及完成整個系統(tǒng)的同步。SAA7111主模式所產(chǎn)生的時鐘信號LLC2是系統(tǒng)工作的基準時鐘。由于SAA7111輸出的圖像格式大大超出了報警系統(tǒng)所需要的基本分辨率,所以要進行一定的分頻即抽樣處理。
ATF1500A具有32個觸發(fā)器,32I/O和1500等效門,最大管腳間延時為7.5ns,44腳PLCC或TQFP封裝[5]。其各種工作參數(shù)充分滿足了系統(tǒng)地址/控制總線結(jié)構(gòu)的需要,并且具有第三方開發(fā)工具支持和加密特性。
除ATF1500A以外,1500系列還包含多種型號來滿足不同復(fù)雜度的應(yīng)用需要,包括在系統(tǒng)編程功能。另外還可以考慮使用多片ATF22V10來實現(xiàn)同樣的功能,或者使用ATF750系列,后者采用ATMEL公司獨有的PLD結(jié)構(gòu),在24腳的封裝類型中功能最強。
4 系統(tǒng)性能評估
與單點信號報警相比,自動圖像報警系統(tǒng)具有全景監(jiān)測、動態(tài)調(diào)整和抗干擾能力強等優(yōu)點。在系統(tǒng)設(shè)計實現(xiàn)過程中,采用了查找表技術(shù)降低處理器復(fù)雜度,并通過器件的比較和選用,使系統(tǒng)運行效果達到了優(yōu)化。
在系統(tǒng)試運行過程中,當出現(xiàn)蚊蟲爬上攝像機鏡頭和閃電等情況時,可能導(dǎo)致誤報的發(fā)生。解決的方法涉及對圖像內(nèi)容的理解和動態(tài)范圍調(diào)整與時間密度相關(guān)性的問題,將進行深入研究和討論。