《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于視頻動態(tài)檢測的車庫監(jiān)控報警系統(tǒng)
基于視頻動態(tài)檢測的車庫監(jiān)控報警系統(tǒng)
來源:電子技術應用2013年第11期
張 凱,莊 梁,張 強
南京信息工程大學 信息與控制學院,江蘇 南京210044
摘要: 為解決因小區(qū)車庫物業(yè)監(jiān)管疏忽而造成的車輛被盜等問題,提出了一種安裝在私家車上的視頻動態(tài)檢測監(jiān)控報警系統(tǒng)。系統(tǒng)采用S3C6410微處理器芯片,將motion動態(tài)檢測程序、嵌入式Boa服務器等移植到系統(tǒng)終端,通過幀差法實現(xiàn)對車內圖像的動態(tài)檢測,并由WiFi模塊將系統(tǒng)接入小區(qū)網絡。當有物體闖入車內時,系統(tǒng)即發(fā)出報警并發(fā)送郵件通知用戶,用戶通過郵件推送服務可在手機上得到實時圖片信息,也可通過訪問網頁獲得實時視頻。測試結果表明,動態(tài)檢測穩(wěn)定可靠,視頻流暢清晰,能夠滿足要求。
中圖分類號: TP368.2
文獻標識碼: A
文章編號: 0258-7998(2013)11-0030-04
Garage monitoring alarm system based on video motion detection
Zhang Kai,Zhuang Liang,Zhang Qiang
School of Information Science & Control, Nanjing University of Information Science & Technology, Nanjing 210044,China
Abstract: In order to solve the problem that cars are stolen which caused by the regulatory oversight of residential property, a monitoring alarm system based on video motion detection which installed in the private car is proposed. The system uses the S3C6410 microprocessor chip. Motion and Boa server are transplanted into the system terminal, and the frame difference method which can realize the motion detection of image in the car is used. The system is connected to the network community by the WiFi module.When an object coming into the car, the system alarms and sends an E-mail to the user. User can get the real-time picture on the mobile phone by E-mail pushing service, and can also acquire the real-time images by browsing the webpage. The test result shows that motion detection is stable and reliable, the video is fluent and clear,and it can meet the requirements.
Key words : embedded;community garage;motion;Boa server;frame differentiation method

    隨著人們生活水平的不斷提高以及安全意識的不斷增強,人們對小區(qū)安全也越來越重視,而小區(qū)車庫安全是小區(qū)安全中必不可少的一部分[1]。但是由于小區(qū)入住率低、小區(qū)車庫管理混亂、環(huán)境復雜,私家車在小區(qū)車庫易遭受偷盜,甚至搶劫,導致車主遭受巨大損失。目前小區(qū)車庫主要由監(jiān)控人員通過視頻監(jiān)控。然而由于視頻監(jiān)控存在盲區(qū)、車庫監(jiān)控設備易遭破壞以及監(jiān)控人員疏忽等問題,此種方式不能有效地保障私家車在小區(qū)車庫的安全。相關文獻介紹的當前車庫的監(jiān)控系統(tǒng)主要是基于PC平臺的監(jiān)控,是對整個小區(qū)車庫的監(jiān)控,并且不具備主動報警的功能。為此,設計了一種安裝在私家車內的監(jiān)控報警系統(tǒng)。該系統(tǒng)不同于一般的汽車防盜報警系統(tǒng),可以通過對車內圖像的檢測來判斷車輛是否被偷盜,并可進行郵件通知和實時監(jiān)控,通過對攝像頭的控制可更加直觀地觀察到現(xiàn)場的情況,對于提高私家車在小區(qū)車庫的安全性具有很大幫助。

1 系統(tǒng)總體設計
    系統(tǒng)的整體結構簡圖如圖1所示,該系統(tǒng)由視頻采集終端、無線網絡端以及視頻接收終端組成[2]。整個系統(tǒng)通過WiFi模塊接入小區(qū)網絡。視頻采集終端將USB攝像頭采集到的實時視頻數(shù)據(jù)傳輸?shù)较到y(tǒng)中,然后由motion對采集到的視頻進行處理。當檢測到有物體進入車內時即發(fā)出報警,并通過郵件把車內實時圖片發(fā)送出去;視頻接收終端通過網絡以及CGI腳本與嵌入式Boa服務器進行交互,可實現(xiàn)對車內視頻的實時監(jiān)控。

2 系統(tǒng)硬件設計
2.1 系統(tǒng)硬件平臺設計

    該系統(tǒng)硬件主要包括32位的嵌入式微處理器、WiFi無線模塊、USB攝像頭等。系統(tǒng)的硬件結構框圖如圖2所示,其核心部分為S3C6410微處理器和256 MB的SDRAM、1 GB的NAND Flash以及多種外設接口(包括USB接口、SDIO接口、網卡接口等)所組成的最小系統(tǒng)。

2.2 USB攝像頭
    USB攝像頭與微處理器的USB HOST接口直接相連。攝像頭采用OV9650芯片,支持最大分辨率為1 300×1 028,可以輸出GRB4:2:2、YUV(4:2:2)和YCbCr(4:2:2)三種視頻格式,這三種格式均符合CCIR601和CCIR656標準。
2.3 WiFi無線模塊接口電路
    WiFi無線模塊采用Marvell公司低成本、低功耗的88W8686芯片,它通過SDIO接口與主控設備相連。該模塊遵循IEEE 802.11g標準,而且兼容802.11b協(xié)議標準,工作在2.4 GHz頻段,最高傳輸速率可達54 Mb/s。內置天線,可適應不同的工作環(huán)境,設備可以方便地接入無線網絡[3]。S3C6410 帶有2 路SDIO 接口,其中 SDIO0 通常被用作SD卡接口使用,另一路在本系統(tǒng)中用于連接WiFi無線模塊,其接口電路圖如圖3所示。

2.4 SD卡接口電路
    SD存儲卡用于對重要視頻數(shù)據(jù)以及圖片的存儲。通過SDIO接口與系統(tǒng)相連,最大可支持32 GB。其接口電路圖如圖4所示。

3 系統(tǒng)軟件設計
3.1 軟件開發(fā)環(huán)境介紹

    本系統(tǒng)采用Linux操作系統(tǒng), Linux系統(tǒng)具有開源、內核可裁剪、對網絡的支持比較完善等特點,用戶可以根據(jù)自己的需求對內核進行裁剪并重新編譯。在開發(fā)階段,采用掛載NFS根文件系統(tǒng)進行開發(fā),以方便軟件的調試。本文完成的工作有:(1)在前面所述的硬件平臺上構建最小嵌入式Linux系統(tǒng),包括對UBOOT、內核、根文件系統(tǒng)的移植[4],在對內核進行移植時,將本系統(tǒng)所用到的USB攝像頭和WiFi模塊等相關的驅動編譯到內核中。(2)在該系統(tǒng)平臺上進行motion的移植及嵌入式Web服務器的搭建。編寫基于motion的監(jiān)控程序,通過CGI和motion中的Http API來編寫Web控制頁面并對該系統(tǒng)進行整體測試。
    系統(tǒng)交叉編譯環(huán)境:主機開發(fā)環(huán)境選擇ubuntu9.10操作系統(tǒng),主機工具鏈gcc-4.6.3,交叉編譯工具鏈arm-linux- -gcc-4.3.2,內核版本采用Linux2.6.38內核。
3.2 移植motion到6410開發(fā)板
     motion是一個用于移動圖像監(jiān)控的程序,本系統(tǒng)實現(xiàn)的視頻動態(tài)檢測功能就是基于motion的,使用的是motion-3.2.12版本。下面介紹motion的移植和相關的配置。
    首先將motion-3.2.12源碼解壓到/work/tools目錄下,接下來進行編譯安裝,進入解壓后的目錄,執(zhí)行命令:./configure-prefix=${PWD}/_install-host=arm-linux,生成Makefile文件,由make進行編譯,make install將生成的庫和頭文件安裝到指定的./_install目錄下。然后拷貝./_install/bin/下的可執(zhí)行程序motion到開發(fā)板根文件系統(tǒng)的/usr/sbin目錄下。另外需在開發(fā)板根文件系統(tǒng)目錄中創(chuàng)建/var/run/motion/目錄,用于存放motion進程。
    接著進行motion的配置,根據(jù)./_install/etc/下的參考配置文件進行配置,修改后將配置文件放在開發(fā)板根文件系統(tǒng)的/etc/motion目錄下。配置文件的主要參數(shù)設置如表1所示。

3.3 動態(tài)視頻檢測算法及報警實現(xiàn)
    目前,在靜態(tài)背景下,主要有三類運動目標檢測算法:幀差法、背景減法和光流法。本系統(tǒng)調用的motion采用幀差法[5]。該方法基于圖像序列中相鄰圖像中較強的空間相關性,直接將相鄰兩幀或多幀圖像中對應的像素點逐一相減,各個像素對之間都會得到一個數(shù)值,如果這個數(shù)值的絕對值小于指定的閾值,則認為該點為背景像素點,反之為運動目標中的像素點。幀差法最大的特點在于算法實現(xiàn)簡單,程序設計復雜度低,實時性好。此外,由于相鄰幀的時間間隔比較短,因此該方法對光線的變化具有較強的魯棒性,幀差法流程圖如圖5所示。

    其中T為二值化閾值,Di(x,y)中的1表示運動目標,0表示背景。本系統(tǒng)的motion動態(tài)視頻檢測通過幀差法來判斷是否有物體入侵,并通過2個腳本來響應motion事件,以實現(xiàn)監(jiān)控報警和郵件通知。監(jiān)控報警腳本通過判斷motion配置文件中的參數(shù)設置決定在on_motion_detected事件觸發(fā)時播放報警聲。郵件通知腳本通過判斷motion配置文件中的參數(shù)設置決定在on_event_start事件觸發(fā)時發(fā)送最新捕獲到的圖片信息到指定的郵箱來通知用戶。
3.4 Web服務器的搭建
    為了方便服務器和瀏覽器通信,需要進行Boa服務器移植以及CGI程序編寫和HTML網頁設計。
    Boa服務器通過建立http請求列表來響應多路http連接請求,可以大大節(jié)約系統(tǒng)資源,非常適用于嵌入式系統(tǒng)[6]。這里主要介紹Boa服務器的移植過程。首先將下載的Boa源碼包解壓到/work/boa目錄下,進入解壓后的目錄/work/boa/boa-0.94.13/src執(zhí)行./configure生成Makefile文件;接下來修改生成的Makefile文件,將CC=gcc改為 CC=arm-linux-gcc,將CPP=gcc-E改成CPP=arm-linux-gcc-E,保存后進行make;之后執(zhí)行arm-linux-strip boa,可以去掉調試信息并進行優(yōu)化,最終會在src目錄下生成boa可執(zhí)行文件。然后對Boa的配置文件boa.conf修改如下:
    修改#ServerName www.your.org.here
    為 ServerName www.your.org.here;
    修改DoucmentRoot /var/www
    為DoucmentRoot /www;
    修改AccessLog /var/log/boa/access log
    為#AccessLog /var/log/boa/access_log;
    修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    為ScriptAlias /cgi-bin/ /gec/web/cgi-bin/。
    接著在開發(fā)板上創(chuàng)建/etc/boa和其他相關的目錄并將前面生成的boa和boa.conf拷貝過來,步驟如下:
    創(chuàng)建目錄mkdir /etc/boa;
    創(chuàng)建HTML文檔的主目錄mkdir /www;
    創(chuàng)建CGI腳本所在錄  mkdir /www/cgi-bin;
    將boa.conf拷貝到開發(fā)板根文件系統(tǒng)的/etc/boa下cp boa.conf  /nfs_root /etc/boa;
    將boa拷貝到開發(fā)板根文件系統(tǒng)的/etc/boa下cp src/boa  /nfs_root /rootfs/etc/boa;
    將ubuntu下/etc/mime.types拷貝到開發(fā)板根文件系統(tǒng)的/etc下cp /etc/mime.types  /nfs_root /rootfs/etc。
    接下來進行CGI程序的編寫,其編程原理主要為:通過GET或者POST等方法獲取表單中的數(shù)據(jù),激活URL所指定的CGI應用程序,CGI應用程序將處理好的結果傳送給服務器,服務器再把結果返回到瀏覽器。
    系統(tǒng)的HTML頁面包括4個界面,即系統(tǒng)設置、網頁監(jiān)控、查看圖片和查看視頻。將設計好的index.html頁面拷貝到開發(fā)板www目錄下,打開瀏覽器輸入開發(fā)板地址,如http://172.16.72.93/index.html,可看到設計好的網頁。
3.5 基于TCP/IP協(xié)議的視頻流傳輸

 


    本系統(tǒng)的視頻實時傳輸是基于TCP/IP協(xié)議的流式套接字接口編程方式[7]。實現(xiàn)的該協(xié)議的設計基于分層模型,包括網絡接口層、網絡層、傳輸層、應用層,每一層都封裝來自上一層的消息,加上自己的數(shù)據(jù)頭和數(shù)據(jù)尾。它實現(xiàn)了網絡中不同主機間的通信,屬于典型的B/S模式。面向TCP的網絡通信流程如圖6所示。數(shù)據(jù)傳輸?shù)牟襟E如下:首先服務器端創(chuàng)建Socket函數(shù)進行初始化并建立流式套接字,之后調用Bind函數(shù)進行端口綁定,接著調用Listen函數(shù)等待瀏覽器的請求。當瀏覽器向服務器發(fā)送連接請求時,通過Accept和Connet函數(shù)來建立連接,接著通過Send和Recv函數(shù)實現(xiàn)數(shù)據(jù)的通信功能,最后通過Close函數(shù)關閉套接字。
    本文提出了基于視頻動態(tài)檢測的小區(qū)車庫私家車監(jiān)控報警系統(tǒng)。主要從motion移植、視頻動態(tài)檢測及報警、Web服務器搭建和視頻傳輸?shù)确矫骊U述了系統(tǒng)的設計思路。實驗測試表明,系統(tǒng)運行穩(wěn)定可靠,視頻傳輸?shù)那逦雀撸瑐鬏斄鲿?,能夠滿足需求,可以極大地提高私家車在小區(qū)車庫的安全性。
參考文獻
[1] 李紅剛,張素萍,方佳,等.基于ARM的智能家居遠程監(jiān)控系統(tǒng)設計[J].現(xiàn)代電子技術,2009(5):134-128.
[2] 李昂,送海聲,蘇小蕓.基于Android的視頻監(jiān)控系統(tǒng)設計與實現(xiàn)[J].電子技術應用,2012,38(7):138-140.
[3] 曹理發(fā),尹勇,劉恒輝.基于ARM和DSP的視頻監(jiān)控系統(tǒng)設計與實現(xiàn)[J].電子器件,2009,32(1):213-217.
[4] 韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.
[5] 徐騰飛.視頻序列中基于檢測的多目標跟蹤研究[D]. 南京:南京郵電大學,2011.
[6] 陳榮軍,羅文聰.基于無線的物聯(lián)智能家居控制系統(tǒng)設計[J].電子技術應用,2012,38(5):142-144.
[7] 代治國,李興霞.基于ARM的智能小區(qū)遠程視頻監(jiān)控系統(tǒng)[J].電子設計工程,2013(2):70-72.

此內容為AET網站原創(chuàng),未經授權禁止轉載。