馬 蓉,李云紅,王晨昊,蘭文博
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)
隨著監(jiān)控技術(shù)在數(shù)字化、網(wǎng)絡(luò)化以及向著智能化方向的發(fā)展[1-2],遠(yuǎn)程智能監(jiān)控系統(tǒng)的應(yīng)用范圍也越來越廣.以往的監(jiān)控系統(tǒng)由于技術(shù)發(fā)展水平的限制,常采用有線連接,這種監(jiān)控方式范圍小,無法形成信息聯(lián)動[3].目前,對遠(yuǎn)程環(huán)境監(jiān)控系統(tǒng)的研究,國內(nèi)已經(jīng)取得一些成果.文獻(xiàn)[4]應(yīng)用GPRS和彩信兩種通信方式實現(xiàn)遠(yuǎn)程視頻監(jiān)控,但是沒有對采集的視頻信息采取智能化的處理;文獻(xiàn)[5]采用嵌入式Linux系統(tǒng),視頻壓縮技術(shù),提出了一種啟動速度快、視頻傳輸速率高的遠(yuǎn)程視頻監(jiān)控系統(tǒng),但是并沒有實現(xiàn)完善的信息處理,沒有預(yù)警功能.
針對以上存在的問題,本文設(shè)計一套遠(yuǎn)程智能環(huán)境監(jiān)控系統(tǒng).該系統(tǒng)基于ARM處理器進(jìn)行了多參數(shù)的網(wǎng)絡(luò)監(jiān)控,監(jiān)控終端通過傳感器及攝像頭采集現(xiàn)場數(shù)據(jù),經(jīng)過ARM處理器處理后的數(shù)據(jù)顯示在基于QT的LCD界面.ARM處理器智能地完成視頻數(shù)據(jù)的壓縮、傳輸以及視頻監(jiān)控數(shù)據(jù)中運(yùn)動目標(biāo)的檢測的功能,對于出現(xiàn)的異常情況,能夠自動觸發(fā)報警裝置.該系統(tǒng)通過WiFi把采集的數(shù)據(jù)信息傳輸?shù)竭h(yuǎn)程監(jiān)控中心,監(jiān)控中心通過PC對現(xiàn)場信息做進(jìn)一步分析、處理.
系統(tǒng)是以S3C2410微處理器芯片為核心的ARM9操作平臺,由本地監(jiān)控終端和遠(yuǎn)程監(jiān)控中心構(gòu)成.系統(tǒng)總體結(jié)構(gòu)如圖1所示,本地監(jiān)控終端可放置于需要進(jìn)行監(jiān)測的環(huán)境之中,通過搭建外圍監(jiān)測設(shè)備電路,集成各種數(shù)據(jù)采集設(shè)備,實現(xiàn)溫度、濕度等現(xiàn)場環(huán)境信息的實時采集,同時對采集到的視頻數(shù)據(jù)進(jìn)行壓縮、智能處理以及遠(yuǎn)程傳輸?shù)竭h(yuǎn)程監(jiān)控中心.本地監(jiān)控終端按照功能模塊可劃分為中心處理器、數(shù)據(jù)采集模塊、無線傳輸模塊3部分.
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 The total structure of system
中心處理器選擇ARM9體系的微處理器S3C2410.包括基本的電源電路、LCD顯示器、USB主控接口等[6-7],ARM主控制器基本結(jié)構(gòu)如圖2所示.數(shù)據(jù)采集模塊包括傳感器、報警裝置以及中星微ZC301攝像頭.設(shè)計傳感器及報警裝置的外圍工作電路,與中心控制器通過I/O接口連接;攝像頭與中心控制器通過USB口連接.通過WiFi無線技術(shù)遠(yuǎn)程通訊,選用USB無線網(wǎng)卡:TL-WN321G,構(gòu)建ARM-PC無線局域網(wǎng).
圖2 中心控制器Fig.2 The central controller
遠(yuǎn)程監(jiān)控端由一臺接入網(wǎng)絡(luò)的PC機(jī)構(gòu)成,登錄客戶端程序,完成環(huán)境信息的接收、智能處理以及采取必要的預(yù)警措施.
系統(tǒng)在搭建完成硬件的基礎(chǔ)上實現(xiàn)功能依靠軟件設(shè)計,系統(tǒng)軟件設(shè)計主要包括底層軟件平臺的搭建,應(yīng)用程序開發(fā),驅(qū)動程序開發(fā)3個模塊.設(shè)計選擇流行的LINUX操作系統(tǒng)作為嵌入式操作系統(tǒng),根據(jù)不同外設(shè)要求配置、裁剪、移植LINUX操作系統(tǒng),完成底層軟件平臺的搭建.應(yīng)用程序包括客戶端程序、智能處理采集的視頻數(shù)據(jù)程序;外設(shè)驅(qū)動程序在系統(tǒng)運(yùn)行時以模塊的方式加載進(jìn)內(nèi)核.
系統(tǒng)的外設(shè)包括用于視頻采集的攝像頭和無線網(wǎng)卡,這兩個外設(shè)的的驅(qū)動已經(jīng)比較成熟可以直接下載應(yīng)用,通過直接編譯進(jìn)內(nèi)核的方式加載驅(qū)動.底層數(shù)據(jù)采集設(shè)備溫、濕度等傳感器通過編寫驅(qū)動程序,動態(tài)加載進(jìn)內(nèi)核.
Linux系統(tǒng)中通過驅(qū)動程序訪問外設(shè),將外設(shè)驅(qū)動程序加載進(jìn)內(nèi)核,系統(tǒng)通過文件系統(tǒng)內(nèi)的設(shè)備名對外設(shè)操作.在Linux內(nèi)核中,V4L2是視頻設(shè)備的API接口[8-9],通過編寫V4L2接口函數(shù)對攝像頭對應(yīng)的設(shè)備文件video 0操作,實現(xiàn)視頻采集.每采集一幀視頻數(shù)據(jù)就對其編碼、打包、發(fā)送.視頻采集編碼以及發(fā)送流程圖如圖3所示.
圖3 視頻采集編碼、發(fā)送流程圖Fig.3 The flow chart of video information collecting,encoding and sending
為實現(xiàn)環(huán)境監(jiān)控的智能化,使得監(jiān)控畫面高清晰度和高度的網(wǎng)絡(luò)信息化.系統(tǒng)對視頻數(shù)據(jù)進(jìn)行分析和網(wǎng)絡(luò)化處理.由攝像頭采集到的視頻數(shù)據(jù)經(jīng)遠(yuǎn)程傳送到監(jiān)控終端,通過監(jiān)控端的客戶端程序做數(shù)字圖像分析,對運(yùn)動目標(biāo)進(jìn)行檢測,并且對異常信息進(jìn)行提取,若認(rèn)定有異常情況出現(xiàn),便由監(jiān)控端向向服務(wù)器發(fā)送相關(guān)的異常告警信息,由服務(wù)端根據(jù)用戶設(shè)定的報警條件,向工作人員發(fā)出報警信息,以便即時處理.
設(shè)計研究的系統(tǒng)以單目固定攝像機(jī)采集的視頻圖像序列為研究對象,進(jìn)行運(yùn)動目標(biāo)檢測.通過幀差法檢測當(dāng)前環(huán)境中的運(yùn)動目標(biāo),利用連續(xù)兩幀的圖像做差獲取運(yùn)動目標(biāo)信息.僅根據(jù)兩幀序列圖像的差值區(qū)分運(yùn)動目標(biāo),不能獲取運(yùn)動目標(biāo)的全部信息.論文使用二次幀差法,即利用連續(xù)三幀圖像做幀差[10].其算法處理過程圖4所示.基本步驟如下:
(1)設(shè)f(x,y,t)表示t時刻當(dāng)前幀,其前后相 鄰兩 幀分 別 為 f(x,y,t-1),f(x,y,t+1),其中T是二值化的閾值.t時刻的相鄰兩幀作幀差,得出幀差圖D1,D2.
圖4 二次幀差法處理過程圖Fig.4 The process chart of secondary frame difference
(2)對D1,D2進(jìn)行平滑處理,高斯濾波.
(3)對D1,D2進(jìn)行閾值化處理,得到二值化圖像B1,B2.
(4)為抑制運(yùn)動區(qū)域的噪聲,對B1,B2中的每個像素進(jìn)行邏輯與操作,得到二次差分后的圖像B,即為檢測出的運(yùn)動目標(biāo).
系統(tǒng)遠(yuǎn)程監(jiān)控終端通過局域網(wǎng)與監(jiān)控服務(wù)器端相連,監(jiān)控終端采用QT界面,結(jié)合OpenCV庫開發(fā)設(shè)計客戶端監(jiān)控程序,最終實現(xiàn)建立網(wǎng)絡(luò)通信,傳感器數(shù)據(jù)的接收、實時動態(tài)顯示,視頻圖像數(shù)據(jù)的接收、播放、存儲以及智能處理,每一部分的功能通過接口連接實現(xiàn).客戶端的多線程設(shè)計流程圖如圖5所示.
圖5 客戶端流程圖Fig.5 The flow chart of client
在Linux2.6.4系統(tǒng)環(huán)境下,將傳感器模塊、視頻采集模塊、無線傳輸模塊需要的功能編譯進(jìn)內(nèi)核,生成新的內(nèi)核鏡像zImage.將各模塊同開發(fā)板連接,并將各模塊的驅(qū)動程序靜態(tài)編譯進(jìn)內(nèi)核,實現(xiàn)開發(fā)板上電各個模塊自啟動.經(jīng)測試表明,系統(tǒng)啟動時間為20ms,視頻采集、處理和傳輸程序占用CPU的5%~10%之間,系統(tǒng)運(yùn)行穩(wěn)定.
將ARM開發(fā)板與PC機(jī)的IP設(shè)置在同一網(wǎng)段上,打開客戶端程序,與中心控制器進(jìn)行遠(yuǎn)程無線連接.通過在應(yīng)用程序中設(shè)置不同分辨率改變視頻的采集幀率和數(shù)據(jù)傳輸所占帶寬,以驗證本文搭建系統(tǒng)的性能.其結(jié)果為,當(dāng)分辨率設(shè)置為320×240時,視頻幀率為25幀/s,占用帶寬為212k B/s;當(dāng)分辨率設(shè)置為640×480時,視頻幀率為15幀/s,占用帶寬259k B/s.
由于不同的PC配置,以及網(wǎng)絡(luò)傳輸速率的影響,計算出的視頻幀率略有差別,經(jīng)過測定幾組不同的數(shù)據(jù),得出平均的結(jié)果.分辨率設(shè)置為320×240,視頻采集幀率為25幀/s,畫面顯示流暢,采集視頻圖像清晰,可以滿足視頻監(jiān)控的要求;分辨率設(shè)置為640×480,視頻采集幀率為15幀/s,視頻顯示有畫面停滯現(xiàn)象,不流暢.
客戶端程序?qū)⒚總€功能實現(xiàn)程序通過接口聯(lián)系,實現(xiàn)視頻圖像的智能化處理.圖6為檢測視頻圖像第9幀與第20幀進(jìn)入環(huán)境的運(yùn)動目標(biāo).
(1)系統(tǒng)構(gòu)建的遠(yuǎn)程實時環(huán)境監(jiān)控系統(tǒng),不僅能實時顯示現(xiàn)場環(huán)境的溫、濕度等信息,而且通過攝像頭實時監(jiān)控現(xiàn)場畫面,同時將視頻信息編碼為AVI文件保存到硬盤.
(2)應(yīng)用運(yùn)動檢測算法對視頻圖像做識別處理,對于出現(xiàn)異常情況能及時預(yù)警,以便保護(hù)現(xiàn)場環(huán)境.
(3)整個系統(tǒng)穩(wěn)定性好、可擴(kuò)展性強(qiáng),模塊化設(shè)計具有開放性,可以利用微處理器的I/O功能,擴(kuò)展更多傳感器,對環(huán)境信息做更加詳細(xì)多方面的監(jiān)控,并且可擴(kuò)展到更多領(lǐng)域.
圖6 幀差法檢測出的運(yùn)動目標(biāo)Fig.6 The frame difference method to detect the moving target
[1] 陳敬.基于 ARM 的遠(yuǎn)程家居智能監(jiān)控系統(tǒng)設(shè)計[D].荊州:長江大學(xué),2011:1-5.CHEN Jing.Design of remote home intelligent monitoring system based on ARM[D].Yangtze University,2011:1-5.
[2] 盧靈,周賢軍.基于 WiFi的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計[J].電視技術(shù),2013,37(1):157-160.LU Ling,ZHOU Xianjun.Design of embedded video surveillance system based on WiFi[J].Video Engineering,2013,37(1):157-160.
[3] 馮先成.李小鵬.司擎華.基于S3C2410嵌入式系統(tǒng)的觸摸屏驅(qū)動設(shè)計[J].光學(xué)與光電技術(shù),2012,10(6):72-73.FENG Xiancheng,LI Xiaopeng,SI Qinghua.Driver design of touch screen based on S3C2410 embedded system[J].Optics & Optoelectionic Technology,2012,10(6):72-73.
[4] 劉萌,鄭煊,李國.基于 ARM 的嵌入式遠(yuǎn)程智能視頻監(jiān)控系統(tǒng)的設(shè)計[J].電氣自動化,2011,33(5):51-57.LIU Meng,ZHENG Xuan,LI Guo.Design of embedded remote intelligent video surveillance system based on ARM[J].Electronic Automation,2011,33(5):51-57.
[5] 劉塵塵.基于 ARM 的遠(yuǎn)程視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機(jī)測量與控制.2012,20(8):2127-2132.LIU Chenchen.Design of remote video monitoring system based on ARM[J].Computer Measurement &Control,2012,20(8):2127-2132.
[6] 吳芳.劉亞利.馬昌喜.基于 GPRS的危險貨物倉儲環(huán)境實時監(jiān)測系統(tǒng)[J].北京理工大學(xué)學(xué)報,2013,33(8):808-809.WU Fang,LIU Yali,MA Changxi.Real-time monitoring system of dangerous goods in storage environment based on GPRS[J].Transactions of Beijing Institute of Technology,2013,33(8):808-809.
[7] 許青.基于 ARM9的室內(nèi)無線監(jiān)控警報系統(tǒng)設(shè)計與實現(xiàn)[J].電子科技,2013(2):105-106.XU Qing.The design and implementation of wireless indoor monitoring alarm system based on ARM9[J].Electronic Science & Technology,2013(2):105-106.
[8] 王曉華,賈繼洋.基于 ARM 的遠(yuǎn)程實時監(jiān)控系統(tǒng)的研制[J].西安工程大學(xué)學(xué)報,2014,28(5):580-582.WANG Xiaohua,JIA Jiyang.The implement of a real-time remote video surveillance system based on ARM[J].Journal of Xi′an Polytechnic University,2014,28(5):580-582.
[9] LU Yinlin,YU Hongli,ZHANG Pengpeng.The implementation of embedded image acquisition based on V4L2[C].International Conference on Electrons,Communication and Control(ICECC),New York:IEEE,2011:549-552.
[10] 陳春雨,姚秋香,喬玉龍.基于幀差法和邊緣檢測法的視頻分割算法[J].濟(jì)南大學(xué)學(xué)報,2012,26(1):31-34.CHEN Chunyu,YAO Qiuxiang,QIAO Yulong.Video segmentation algorithm based on frame difference and edge detection[J].Journal of University of Jinan,2012,26(1):31-34.