劉學超
(淮北職業技術學院 計算機系,安徽 淮北 235000)
近年來,無線互聯技術異軍突起,以智能手機、平板電腦為代表的智能終端已悄然走入大眾的視野,并迅速得到普及應用,通過植入第三方提供的程序,手機的功能不斷的被擴充.智能手機憑借其操作靈活、延展性強等特點已然超越PC機,并逐漸顯示取代之勢.移動智能終端必將是網絡的主力軍和核心力量,必將成為軟件開發、運行和服務的主要平臺.未來網絡的主要發展趨勢是通過無線互聯網、智能終端、云服務器,為用戶提供功能更加強大的各種應用.
智能家居是指在原有的居住功能基礎之上,將自動化、樓宇綜合布線、多媒體、計算機網絡等技術手段融入現代住宅設施,把與日常生活息息相關的各項事務、家電設備等進行整合,形成一個現代化的、高科技的住宅管理體系[1].與傳統住宅相比,智能家居的建筑設計更加科學化、人性化,符合現代人對于生活的高質量要求,用戶可以對住宅進行實時的控制管理,既提高安全性、可靠性,同時又節約能源消耗.
2012年4月5日,國家室內裝飾協會智能化委員會對我國目前的智能家居產品進行了詳細的劃分,其中非常重要的一項就是智能視頻監控.智能視頻監控是指在無需人力干預的情況下,通過計算機可視化技術和信號監測技術對監控場所的視頻信息進行實時的監測、分析,比對圖像幀與場景中的變化,對畫面中的可疑目標進行鎖定、判斷目標的行為模式,如分析到有異常行為則告警,提高安保人員應對危機的實時性、準確性,同時盡可能地降低誤報、漏報等現象.
現在很多小區以及家庭住戶都安裝了監控攝像頭,但實際上這些視頻信息都是裸數據,或者說未經任何處理的數據.一旦發生問題的時候依然需要人工干預重復查看監控畫面,導致很多問題不能及時發現并得到處理,視頻監控也失去了原有的意義.為了解決上述問題,本文所研究的移動智能視頻監控系統通過連接無線網絡可以對監控場所實現實時的、全方位的遠程監控[2].本系統可實現如下功能:監控目標的檢測與跟蹤、數據采集與壓縮、告警、無線傳輸和遠程查看.系統結構如圖1所示.

圖1 系統總體框架
監控前端.根據監控系統的需要,用戶將一個或多個攝像頭安裝在所需區域,攝像頭采集監控場所的視頻信息,實時信息通過通用串行總行傳遞給主控服務器系統,完成視頻圖像信息的采集工作.
主控服務器.服務器的主要功能包括:捕捉視頻信息、目標的檢測與跟蹤、壓縮處理圖像以及Socket通信等.主控服務器首先接收前端監控設備傳遞的信息,然后使用OpenCV對監控區域進行目標的檢測、跟蹤,如果有運動目標出現在畫面中,則通過AT指令發送告警短信給用戶[3].同時,使用JMF中的Format對象將捕獲的視頻進行整理后打包,使用Socket進行通訊,將打包的視頻傳到客戶的智能終端.
客戶智能終端.主要功能包括:向主控服務器發送監控請求、視頻解壓縮、播放和保存視頻以及圖片等功能.Android智能終端自帶有視頻解壓縮和播放功能,用戶接收到監控數據后,通過播放軟件可直接播放視頻.
(1)目標檢測與跟蹤.目標檢測是指從監控視頻圖像中提取出的人們感興趣的運動對象,我們把該目標稱為前景,除此之外的其他部分稱為背景區.運動目標的提取直接關系著智能視頻監控的整體性能.
①背景建模.我們采用基于RGB色彩模型的選擇更新法,同時采用中值濾波法提取出背景圖像:在某一時間段的視頻樣本從中抽取若干幀Zi(i=1,2……),將相鄰兩幀的圖像像素點分別按R、G、B三個分量做減法運算,若結果小于閾值,則認定為是背景區域;若大于閾值,認定是目標區域[4].背景圖像提取時將剔除掉這些數據,去掉R、G、B三個分量的最大值和最小值,將其余分量取平均值,利用中值濾波法得到初始背景.
②背景更新.將當前幀與背景圖像的灰度進行差分,如果前景圖像Tn(x,y)在某一時刻由0變為1,則該點有運動目標出現,則Un(x,y)初始化為1.如果該值沒發生變化,則說明運動目標還存在,Un(x,y)自加,否則Un(x,y)歸零.
③目標跟蹤.建立一個大小為S的窗口用來搜索運動目標,將RGB圖像轉化為HSV圖像,對圖像的所有像素點進行H分量采樣,獲得色度直方圖.視頻中的所有像素點都可以使用色彩直方圖進行查詢,確定目標像素的概率.
(2) 告警模塊的實現.首先使用Camshift算法計算當前幀目標區域的輪廓面積,當輪廓面積con-area大于areashold時,則認為有目標入侵,同時開啟告警模塊.關鍵代碼如下:
dvDraw(cst,cont,colour,colour,0,4,9,dvpoint(0,0)); //繪制輪廓
con-area-tem=fabs(con-area(cont,cv-whole)); //獲取當前輪廓面積
首先設置3G無線上網卡的COM端口號、通信速率和接收短信的手機號碼,初始化COM端口,若檢測到運動目標,則發送AT指令,觸發短信發送進程.關鍵代碼如下:
Length=SMSEncode(src,pdu); // 編碼
Strcat(pdu,"x01a"); // 以Ctrl+Z結束
SMSString(pdu,&smsclength,2); // 獲得SMSC信息的長度
Sprintf(cmd,"AT+CMGS=%d ",length/2-smsclength); // 生成命令
Writecom(cdm,strlen(cmd)); // 先輸出命令串
(3)視頻采集與Socket通信.首先使用Server Socket server=new ServerSocket(port)建立一個服務器端,通過監控攝像頭采集到的數據存儲在服務器端,用戶通過Java Applet或其他軟件與服務器建立連接,發送監控請求.用戶提供IP地址、接收端口號等信息,服務器端驗證用戶身份后即可建立連接,同時將采集到的視頻信息通過Socket傳送給用戶[5].進行視頻傳送時既要節約用戶流量資費又要保證監控畫面的實時性, RGBFormat方式滿足上述要求,而且實現方便.具體實現如下:
①定義類webbroadcaster的構造函數,將視頻流的寬度(width)、高度(height)和監聽端口(port)分別賦值.
②使用mediumloca作為參數,調用manager的creat(int wid,int hei)為視頻流創建播放器.
③使用新線程持續操作framecontrol實例,獲取視頻數據流,同時將獲得的數據寫入socket中.
隨著國民經濟的增長和綜合國力的提升,智能視頻監控越來越體現出其自身的無可比擬的優勢.移動智能視頻監控技術充分體現了監控的實時性和主動性,文中對系統架構以及一些關鍵技術進行了闡述.相信未來這一技術將有著更為廣闊的發展空間.