夏雪婷,胡正飛,潘玲云
(南京郵電大學 自動化學院,江蘇 南京 210000)
基于OpenCV人臉檢測的室內照明自動控制系統
夏雪婷,胡正飛,潘玲云
(南京郵電大學 自動化學院,江蘇 南京 210000)
目前高校教室中普遍存在長明燈、無人燈亮等現象。針對室內智能照明的需要,提出了一種采用ARM處理器,集照明節能控制與圖像采集、傳輸于一體,支持信息遠程傳輸的室內照明自動控制系統。該系統以STM32控制器為控制核心,以C++語言進行程序設計,利用OpenCV對圖像進行處理,計算視頻圖像的Haar-like特征,并利用AdaBoost級聯分類器進行人臉檢測,識別圖像中人體個數,基于VS2010開發平臺實現了具有人臉檢測與跟蹤功能的應用軟件。同時將環境亮度檢測、人工控制、分區控制、延時控制、報警控制等功能加入到系統中,對教室照明的每組燈進行智能化細化管理。通過實驗證實了該系統的有效性。結果表明,該系統不僅很好地實現了自動燈光控制,同時有效地解決了無人室內長明燈現象。
智能照明;人臉檢測;圖像處理;STM32;OpenCV
伴隨著各類高校的擴招,教學樓正不斷擴建。但是教室用電系統[1]管理不善,依然是人工管理占主導地位,加上高校開放型的管理模式,無人在室內長明燈現象很常見,教室用電負荷不斷加大,造成資源的浪費與經濟損失。對于南京郵電大學普通教室的照明,最少需要裝配18支40 W日光燈管,晚間照度達350 Lux以上,每天工作時間普遍達16 h,日間為11 h左右,夜間為5 h左右,全天耗電量為16×18×40=12 kwh。若以0.8元/kwh電費計算,每間教室日支出9.6元。實施智能控制的節電模式,白天從上午9時至下午5時不開燈,其節電率就至少達40%,電費節約達3.8元。南京郵電大學有2萬多名學生,至少有400間教室(其中不含公共教室),采用這種節電控制模式,每日節約電費支出1 000元左右(以僅有60%的教室開燈)。可見,提高教室用電效率,無論對社會還是校方都大有裨益。
針對高校教室燈光管理需求,提出了低成本、多功能、實用化的解決方案。該系統采用ARM處理器[2]作為控制核心,集照明節能控制與圖像采集、傳輸于一體,實現教學樓遠程照明。同時將環境亮度檢測、人工控制、分區控制、延時控制、報警控制等功能加入到系統中,對教室照明的每組燈進行智能化細化管理。
系統以STM32控制器[3]為控制核心,由5 V穩壓電路、過零檢測電路、攝像頭識別模塊、可見光照度傳感器模塊、照明燈驅動電路和串口調試模塊組成。室內控制器是一個嵌入式系統[4],由ARM處理器、圖像采集模塊、通信模塊及擴展電路組成。利用安裝在各個教室的攝像頭采集信息,PC終端實現圖像信息的接收和顯示,遠程發送照明信息指令。具體的系統方案如圖1所示。

圖1 系統框圖
教室燈具布置一般采用水平均勻分布,設計照明終端時采用分組控制,根據教室內人員分布情況控制相應區域的照明燈具,滿足局部照度要求。采用OpenCV[5]檢測人臉,計算機終端每隔30 s獲取教室情況,判斷教室是否有人,通過ARM控制器來控制教室燈光明滅。采用On9658集成傳感器實現可見光照度檢測,可見光強時,教室有人不需打開燈光。
2.1 控制器硬件設計
該系統采用ARM內核STM32F103作為控制核心。STM32F103可以集成多種接口,如3個UART接口、Camera接口、一個USB控制器和一個CAN控制,還具有SPI和I2C接口等。
在STM32基礎上,該系統擴展存儲器、USB電路、電源復位電路及串口等。擴展I/O口實現可見光照度檢測,采用On9658集成傳感器。擴展USB口實現電腦與攝像頭連接,室內安裝的攝像頭采用OV7670[6],STM32F103控制器能夠良好地支持該款攝像頭,單幀畫面捕獲存儲格式為JPG。通過外加擴展芯片很方便實現擴展功能,適合低成本信息處理的應用場合。硬件結構如圖2所示。

圖2 ARM硬件結構
2.2 光照強度檢測
On9658是一個光電集成傳感器,該器件內置雙敏感元接收器,可見光范圍內高度敏感,輸出電流隨照度呈線性變化。On9658內置微弱信號CMOS放大器,輸出電流大,工作電壓范圍寬,溫度穩定性好。
3.1 人臉檢測流程
人臉檢測[7]是指對系統輸入的圖片或視頻,采用一定的方法進行搜索,判斷其中是否有人存在。若是有人,將視頻圖像中各種姿態的人臉標記出來,從而定位出每個人臉的位置。采用攝像頭獲取教室內情況,PC端軟件每隔30 s獲取一次圖像,然后將圖像進行OpenCV人臉檢測,判斷是否有人。程序流程圖如圖3所示。

圖3 人臉檢測流程圖
3.2 基于OpenCV的人臉檢測算法
基于OpenCV的人臉檢測主要完成3部分功能,即加載分類器、加載待檢測圖像以及檢測并標識。實現人臉檢測的流程主要包括人臉Haar-like[8]特征提取、AdaBoost[9]級聯分類器[10]生成以及人臉檢測結果輸出。
3.2.1 提取Haar-like特征
人臉特征的提取與計算是人臉檢測的關鍵。H人臉的Haar-like特征易于區分,能夠區分人臉同背景或其他目標,并且不依賴于外部條件變化,因此Haar-like特征是人臉檢測的關鍵特征。
Haar-like特征分為四類:邊緣特征、線性特征、中心特征和對角線特征,組合成特征模板。特征模板內有白色和黑色兩種矩形,并定義該模板的特征值為白色矩形像素和減去黑色矩形像素和。在確定了特征的形式之后,Haar-like特征的數量就取決于訓練樣本圖像矩陣的大小,特征模板在子窗口內任意放置,一種形態稱為一種特征,然而找出所有子窗口的特征是進行弱分類訓練的基礎。
3.2.2 基于AdaBoost 算法的分類器
為了高效檢測人臉圖像,可以采用基于級聯結構的AdaBoost算法。AdaBoost是一種級聯分類器,原理是采用迭代思想實現分類器的加權平均,挑選最優弱分類器。圖4為AdaBoost算法訓練示意圖。

圖4 AdaBoost算法訓練示意圖
AdaBoost算法訓練的具體過程為:
(1)初始所有訓練樣例的權重為1/N,其中N是樣例數。
(2)form=1,2,…,M
(a)訓練弱分類器ym(),使其最小化權重誤差函數(WeightedErrorFunction):
(1)
(b)計算該弱分類器的話語權α:
(2)
(c)更新權重:
(3)
Zm是規范化因子,使所有w的和為1。
(4)
(3)得到最后的分類器。
(5)
3.2.3 部分程序代碼
staticCvHaarClassifierCascade*cascade=0;
staticCvMemStorage*storage=0;
voiddetect_and_draw(IplImage*image);
constchar*cascade_name="D:\Program
Files\OpenCV2.1\data\haarcascades\haarcascade_frontalface_alt.xml";
//人臉檢測要用到的分類器(包含絕對路徑)
int_tmain(intargc,_TCHAR*argv[ ])
{
cascade=(CvHaarClassifierCascade*)cv;
Load(cascade_name,0,0,0);
//加載人臉檢測所用的分類器
if(!cascade)
{
fprintf(stderr,"ERROR:Couldnotloadclassifiercascade ");
return-1;
}
storage=cvCreateMemStorage(0); //動態存儲結構,用來存儲人臉在圖像中的位置
cvNamedWindow("result",1);
constchar*filename="11.jpg";
//待檢測圖像(包含絕對路徑)
constchar*filename="D:\angle.jpg";
IplImage*image=cvLoadImage(filename,1);
//加載圖像
detect_and_draw(image);
//對加載的圖像進行檢測
cvWaitKey(0);
cvReleaseImage(&image);
cvDestroyWindow("result");
return0;
}
3.3 照明終端軟件設計
照明終端采用VS2010[11]開發平臺借助OpenCV2.3.1輔助開發庫,實現了具有人臉檢測與跟蹤功能[12]的應用軟件。主程序包括完成光照強度、人臉檢測,根據條件判斷是否有人存在,完成開啟、關閉照明控制。終端與控制器采用中斷方式,響應控制器查詢和控制指令。主程序設計流程如圖5所示。

圖5 主程序流程
該系統軟件設計采用C++[13]語言在VS2010開發平臺實現。該軟件利用VC++[14]中應用程序結構創建,并調用OpenCV圖像處理函數實現對圖像的各種操作以及存儲操作。
為證明該系統的有效性,利用攝像頭捕捉了教室內1張圖像,如圖6所示。該系統過程除了適用于高質量視頻外,還適用于光線變化、干擾物、部分遮擋存在的視頻圖像,均表現出較好的魯棒性。

圖6 人臉檢測結果
為了實現照明控制信息的智能化,滿足節能、高效的教學管理需要,提出了一種基于ARM處理器,支持信息遠程傳輸的燈光自動控制系統。仿真實驗結果表明,該系統不僅集照明節能控制與圖像采集、傳輸于一體,很好地實現了自動燈光控制,同時有效地解決了傳統照明控制方式管理落后、能源浪費等問題。
[1] 黃小慶,張軍永,朱玉生,等.基于物聯網的輸變電設備監控體系研究[J].電力系統保護與控制,2013,41(9):137-141.
[2] 趙立輝,霍春寶.基于ARM9的遠程視頻監控系統的設計與實現[J].沈陽大學學報,2009,21(3):108-110.
[3] 劉燕燕,楊幫華,丁麗娜,等.基于STM32的紅外火災探測系統設計[J].計算機測量與控制,2013,21(1):51-53.
[4] 胥 靜.嵌入式系統設計與開發實例詳解:基于ARM的應用[M].北京:北京航空航天大學出版社,2005.
[5] 劉瑞禎,于仕琪.OpenCV教程基礎篇[M].北京:北京航空航天大學出版社,1999.
[6] 王 晗,李 翔,李忠敏,等.基于OV7670的圖像采集與顯示設計[J].中國科技信息,2013(11):90-91.
[7] 梁路宏,艾海舟,肖習攀,等.基于模板匹配與支持矢量機的人臉檢測[J].計算機學報,2002,25(1):22-29.
[8] 曹正貴,馬 文,王志鋒.基于膚色與新型Haar—Like特征的人臉檢測算法研究[J].廣東通信技術,2015,35(11):27-32.
[9] 李明瑞,傅 明,曹 敦.基于膚色檢測的AdaBoost人臉檢測算法改進[J].計算機工程,2012,38(19):147-150.
[10] Chen Chao-Ho,Chen Tsong-Yi,Wang Da-Jinn,et al.A cost-effective people-counter for a crowd of moving people based on two-stage segment[J].Journal of Information Hiding and Multimedia Signal Processing,2012,3(1):12-23.
[11] 楊家臣,鄭曉濤,朱進全.基于VS2010的FPSO外輸指揮系統的開發[J].石油機械,2013,41(10):60-64.
[12] Badu R V,Perez P,Bouthemy P.Robust tracking with motion estimation and local kernei-based color modeling[J].Image Vision Computing,2007,25(8):1205-1216.
[13] Bradski G,Kaehler A.Learning OpenCV:computer vision in C++ with the OpenCV library[M].[s.l.]:O’Reilly Media,lnc.,2013.
[14] 向世明.VC++數字圖像與圖形處理[M].北京:電子工業出版社,2002.
Indoor Automatic Lighting Control System with OpenCV Face Detection
XIA Xue-ting,HU Zheng-fei,PAN Ling-yun
(College of Automation,Nanjing University of Posts and Telecommunications,Nanjing 210000,China)
Currently,there are ever-burning lamps,no one lighting,and other electricity wasting phenomena in colleges and universities.According to the need of indoor intelligent lighting energy conservation,an indoor lighting automatic control system with ARM processor is proposed,where energy-saving lighting control,image acquisition and transmission are set in one,supporting the remote transmission of information.It uses the STM32 controller as control center and C++ language for programming,and adopts OpenCV to proceed image processing and calculates the Haar-like feature of the video image.And the AdaBoost cascade classifier is applied for face detection to recognize the number of human body in the image.With the VS2010 development platform,the application software which has the function of face detection and tracking is realized.At the same time,the functions are added to the system,such as environmental brightness detection,manual control,partition control,time delay control,alarm control and so on,for intelligent refinement management of each group of lights in classroom.The effectiveness of the system is verified by experiments.The results show that the system not only realizes the automatic lighting control,but also effectively solves the ever-burning lamps phenomenon with no people indoor effectively.
intelligent lighting;face detection;image processing;STM32;OpenCV
2016-05-07
2016-09-08
時間:2017-03-07
國家自然科學基金資助項目(61271234)
夏雪婷(1990-),女,碩士,研究方向為計算機監測控制技術;胡正飛,碩士,副教授,研究方向為機械設計與控制。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170307.0921.022.html
TP302
A
1673-629X(2017)04-0184-04
10.3969/j.issn.1673-629X.2017.04.041