田祎然,劉元甲,田園明,劉子瑞,孫強(qiáng)
(牡丹江師范學(xué)院,黑龍江牡丹江,157000)
本系統(tǒng)中無(wú)線網(wǎng)絡(luò)技術(shù)選用傳輸距離更遠(yuǎn)的ZigBee技術(shù),以適應(yīng)復(fù)雜、WiFi信號(hào)不穩(wěn)定和低功耗需求的環(huán)境。核心處理器通過(guò)ZigBee組網(wǎng)和終端通信,可同時(shí)部署多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可拓展不同的傳感器,并根據(jù)需要使用不同的網(wǎng)絡(luò)架構(gòu)以適應(yīng)不同的應(yīng)用場(chǎng)景。本文的傳感器組由人臉識(shí)別部分的人體紅外傳感器和ZigBee環(huán)境信息收集感器組成。人臉識(shí)別模塊工作時(shí)一旦有人被檢測(cè)到,它將使相機(jī)頻閃捕捉人臉進(jìn)行識(shí)別。當(dāng)能夠識(shí)別出一個(gè)人時(shí),系統(tǒng)會(huì)顯示正常,當(dāng)識(shí)別出陌生人時(shí),系統(tǒng)則會(huì)發(fā)出警報(bào)。該系統(tǒng)具有功耗低、易于開發(fā)和擴(kuò)展的優(yōu)點(diǎn)。本系統(tǒng)可用于工廠、單位或私人住宅的門禁等復(fù)雜環(huán)境下的監(jiān)控。
本控制系統(tǒng)的主要組成部分有:ZigBee核心開發(fā)套件、溫濕度傳感器、MQ-2煙霧傳感器、Linux人臉識(shí)別開發(fā)板等諸多模組。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。系統(tǒng)中使用了人臉檢測(cè)、人臉訓(xùn)練和人臉識(shí)別三個(gè)過(guò)程來(lái)進(jìn)行獲取和對(duì)比[3]。人臉檢測(cè)主要調(diào)用OpenCV算法中已訓(xùn)練好的Haar級(jí)聯(lián)分類器,區(qū)分出包含人臉和不含人臉的圖像。LBPH(局部二進(jìn)制模式直方圖)算法處理人臉圖像,對(duì)待測(cè)圖像進(jìn)行判斷,然后匹配結(jié)果進(jìn)行傳輸。ZigBee開發(fā)板上的終端設(shè)備同時(shí)使用溫度、濕度和氣體傳感器收集空間的環(huán)境信息,將環(huán)境信息傳送到云服務(wù)器,實(shí)現(xiàn)對(duì)環(huán)境情況的實(shí)時(shí)檢測(cè);該系統(tǒng)的研究是基于ZigBee自組建網(wǎng)絡(luò)的條件下,擬采取兩套開發(fā)板實(shí)現(xiàn)功能互聯(lián),最終建立起一套基于ZigBee技術(shù)下組網(wǎng)的人臉識(shí)別系統(tǒng),ZigBee網(wǎng)絡(luò)也經(jīng)常被用于工業(yè)現(xiàn)場(chǎng)自動(dòng)化控制和安全應(yīng)用[4]。
圖1 系統(tǒng)結(jié)構(gòu)框圖與硬件設(shè)計(jì)示意圖
圖2 Linux硬件設(shè)計(jì)原型
(1)對(duì)于linux人臉識(shí)別模塊,功能設(shè)計(jì)主要有人臉識(shí)別算法模塊,數(shù)據(jù)返回模塊和識(shí)別信息顯示模塊。人臉錄入采用的是擁有30萬(wàn)像素,120度廣角大鏡頭的GC0308微型攝像頭,通過(guò)SCCB接口與開發(fā)板連接,承載圖像錄入功能。交互界面顯示采用的是TFT液晶顯示屏,通過(guò)SPI接口與開發(fā)板連接,承載顯示功能。人臉識(shí)別功能使用Ubuntu Linux開發(fā)環(huán)境和Python程序語(yǔ)言對(duì)開發(fā)板進(jìn)行開發(fā)。功能主要實(shí)現(xiàn)則是利用OpenCV人臉識(shí)別庫(kù)。使用QT編譯底層硬件與控制按鍵的交互來(lái)控制人機(jī)交互界面顯示。交互UI界面使用 QU GUI圖形庫(kù)開發(fā)。整個(gè)Linux模塊工作流為,攝像頭錄入人臉圖像信息,Linux系統(tǒng)中的LBPH算法進(jìn)行人臉識(shí)別,最后在人臉識(shí)別軟件上顯示實(shí)時(shí)識(shí)別結(jié)果。將識(shí)別正確與否的信號(hào)通過(guò)ZigBee組網(wǎng)發(fā)送到ZigBee終端,最后由蜂鳴傳感器接收。
(2)對(duì)于ZigBee傳感器組網(wǎng)模塊,使用CC2530這一款用于ZigBee技術(shù)的經(jīng)濟(jì)型主控芯片。該芯片特別適合有超低功率要求的系統(tǒng),保證低功率使用的一個(gè)方法就是在操作模式之間快速切換。由于這一優(yōu)勢(shì),ZigBee現(xiàn)在具有強(qiáng)大的聯(lián)網(wǎng)能力。在我們的系統(tǒng)中,ZigBee模塊用來(lái)建立無(wú)線網(wǎng)絡(luò)。傳感器通過(guò)串口或 IO 接口連接終端設(shè)備(ZigBee),協(xié)調(diào)器(ZigBee)通過(guò)串口連接 PC機(jī)。終端設(shè)備采集傳感器數(shù)據(jù),并通過(guò)無(wú)線網(wǎng)絡(luò)將數(shù)據(jù)打包到協(xié)調(diào)器,然后通過(guò)串口將數(shù)據(jù)傳輸?shù)絇C或服務(wù)器上的監(jiān)控軟件。
人臉識(shí)別即是利用程序?qū)Σ杉膱D像進(jìn)行判定,判斷一下所輸入的圖片是否為人臉,檢測(cè)到是人臉再進(jìn)行匹配,找到相應(yīng)的人物,所以我們常說(shuō)的人臉識(shí)別包含人臉檢測(cè)和人臉識(shí)別兩大部分[5]。本研究所提出的人臉識(shí)別系統(tǒng)的錄入和識(shí)別流程圖如圖3所示。
圖3 人臉識(shí)別系統(tǒng)的流程圖
圖4 LBP原理圖
(1)人臉檢測(cè)
人臉檢測(cè)是基于Haar級(jí)聯(lián)分類器的思想,是基于Haar-like特征,類Haar特征的值被計(jì)算出來(lái),以反映區(qū)域的灰度變化,在被Adabost迭代算法訓(xùn)練之前,計(jì)算被一個(gè)積分圖加速。把輸入圖像的每個(gè)區(qū)域也做類似的運(yùn)算后與訓(xùn)練集中圖像的特征值進(jìn)行對(duì)比,據(jù)此可以判斷出輸入的圖像是否具有人臉特征,整體完成的是搜尋過(guò)程。系統(tǒng)通過(guò)程序進(jìn)行文件讀取,對(duì)文件中圖片灰度化處理;文件中包含著已經(jīng)存儲(chǔ)對(duì)應(yīng)的人名和標(biāo)簽,調(diào)用攝像頭并從攝像頭讀取照片,加載OpenCV的Haar人臉檢測(cè)分類器,創(chuàng)建文件夾用于存儲(chǔ)攝像頭本次采集到的照片,循環(huán)采集的樣本數(shù),其次調(diào)用函數(shù)cv2.cvtColor對(duì)采集的照片進(jìn)行灰度化處理,轉(zhuǎn)換公式如下[6]:
(2)改進(jìn)OpenCV-LBPH人臉識(shí)別算法
LBPH(局部二進(jìn)制模式直方圖),英文全名Local Binary Patterns Histograms;LBP特征的統(tǒng)計(jì)直方圖被用于人臉識(shí)別;該算法通過(guò)對(duì)人臉面部表情、五官狀態(tài)等特征進(jìn)行提取,再用公式計(jì)算出各部分像素點(diǎn)的LBP特征值[7]。比對(duì)樣本庫(kù)中某個(gè)人和待測(cè)人臉的差異度,兩者之間的特征直方圖差距越小,則證明人臉相似度越高,最終實(shí)現(xiàn)人臉識(shí)別的功能。
作為天王表品牌摯友,賴藝現(xiàn)場(chǎng)收獲了一份特別驚喜,天王表也為他準(zhǔn)備了一份特別的禮物:征服者系列腕表。賴藝也現(xiàn)場(chǎng)佩戴并全情展示了這款征服者系列腕表,陽(yáng)光帥氣的賴藝即刻散發(fā)型男氣質(zhì),獨(dú)屬于征服者的魅力在腕間流動(dòng),紳士魅力油然而生。從時(shí)尚穿搭到從容紳士文化解讀,從演藝之旅到熱衷公益,他侃侃而談,讓大家對(duì)賴藝有了更全面的認(rèn)識(shí),也讓大家看到了一位征服者紳士的獨(dú)特風(fēng)采。
LBPH算法的核心是LBP,LBP是一個(gè)用來(lái)描述圖像局部紋理的運(yùn)算符,表示每個(gè)像素與它周圍的像素之間的互動(dòng)。原始的LBP運(yùn)算符使用窗口的中心像素作為閾值來(lái)比較3x3窗口中八個(gè)相鄰像素的灰度值。如果周圍的像素值大于或等于窗口的中心像素,該點(diǎn)的像素值位置被標(biāo)記為1,否則被標(biāo)記為0。比較結(jié)果順時(shí)針生成8位二進(jìn)制編碼,然后轉(zhuǎn)化為十進(jìn)制,根據(jù)公式(3)得到LBP特征值,LBP原理圖如圖2所示。
(2)式中:((xc,yc))是矩陣中心特征值;ic代表灰度圖像的中心值;ip代表的是灰度圖像的鄰域值,s為符號(hào)函數(shù)。
原始的矩陣采集點(diǎn)區(qū)域局限性大,針對(duì)不同人臉的表情態(tài)度變化,不能準(zhǔn)確地覆蓋,故而將矩形區(qū)域優(yōu)化成半徑為R的圓形區(qū)域內(nèi),有任意多的鄰域點(diǎn);采用雙線性差值法進(jìn)行優(yōu)化計(jì)算來(lái)獲得采樣點(diǎn)的像素值。計(jì)算如公式(3)所示[8]。LBP的特征值求取完畢,可以為待測(cè)圖像生成直方圖;整個(gè)圖像被分離成許多統(tǒng)計(jì)直方圖,并確定每對(duì)相鄰直方圖之間的距離,以識(shí)別輸入的人臉。接下來(lái),創(chuàng)建每個(gè)部分的LBP特征統(tǒng)計(jì)直方圖。系統(tǒng)調(diào)用攝像頭進(jìn)行人員的身份信息加載,與已建立的數(shù)據(jù)庫(kù)進(jìn)行匹配,識(shí)別成功輸出高電平;識(shí)別失敗則輸出低電平。返回電平高低的信號(hào)將決定蜂鳴器報(bào)警與否。
(3)人臉識(shí)別軟件設(shè)計(jì)
人臉識(shí)別軟件使用開源的Opencv人臉識(shí)別軟件,使用Pycharm和Python語(yǔ)言開發(fā),LBPH人臉識(shí)別改進(jìn)的算法部分由軟件后臺(tái)調(diào)用。圖形化界面使用QT應(yīng)用程序,需要在編譯器內(nèi)運(yùn)行,故放置于PC端由管理人員控制。該軟件擁有三個(gè)部分:(1)人臉采集部分;(2)人臉識(shí)別;(3)人臉數(shù)據(jù)庫(kù)管理。圖5是人臉數(shù)據(jù)庫(kù)管理軟件部分展示圖。
圖5 人臉數(shù)據(jù)庫(kù)應(yīng)用程序界面
人臉拍照錄入后進(jìn)入該人臉數(shù)據(jù)庫(kù),在系統(tǒng)工作時(shí)便會(huì)調(diào)用該數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù),與實(shí)時(shí)檢測(cè)的人臉進(jìn)行匹配,若成功識(shí)別為數(shù)據(jù)庫(kù)內(nèi)已錄入的人員,則安全放行;如果人員與數(shù)據(jù)庫(kù)內(nèi)任何一張人臉數(shù)據(jù)不匹配,則會(huì)輸出電平信號(hào),蜂鳴器接收信號(hào)發(fā)出警報(bào)。管理人員或用戶聽到警報(bào)便可及時(shí)作出反應(yīng),從而達(dá)到實(shí)時(shí)監(jiān)測(cè)報(bào)警系統(tǒng),由此來(lái)避免出現(xiàn)更大的損失。
本文針對(duì)物聯(lián)網(wǎng)人臉識(shí)別系統(tǒng),設(shè)計(jì)并實(shí)現(xiàn)了無(wú)線硬件平臺(tái)和識(shí)別軟件。對(duì)于系統(tǒng)的組網(wǎng)測(cè)試,采用的是ZigBee核心開發(fā)板套件。實(shí)驗(yàn)?zāi)M中一個(gè)開發(fā)板為協(xié)調(diào)器,另外的一個(gè)開發(fā)板做終端;通過(guò)USB串口接入筆記本電腦,但是不足以支持協(xié)調(diào)器的供電,還采取了外接電源進(jìn)行供電,協(xié)調(diào)器上的復(fù)位按鈕按下后燈光常亮,終端上的D1燈閃爍,證明ZigBee網(wǎng)絡(luò)組建成功,其余設(shè)備可以通過(guò)組建的網(wǎng)絡(luò)IP接入ZigBee網(wǎng)絡(luò);兩塊開發(fā)板之間通過(guò)天線建立聯(lián)系。圖6是采用傳感器組和 ZigBee模塊的系統(tǒng)平臺(tái)。
圖6 ZigBee自組網(wǎng)
人臉錄入界面設(shè)計(jì)如圖7所示;未開啟攝像頭時(shí)中心的方框內(nèi)出現(xiàn)紅字提示攝像頭未開啟字樣,打開攝像頭的按鈕在界面的左上角,打開攝像頭開啟人臉錄入;攝像頭開啟之后右側(cè)的人臉檢測(cè)按鈕會(huì)變成可編輯狀態(tài),打開該按鈕開始檢測(cè)人臉;系統(tǒng)捕獲的幀數(shù)下方的數(shù)字方框能夠進(jìn)行計(jì)數(shù)。右側(cè)第一欄空白輸入人員的編號(hào),第二欄空白處輸入編號(hào)等信息,進(jìn)行數(shù)據(jù)庫(kù)的初始化。增加用戶或編輯用戶按鈕可以對(duì)人員的數(shù)據(jù)信息進(jìn)行編輯修改。
圖8 人臉識(shí)別示意圖
系統(tǒng)使用Python運(yùn)行環(huán)境對(duì)人臉進(jìn)行錄入與識(shí)別,主要實(shí)現(xiàn)ZigBee自組建網(wǎng)絡(luò)下的人臉識(shí)別技術(shù),實(shí)驗(yàn)選用200個(gè)樣本進(jìn)行測(cè)試,50個(gè)為一組;實(shí)驗(yàn)結(jié)果見表1所示。
表1 人臉識(shí)別結(jié)果
根據(jù)表1的數(shù)據(jù)可知,攝像頭開啟后成功進(jìn)行了人臉進(jìn)行檢測(cè)、訓(xùn)練最終實(shí)現(xiàn)識(shí)別。檢測(cè)到人臉時(shí)會(huì)出紅色的矩形框圈出所檢測(cè)到的人臉信息(如圖7所示),頁(yè)面顯示正在人臉追蹤;在進(jìn)行數(shù)據(jù)庫(kù)對(duì)比之前,訓(xùn)練識(shí)別器會(huì)讀取文件夾中的照片,得到兩個(gè)數(shù)組,傳給recog.rain用于訓(xùn)練,將訓(xùn)練的結(jié)果保存在文件夾中,最后對(duì)文件夾訪問(wèn),匹配到數(shù)據(jù)庫(kù)中對(duì)應(yīng)的身份信息。表中也可以看出LBPH特征算法的檢測(cè)率比較高,耗時(shí)相對(duì)比較短,達(dá)到了對(duì)系統(tǒng)的優(yōu)化。
本文中我們利用Linux系統(tǒng)提出了一種基于人臉識(shí)別的嵌入式智能系統(tǒng)。為了輔助系統(tǒng)更好地工作,選擇了組網(wǎng)能力強(qiáng)大的ZigBee無(wú)線通信網(wǎng)絡(luò);實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠有效地實(shí)現(xiàn)ZigBee網(wǎng)絡(luò)下的人臉識(shí)別功能。此外,該系統(tǒng)具有易于開發(fā)和擴(kuò)展的優(yōu)點(diǎn),滿足了低功耗、低成本和小型化的實(shí)際需求,對(duì)于特定的密閉空間的溫濕度以及氣體等的檢測(cè)也有較好的作用;在工作場(chǎng)所,人臉識(shí)別提供了更嚴(yán)格的安全性??捎糜谥悄芗揖酉到y(tǒng)、樓宇安防、門禁等監(jiān)控場(chǎng)合。