《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 家庭視覺智能防盜監(jiān)控系統(tǒng)
家庭視覺智能防盜監(jiān)控系統(tǒng)
來源:微型機與應(yīng)用2013年第15期
李景坤,袁月峰,徐 佳,,趙嬌嬌
(中國計量學院 質(zhì)量與安全工程學院,,浙江 杭州 310018)
摘要: 基于ARM9處理器S3C2440芯片硬件平臺,設(shè)計和開發(fā)了一種家庭視覺智能防盜監(jiān)控系統(tǒng),。服務(wù)器以裁剪的Linux為軟件平臺,,移植了多種設(shè)備驅(qū)動程序,綜合利用多線程,、socket等編程技術(shù),,通過調(diào)用OpenCV圖像處理庫、Libjpeg內(nèi)存數(shù)據(jù)編解碼庫設(shè)計攝像頭應(yīng)用程序,,著重分析了Linux下V4L的工作原理以及基于特征臉的人臉識別原理,。該系統(tǒng)實現(xiàn)了在嵌入式Linux開發(fā)板上的人臉識別與身份驗證主系統(tǒng),實現(xiàn)在PC上Web瀏覽功能,,提高了防盜系統(tǒng)的安全性,。
Abstract:
Key words :

摘  要: 基于ARM9處理器S3C2440芯片硬件平臺,設(shè)計和開發(fā)了一種家庭視覺智能防盜監(jiān)控系統(tǒng),。服務(wù)器以裁剪的Linux為軟件平臺,,移植了多種設(shè)備驅(qū)動程序,綜合利用多線程,、socket等編程技術(shù),,通過調(diào)用OpenCV圖像處理庫、Libjpeg內(nèi)存數(shù)據(jù)編解碼庫設(shè)計攝像頭應(yīng)用程序,,著重分析了Linux下V4L的工作原理以及基于特征臉的人臉識別原理,。該系統(tǒng)實現(xiàn)了在嵌入式Linux開發(fā)板上的人臉識別與身份驗證主系統(tǒng),實現(xiàn)在PC上Web瀏覽功能,提高了防盜系統(tǒng)的安全性,。
關(guān)鍵詞: 嵌入式Linux,;ARM9;人臉識別,;OpenCV

 隨著智能視頻監(jiān)控系統(tǒng)的快速發(fā)展,,通過對攝像機拍攝的圖像序列進行自動分析,對視頻圖像中的運動對象進行檢測,、跟蹤和識別,,并在此基礎(chǔ)上對其進行行為分析,從而做到預(yù)警,、日常信息的管理,,及在異常情況發(fā)生時發(fā)出告警,提高視頻監(jiān)控的效率成為可能[1],。本系統(tǒng)將智能視頻監(jiān)控系統(tǒng)應(yīng)用于家庭防盜,,實現(xiàn)了一個以圖像處理技術(shù)為核心的家庭視覺防盜報警系統(tǒng),包括攝像機圖像采集分析,、圖像信息編碼,、壓縮及PC端解碼顯示的圖像處理設(shè)計、控制電路設(shè)計,、GSM短信發(fā)送模塊,。其目標是提供一套成本低、功能全面的家庭視覺防盜系統(tǒng),,解決長期以來防盜系統(tǒng)對于機械鎖的過度依賴,,變傳統(tǒng)的被動式消極防盜為報警式積極防盜,提高安全性,。
1 系統(tǒng)構(gòu)架
 該系統(tǒng)包含一個服務(wù)端和兩個客服端,,服務(wù)端主要負責人臉識別圖像處理、編碼壓縮及無線發(fā)送圖像信息,。一個客服端通過GSM模塊實現(xiàn)服務(wù)端與業(yè)主手機通信,,服務(wù)端通過對攝像機采集信息的一系列圖像處理,對采集圖像作人臉識別處理,,判斷是否為家庭成員并發(fā)送報警短信到業(yè)主手機,。服務(wù)端將壓縮圖像信息打包,通過TCP協(xié)議發(fā)送到PC客戶端,,實現(xiàn)在PC端的實時顯示,。家庭視覺智能防盜系統(tǒng)結(jié)構(gòu)如圖1所示。
相對于傳統(tǒng)的機械鎖防盜與人工監(jiān)視的傳統(tǒng)視頻監(jiān)控系統(tǒng),,本系統(tǒng)在效率上有了大大的提高,,并且更加智能化,、自動化。本系統(tǒng)具有以下功能:

?。?)可創(chuàng)建,、更新家庭成員人臉頭像庫文件;
?。?)服務(wù)端將前端設(shè)備采集圖像作人臉識別圖像處理,;
 (3)服務(wù)端判斷是否發(fā)送報警短信給業(yè)主,;
?。?)前端設(shè)備采集圖像信息在PC端實時顯示;
?。?)前端設(shè)備采集圖像信息在服務(wù)端LCD實時顯示,;
 (6)服務(wù)器端存儲可疑人圖片信息,;
?。?)可通過Web網(wǎng)絡(luò)查看前端設(shè)備采集信息。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)硬件平臺

 系統(tǒng)硬件結(jié)構(gòu)如圖2所示,。硬件平臺采用了ARM9嵌入式開發(fā)套件,,它由核心板和底板組成,,核心板上集成Samsung S3C2440處理器,。該芯片采用ARM920T處理內(nèi)核,主頻為400 MHz,,內(nèi)部帶有全性能MMU體系結(jié)構(gòu),,支持Linux、WinCE等嵌入式操作系統(tǒng),,集成了外部存儲器控制器,、LCD控制器、一個5線異步串行口(波特率最高為115 200  b/s),、一個10 MHz網(wǎng)口,、2個USB1.1接口(一個Host接口,一個Device接口)以及5 V電源接口[2],。

2.2 系統(tǒng)硬件框架
2.2.1 前端設(shè)備

 在Linux下,,使用開發(fā)板與攝像機相連,通過攝像機捕捉頭像畫面,。為方便圖像傳送,,系統(tǒng)采用中星微301P攝像機,其驅(qū)動需事先編譯進Linux內(nèi)核,。中星微301P芯片采用了最先進的算法加速硬件方式,,占用CPU資源一般為百分之十幾,使開發(fā)板LCD顯示屏在320×240模式下圖像表現(xiàn)優(yōu)異,并能達到30 f/s的速度[3],,動態(tài)畫面流暢,,實時還原真實場景。采集圖像數(shù)據(jù)經(jīng)攝像機硬件編碼通過USB接口與服務(wù)端實現(xiàn)傳輸,,采集圖像數(shù)據(jù)為JPEG格式圖片,。服務(wù)端通過軟件解碼實現(xiàn)在服務(wù)端LCD上實時顯示。
2.2.2 GSM模塊
 GSM模塊是可用單片機控制的以TC35I為核心的GSM系統(tǒng)終端,,支持數(shù)據(jù),、語言、短信傳輸?shù)裙δ?,利用信令信道傳輸,,是GSM通信網(wǎng)所特有的功能,不用撥號建立連接,,直接把要發(fā)送的信息加上目的地址發(fā)送到短消息服務(wù)中心,,由短消息服務(wù)中心再發(fā)送給最終的信宿,短消息的收發(fā)不影響通話[4],。編碼后單條短消息最大長度為140 B,,可以承載160個英文字符或70個漢字;編碼后每頁消息長度為82 B,,最大頁數(shù)為15頁,。GSM模塊短消息業(yè)務(wù)的優(yōu)點在于其無需建立連接,服務(wù)費用低,。
3 系統(tǒng)軟件設(shè)計
3.1 軟件系統(tǒng)設(shè)計框架設(shè)計

 本系統(tǒng)軟件框架分為服務(wù)器端主機控制,、顯示系統(tǒng)、GSM手機呼叫系統(tǒng)和PC終端顯示系統(tǒng),。核心部分為服務(wù)端主機系統(tǒng),,以嵌入式Linux為基礎(chǔ),建立交叉編譯環(huán)境,,完成引導(dǎo)加載程序Supervivi,、Linux系統(tǒng)內(nèi)核Linux-2.6.32的編譯移植,其中包括無線網(wǎng)卡,、通用USB攝像頭和LCD觸摸屏等驅(qū)動的移植,,最后移植通用yaffs文件系統(tǒng)?;谙到y(tǒng)設(shè)計的需要,,采用Framebuffer作為底層圖形接口,還需要在宿主機上交叉編譯Zlib,、JPEG,、OpenCV等多種庫,,這使得系統(tǒng)環(huán)境具有豐富的控件資源和良好的可移植性,最終形成基于ARM的嵌入式Linux平臺,,在此軟件平臺上可進行嵌入式應(yīng)用程序的開發(fā),。
3.2 服務(wù)器端主機程序設(shè)計
 主機程序設(shè)計采用C與C++語言相結(jié)合的方式進行開發(fā),C部分主要用于開發(fā)視頻播放程序和socket網(wǎng)絡(luò)程序,,主要內(nèi)容包括初始化攝像機設(shè)備和創(chuàng)建線程1采集視頻圖像,。然后主程序創(chuàng)建一個套接字監(jiān)聽,阻塞等待客戶端的請求連接,。連接成功后再創(chuàng)建線程2發(fā)送采集到的圖像數(shù)據(jù)給客戶端,。線程1的作用是采集視頻圖像,線程2的作用是發(fā)送圖像數(shù)據(jù)給客戶端,。內(nèi)嵌自定義的傳輸協(xié)議,,自行編寫簡易系統(tǒng),在不減少功能及系統(tǒng)穩(wěn)定的情況下,,減少代碼數(shù)量,,精簡代碼,設(shè)定算法,,提高系統(tǒng)穩(wěn)定性,、安全性。
 當主機設(shè)備啟動以后,,系統(tǒng)進行初始化,,采集前端設(shè)備攝像機一幀圖像,作圖像識別處理,,判斷是否為家庭成員,。為非家庭成員時,主機與客戶端建立聯(lián)系,,通過GSM模塊發(fā)送報警短信給業(yè)主手機,并通過TCP協(xié)議發(fā)送至終端,,在PC上實時顯示,,業(yè)主可登錄Web網(wǎng)頁查看門口監(jiān)控。程序流程圖如圖3所示,。

3.3 圖像數(shù)據(jù)的編解碼實現(xiàn)
 系統(tǒng)在網(wǎng)絡(luò)傳輸前,,必須要對處理后的圖像數(shù)據(jù)重新進行壓縮處理。系統(tǒng)采用了IJG(Independent JPEG Group)提供的Libjpeg庫實現(xiàn)在內(nèi)存中圖像數(shù)據(jù)的編解碼,,庫中函數(shù)必須從文件中讀取數(shù)據(jù),,再將壓縮數(shù)據(jù)存成JPEG文件,增加了不必要的文件I/O操作,,減慢了CPU的數(shù)據(jù)處理速度和網(wǎng)絡(luò)傳輸,。為克服其缺點,,改寫Libjpeg庫內(nèi)jdatasrc.c及jdatadst.c兩個源文件,重新定義struct stdio_src_mgr及struct stdio_dest_mgr,,并設(shè)計增加圖像操作函數(shù),,實現(xiàn)輸入和輸出數(shù)據(jù)的重定向到內(nèi)存中,利用修改后的Libjpeg庫可以很好地實現(xiàn)在內(nèi)存中直接對圖像數(shù)據(jù)編,、解碼,。
3.4 人臉識別與身份驗證

 


 本系統(tǒng)的特點是能實現(xiàn)人臉的檢測識別與身份驗證。系統(tǒng)所采用的人臉檢測算法主要來源于Vioal等提出的基于AdaBoost的實時人臉檢測算法,,該方法能實現(xiàn)Harr-like特征表示圖像,。采用AdaBoost方法選擇少量特征組成強分類器,引入“積分圖”概念,,提高對特征的計算速度,,使用“cascade”策略,提高人臉檢測速度,,并通過預(yù)先建立家庭成員人臉頭像庫文件的方式,,將識別后取得的人臉圖像與庫中圖像匹配,以此判定身份[5],。該方法能取得較好的檢測效果,。
 在此理論基礎(chǔ)上,本文人臉檢測算法的實現(xiàn)是基于OpenCV開源代碼庫,,該庫實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法,。利用其開源性設(shè)計基礎(chǔ)的數(shù)據(jù)類型和實現(xiàn)函數(shù),借助交叉編譯器等工具,,在服務(wù)器主機端實現(xiàn)人臉檢測及身份驗證,。系統(tǒng)人臉識別步驟如圖4所示,人臉識別圖像處理效果顯示圖如圖5所示,。

3.5 信號忽略機制算法
 因本系統(tǒng)需實現(xiàn)遠程PC端的網(wǎng)頁觀看視頻功能,,圖像數(shù)據(jù)要以TCP/IP協(xié)議的形式在互聯(lián)網(wǎng)中進行傳輸,因此需考慮多個遠程PC端同時訪問服務(wù)器端請求數(shù)據(jù)的情況,,由此產(chǎn)生了如下問題:若目前有多個客戶端正在訪問服務(wù)器端,,其中一個客戶端關(guān)閉了與服務(wù)端的連接,但服務(wù)端依然試圖發(fā)送圖像數(shù)據(jù)給客戶端(write to pipe with no readers),,系統(tǒng)就會發(fā)出一個SIGPIPE信號,,默認對SIGPIPE的處理是終止(terminate),此時即使還有別的客戶端仍連接,,負責發(fā)送圖像數(shù)據(jù)的服務(wù)器端還是會被終止,。這當然不是所想要的,因此本文采用了SIGPIPE信號忽略機制算法,。
 信號是UNIX/Linux進程間通信的一種標準方式,,又稱軟中斷信號(signal,,簡稱為信號),是一種簡單的通信方式,,由于信號相對簡單和有效而被廣泛使用[6],。信號主要用來通知進程發(fā)生了異步事件。但信號只是用來通知某進程發(fā)生了什么事件,,并不給該進程傳遞任何數(shù)據(jù),,收到信號的進程對各種信號有不同的處理方法,其中有一種處理方法是,,忽略某個信號,,對該信號不作任何處理,就像從未發(fā)生過一樣,,而進程是通過調(diào)用signal來指定進程對某個信號的處理行為,。在本系統(tǒng)中,在建立一個socket時便設(shè)定好客戶端的信號處理機制,,設(shè)定為信號忽略,。這種情況下,即使其中一個客戶端關(guān)閉與服務(wù)器的連接,,服務(wù)器端也不會終止,,從而提高了系統(tǒng)的可靠性。
 隨著人民生活水平的日益提高,,人們對居住生活的安全性愈加重視,,家庭防盜系統(tǒng)的作用更加突出,克服家庭防盜系統(tǒng)對于機械鎖的過度依賴,,本系統(tǒng)變傳統(tǒng)的被動式消極防盜為報警式積極防盜,,提高了防盜系統(tǒng)的安全性。該系統(tǒng)使用簡單,,價格低,,市場應(yīng)用前景廣闊,值得進行大量的探索和深入的研究,。
參考文獻
[1] 鐘海濤.基站智能防盜監(jiān)控系統(tǒng)視頻智能分析技術(shù)的研究[D].北京:北京郵電大學,,2011.
[2] 吳嘉彥.基于ARM的JPEG圖像處理技術(shù)研究與應(yīng)用[J].梧州學院學報,2010(6):67-72.
[3] 宋樂,,林玉池,吳穎,,等.基于視覺傳感的嵌入式自動讀尺系統(tǒng)[J].傳感器與微系統(tǒng),,2009(8):86-88.
[4] 吳玉田,王瑞光,,鄭喜鳳,,等.GSM模塊TC35及其應(yīng)用[J].計算機測量與控制,,2002(8):557-560.
[5] 公衍宇,郭琦,,于超.Android系統(tǒng)下OpenCV的人臉檢測模塊的設(shè)計[J].電子設(shè)計工程,,2012(20):52-54.
[6] 鄭尚志,趙小龍,,昌杰.Linux信號機制的分析與研究[J].科技資訊,,2008(11):98-100.
[7] 李明學,田由輝,,張雅若.ARM平臺嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的實現(xiàn)[J].電子產(chǎn)品世界,,2012(12):62-64.
[8] 王桂林.監(jiān)控領(lǐng)域背景下遠距離人臉識別系統(tǒng)探究[J].信息通信,2012(6):9.

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