鄒洪清,王代強(qiáng)
(1.貴州大學(xué) 電子信息學(xué)院,貴州 貴陽(yáng) 550025;2.貴州大學(xué) 人民武裝學(xué)院,貴州 貴陽(yáng) 550025)
現(xiàn)在人們對(duì)自己私有財(cái)產(chǎn)的安全性要求越來(lái)越高,包括企業(yè)和個(gè)人。像住宅區(qū)、辦公場(chǎng)所等地方的安全問(wèn)題日益突顯,非法入侵,入室盜竊等違法犯罪行為對(duì)人們的生命財(cái)產(chǎn)安全構(gòu)成了嚴(yán)重的威脅,而視頻監(jiān)控系統(tǒng)在預(yù)防犯罪、調(diào)查取證等方面有著不可替代的作用,因此視頻監(jiān)控系統(tǒng)在各行各業(yè)中扮演的角色越來(lái)越重要。但當(dāng)視頻監(jiān)控沒(méi)有提示功能的話(huà),那么對(duì)視頻內(nèi)容的判斷和異常情況的處理只能依賴(lài)人來(lái)完成,這就對(duì)監(jiān)控人的注意力和對(duì)異常情況的應(yīng)變處理能力提出了很高的要求,大多數(shù)的經(jīng)濟(jì)損失都是由監(jiān)控人員的疏忽造成的。其二,在監(jiān)控過(guò)程中,監(jiān)控視頻通常存儲(chǔ)在磁盤(pán)中,由于監(jiān)控時(shí)間長(zhǎng),會(huì)要求足夠大的磁盤(pán)空間存儲(chǔ)視頻,如果長(zhǎng)時(shí)間記錄的是無(wú)運(yùn)動(dòng)的視頻圖像,這樣所含有用的信息極少,從而造成了資源的嚴(yán)重浪費(fèi)。所以,視頻監(jiān)控系統(tǒng)和運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)合起來(lái),有效地減少了磁盤(pán)不必要的存儲(chǔ),提高了磁盤(pán)的利用率。因此提出一種嵌入式系統(tǒng)與目標(biāo)檢測(cè)算法結(jié)合起來(lái),并把運(yùn)動(dòng)的圖像通過(guò)GPRS發(fā)送給管理者。
本系統(tǒng)主要包括ARM主控板、圖像采集模塊、GPRS模塊等3大模塊。該系統(tǒng)的設(shè)計(jì)目的是,由前端攝像頭將采集到的圖像信息進(jìn)行編碼壓縮后,經(jīng)RS232把圖像信息傳入到嵌入式處理器,嵌入式的Linux操作系統(tǒng)負(fù)責(zé)圖像信息的目標(biāo)檢測(cè)、圖像存儲(chǔ)并通過(guò)GPRS通信模塊給管理者發(fā)送過(guò)去,完成現(xiàn)場(chǎng)遠(yuǎn)程監(jiān)控功能。
根據(jù)系統(tǒng)總體設(shè)計(jì)我們得出該系統(tǒng)可以快速的通過(guò)手機(jī)獲取監(jiān)控現(xiàn)場(chǎng)的信息,同時(shí)可以通過(guò)手機(jī)發(fā)送指令對(duì)該系統(tǒng)發(fā)送命令和進(jìn)行配置。依據(jù)系統(tǒng)所需功能,設(shè)計(jì)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)Fig.1 Hardware structure
ARM主控板在整個(gè)系統(tǒng)中起到核心作用。它不僅要承擔(dān)對(duì)異常事件的判斷和處理工作,還要負(fù)責(zé)圖片采集,發(fā)送和接收短消息并且具有處理短信息內(nèi)容的能力。為了使用戶(hù)更加友好的操作,在主控板上我們配置觸摸屏采用圖形化界面對(duì)整個(gè)系統(tǒng)進(jìn)行配置,這就要求處理器具有對(duì)GUI的支持。在本系統(tǒng)中我們釆用ARM9開(kāi)發(fā)板(其核心處理器是S3C2440),該主控板集成豐富的外設(shè)資料可以滿(mǎn)足我們的系統(tǒng)需要,其中主要包括LCD和觸模屏接口 (支持用戶(hù)通過(guò)觸摸柄進(jìn)行操作)、64MB SDRAM、2MB Nor FLASH、64MB Nand FLASH、USB l.l Host接口、USB l.l Device接口、SD卡接口等等。
本開(kāi)發(fā)板配用了 CMOS攝像頭模塊 CAM130,其內(nèi)部使用的是 OV9650芯片,需要為其配置驅(qū)動(dòng)程序。在Device Drivers菜單里選擇 Multimedia devices,回車(chē)進(jìn)入,選擇OV9650 on the S3C2440 driver,如圖 2所示。
圖2 CMOS攝像頭驅(qū)動(dòng)配置Fig.2 CMOScamera driver configuration
由于本開(kāi)發(fā)板支持萬(wàn)能USB攝像頭,識(shí)別中星微攝像頭,所以本系統(tǒng)不需要進(jìn)行攝像頭驅(qū)動(dòng)的移植。
所謂GPRS(即通用分組無(wú)線(xiàn)服務(wù))是以GSM系統(tǒng)為前提發(fā)展的一種承載業(yè)務(wù),是在傳統(tǒng)GSM網(wǎng)絡(luò)之上架構(gòu),用來(lái)完成分組形式的數(shù)據(jù)服務(wù),它是一種標(biāo)準(zhǔn)的分組交換數(shù)據(jù)。用戶(hù)可以在一端到另一端不用電路交換模式就能在分組轉(zhuǎn)移模式下接收或發(fā)送數(shù)據(jù),相對(duì)優(yōu)點(diǎn):資源利用率高,永不斷線(xiàn),按流量收費(fèi),登陸快捷,可達(dá)115 kbps快速傳送[1-2]。
本系統(tǒng)采用西門(mén)子公司的MC35i,它是新一代的雙頻GSM/GPRS無(wú)線(xiàn)模塊,迅速穩(wěn)定的條件下進(jìn)行系統(tǒng)數(shù)據(jù)語(yǔ)音傳輸,甚至傳真和短信也沒(méi)問(wèn)題。系統(tǒng)使用的正常電壓是3.2~5.0 V,在800 MHz和1 800 MHz兩個(gè)頻段進(jìn)行工作,對(duì)應(yīng)頻段功耗分別是2 W和1.5 W[3]。
MC35i模塊主要由GSM基帶處理、GSM射頻模塊、供電模塊(ASIC)、閃存、ZIF連接器、天線(xiàn)接口六部分組成。作為MC35i的核心,基帶處理器主要處理GSM終端內(nèi)的語(yǔ)音、數(shù)據(jù)信號(hào),并涵蓋了蜂窩射頻設(shè)備中的所有的模擬和數(shù)字功能。在不需要額外硬件電路的前提下,可支持FR、HR和EFR語(yǔ)音信道編碼。
MC35i模塊的正常運(yùn)行需要相對(duì)應(yīng)的外圍電路與其配合,MC35i共有40個(gè)引腳,通過(guò)ZIF連接器分別與電源電路、啟動(dòng)與關(guān)機(jī)電路、數(shù)據(jù)通信電路、語(yǔ)音通信電路、SIM卡電路、指示燈電路等連接。這40個(gè)引腳又可以劃分為5類(lèi),即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。如圖3所示,即為MC35i硬件連接圖。
圖3 GPRS通信模塊接口框圖Fig.3 GPRScommunication module interface block diagram
在硬件和操作系統(tǒng)準(zhǔn)備好后,進(jìn)行本系統(tǒng)軟件部分的編碼與實(shí)現(xiàn)。該系統(tǒng)采用中星微攝像頭,使用的芯片是中星微ZC301P。通過(guò)攝像頭進(jìn)行視頻信息的采集和捕獲。當(dāng)有物體闖入監(jiān)測(cè)區(qū)域時(shí),系統(tǒng)會(huì)對(duì)入侵物體進(jìn)行圖片保存并通過(guò)GPRS發(fā)送給用戶(hù)。本系統(tǒng)軟件設(shè)計(jì)部分分為視頻采集模塊設(shè)計(jì)、動(dòng)態(tài)圖像檢測(cè)及GPRS通信模塊。
本系統(tǒng)的視頻采集模塊是基于V4L2(Video for linux 2)Linux的視頻編碼,V4L2是 Linux系統(tǒng)中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),是V4L的升級(jí)版本,包括一套數(shù)據(jù)結(jié)構(gòu)和底層V4L2驅(qū)動(dòng)接口。在Linux中,視頻設(shè)備是設(shè)備文件,這里使用的中星微攝像頭屬于字符設(shè)備,可以像訪(fǎng)問(wèn)普通文件一樣對(duì)其進(jìn)行讀寫(xiě)。本系統(tǒng)的攝像頭在/dev/video下。
V4L2視頻采集的基本流程包括以下幾個(gè)方面是:打開(kāi)視頻設(shè)備、讀取設(shè)備信息和視頻信息、初始化視頻設(shè)備、視頻采集、視頻數(shù)據(jù)的處理和顯示、關(guān)閉視頻設(shè)備。流程如圖4所示。
圖4 視頻采集基本流程圖Fig.4 Video capture basic flowchart
目前,常見(jiàn)的動(dòng)態(tài)圖像檢測(cè)算法有背景差分法、光流法、幀差法等。背景差分法檢測(cè)是將視頻幀圖像與背景參考模型相對(duì)比,從而檢測(cè)出移動(dòng)物體[4-5]。本系統(tǒng)使用背景差分法,其運(yùn)動(dòng)目標(biāo)檢測(cè)的流程圖如圖5所示。
圖5 運(yùn)動(dòng)目標(biāo)檢測(cè)流程圖Fig.5 Moving target detection flowchart
本系統(tǒng)使用的運(yùn)動(dòng)目標(biāo)檢測(cè)算法為 motion,它集成了運(yùn)動(dòng)目標(biāo)檢測(cè)和保存變化的圖片。在探測(cè)到時(shí)運(yùn)動(dòng)目標(biāo)時(shí),它可以執(zhí)行所設(shè)定目錄里的文件或腳本等功能。motion在mini2440開(kāi)發(fā)板上的交叉編譯過(guò)程如下:
1)在虛擬機(jī)RHEL5系統(tǒng)中創(chuàng)建目錄 motion #mkdir/home/motion
2)將motion-3.2.12.tar.gz源代碼拷貝到虛擬機(jī)中上面所建的目錄下。
3)解壓motion源代碼 #tar zxvf motion-3.2.12.tar.gz
4)創(chuàng)建交叉編譯安裝目錄 #mkdir/opt/motion
5)交叉編譯 #cd/home/motion/motion-3.2.12
#./configure--host=arm-linux--build=i486-gnulinux --prefix=/opt/motion
其中,--host=arm-linux是交叉編譯,--prefix是motion安裝目錄
6)將編譯生成的可執(zhí)行程序和配置文件拷貝到根文件系統(tǒng) #cd/opt/motion
通過(guò) SecureCRT的 rs命令下載bin目錄下的motion可執(zhí)行文件、etc目錄下的 motion-dist.conf和motion.conf文件,然后將下載的上述3個(gè)文件上傳到mini2440開(kāi)發(fā)板系統(tǒng)中,并對(duì)motion.conf的配置選項(xiàng)作相應(yīng)的修改即可。
監(jiān)控主板通電后,主機(jī)開(kāi)始初始化,模塊由AT指令對(duì)MC35i完成初始化。西門(mén)子MC35i模塊支持AT指令集,并使用擴(kuò)展的AT指令控制短消息的發(fā)送。本系統(tǒng)采用AT指令實(shí)現(xiàn)通信。主控模塊發(fā)出的AT指令用來(lái)建立通信鏈路。AT指令集的命令格式幀都是以AT開(kāi)頭。
在進(jìn)行GPRS上網(wǎng)之前,首先要對(duì)GPRS模塊進(jìn)行初始化設(shè)置。主要包括設(shè)定它的工作模式、外部接入點(diǎn)和使用的協(xié)議類(lèi)型等。下面為初始化使用的AT指令:
1)連接到GPRS網(wǎng)絡(luò)。AT+CGATT=1。為了使用GPRS服務(wù),MC35i必須先連接到GPRS網(wǎng)絡(luò),然后MC35i才能啟動(dòng)GPRS的數(shù)據(jù)集以及移動(dòng)應(yīng)用操作程序。
2)發(fā)起 PDP上下文激活請(qǐng)求。AT+CGDC0NT=1,,P,CMNET。也就是指定通訊格式、IP地址類(lèi)型和網(wǎng)絡(luò)接入點(diǎn)APN(負(fù)責(zé)與因特網(wǎng)或者其他兼容網(wǎng)絡(luò)的交互)。
3)協(xié)商 Qos(服務(wù)質(zhì)量)。 AT+CGQREQ=1,3,4,3,0,0。 其中的數(shù)字分別表示了 PDPcontext標(biāo)志符、服務(wù)優(yōu)先級(jí)、延遲級(jí)別、可靠性級(jí)別、峰值吞吐量別。
4)進(jìn)行PDP上下文激活。AT+CGACT=1、1。用于在數(shù)據(jù)傳輸前先激活,如果GPRS還沒(méi)連接,它將由AT指令自動(dòng)連接。其中后一個(gè)1標(biāo)示特定的PDP上下文。MC35i在上面的4個(gè)步驟中都要回答OK表示確認(rèn)。
5)進(jìn)入數(shù)據(jù)傳輸模式。AT+CGDATA=PPP。MC35i回答:CONNECT。然后就可以用PPP幀格式直接傳送數(shù)據(jù),MC35i的回答也是以PPP幀格式,等PPP連接終止后,才能發(fā)送更多的AT指令給GPRS模塊。
初始化完成以后,使用攝像頭模塊對(duì)監(jiān)控場(chǎng)地進(jìn)行圖像采集[6],圖6為GPRS通信模塊軟件工作示意圖。
圖6 GPRS通信模塊軟件工作示意圖Fig.6 Schematic GPRScommunication module software work
給開(kāi)發(fā)板上電后,通過(guò)串口調(diào)試軟件可以看到MC35i初始化的各條指令。在終端窗口輸入AT+CMGF=0,設(shè)定模塊工作模式為PDU模式,返回0K后,輸入AT+CMGS=(手機(jī)號(hào)碼)按下回車(chē),在收到>后輸入所要發(fā)送的信息內(nèi)容即可向指定手機(jī)發(fā)送消息,在收到0K!后表示發(fā)送成功,證明GPRS模塊通信良好。
當(dāng)開(kāi)發(fā)板啟動(dòng)起來(lái)后,連接好攝像頭,切換到motion目錄下,執(zhí)行命令:#./motion-c motion.conf,攝像頭監(jiān)控區(qū)域有運(yùn)動(dòng)目標(biāo)時(shí),攝像頭會(huì)保存有變化的圖片到/root/motion下,并把有變化的圖片發(fā)送給用戶(hù)。
經(jīng)過(guò)測(cè)試分析,基于GPRS動(dòng)態(tài)圖像監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn)方案具有實(shí)時(shí)性好、功耗低、工作可靠等優(yōu)點(diǎn),適用于家庭住宅,倉(cāng)庫(kù)等。本系統(tǒng)通過(guò)嵌入式系統(tǒng)與運(yùn)動(dòng)目標(biāo)檢測(cè)相結(jié)合,對(duì)移動(dòng)的物體進(jìn)行攝像保存并通過(guò)GPRS發(fā)送給用戶(hù)。通過(guò)查找目前國(guó)內(nèi)外遠(yuǎn)程監(jiān)控系統(tǒng)相關(guān)資料,完成了系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)主要功能。
[1]張艦.嵌入式家庭無(wú)線(xiàn)網(wǎng)絡(luò)監(jiān)控的設(shè)計(jì)與實(shí)現(xiàn) [D].成都:西華大學(xué),2010.
[2]Vojin G.Oklobdzija.Digital Design and Fabrication[M].CRC Press,2008.
[3]潘斌,郭紅霞.短信收發(fā)模塊MC35I的外圍電路設(shè)計(jì)[J].單片機(jī)及嵌入式系統(tǒng)應(yīng)用,2004,4(7):38-41.PAN Bin,GUO Hong-xia.Peripheral circuit design text messaging module MC35I[J].Microcontroller and Embedded Systems,2004,4(7):38-41.
[4]李志華.智能視頻監(jiān)控系統(tǒng)目標(biāo)跟蹤與分類(lèi)算法研究[D].浙江大學(xué).2009.
[5]于哲舟.視頻流圖像內(nèi)容檢索與運(yùn)動(dòng)目標(biāo)檢測(cè)研究[D].吉林大學(xué),2007.
[6]Parmo B.Aportable and scalablemonitoring systemfor cluster[J].Software Practiceand Experience,2000,12(7):723-739.