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

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

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

0 引言

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

1 系統(tǒng)總體設(shè)計(jì)

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

2 系統(tǒng)硬件設(shè)計(jì)

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

001.jpg

3 系統(tǒng)模塊設(shè)計(jì)及實(shí)現(xiàn)

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

  3.1 視頻處理模塊

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

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

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

  3.2 入侵檢測(cè)模塊

  入侵檢測(cè)模塊的主要功能是對(duì)監(jiān)控區(qū)域?qū)崟r(shí)采集的圖像信息進(jìn)行智能檢測(cè),一旦發(fā)現(xiàn)入侵物體立即啟動(dòng)警報(bào),并在本地設(shè)備的Flash中自動(dòng)記錄有關(guān)入侵物體的運(yùn)動(dòng)場(chǎng)景,。

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

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

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

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

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

  1.png

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

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

  2.png

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

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

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

  3.png

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

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

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

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

002.jpg

4 結(jié)論

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

參考文獻(xiàn)

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

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

  [3] 莫林,,廖鵬,,劉勛.一種基于背景減除與三幀差分的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].微計(jì)算機(jī)信息,2009(12):274-276.

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

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


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