◆肖 培 王 強
(蘇州工業園區工業技術學校 江蘇 215123)
基于Android系統的設備巡檢手機客戶端設計與實現
◆肖 培 王 強
(蘇州工業園區工業技術學校 江蘇 215123)
校園網絡設備中配電房設備巡檢依賴于人工,安全隱患大,本文的目的是開發基于Android系統的客戶端軟件進行圖像識別,通過校園無線網絡,將配電房中網絡攝像機獲得的圖像信息傳輸到手機上。通過對開關柜工作狀態的判斷,實現遠程、實時智能監測。通過對現場采集的數據進行分析和反復的實驗,該系統能夠滿足配電房巡查需要,操作簡單且工作可靠,具有良好的市場應用前景和可擴展性。
Android;視頻監控;RTSP;OpenCV;圖像識別
校園網絡設備的正常運行依賴于配電系統,目前大部分配電房設備的運行和維護都依賴于人工巡查,安全隱患大,如何讓巡查者快捷獲得現場信息并確保巡查人員的人身安全是擺在眼前的重要問題。隨著“互聯網+”時代的到來,網絡速度日益提升,智能手機系統功能日趨完善,手機客戶端的應用前景十分廣闊。本文開發出基于Android的手機客戶端軟件進行圖像識別,將配電房中網絡攝像機獲得的圖像信息,通過校園無線網絡傳輸到智能手機,通過對配電設備開關柜工作狀態的判斷,來實現遠程、實時智能監測,為校園設備的配電房遠程實時巡檢提供了方便。
配電房巡檢系統的主要設備包括:網絡攝像機、無線路由器和Android智能手機。它的硬件實現如圖1所示。

圖1 視頻監控硬件結構
(1)網絡攝像機:攝像機是整個系統數據的采集者,負責采集配電房設備的工作狀態,實時拍攝視頻,同時,網絡攝像機也是巡檢網中的一個設備終端,通過以太網接入系統。
(2)路由器:是整個系統的通信中繼裝置,負責將攝像機采集到的數據傳遞給接收端。
(3)智能手機:是整個系統數據的接收者和處理者,負責向用戶播放實時視頻數據,并對數據進行處理和智能化的分析。
Android是目前最具可移植性的嵌入式操作系統,從接口到功能,都有層出不窮的變化。客戶端的設計與實現基于Android操作系統以及RTSP協議,使用OpenCV對圖像進行邊緣檢測和圓形檢測的基本處理。
2.1 Android操作系統和平臺架構
隨著智能手機的日益普及,智能手機操作系統也日益為人們所重視。有的智能手機操作系統曾經非常成功,如諾基亞的Symbian系統、RIM的Blackberry系統,有的則稍縱即逝,如Windows Mobile、MeeGo、FireFox OS,能夠存活并且大面積使用的有Android 和IOS兩種。與封閉的IOS系統不同,Android是一款自由及開放源代碼的操作系統[1][2]。Android系統的開放性特點更能夠吸引開發者,同IOS昂貴的開發設備和需要付費才能成為開發者不同,Android的開發需要的成本少、門檻低。Android是對Linux在移動設備上的一個良好的補充,它對Linux進行了一定程度的裁剪,同時也做了大量優化,使Linux在移動設備領域獲得了新生[3]。
2.2 RTSP協議
RTSP(Real Time Streaming Protocol)[4]實時流傳輸協議,是由Real network 和Netscape共同提出的如何有效地在IP網絡上傳輸流媒體數據的應用層協議。該協議定義了一對多應用程序如何有效地通過IP網絡傳送多媒體數據。
RTSP協議以客戶服務器方式工作,它是一個多媒體播放控制協議,對流媒體提供了諸如暫停、繼續、后退、前進等控制。因此 RTSP 又稱為“因特網錄像機遙控協議”。

圖2 RTSP協議參考模型
2.3 OpenCV
OpenCV的英文全稱為:Open Source Computer Vision Library。OpenCV是一個基于BSD許可(開源)發行的跨平臺計算機視覺庫,它可以在Linux、Windows、Android和Mac OS操作系統上運行[5]。它具有輕量和高效的特點,由一系列的C函數和少量的C++類構成,同時提供了Python、Ruby、MATLAB等語言的接口,具有圖像處理和計算機視覺方面的很多通用算法。OpenCV進行圖像識別一般采用兩種方式,對于簡單的圖像一般采用輪廓識別,如車牌;對于復雜圖像,采用特征值識別,如人臉識別。
圖像識別的核心思想是從靜態圖片中找到設備的特征值,從而對設備進行判斷和定位,并從相關圖像參數中獲取設備的運行狀態。
3.1 預處理過程
為提高后續識別的準確度,首先需要對圖像進行去除噪聲操作,即平滑操作。但是平滑操作帶來一個問題,如通常使用的高斯濾波法,會使圖像的清晰度降低。如果圖像本身清晰度很高,對后續計算影響較小。如果因為在拍攝過程中清晰度很差,就會影響圖像的識別。
所以在識別圖像前先判斷圖像的清晰度,對于不同清晰度的圖像采取不同的操作,對于清晰度高的圖像,采用高斯濾波,進行平滑操作,對于清晰度低的圖像,采用銳化操作,提升圖像的清晰度。
圖像操作的第一步是簡化圖像像素點,即圖像的灰度化操作,調用如下:
cvtColor(src_img, gray, CV_BGR2GRAY);
隨后調用圖像清晰度檢測函數進行清晰度檢測,圖像清晰度檢測函數使用計算相鄰像素點方差的方法。
根據檢測的結果,以閾值(100左右)為分界線,大于100的認為是清晰度較高的圖像進行高斯濾波:GaussianBlur(gray, gray, Size(9, 9), 2, 2);低于100的圖像進行銳化操作,采用拉普拉斯算子:Laplacian(gray, gray,CV_16S,3)。
3.2 特征值識別
由于本項目中的圖片特征主要是矩形和圓形,對于矩形檢測,需要先檢測到直線,再對兩個直線求直角,由于真實圖片可能因為角度問題導致矩形在圖片中成為不規則的四邊形,所以在求直角運算時,可以適當放開直角的角度范圍進行糾正。
首先對濾波后的圖像進行二值化操作,輪廓檢測,并存儲檢測到的輪廓,對每個進行多邊形逼近,檢測矩形輪廓,對檢測到的多邊形進行邊數和形狀判別,檢測是否為凸多邊形。隨后計算多邊形四個邊的的夾角,并判斷是否為矩形,可適當放寬夾角的范圍防止圖片的拉伸情況。

圖3 設備特征圖
根據圖片中矩形的范圍定位到兩個燈所在的矩形,如圖3所示,設備指示燈所在的黑色區域是一個大矩形,內部有三個小矩形,可以根據檢測到的矩形的結果集確定黑色區域矩形的范圍。最后在確定的矩形范圍中尋找圓形。
3.3 設備工作狀態提取
整個設備的指示燈中,中間的位置顏色最鮮艷,明亮度也最高,所以先根據圖3找到的圓進行圓心的提取。
圖像重新載入和顏色識別:因為原始圖像已經被二值化(黑白化),不能識別顏色,所以從圖像讀取的拷貝中讀取彩色圖像進行顏色判斷。
4.1 實驗環境
實驗環境為海康威視DS-2CD1201D-I3 網絡監控攝像頭、D-Link無線路由器、Android智能手機(安卓系統版本5.0以上)。

表1 攝像頭與設備間的距離和角度測試數據結果統計
4.2 實驗方法
(1)功能說明:通過手機客戶端遠程實時查看攝像頭視頻,攝像頭的IP地址可以手動輸入,顯示當前設備工作狀態,對采集的數據進行圖像識別。
(2)功能設計:采用Android 5.0版本以上智能手機作為App的運行系統,使用Android前臺加Open CV后臺的方式完成對設備工作狀態的識別。
通過界面輸入網址來訪問網絡攝像頭,接收數據流后進行解碼和播放工作,在客戶端界面上有明顯的顯示區域提供設備狀態的監測工作。
4.3 實驗結果
在工程上,攝像頭安裝的位置直接決定了攝像頭和配電房開關柜的距離和角度,通過實地搭建系統,調整攝像頭的位置,選取不通角度和距離進行測試,表1列舉了部分識別結果。
由以上測試結果得出,攝像頭和開關柜距離在8m以內,角度大于30°的情況下,該系統能夠達到預期效果。當攝像頭與開關柜距離大于8m時,因開關柜矩形框邊緣過小,系統無法識別。當攝像頭與開關柜角度小于30°時,無法進行傾斜矯正,系統無法識別。綜合判斷,該系統能夠滿足校園配電房設備日常巡檢輔助工作。
本文根據實際,開發出一款可應用于配電房設備巡檢的手機客戶端軟件(APP),該軟件基于對安卓操作系統的基本框架程序,設計相應的登錄及播放器操作界面,并根據基本的視頻編解碼原理,實現RTSP交互過程,在手機界面上流暢地獲得攝像機采集的圖像。最后通過OpenCV視覺庫來對圖像進行邊緣檢測和中心圓形檢測,完成對采集圖像的識別以及結果判斷,為配電房遠程實時巡檢提供了方便。
通過對現場采集數據的分析和反復的實驗表明,該系統能夠初步滿足高低壓配電房設備巡查的需要,操作簡單且工作可靠,具有良好的市場應用前景和可擴展性,有一定的工程應用潛質。
[1]張華亮.基于Linux自由及開放源代碼的Android操作系統[J].計算機與網絡,2016.
[2]卓煒.基于Android操作系統的軟件開發及應用的探討[J].電子技術與軟件工程,2013.
[3]石鑫,夏青.基于Android操作系統的實時系統監控研究[J].電視技術,2015.
[4]萬明明.基于RTSP的流媒體傳輸系統的應用開發[J].電子測試,2016.
[5]李小川,楊國林.基于OpenCV的視頻監控系統的研究與實現[J].內蒙古工業大學學報(自然科學版),2015.