《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM的嵌入式智能入侵檢測系統(tǒng)設計
基于ARM的嵌入式智能入侵檢測系統(tǒng)設計
2015年微型機與應用第12期
曾海峰
(廣東科貿職業(yè)學院 信息工程系,,廣東 廣州 510430)
摘要: 為實現(xiàn)區(qū)域管理的智能化和科學化,,結合實際項目,設計了一套基于ARM的嵌入式智能入侵檢測系統(tǒng),。系統(tǒng)采用低成本,、低功耗的ARM11芯片作為處理核心,,利用嵌入式Linux實現(xiàn)遠程實時的視頻監(jiān)控以及入侵檢測功能,具有部署方便,、穩(wěn)定性高,、抗干擾強,、價格低廉以及智能管理的特點,。
Abstract:
Key words :

  摘  要: 為實現(xiàn)區(qū)域管理的智能化和科學化,結合實際項目,,設計了一套基于ARM的嵌入式智能入侵檢測系統(tǒng),。系統(tǒng)采用低成本、低功耗的ARM11芯片作為處理核心,,利用嵌入式Linux實現(xiàn)遠程實時的視頻監(jiān)控以及入侵檢測功能,,具有部署方便、穩(wěn)定性高、抗干擾強,、價格低廉以及智能管理的特點,。

  關鍵詞: ARM;Linux,;遠程監(jiān)控,;入侵檢測

0 引言

  隨著嵌入式技術和網(wǎng)絡技術的飛速發(fā)展,視頻監(jiān)控技術正向著數(shù)字化,、網(wǎng)絡化和智能化方向前進,。本文結合嵌入式技術提出了一套基于ARM的智能入侵檢測方案,系統(tǒng)通過遠程實時的視頻監(jiān)控和智能的入侵檢測實現(xiàn)對監(jiān)控區(qū)域的自動化管理,,從根本上實現(xiàn)無人值守或少人值守,,從而有效節(jié)省人力資源,提高安全等級,,實現(xiàn)區(qū)域智能化和科學化管理,。因此,系統(tǒng)的研發(fā)具有較大的實用價值和現(xiàn)實意義,。

1 系統(tǒng)總體設計

  本文設計的智能入侵檢測系統(tǒng)采用C/S通信模式,,由基于ARM實現(xiàn)的嵌入式視頻監(jiān)控端和基于PC或移動平臺運行的客戶端兩個部分構成[1]。其中,,監(jiān)控端的設計目標是能夠實時采集監(jiān)控區(qū)域的視頻信息,,并對其壓縮后利用實時傳輸協(xié)議進行網(wǎng)絡傳輸,同時能夠對實時圖像序列進行運動檢測,,發(fā)現(xiàn)異常后立即記錄入侵物體的運動軌跡,,并向客戶端發(fā)出警報;客戶端可以通過操作平臺的監(jiān)控程序進行遠程實時監(jiān)控,,并對監(jiān)控數(shù)據(jù)進行存儲和回放,,以便日后查看或取證。

2 系統(tǒng)硬件設計

  智能入侵檢測系統(tǒng)的硬件包括主控模塊和擴展模塊兩大部分,。主控模塊是整個系統(tǒng)的控制中心和信息樞紐,,選用了三星的ARM11芯片作為微處理核心,主要負責系統(tǒng)電源管理,、存儲管理,、I/O管理以及多媒體信息處理等。擴展模塊的視頻采集部分可選用低電壓COMS圖像傳感器,,直接與主控模塊的Camera接口連接,,若選用BNC接口的模擬攝像頭,則通過TVP5150模塊完成A/D轉換,,同時也可選用USB接口的家用攝像頭,;視頻輸出可選用電視機,、PC顯示器或專用監(jiān)控儀,通過AV-OUT與主控相連,。網(wǎng)絡傳輸部分則通過路由器與局域網(wǎng)相連,,利用網(wǎng)絡中的工作站、平板電腦或智能手機等設備實現(xiàn)監(jiān)控,。硬件系統(tǒng)框圖如圖1所示,。

001.jpg

3 系統(tǒng)模塊設計及實現(xiàn)

  基于C/S模式的入侵檢測系統(tǒng)由ARM智能檢測端和遠程視頻監(jiān)控端組成。其中,,基于嵌入式ARM實現(xiàn)的主要功能在于完成視頻信息的處理,、運動物體的檢測以及非法入侵的處理,模塊處理流程如圖2所示,。

  3.1 視頻處理模塊

  視頻處理模塊包括視頻采集,、視頻壓縮以及視頻回顯三個功能,主要利用Linux內核提供的Video4Linux2視頻設備驅動來實現(xiàn)[2],。V4L2框架為開發(fā)人員提供了通用的程序接口,,Video設備的訪問路徑為/dev/video/videoX,用戶空間可通過ioctl函數(shù)對Video節(jié)點進行控制,,并可通過mmap函數(shù)將硬件空間與內存空間進行映射,,以提高訪問速度。

  在視頻采集過程中,,CMOS攝像頭經(jīng)Camera接口驅動后映射成video0和video1兩個設備節(jié)點,。其中,video0通過Codec通道可將YCbCr4:2:2格式的數(shù)據(jù)轉換成YCbCr4:2:0格式存放至Codec DMA分配的內存中,,最大分辨率可以達到4 096×4 096,;video1通過Preview通道可將數(shù)據(jù)轉換為RGB(24 bit)格式并存放于Preview DMA分配的內存中,如果將該內存地址設置為Framebuffer,,就可實現(xiàn)LCD的本地回顯,。如果采用支持MJPEG格式的USB攝像頭,系統(tǒng)則需要利用ARM11芯片提供的JPEG硬件解碼形成YCbCr4:2:0數(shù)據(jù)并保存至內存,。

  轉換后的實時流格式包括YCbCr4:2:0和RGB-24 bit,。前者將被映射至MFC模塊的輸入緩存,經(jīng)硬件編碼后形式H.264數(shù)據(jù),,通過RTP協(xié)議傳送至互聯(lián)網(wǎng)絡,;后者將用于本地監(jiān)控、視頻輸出以及入侵檢測模塊的輸入源,。

  3.2 入侵檢測模塊

  入侵檢測模塊的主要功能是對監(jiān)控區(qū)域實時采集的圖像信息進行智能檢測,,一旦發(fā)現(xiàn)入侵物體立即啟動警報,,并在本地設備的Flash中自動記錄有關入侵物體的運動場景,。

  目前,常用的運動物體檢測方法包括幀間差分法、光流法和背景減除算法,。根據(jù)實際應用的需求,,不同的檢測算法都是在可靠性、實時性以及準確性之間取舍而來的,。由于采用的是嵌入式硬件系統(tǒng),,其運算能力和處理性能相對有限,因此本文選擇了幀間差分法和背景減除法相結合的Surendra背景更新算法作為入侵檢測算法[3],。

  Surendra算法能夠實現(xiàn)自適應的背景更新,,其實現(xiàn)的基本思想是通過幀間差分法獲得入侵物體的運動區(qū)域,保持該區(qū)域內的背景不變,,使用當前幀來更新非運動區(qū)域的背景,,經(jīng)過有限次的迭代運算后就可以較為準確地建立起背景圖像,從而實現(xiàn)自適應更新,。算法實現(xiàn)步驟如下:

 ?。?)通過V4L2框架讀取攝像頭的第一幀圖像,并將其設置為背景B0,,即:B0=I0,。

  (2)設置最大迭代次數(shù)為MAX,,當前迭代數(shù)為m=1,。

  (3)利用幀間差分法計算當前幀圖像與前一幀圖像的幀差,,并由此得到二值化圖像Di,,即:

  1.png

  其中,Ii代表當前幀圖像,,Ii-1代表上一幀圖像,,|Ii-Ii-1|為幀間圖像差分,T為設置的二值化閾值,,Di(x,,y)為幀間差分的二值化圖像在像素點(x,y)處的灰度值,。

 ?。?)由二值圖像Di更新背景圖像Bi,即:

  2.png

  其中,,Bi(x,,y)表示背景圖像在像素點(x,y)處的灰度值,,a為迭代更新速度系數(shù),。實驗證明,,當?shù)禂?shù)小于0.005時可以得到效果良好的背景圖像。

 ?。?)迭代次數(shù)m=m+1,,如果m≤MAX,返回步驟(3)繼續(xù)執(zhí)行,;如果m>MAX,,結束迭代,此時的Bi可視為當前的背景圖像,。

 ?。?)獲得背景圖像Bi后,將其與當前幀Ii進行背景減除運算得到差分圖像的灰度值di,。同時,,為進一步強化運動區(qū)域,減少像素灰度帶來的干擾,,對di進行二值化后得到DBi,,即:

  3.png

  (7)設置認定為入侵物體的像素個數(shù)最小值MIN,,即選定閾值,,當灰度值等于255的像素個數(shù)大于MIN時則判定為入侵物體,系統(tǒng)將啟動警報,,然后以圖片格式保存當前幀Ii,。

  在模塊實現(xiàn)過程中,移植了Intel開源計算機視覺庫——OpenCV,。利用IplImage數(shù)據(jù)結構來存儲圖像信息,;利用IplImage*cvCreateImage(CvSize size,int depth,,int channels)函數(shù)為圖像創(chuàng)建首地址并分配存儲空間,;利用void cvReleaseImage(IplImage**image)函數(shù)來釋放為圖像所分配的內存空間;利用CvMat*cvCreateMat(int rows,,int cols,,int type)函數(shù)可將圖像信息轉換成數(shù)組存放;利用void cvCvtColor(const CvArr*src,,CvArr*dst,,CV_BGR2GRAY)函數(shù)可以將視頻幀轉換成灰度圖像;利用void cvAbsDiff(const CvArr*src1,,const CvArr*src2,,CvArr*dst)函數(shù)可以計算兩幀之間的差分灰度值;利用void cvThreshold(const CvArr*src,,CvArr*dst,,double threshold,,double max_ value,int threshold_type)函數(shù)可對灰度圖像進行閾值操作得到二值圖像[4],。同時,,為了有效降低微處理器的占用率,,對Surendra算法進行了簡化[5],,使系統(tǒng)在每3幀圖像之間進行一次更新運算,在30 f/s的采集幀率下背景圖像更新的時間間隔為0.1 s,,從而在保障檢測質量的同時大大提高了系統(tǒng)性能,。

  3.3 網(wǎng)絡傳輸模塊

  基于監(jiān)控的實時性考慮,網(wǎng)絡傳輸控制采用了實時流媒體協(xié)議(Real Time Streaming Protocol,,RTSP),,該協(xié)議能夠實現(xiàn)對實時媒體流進行控制,按需傳輸實時數(shù)據(jù),,有效降低嵌入式系統(tǒng)的資源占用率,。編碼后的H.264數(shù)據(jù)則采用穩(wěn)定可靠的TCP協(xié)議進行傳輸,由于視頻幀信息的大小不一,,需對其進行傳輸前的封裝,,具體的封裝流程如圖3所示。

002.jpg

4 結論

  結合項目實際,,本文設計了一套基于ARM的嵌入式智能入侵檢測系統(tǒng),。系統(tǒng)采用C/S架構進行設計,其創(chuàng)新之處在于利用普通核“芯”做專業(yè)平臺,,實現(xiàn)了通用接口,,從而有效降低設備成本。其次,,系統(tǒng)引入了智能入侵檢測,,利用幀間差分和背景減除相結合的算法進行背景更新設計,優(yōu)化后的算法既可以提高入侵檢測的準確性,,也可以保障系統(tǒng)監(jiān)控的實時性,。測試結果表明,本方案適用于小區(qū),、倉庫以及停車場等環(huán)境的區(qū)域監(jiān)控,,可實現(xiàn)基于以太網(wǎng)的遠程多點監(jiān)控,也可實現(xiàn)基于無人值守的智能監(jiān)控,。

參考文獻

  [1] 趙蒼明,,穆煜.嵌入式Linux應用開發(fā)教程[M].北京:人民郵電出版社,2014.

  [2] 韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,,2008.

  [3] 莫林,,廖鵬,,劉勛.一種基于背景減除與三幀差分的運動目標檢測算法[J].微計算機信息,2009(12):274-276.

  [4] 劉瑞幀,,于士琪.OpenCV教程——基礎篇[M].北京:北京航空航天大學出版社,,2007.

  [5] 梁艷.基于OpenCV的ARM嵌入式網(wǎng)絡視頻監(jiān)控系統(tǒng)[J].微型機與應用,2013,,32(9):29-31.


此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。