針對國內高校普遍存在的照明場所電能嚴重浪費的現(xiàn)象,提出一種智能控制燈的方法,根據(jù)教室的人數(shù)和人員在室內分布的位置,對燈的開關進行自動控制。實現(xiàn)“按需供電”的目的而達到節(jié)能的效果。本設計采用ARM9芯片S3C440A提供的攝像頭接口,采用OV9650芯片實現(xiàn)視頻的采集,利用人臉檢測的方式統(tǒng)計室內人數(shù),并通過串行總線發(fā)送數(shù)據(jù)到上位機。
【關鍵詞】智能教室 人臉檢測 圖像采集 計算機視覺
進入21世紀,能源問題是世界各國關注的熱點問題。目前,我國電力工業(yè)發(fā)展速度很快,但是電力供應不足和用電效率低下的狀況依然比較嚴重。因此推行照明節(jié)電技術節(jié)約電能是改善電力負荷緊張狀況的主要途徑之一。我國照明用電約占總發(fā)電量的12%左右,且以低效照明為主。因此成為終端節(jié)電的主要對象之一。照明用電大都屬于峰時用電,由此可見,照明節(jié)電具有節(jié)約電量和緩解高峰用電的雙重作用。針對普遍存在的大量的電能和其他能源的過度消耗和人為原因造成的資源浪費這一現(xiàn)象,我們提出了一系列的檢測、協(xié)調、控制方式就地的對教室內部設備采取智能控制,以達到節(jié)約能源的目的,同時對教室的運行狀態(tài)進行遠程監(jiān)控,以便及時了解室內狀況。
1 系統(tǒng)結構
本設計將控制系統(tǒng)分為兩層,由PC機組成的上位機和由ARM 9芯片組成的下位機,二者通過RS485總線相互連接,組成并實現(xiàn)對數(shù)據(jù)的采集、傳輸,同時上位機還可以發(fā)送命令對設備的相應的控制。下位機的主控芯片采用的是三星公司生產(chǎn)的S3C2440 ARM 9芯片作為控制器,對數(shù)據(jù)進行采集和處理,并通過串行總線RS485將檢測到的數(shù)據(jù)發(fā)送的上位機中。在 S3C2440 ARM 9芯片上運行移植了OpenCV的嵌入式Linux系統(tǒng)。本設計將教室劃分為多個區(qū)域,每個區(qū)域分配一個攝像頭來采集視頻圖像。系統(tǒng)利用人臉檢測的方法統(tǒng)計視頻圖像中的人臉數(shù)量,綜合各個區(qū)域中的人數(shù)作為確定教室人數(shù)的方法。上位機采用在visual c++ 6.0中編寫的程序,通過串口采集下位機串口的數(shù)據(jù),定時存放到數(shù)據(jù)庫中,也可以記錄采集到的響應數(shù)據(jù)和對下位機發(fā)出控制命令來控制教室的設備。當然,系統(tǒng)還可以查看數(shù)據(jù)庫中存儲的教室歷史信息。系統(tǒng)整體結構圖如圖 1所示。
2 光照、溫度采集與處理
溫度的采集采用美國美信半導體公司生產(chǎn)的單線數(shù)字溫度傳感器DS18B20芯片作為溫度傳感器。DS18B20是世界上第一片支持“一線總線”接口的一種高精度單總線溫度傳感器,它把溫度信號直接轉換成串行數(shù)字信號提供給微控制器進行處理,并且可根據(jù)實際需要通過簡單的編程實現(xiàn)一位數(shù)字量的轉換。具有測量精確度高、可靠性好、抗千擾能力強、傳輸距離遠等特點,可廣泛應用于高精度測量溫度的各個領域。本設計采用其作為教室溫度采集傳感器,分別在教室的四個角落的上方放置。在室內溫度超出預定值時,自動開啟電風扇進行散熱。
光照強度的檢測選用TI公司的可編程光頻轉換器TSL230B作為光強檢測。TSL230B芯片主要由多晶硅光電二極管和單片COMS電流頻率集成轉換器構成。多晶硅光電二極管對光輻照度信號進行光電轉換,把一定光譜的光轉換成電流,再由電流/頻率轉換器轉換成相應的脈沖頻率。輸出方波或三角波的頻率完全由光輻照度決定,可程控調整靈敏度及滿量程的輸出頻率。分辨率極高,不受外圍元件影響,可以直接與微控制器連接,幾乎無須外圍元件。其特點是:
(1)不需要外接元件即可完成高分辨率的光照度/頻率轉換;
(2)靈敏度和滿度輸出頻率可編程調整;
(3)直接微處理器接口;
(4)單電源工作,寬供電電壓范圍:2.7~6V,具備掉電功能;
(5)絕對輸出頻率容限為20%;
(6)100kHz時非線性誤差典型值為0.2%;
(7)穩(wěn)定的0.01%/℃的溫度系數(shù);
(8)先進的LinCMOSTM工藝。
GB50034-2004《建筑照明設計標準》規(guī)定的教師和一般閱覽室光照度的標準值300lx,因此本設計將此值作為基值,系統(tǒng)檢測到室內光線強度高于此值是,自動關閉燈的電源;當室內光線強度低于此值時,系統(tǒng)根據(jù)人臉檢測統(tǒng)計的人數(shù)來確定是否開燈。當教室中的總人數(shù)小于10人時,只打開一個區(qū)域的燈,當室內人數(shù)大于10人時,則根據(jù)各個區(qū)域的情況打開相應的燈。
3 位置檢測及人數(shù)統(tǒng)計方法
本設計利用攝像頭陣列采集室內圖像,因此需要很好的實時性和穩(wěn)定性,和對視頻采集設備的協(xié)調性。這個功能的實現(xiàn)借助于廣泛使用的OpenCV平臺。OpenCV具有統(tǒng)一的結構和功能定義、強大的圖像和矩陣運算能力、方便靈活的接口等特點,它集成了大量的圖像處理和計算機視覺方面的通用算法是計算機視覺、圖像處理和模式識別等方面進行二次開發(fā)的理想工具。OpenCV中提供了CVCAM模塊對攝像頭和視頻流進行操作和使用,但是鑒于其對多攝像頭操作出現(xiàn)的種種問題,本設計直接使用Linux系統(tǒng)內核驅動Video4Linux中視頻和音頻設備應用程序提供的一系列API函數(shù)采集視頻序列圖像。系統(tǒng)對視頻序列圖像使用Adaboost算法人臉檢測的方法進行實時人臉檢測,其算法雖然十分復雜,但應用OpenCV提供的函數(shù)和分類器進行人臉檢測將是十分容易。檢測步驟主要分為:加載分類器、加載待檢測的圖像和人臉檢測三部分。本設計直接使用OpenCV中提供好的文件haarcascade_frontalface_alt.xml作為目標檢測分類,使用OpenCV中用于檢測圖像中目標的函數(shù)cvHaarDetectObjects對輸入圖像進行人臉檢測。函數(shù)cvHaarDetectObjects在制定的圖像中查找已經(jīng)可能包含的級聯(lián)分類器對象的矩形區(qū)域,并作為矩形序列區(qū)域返回。該過程的關鍵代碼如下:
static CvMemStorage* storage = 0;endprint
…
CvSeq* faces = cvHaarDetectObjects( small_img, cascade, storage, 1.1, 2, 0, cvSize(30, 30) ); //檢測圖像中的目標
首先定義用于存放人臉的動態(tài)內存存儲器,然后通過調用函數(shù)cvHaarDetectObjects得到圖像中人臉位置的矩形序列。我們通過查看序列中的個數(shù)就可以判別圖像中又多少個人臉,進而確定監(jiān)控的區(qū)域中的人數(shù)。根據(jù)攝像機成像模型可知,圖像與實際場景成線性比例,因此我們在得到人臉在圖像中的位置矩陣之后,就可以利用這個比例來確定人在室內的具體位置。通過人位置矩陣的拼接,即可得到整個室內的人位置矩陣。在得到室內總的人數(shù)、人位置矩陣后,根據(jù)2中的控制算法即可完成對室內燈的控制。
4 串行通信與數(shù)據(jù)處理
將采集到的數(shù)據(jù)傳輸?shù)缴衔粰C,同時上位機也可以對下位機進行一定的控制,這就需要數(shù)據(jù)的通信。RS485總線具有比RS232總線傳輸速度快,距離遠等特點,能夠滿足主控機與下位機通信,因此選擇其作為數(shù)據(jù)傳輸?shù)目偩€。參照文獻[8]對多線程串口編程工具CSerialPort類源程序的修改方法,本設計使用該文件搭建串口通信的框架。其工作的流程是:先設置好串口參數(shù),然后開啟串口檢測工作線程。對于接收數(shù)據(jù)而言,串口檢測工作線程檢測到串口接收到的數(shù)據(jù)、流控制事件或其他串口事件后,以消息方式通知主程序,激發(fā)消息處理函數(shù)進行數(shù)據(jù)處理;對于發(fā)送數(shù)據(jù)而言,我們可以直接向串口發(fā)送數(shù)據(jù)。
在串行總線上傳送數(shù)據(jù)時,要有一定的格式以免發(fā)生內容混亂的現(xiàn)象。本設計采用的格式如下:傳輸開始時,首先發(fā)送“55”、“AA”清楚總線上的干擾信號,然后標識字符“A”“T”“L”“M”中的一個,緊接著發(fā)送數(shù)據(jù)的長度,最后發(fā)送相應的數(shù)據(jù)。計算機接收到串口傳送的數(shù)據(jù)后,加入當前系統(tǒng)時間,壓入數(shù)據(jù)庫進行存儲,以便將來的數(shù)據(jù)查詢和信息統(tǒng)計。其軟件運行界面如圖2所示。
5 結論
本文研制的智能教室控制系統(tǒng)設計思維新穎,采用人臉檢測功能實現(xiàn)室內人數(shù)的統(tǒng)計,能夠及時查詢教室的當前信息和歷史信息,方便了工作人員的管理,通知對燈光和風扇的智能化控制,達到了節(jié)電的效果。同時還可以根據(jù)實際情況進行變更和擴展,提高了系統(tǒng)的靈活性和適應性,可以進行大規(guī)模的應用和推廣。
參考文獻
[1](美國)(Bradski.G.)布拉德斯基.學習OpenCV(影印版)(LearningOpenCV)[M].東南大學出版社,2009.
[2]陳勝勇,劉盛等.基于OpenCV的計算機視覺技術實現(xiàn)[M].科學出版社,2008.
[3]劉瑞禎,于仕琪.OpenCV教程:基礎篇[M].北京航空航天大學出版社,2007.
[4]吳永橋,金康進,施光林.基于AT89C52的日光燈照明節(jié)電控制系統(tǒng)[J].微型機與應用,2004(08):36-38.
[5]趙重明.可編程光頻轉換器TSL230及其應用[J].儀表技術與傳感器,2000(08):30-32.
[6]萬方.基于ARM的嵌入式視頻監(jiān)控系統(tǒng)的研究.北京郵電大學碩士學位論文,2008(04).
[7]趙黎.基于OpenCV的人臉檢測系統(tǒng)設計與實現(xiàn)[J].科技信息,2008(18):351.
[8]龔建偉,熊光明.visual c++ turbo c 串口通信編程實踐[M].電子工業(yè)出版社,2004(10).
作者簡介
劉軒源(1989-),男,遼寧省撫順市人。遼寧工業(yè)大學研究生。研究方向為電力系統(tǒng)智能技術。
劉春玲(1971-),女,遼寧省錦州市人。遼寧工業(yè)大學副教授。研究方向為無線傳感器與檢測技術、模式識別與信息處理。
作者單位
遼寧工業(yè)大學 遼寧省錦州市 121000endprint