劉銳 何志毅
【摘 要】為提高室內照明控制的靈活性和降低家庭安防的成本,結合照明控制與視頻監(jiān)控技術,設計了一種基于OpenCV的室內照明智能控制系統(tǒng)。使用USB攝像頭采集實時視頻信號,結合MFC與OpenCV設計上位機控制軟件,單片機作為照明控制MCU,PC與單片機采用串口通信。上位機可設置視頻監(jiān)控ROI(感興趣區(qū)域),并進行運動物體檢測。系統(tǒng)根據(jù)不同的檢測結果,控制照明狀態(tài)的改變,從而實現(xiàn)對特定照明區(qū)域的照明智能控制。
【關鍵詞】OpenCV;視頻監(jiān)測;照明控制;串口通信
0 引言
隨著經(jīng)濟和數(shù)字信息技術的迅速發(fā)展,計算機、通信和自動控制技術不斷進步并相互滲透,人民對燈光照明控制的要求不斷提高,室內照明的智能化控制受到越來越廣泛的關注。同時,人們對信息的需求和安全保障的渴望與日俱增[1],在家庭安防領域,視頻監(jiān)控也日益興起。目前國內的視頻監(jiān)控也逐步向數(shù)字化、多功能化、智能化方向發(fā)展[2]。日常生活中,照明控制系統(tǒng)與視頻監(jiān)控系統(tǒng)通常作為兩個獨立的系統(tǒng)被分別使用,不僅使用不便、成本較高且難以維護。本課題的主要目的是結合當下流行的照明控制技術與視頻監(jiān)控技術開發(fā)出經(jīng)濟、可靠的室內照明控制系統(tǒng),同時兼有視頻監(jiān)控功能,實現(xiàn)室內照明控制的人性化和個性化[3]。
1 系統(tǒng)方案設計
基于OpenCV的室內照明智能控制系統(tǒng)如圖1所示。USB攝像頭采集視頻信號,經(jīng)數(shù)據(jù)線傳送到PC端。系統(tǒng)PC端上位機使用基于MFC與OpenCV開發(fā)的視頻監(jiān)控-照明控制軟件,可實現(xiàn)監(jiān)控畫面的實時顯示、運動物體檢測和照片拍照等功能。上位機根據(jù)視頻中運動物體的不同檢測結果,給出相應的照明控制信號,并通過串口傳送到下位機照明控制MCU,MCU依據(jù)接收的控制信號控制照明模塊照明狀態(tài)的改變。其中,照明模塊采用單片機開發(fā)板上8個LED模擬實際室內照明燈。
圖1 照明智能控制系統(tǒng)
圖2 視頻監(jiān)測-照明控制軟件界面
在Visual Studio 2013集成開發(fā)環(huán)境下,結合MFC應用框架和OpenCV計算機視覺庫,編寫上位機視頻監(jiān)控-照明控制軟件,界面如圖2所示。界面分為以下幾個主要功能區(qū):“畫面顯示”、“本地資源”、“信息顯示”、“攝像頭視頻采集”、“檢測結果”和“串口通信”等。當打開本地圖片、視頻文件,或USB攝像頭采集實時視頻,都顯示到“畫面顯示”中;“本地資源”可以打開本地保存的圖片、視頻資源;“信息顯示”中“圖片信息”顯示打開的本地圖片的文件路徑,“視頻信息”顯示正在播放視頻的視頻信息,如幀數(shù)、幀寬和幀高;“攝像頭視頻采集”包含了對USB攝像頭的相關操作,如打開/關閉攝像頭、獲取攝像頭幀圖像、保存/停止保存視頻等;“檢測結果”用來顯示視頻中運動物體檢測的結果信息;“串口通信”是關于串口通信參數(shù)的設置,也包括打開/關閉串口功能。
2 串口通信
串行通信,數(shù)據(jù)的各位在一根傳輸線上按照時間順序依次傳送,具有實現(xiàn)簡單、使用靈活方便、數(shù)據(jù)傳輸可靠等優(yōu)點,在許多行業(yè)中得到大量應用[4,5]。
基于OpenCV的室內照明智能控制系統(tǒng)中PC與單片機之間采用串口通信。首先對串口參數(shù)初始化,確定串口的工作方式、波特率、數(shù)據(jù)位以及停止位等。系統(tǒng)串口通信參數(shù)設置為:波特率9600bit/s、無校驗位、8位數(shù)據(jù)位和1位停止位。
3 視頻監(jiān)控與照明智能控制
3.1 視頻運動物體檢測
鑒于USB攝像頭在視頻采集過程中處于固定狀態(tài),同時考慮到運動物體檢測的靈敏度和算法的復雜度,系統(tǒng)采用幀差法檢測運動物體。幀差法是用一幀圖像減去另一幀,然后把足夠大的差別標記為前景目標,能夠很好的捕捉到運動物體的邊緣。利用幀差法進行運動物體檢測流程如圖3所示。
圖3 幀差法運動物體檢測
運行PC端視頻監(jiān)控-照明控制軟件,在顯示的視頻畫面上繪制監(jiān)控ROI,同時彈出兩個ROI同大小的視頻顯示窗口“camera1”和“camera2”,分別用于顯示ROI視頻畫面和用幀差法處理后的ROI二值圖像,如圖4(a)、(b)所示。可以看出,對視頻圖像采用幀差法處理,可以很好的得到運動物體的邊緣輪廓,從而檢測出運動物體,且當超過系統(tǒng)預設的判別閾值,系統(tǒng)會對有運動物體的視頻畫面進行拍照保存。
(a)ROI視頻圖像 (b)ROI二值圖像
圖4 ROI視頻幀間差分法效果圖
USB攝像頭朝向某一固定方向采集實時視頻信號,對于像室內窗戶、門口、樓梯口等特殊地方的視頻監(jiān)控,系統(tǒng)PC端可以自主設置ROI。根據(jù)實際應用的需要設置不同的ROI,可提高視頻監(jiān)控的效率和針對性。
3.2 照明智能控制
系統(tǒng)對運動物體檢測的不同結果設置了相應的判別閾值。規(guī)定幀差法處理后的一幀ROI二值圖像中總像素點個數(shù)為N,非零像素點的個數(shù)為num;據(jù)此設置判別閾值:分別記為0、N*0.2、N*0.4、N*0.6、N*0.8,則得出五個不同的判別范圍:0-N*0.2、N*0.2- N*0.4、N*0.4- N*0.6、N*0.6- N*0.8及N*0.8-N;當num處于不同的判別范圍內時,系統(tǒng)給出相應的警告信息,分別為:“Alert1_LED0”、“Alert2_LED1”、“Alert3_LED2”、“Alert4_LED3”、“Alert5_LED3”。其中警告級別分別從一級到五級,對應點亮不同的LED燈。第一級中num相對很小,有可能是其他非行人等物體所致,故不點亮LED燈;第四、五級時,說明num值足夠大,同時點亮3個LED燈;對于第二到五級別,點亮LED燈的同時,系統(tǒng)對ROI視頻畫面拍照并保存,以供后期查看。
視頻中運動物體的檢測結果對應哪個判別范圍內,系統(tǒng)就給出相應的警告信息和照明控制信號,其中,警告信息顯示在上位機軟件界面的“檢測結果”中,照明控制信號經(jīng)串口傳送給單片機。單片機接收到控制信號后,控制LED燈照明狀態(tài)的改變,進而在視頻監(jiān)控的基礎上實現(xiàn)照明智能控制。
4 結束語
本文利用VS2013中的MFC應用框架與OpenCV計算機視覺庫編寫上位機視頻監(jiān)控-照明控制軟件,與下位機MCU進行串口通信,結合USB攝像頭和照明模塊組成室內照明智能控制系統(tǒng)。通過設置視頻監(jiān)控ROI,可實現(xiàn)對特定區(qū)域的視頻監(jiān)控與照明控制。經(jīng)實驗測試,該系統(tǒng)可以準確檢測出ROI區(qū)域內的運動物體,并且必要時拍照保存視頻畫面,實現(xiàn)視頻監(jiān)控功能;同時,下位機在接收照明控制信號后,相應的改變照明狀態(tài),實現(xiàn)照明智能控制功能。系統(tǒng)工作穩(wěn)定,安全、可靠,兼具視頻監(jiān)控與照明智能控制的功能,提高了照明控制的靈活性的同時也降低了家庭安防的成本,為基于視頻監(jiān)控的室內照明智能控制系統(tǒng)設計提供了一套完整方案。
【參考文獻】
[1]張曉情.多功能遠程監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].自動化與儀器儀表,2015(12):41-42.
[2]程向嬌,黃言態(tài).無線視頻監(jiān)控關鍵技術研究及開發(fā)[J].中國科技信息,2010(16):155-156.
[3]梁人杰.智能照明控制技術發(fā)展現(xiàn)狀與未來展望[J].照明工程學報.2014(02):15-26.
[4]王正強.VC中應用MSComm控件實現(xiàn)串口通信[J].電子測試,2010(05):73-76.
[5]龔新文.串口通信在VS2008中的實現(xiàn)與應用[J].電腦與電信,2011(03):47-48.
[責任編輯:湯靜]