基于A(yíng)ndroid平臺的智能家居監控系統
【摘要】目前,遠程視頻監控系統已成為智能家居的重要組成部分。智能監控系統基于Android操作系統平臺,以平板式計算機作為客戶(hù)端,通過(guò)HTTP協(xié)議從IP攝像機下載監控圖片,并利用多種算法對家中各房間或不同角度的情況進(jìn)行智能監控。
本文引用地址:http://dyxdggzs.com/article/149131.htm近年來(lái),視頻監控系統已在制造企業(yè)、物業(yè)管理、無(wú)人職守終端、銀行、交通、倉庫等領(lǐng)域得到廣泛應用。當家庭中有特別需要關(guān)注的物體和區域時(shí),家庭的主人可在其所處的家庭環(huán)境中安裝攝像頭,通過(guò)網(wǎng)絡(luò )遠程觀(guān)察其狀況,當發(fā)生意外情況時(shí)也可通過(guò)網(wǎng)絡(luò )監控事態(tài)的進(jìn)展。隨著(zhù)智能移動(dòng)終端的廣泛普及,同時(shí)由于其特有的便攜性和易于接入網(wǎng)絡(luò )的特性,移動(dòng)終端成為動(dòng)態(tài)監控和現場(chǎng)監控的理想選擇。
本文設計的視頻監控系統客戶(hù)端設備為Android平板電腦,該客戶(hù)端從IP攝像機獲取實(shí)時(shí)的監控圖片,根據不同場(chǎng)景用不同算法來(lái)判斷家中有無(wú)人員出入,標注關(guān)注對象并智能跟蹤,辨別各房間的照明情況及電視、計算機等家電的使用情況,可同時(shí)實(shí)現4路智能監控。
1監控平臺介紹
1.1客戶(hù)端平臺介紹
客戶(hù)端采用Android智能操作系統,Android是Google公司于2007年11月5日發(fā)布的基于Linux平臺的開(kāi)源手機操作系統的名稱(chēng)。該平臺由操作系統、中間件、用戶(hù)界面和應用軟件組成,底層Linux內核只提供基本功能,其他的應用軟件則由各公司自行開(kāi)發(fā),部分程序以Java編寫(xiě)。
2011年初數據顯示,僅正式上市2年的Android操作系統已超越稱(chēng)霸10年的Symbian系統,躍居全球最受歡迎的智能手機平臺?,F在,Android系統不僅應用于智能手機,也在平板電腦市場(chǎng)急速擴張。同時(shí),Android智能手機操作系統具有5大優(yōu)勢:開(kāi)放性、擺脫運營(yíng)商的束縛、豐富的應用選擇、開(kāi)發(fā)商不受任何限制和無(wú)縫結合的Google應用。
1.2IP攝像機介紹
IP攝像機是一種可產(chǎn)生數字視頻流,并將視頻流通過(guò)有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò )進(jìn)行傳輸的設備,其不需要額外的軟硬件,便可以將活動(dòng)的數字圖像直接傳輸到互聯(lián)網(wǎng)上,使在世界各地的計算機都可以通過(guò)瀏覽器觀(guān)看實(shí)時(shí)活動(dòng)數字圖像。IP攝像機支持TCP/IP,SMTPE-mail,HTTP以及其他Internet協(xié)議,支持諸如Windows,Unix,Mac及OS/2等多種操作系統。
該設計采用??低暪镜腄S-2DM1-502型網(wǎng)絡(luò )中速智能球型攝像機,支持客戶(hù)端通過(guò)HTTP協(xié)議下載監控圖片和H.264碼流。
2程序設計原理及實(shí)現
2.1客戶(hù)端設計原理。
該設計采用Android系統的平板電腦為客戶(hù)端,客戶(hù)端的軟件流程如圖1所示。

系統的具體實(shí)現大體分為兩部分:與IP攝像機連接,獲取所需視頻流;根據監控場(chǎng)景做出相應判斷及響應。
2.1.1獲取監控視頻
客戶(hù)端通過(guò)WiFi與IP攝像機連接,登錄IP攝像機后,選擇監控頻道,可同時(shí)實(shí)現4路智能監控,即可以觀(guān)察家中的基本情況:家中有無(wú)人員進(jìn)出,是否有人在家,對監控中出現的對象進(jìn)行關(guān)注跟蹤,辨別各房間照明情況以及電視、計算機等家電的使用情況等??蛻?hù)端實(shí)現方法為啟用多線(xiàn)程控制4路監控任務(wù),使每路監控任務(wù)具有相對獨立性,以便更換頻道。
多線(xiàn)程的具體實(shí)現方法有兩種,分別是繼承Thread線(xiàn)程類(lèi)和實(shí)現Runnable接口??蛻?hù)端若采用繼承Thread線(xiàn)程類(lèi)的方法,則不能繼承除線(xiàn)程類(lèi)之外的其他類(lèi),而界面子線(xiàn)程必須繼承View視圖類(lèi),所以本設計采用第二種方法。監控實(shí)現中,每一路畫(huà)面都是一個(gè)單獨的線(xiàn)程,也是一個(gè)完整的視圖,它是實(shí)現了Runnable接口且繼承View類(lèi)的類(lèi)對象。因此每個(gè)對象之間相互獨立,每路監控畫(huà)面相互獨立,可以靈活選擇監控頻道,以便后臺控制管理。
界面實(shí)現上,主界面為4路監控窗口,初始選擇監控頻道后便可通過(guò)HTTP協(xié)議獲取監控圖片序列,根據場(chǎng)景進(jìn)行算法處理,并播放智能監控畫(huà)面。
2.1.2程序優(yōu)化
客戶(hù)端需要根據不同場(chǎng)景調用不同的智能監控算法對發(fā)生的事件進(jìn)行判斷與識別,這一過(guò)程包含了大量的圖像處理運算,如灰度化、背景建模差分、中值濾波和形態(tài)學(xué)運算等。Android操作系統的開(kāi)發(fā)語(yǔ)言為Java,但是純Java編程的圖像處理程序在A(yíng)ndroid手機上的運行速度是其很大的問(wèn)題。通過(guò)JNI(JavaNativeInterface)技術(shù)在Java程序中調用C程序模塊,明顯地提高了應用程序的運行速度。筆者截取了40幀作為觀(guān)察對象,程序各主要運算步驟的平均運行時(shí)間如表1所示,從中可以看出運行時(shí)間縮短到了原來(lái)的1/18~1/17.
表1主要算法Java和JNI實(shí)現的運行時(shí)間比較

2.2功能與實(shí)現
該設計的智能監控系統具有3大功能:管理家中所有攝像頭,可靈活選擇監控點(diǎn);執行多種不同智能算法;能夠和其他聯(lián)網(wǎng)設備聯(lián)動(dòng),實(shí)現智能家居控制。
筆者用不同的實(shí)際場(chǎng)景對該系統進(jìn)行了測試,系統的功能描述與實(shí)驗結果如下。
1)多路監控。
獲取實(shí)時(shí)監控圖片,同屏顯示最多4路經(jīng)后臺算法處理后的智能監控畫(huà)面,如圖2所示。若需更換監控頻道,可點(diǎn)擊監控界面右側的路數列表,即可彈出頻道選擇欄,進(jìn)行頻道更換,以便更全面地實(shí)時(shí)監控家中情況,如圖3所示。


2)入侵檢測。
如圖4所示,該系統利用運動(dòng)物體檢測和識別算法,實(shí)現對特定區域的入侵檢測,從而判斷人員進(jìn)出情況,并在有陌生人入侵時(shí)啟動(dòng)報警。報警形式為彈出提示信息,并在該監控頻道窗口外圍添加不停閃爍的紅色邊框。

3)家電使用情況監測。
該系統可檢測各房間的照明情況,如某房間長(cháng)時(shí)間無(wú)人活動(dòng)或在室內光線(xiàn)充足時(shí),將彈出提示信息提醒用戶(hù)遠程控制智能家電,關(guān)閉不必要的照明設備,如圖5所示。

該系統也可根據計算機顯示器或者電視屏幕的畫(huà)面亮度與明暗變化和屋內有無(wú)人員來(lái)判斷計算機和電視是否有人使用,并通知用戶(hù)進(jìn)行處理,如圖6所示。

4)對象跟蹤。
用戶(hù)可根據需求,選中監控畫(huà)面中出現的對象作為感興趣目標,該系統將執行運動(dòng)檢測程序,對該對象的運動(dòng)范圍進(jìn)行實(shí)時(shí)圈定,方便監控管理,如圖7所示。

3總結
該智能監控系統允許用戶(hù)選定多個(gè)攝像機進(jìn)行監視,從而能夠全面及時(shí)地遠程觀(guān)察家中情況,并且可在異常情況發(fā)生時(shí)自動(dòng)發(fā)出警報以提醒用戶(hù)家中發(fā)生危險。
另外,當家中無(wú)人或在某一房間無(wú)人員活動(dòng)時(shí),系統也可提醒用戶(hù)關(guān)掉不需要工作的家電以節約能源,這一功能體現了監控系統與物聯(lián)網(wǎng)的融合。此智能監控系統具有良好的便攜性,功能較為完善。
評論