曾海峰(廣東科貿職業學院 信息工程系,廣東 廣州 510430)
基于ARM的嵌入式智能入侵檢測系統設計
曾海峰
(廣東科貿職業學院信息工程系,廣東廣州510430)
為實現區域管理的智能化和科學化,結合實際項目,設計了一套基于ARM的嵌入式智能入侵檢測系統。系統采用低成本、低功耗的ARM11芯片作為處理核心,利用嵌入式Linux實現遠程實時的視頻監控以及入侵檢測功能,具有部署方便、穩定性高、抗干擾強、價格低廉以及智能管理的特點。
ARM;Linux;遠程監控;入侵檢測
隨著嵌入式技術和網絡技術的飛速發展,視頻監控技術正向著數字化、網絡化和智能化方向前進。本文結合嵌入式技術提出了一套基于ARM的智能入侵檢測方案,系統通過遠程實時的視頻監控和智能的入侵檢測實現對監控區域的自動化管理,從根本上實現無人值守或少人值守,從而有效節省人力資源,提高安全等級,實現區域智能化和科學化管理。因此,系統的研發具有較大的實用價值和現實意義。
本文設計的智能入侵檢測系統采用C/S通信模式,由基于ARM實現的嵌入式視頻監控端和基于PC或移動平臺運行的客戶端兩個部分構成[1]。其中,監控端的設計目標是能夠實時采集監控區域的視頻信息,并對其壓縮后利用實時傳輸協議進行網絡傳輸,同時能夠對實時圖像序列進行運動檢測,發現異常后立即記錄入侵物體的運動軌跡,并向客戶端發出警報;客戶端可以通過操作平臺的監控程序進行遠程實時監控,并對監控數據進行存儲和回放,以便日后查看或取證。
智能入侵檢測系統的硬件包括主控模塊和擴展模塊兩大部分。主控模塊是整個系統的控制中心和信息樞紐,選用了三星的ARM11芯片作為微處理核心,主要負責系統電源管理、存儲管理、I/O管理以及多媒體信息處理等。擴展模塊的視頻采集部分可選用低電壓COMS圖像傳感器,直接與主控模塊的Camera接口連接,若選用BNC接口的模擬攝像頭,則通過TVP5150模塊完成A/D轉換,同時也可選用USB接口的家用攝像頭;視頻輸出可選用電視機、PC顯示器或專用監控儀,通過AVOUT與主控相連。網絡傳輸部分則通過路由器與局域網相連,利用網絡中的工作站、平板電腦或智能手機等設備實現監控。硬件系統框圖如圖1所示。
基于C/S模式的入侵檢測系統由ARM智能檢測端和遠程視頻監控端組成。其中,基于嵌入式ARM實現的主要功能在于完成視頻信息的處理、運動物體的檢測以及非法入侵的處理,模塊處理流程如圖2所示。

圖1 硬件系統框圖

圖2 視頻處理流程圖
3.1視頻處理模塊
視頻處理模塊包括視頻采集、視頻壓縮以及視頻回顯三個功能,主要利用Linux內核提供的Video4Linux2視頻設備驅動來實現[2]。V4L2框架為開發人員提供了通用的程序接口,Video設備的訪問路徑為/dev/video/videoX,用戶空間可通過ioctl函數對Video節點進行控制,并可通過mmap函數將硬件空間與內存空間進行映射,以提高訪問速度。
在視頻采集過程中,CMOS攝像頭經Camera接口驅動后映射成video0和video1兩個設備節點。其中,video0通過Codec通道可將 YCbCr4:2:2格式的數據轉換成YCbCr4:2:0格式存放至Codec DMA分配的內存中,最大分辨率可以達到4 096×4 096;video1通過Preview通道可將數據轉換為RGB(24bit)格式并存放于Preview DMA分配的內存中,如果將該內存地址設置為Framebuffer,就可實現LCD的本地回顯。如果采用支持MJPEG格式的U SB攝像頭,系統則需要利用ARM11芯片提供的JPEG硬件解碼形成YCbCr4:2:0數據并保存至內存。
轉換后的實時流格式包括YCbCr4:2:0和RGB-24bit。前者將被映射至MFC模塊的輸入緩存,經硬件編碼后形式H.264數據,通過RTP協議傳送至互聯網絡;后者將用于本地監控、視頻輸出以及入侵檢測模塊的輸入源。
3.2入侵檢測模塊
入侵檢測模塊的主要功能是對監控區域實時采集的圖像信息進行智能檢測,一旦發現入侵物體立即啟動警報,并在本地設備的Flash中自動記錄有關入侵物體的運動場景。
目前,常用的運動物體檢測方法包括幀間差分法、光流法和背景減除算法。根據實際應用的需求,不同的檢測算法都是在可靠性、實時性以及準確性之間取舍而來的。由于采用的是嵌入式硬件系統,其運算能力和處理性能相對有限,因此本文選擇了幀間差分法和背景減除法相結合的Surendra背景更新算法作為入侵檢測算法[3]。
Surendra算法能夠實現自適應的背景更新,其實現的基本思想是通過幀間差分法獲得入侵物體的運動區域,保持該區域內的背景不變,使用當前幀來更新非運動區域的背景,經過有限次的迭代運算后就可以較為準確地建立起背景圖像,從而實現自適應更新。算法實現步驟如下:
(1)通過V4L2框架讀取攝像頭的第一幀圖像,并將其設置為背景 B0,即:B0=I0。
(2)設置最大迭代次數為MAX,當前迭代數為m=1。

(3)利用幀間差分法計算當前幀圖像與前一幀圖像的幀差,并由此得到二值化圖像Di,即:其中,Ii代表當前幀圖像,Ii-1代表上一幀圖像,|Ii-Ii-1|為幀間圖像差分,T為設置的二值化閾值,Di(x,y)為幀間差分的二值化圖像在像素點(x,y)處的灰度值。

(4)由二值圖像Di更新背景圖像Bi,即:其中,Bi(x,y)表示背景圖像在像素點(x,y)處的灰度值,a為迭代更新速度系數。實驗證明,當迭代系數小于0.005時可以得到效果良好的背景圖像。
(5)迭代次數m=m+1,如果m≤MAX,返回步驟(3)繼續執行;如果m>MAX,結束迭代,此時的Bi可視為當前的背景圖像。
(6)獲得背景圖像Bi后,將其與當前幀 Ii進行背景減除運算得到差分圖像的灰度值di。同時,為進一步強化運動區域,減少像素灰度帶來的干擾,對di進行二值化后得到DBi,即:

(7)設置認定為入侵物體的像素個數最小值MIN,即選定閾值,當灰度值等于255的像素個數大于MIN時則判定為入侵物體,系統將啟動警報,然后以圖片格式保存當前幀Ii。
在模塊實現過程中,移植了Intel?開源計算機視覺庫——OpenCV。利用IplImage數據結構來存儲圖像信息;利用IplImage*cvCreateImage(CvSize size,int depth,int channels)函數為圖像創建首地址并分配存儲空間;利用void cvReleaseImage(IplImage**image)函數來釋放為圖像所分配的內存空間;利用CvMat*cvCreateMat(int rows,int cols,int type)函數可將圖像信息轉換成數組存放;利用void cvCvtColor(const CvArr*src,CvArr*dst,CV_BGR2GRAY)函數可以將視頻幀轉換成灰度圖像;利用void cvAbsDiff(const CvArr*src1,const CvArr*src2,CvArr*dst)函數可以計算兩幀之間的差分灰度值;利用 voidcvThreshold(constCvArr*src,CvArr*dst,double threshold,double max_value,int threshold_type)函數可對灰度圖像進行閾值操作得到二值圖像[4]。同時,為了有效降低微處理器的占用率,對Surendra算法進行了簡化[5],使系統在每3幀圖像之間進行一次更新運算,在30f/s的采集幀率下背景圖像更新的時間間隔為0.1s,從而在保障檢測質量的同時大大提高了系統性能。
3.3網絡傳輸模塊
基于監控的實時性考慮,網絡傳輸控制采用了實時流媒體協議(Real Time Streaming Protocol,RTSP),該協議能夠實現對實時媒體流進行控制,按需傳輸實時數據,有效降低嵌入式系統的資源占用率。編碼后的H.264數據則采用穩定可靠的TCP協議進行傳輸,由于視頻幀信息的大小不一,需對其進行傳輸前的封裝,具體的封裝流程如圖3所示。

圖3RTP封裝流程
結合項目實際,本文設計了一套基于ARM的嵌入式智能入侵檢測系統。系統采用C/S架構進行設計,其創新之處在于利用普通核“芯”做專業平臺,實現了通用接口,從而有效降低設備成本。其次,系統引入了智能入侵檢測,利用幀間差分和背景減除相結合的算法進行背景更新設計,優化后的算法既可以提高入侵檢測的準確性,也可以保障系統監控的實時性。測試結果表明,本方案適用于小區、倉庫以及停車場等環境的區域監控,可實現基于以太網的遠程多點監控,也可實現基于無人值守的智能監控。
[1]趙蒼明,穆煜.嵌入式Linux應用開發教程[M].北京:人民郵電出版社,2014.
[2]韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2008.
[3]莫林,廖鵬,劉勛.一種基于背景減除與三幀差分的運動目標檢測算法[J].微計算機信息,2009(12):274-276.
[4]劉瑞幀,于士琪.OpenCV教程——基礎篇[M].北京:北京航空航天大學出版社,2007.
[5]梁艷.基于OpenCV的ARM嵌入式網絡視頻監控系統[J].微型機與應用,2013,32(9):29-31.
Design of embedded intelligent intrusion detection system based on ARM
Zeng Haifeng
(Department of Information Engineering,Guangdong Vocational College of Science and Technology and Trade,Guangzhou 510430,China)
For the realization of regional intelligent and scientific management,combined with the actual project,this paper designs a set of embedded intelligent intrusion detection system based on ARM.The system uses low cost,low power consumption ARM11 chip as the processing core,using the embedded Linux to realize the function of remote monitoring and intrusion detection. This system has high stability,strong anti-interference,low prices,intelligent management and easy to deploy.
ARM;Linux;remote monitoring;intrusion detection
TP3
A
1674-7720(2015)12-0085-03
2015-01-29)
曾海峰(1982-),男,碩士,講師,主要研究方向:計算機技術、嵌入式應用。