田沐鑫,何 極,陳邦亮,趙 萌,陳 芬
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
隨著酒店、公寓等應(yīng)用市場中智能門鎖的普及,傳統(tǒng)插卡取電模式逐漸被淘汰,取而代之的是利用室內(nèi)人體感應(yīng)設(shè)備判斷房間是否有人存在[1],從而實(shí)現(xiàn)自動(dòng)通斷電功能?,F(xiàn)市場已有的傳統(tǒng)人體感應(yīng)器如紅外人體感應(yīng)器、多普勒感應(yīng)器、超聲波感應(yīng)器等,在精確度、靈敏度和適應(yīng)性等方面存在不足,容易受到光線的干擾,并且用于設(shè)計(jì)人體感應(yīng)系統(tǒng)時(shí),不能做到低成本判斷靜止人體存在,故無法滿足產(chǎn)業(yè)需求。而利用市面已存在的新型產(chǎn)品(諸如iHUAGAO智能傳感器、安銳通智能感應(yīng)器)設(shè)計(jì)人體感應(yīng)系統(tǒng),也存在待機(jī)電流大、探測角度窄等問題。因此,急需一款高靈敏度、高適應(yīng)性的室內(nèi)人體感應(yīng)設(shè)備。
而在無線傳感網(wǎng)絡(luò)中,對室內(nèi)目標(biāo)定位追蹤可分為兩類:主動(dòng)定位追蹤技術(shù)和被動(dòng)定位追蹤技術(shù)。較之主動(dòng)定位追蹤,被動(dòng)定位追蹤不需自身攜帶終端設(shè)備,因此能更為有效地感知位置,追蹤移動(dòng)軌跡。目前無線傳感網(wǎng)絡(luò)中對室內(nèi)目標(biāo)定位追蹤多采用這種方法,如劉建華[1-2]等基于射頻信號設(shè)計(jì)實(shí)現(xiàn)定位算法,利用馬爾科夫鏈模型對每個(gè)對應(yīng)于信號連線的子向量進(jìn)行優(yōu)化;丁根明[3]等仿射傳播聚類算法、接入點(diǎn)選擇算法優(yōu)化指紋定位系統(tǒng)性能。這些已有方法雖然在精度方面較為理想,但其數(shù)據(jù)量大,計(jì)算復(fù)雜度較高,功耗大,不能低功耗簡單快速獲得人體是否存在的判斷,也未能直接將判斷信息處理上傳云端。
本文設(shè)計(jì)了基于ZigBee背景噪聲的高靈敏度被動(dòng)室內(nèi)人體感應(yīng)系統(tǒng),不需攜帶任何裝備,僅通過噪聲信號變化就能判斷人體存在。系統(tǒng)包含三種工作模式,并可進(jìn)行誤觸判斷,采用了SVM算法[4],能夠可視化分析,整體提高了感應(yīng)人體的準(zhǔn)確度。系統(tǒng)不止局限于感知人體狀況,還能無縫接入各大云平臺,實(shí)現(xiàn)數(shù)據(jù)共享,為其他智能家具提供了底層服務(wù),利于智能家居一體化的實(shí)現(xiàn),減少了人力成本,給用戶生活帶來極大便利。
系統(tǒng)由NB-IoT模塊、ZigBee模塊和熱釋電紅外模塊共三部分構(gòu)成。系統(tǒng)整體架構(gòu)如圖1所示,包含了休眠、通信和探測三種工作模式。初始狀態(tài)下,N個(gè)探測節(jié)點(diǎn)(N為自然數(shù))均處于休眠模式,僅在紅外傳感器檢測人體存在時(shí)發(fā)出高電平喚醒ZigBee[5]進(jìn)入通信模式,以低速發(fā)包。當(dāng)熱釋電紅外感應(yīng)不到人體存在時(shí)持續(xù)發(fā)出低電平,ZigBee進(jìn)入探測模式。產(chǎn)品共使用(N+1)個(gè)ZigBee模塊,包括N個(gè)探測節(jié)點(diǎn)和1個(gè)計(jì)算節(jié)點(diǎn),可實(shí)現(xiàn)誤觸判斷、SVM定位及狀態(tài)判斷功能。計(jì)算結(jié)果由NB-IoT無縫接入云平臺或由計(jì)算節(jié)點(diǎn)直接傳至已有網(wǎng)關(guān),實(shí)現(xiàn)數(shù)據(jù)共享[6]。
圖1 基于ZigBee背景噪聲的人體感應(yīng)系統(tǒng)架構(gòu)圖
系統(tǒng)設(shè)計(jì)了兩類節(jié)點(diǎn):探測節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)。兩類節(jié)點(diǎn)均包括ZigBee模塊、熱釋電紅外預(yù)留接口、充電模塊和電源開關(guān)。ZigBee模塊是指能夠發(fā)射2.4 G頻段的電磁波并且能按照ZigBee無線通信協(xié)議進(jìn)行通信,并且進(jìn)行數(shù)據(jù)處理和運(yùn)算的模塊,本系統(tǒng)采用型號為CC2530的ZigBee模塊。計(jì)算節(jié)點(diǎn)還包括NB-IoT模塊,該模塊與計(jì)算用無線通信模塊相連,可將計(jì)算用無線通信模塊輸出的室內(nèi)是否有人信號發(fā)送給遠(yuǎn)程接收端。
本系統(tǒng)是在IAR開發(fā)環(huán)境中實(shí)現(xiàn)的,依靠無線通信模塊中的通信協(xié)議建立ZigBee節(jié)點(diǎn)、熱釋電紅外傳感器和NB-IoT的連接。通過模式判別算法,實(shí)現(xiàn)最佳探測模式選擇,很大程度上降低了系統(tǒng)功耗。采用SVM算法,對采集數(shù)據(jù)進(jìn)行分類,將低維空間投射到高維空間進(jìn)行判別,可實(shí)現(xiàn)精確感知人體存在,判斷人體位置的功能。探測數(shù)據(jù)由NB-IoT上傳云平臺,可在系統(tǒng)設(shè)計(jì)網(wǎng)頁端顯示。系統(tǒng)SVM算法的具體流程圖如圖2所示。
圖2 SVM算法的程序流程圖
SVM算法主要分為離線訓(xùn)練階段和識別階段,這兩個(gè)階段可以實(shí)現(xiàn)記錄背景噪聲和計(jì)算位置信息的功能。背景噪聲作為一種自適應(yīng)混合高斯模型,一般是三維或四維高斯函數(shù)。高斯模型的所有點(diǎn)都符合n-ε分布,如果新的信號特征偏離高斯分布若干個(gè)ε區(qū)間,就認(rèn)為是前景信號,把這些信號特征提取出來,利用SVM算法計(jì)算,即可得到具體位置信息。
系統(tǒng)選用熱釋電紅外傳感器和ZigBee模塊的探測節(jié)點(diǎn)作為感知人體的工具。
(1)利用熱釋電紅外傳感器感知人體存在
紅外傳感器通過感知人體運(yùn)動(dòng)時(shí)釋放的紅外光線可判斷人體的存在,市面上已有的人體感應(yīng)器多半由紅外傳感器改進(jìn)而來。系統(tǒng)應(yīng)用熱釋電紅外人體感應(yīng)模塊在無人時(shí)持續(xù)輸出低電平,在有人時(shí)輸出方波的特點(diǎn),實(shí)現(xiàn)了室內(nèi)人體存在的探測,并將其作為ZigBee模塊是否被喚醒的判斷依據(jù)。
(2)利用ZigBee模塊的探測節(jié)點(diǎn)感知人體存在
本系統(tǒng)將ZigBee模塊作為發(fā)射源,利用電磁波的多徑效應(yīng)收集室內(nèi)信息,再將信息傳至ZigBee模塊的計(jì)算節(jié)點(diǎn)進(jìn)行數(shù)據(jù)處理[7]。多徑效應(yīng)是一種由電波傳播信道中的徑傳輸現(xiàn)象所引起的干涉效應(yīng)。在實(shí)際的無線電波傳播信道中(包括所有波段),常有許多時(shí)延不同的傳輸路徑,因此利用多徑效應(yīng),哪怕人體不處于節(jié)點(diǎn)與節(jié)點(diǎn)之間“視距鏈路”上,也會對鏈路的信號強(qiáng)度產(chǎn)生影響,從而能夠檢測人體位置。
為提高探測的精確性,系統(tǒng)設(shè)置了誤判模式。當(dāng)熱釋電紅外人體感應(yīng)模塊發(fā)出持續(xù)低電平使ZigBee探測節(jié)點(diǎn)進(jìn)入探測模式時(shí),節(jié)點(diǎn)將以廣播的形式向外發(fā)送自身到其他探測節(jié)點(diǎn)的信號強(qiáng)度和紅外傳感器的電平高低。如果被喚醒的探測節(jié)點(diǎn)數(shù)量過少,則認(rèn)為該探測節(jié)點(diǎn)的熱釋電紅外人體感應(yīng)模塊被誤判,計(jì)算節(jié)點(diǎn)將發(fā)出信號,使被喚醒的探測節(jié)點(diǎn)重新休眠。
本系統(tǒng)選用ZigBee作為判斷和計(jì)算人體狀態(tài)及位置的工具。在室內(nèi)無人的情況下,系統(tǒng)記錄ZigBee模塊發(fā)射電磁波的信號強(qiáng)度。當(dāng)有物體或人體進(jìn)入室內(nèi),計(jì)算節(jié)點(diǎn)收到的信號強(qiáng)度會發(fā)生改變,通過SVM算法,即可判斷靜止人體存在并計(jì)算得到室內(nèi)人體的位置。
SVM算法主要分為離線訓(xùn)練階段和識別階段。計(jì)算節(jié)點(diǎn)的離線訓(xùn)練階段是室內(nèi)人體感應(yīng)裝置安裝使用前的準(zhǔn)備階段,其具體包含以下幾個(gè)步驟:
(1)在室內(nèi)無人狀態(tài)下,計(jì)算節(jié)點(diǎn)向所有探測節(jié)點(diǎn)發(fā)送探測控制指令,使所有探測節(jié)點(diǎn)都進(jìn)入探測模式。
(1)
(2)
(3)
(4)
(3)重復(fù)步驟(1)和步驟(2)x次,x為自然數(shù),從而得到x組室內(nèi)無人狀態(tài)的特征矩陣組{Ex,Fx}。
(4)在室內(nèi)有人狀態(tài)下,計(jì)算節(jié)點(diǎn)向所有探測節(jié)點(diǎn)發(fā)送探測控制指令,使所有探測節(jié)點(diǎn)都進(jìn)入探測模式。
(5)計(jì)算節(jié)點(diǎn)解析每一個(gè)探測節(jié)點(diǎn)中探測用無線通信模塊發(fā)送的,其余探測節(jié)點(diǎn)相對于該探測節(jié)點(diǎn)的信號強(qiáng)度Rijn并持續(xù)一個(gè)采樣周期,然后根據(jù)式(5)和式(6)計(jì)算在一個(gè)采樣周期內(nèi)的第三特征值Hij和第四特征值Kij,然后最后根據(jù)式(7)和式(8)得到室內(nèi)有人狀態(tài)下的特征矩陣組{O,P},并存儲在計(jì)算用無線通信模塊內(nèi)部。
(5)
(6)
(7)
(8)
(6)重復(fù)步驟(4)和步驟(5)y次,y為自然數(shù),從而得到y(tǒng)組室內(nèi)有人狀態(tài)的特征矩陣組{Oy,Py}
計(jì)算節(jié)點(diǎn)的識別階段分為以下幾個(gè)步驟。
(1)發(fā)送休眠控制指令,使得所有探測節(jié)點(diǎn)均處于休眠狀態(tài)。
(2)不斷偵聽是否有探測節(jié)點(diǎn)轉(zhuǎn)發(fā)了熱釋電紅外傳感器的電壓信號,當(dāng)發(fā)現(xiàn)任意一個(gè)探測節(jié)點(diǎn)轉(zhuǎn)發(fā)了熱釋電紅外傳感器的電壓信號以后,則給所有探測節(jié)點(diǎn)發(fā)送進(jìn)入通信模式的通信控制指令。
(3)不斷判斷是否所有探測節(jié)點(diǎn)轉(zhuǎn)發(fā)的熱釋電紅外傳感器的電壓信號都是第一電壓信號;如果是并且持續(xù)了預(yù)設(shè)的第四時(shí)間間隔,則給所有探測節(jié)點(diǎn)發(fā)送進(jìn)入探測模式的探測控制指令,并進(jìn)入步驟(4);反之,持續(xù)不斷的重復(fù)步驟(2),并直接輸出當(dāng)前狀態(tài)為室內(nèi)有人狀態(tài)。
(4)解析每一個(gè)探測節(jié)點(diǎn)發(fā)送的,其余節(jié)點(diǎn)相對于本探測節(jié)點(diǎn)的信號強(qiáng)度Rijn并持續(xù)一個(gè)采樣周期,根據(jù)式(9)和式(10)計(jì)算在一個(gè)采樣周期內(nèi)的第五特征值Wij和第六特征值Uij,然后依照式(11)和式(12)得到一組未知類別特征矩陣{S,T};
(9)
(10)
(11)
(12)
(5)依照公式(13),計(jì)算未知類別特征矩陣{S,T}與x組室內(nèi)無人狀態(tài)的特征矩陣組{Ex,Fx}的距離Lx,其中a和b為預(yù)設(shè)調(diào)節(jié)系數(shù);只要未知類別特征矩陣{S,T}與任意一組室內(nèi)無人狀態(tài)的特征矩陣組{Ex,Fx}的距離Lx小于預(yù)設(shè)閾值T1,則輸出當(dāng)前狀態(tài)為室內(nèi)無人狀態(tài),否則進(jìn)入步驟(6)。
(13)
(14)
V=ρ×Lx
(15)
V′=σ×Ly′
(16)
(8)當(dāng)計(jì)算節(jié)點(diǎn)判定當(dāng)前狀態(tài)為有人狀態(tài)時(shí),等待預(yù)設(shè)的第五個(gè)時(shí)間間隔后,跳轉(zhuǎn)至步驟(4);當(dāng)計(jì)算節(jié)點(diǎn)判定當(dāng)前狀態(tài)為無人狀態(tài)時(shí),跳轉(zhuǎn)至步驟(1)。
整個(gè)訓(xùn)練過程可用單片機(jī)完成,不需手動(dòng)進(jìn)行。因每個(gè)房間都具有各自的特點(diǎn)和布局,故離線訓(xùn)練階段必不可少。系統(tǒng)具有易于使用和易于調(diào)試的優(yōu)點(diǎn),有著較強(qiáng)的適應(yīng)性。
本系統(tǒng)選用NB-IoT[8]作為實(shí)現(xiàn)數(shù)據(jù)共享的工具。
每套設(shè)備在ZigBee計(jì)算節(jié)點(diǎn)配備一個(gè)NB-IoT模塊。NB-IoT模塊構(gòu)建于蜂窩網(wǎng)絡(luò),能提供非常全面的室內(nèi)蜂窩數(shù)據(jù)連接覆蓋,可以將數(shù)據(jù)無縫接入各大云平臺,實(shí)現(xiàn)數(shù)據(jù)共享。同時(shí)該模塊消耗帶寬低,其發(fā)射電流僅為μA級別,功耗小,可用電池供電,能夠?qū)崿F(xiàn)產(chǎn)品的低功耗。
NB-IoT通過coap和UDP協(xié)議將數(shù)據(jù)從傳至云平臺,由HTML5和Bootstrap共同實(shí)現(xiàn)云平臺管理系統(tǒng)前端制作,node.jd操作數(shù)據(jù)庫MySQL,實(shí)現(xiàn)了云平臺后端數(shù)據(jù)的提供與獲取。
為了方便用戶對自己的房間情況了解以及進(jìn)行管理,系統(tǒng)設(shè)計(jì)客房人體感應(yīng)系統(tǒng)管理平臺,其構(gòu)架如圖3所示。
圖3 客房人體感應(yīng)系統(tǒng)管理平臺構(gòu)架
該平臺具備注冊登錄功能,用戶可以選擇記住用戶名及密碼,方便下次登錄,用戶成功登錄后可以進(jìn)行相關(guān)信息的查詢,主要包括以下兩個(gè)方面。
(1)房間情況??梢圆榭醋约旱姆块g里面是否有人,并知道房間的溫度、濕度等數(shù)據(jù)。
(2)ZigBee節(jié)點(diǎn)情況??梢圆榭从布欠裾9ぷ?、節(jié)點(diǎn)溫度、硬件電量情況。同時(shí)異常管理界面可以提示用戶硬件的故障問題。
對系統(tǒng)整體進(jìn)行測試,當(dāng)熱釋電紅外感知到室內(nèi)有人時(shí),發(fā)出0和3.3 V高低跳變的電平,ZigBee進(jìn)入通信模式。當(dāng)熱釋電紅外感知不到人存在時(shí),持續(xù)發(fā)出低電平,使ZigBee探測節(jié)點(diǎn)進(jìn)入探測模式,由各個(gè)探測節(jié)點(diǎn)反饋到計(jì)算節(jié)點(diǎn)的信息確定是否發(fā)生誤觸。確定是誤觸情況,則探測節(jié)點(diǎn)回到休眠模式。未發(fā)生誤觸,則在此模式下采集噪聲信息,與背景噪聲相比對,根據(jù)雷達(dá)圖的面積變化可判斷有人,并能得到人的一些位置信息。初步測試,系統(tǒng)各部分功能正常,對有無人的判斷正確率較高,且具有一定的定位輔助功能。
本文的實(shí)驗(yàn)環(huán)境如圖4所示,4個(gè)ZigBee節(jié)點(diǎn)放置在測試房間(1.5 m×3.5 m)的四個(gè)角落,在寬的中位線上每隔0.5 m作為一個(gè)測試點(diǎn),本次測試共有8個(gè)測試點(diǎn)。基于ZigBee節(jié)點(diǎn)的接收發(fā)信號強(qiáng)度(RSSI)[9],研發(fā)了一套基于SVM的室內(nèi)定位系統(tǒng)。實(shí)驗(yàn)主要測試人處于不同位置時(shí),系統(tǒng)采集的信號強(qiáng)度的變化。
圖4 信號強(qiáng)度變化測試實(shí)驗(yàn)環(huán)境圖
先在無人的情況下采集背景噪聲,對四個(gè)節(jié)點(diǎn)形成的12條鏈路進(jìn)行循環(huán)發(fā)包,得到12條通信鏈路的RSSI值,根據(jù)高斯分布的理論,剔除距離均值3倍標(biāo)準(zhǔn)差以外的異常數(shù)據(jù)后得到各鏈路信號強(qiáng)度的均值,如表1所示。
用余下有效數(shù)據(jù)繪制背景噪聲雷達(dá)圖,見圖5。
有人的情況下,分別測試人在①~⑧八個(gè)位置的強(qiáng)度變化,剔除距離均值3倍標(biāo)準(zhǔn)差以外的異常數(shù)據(jù)后,同樣繪制雷達(dá)圖,結(jié)果如圖6所示,圖中灰色區(qū)域面積相對于背景噪聲雷達(dá)圖發(fā)生了變化,由此可以判斷信號強(qiáng)度發(fā)生改變,即室內(nèi)有人。
表1 各位置上各鏈路信號強(qiáng)度均值統(tǒng)計(jì)表
圖5 背景噪聲雷達(dá)圖
本文的實(shí)驗(yàn)環(huán)境如圖7所示,4個(gè)ZigBee節(jié)點(diǎn)放置在測試房間的四個(gè)角落,同時(shí)將測試空間劃分為4×4 的16個(gè)塊,每個(gè)塊的的長度和寬度都為0.7 m。基于ZigBee節(jié)點(diǎn)的接收發(fā)信號強(qiáng)度(RSSI),研發(fā)了一套基于SVM的室內(nèi)定位系統(tǒng)。
實(shí)驗(yàn)主要測試人處于不同區(qū)域時(shí)系統(tǒng)定位的識別準(zhǔn)確率和是否有人的判斷準(zhǔn)確率。設(shè)計(jì)了三種實(shí)驗(yàn)方案,如圖8所示。
圖8(a)主要測試系統(tǒng)對于人處于中心區(qū)域的定位精度;圖8(b)主要測試系統(tǒng)對于人處于對角線的定位精度;圖8(c)主要測試系統(tǒng)對于人處于分散狀態(tài)的定位精度。
實(shí)驗(yàn)離散訓(xùn)練階段,對四個(gè)節(jié)點(diǎn)形成的12條鏈路進(jìn)行循環(huán)發(fā)包,得到12條通信鏈路的RSSI值,剔除異常數(shù)據(jù)。變換位置依次收集不同站位的RSSI值。將得到數(shù)據(jù)的80%作為訓(xùn)練數(shù)據(jù),用SVM進(jìn)行訓(xùn)練,作為背景信號的模型。將圖8(a)得到的數(shù)據(jù)80%作為訓(xùn)練數(shù)據(jù),用SVM進(jìn)行訓(xùn)練,作為中心區(qū)域站位的模型。然后將圖7和圖8 (a)得到的剩余20%混合作為測試數(shù)據(jù),以此模擬離線狀態(tài),得到本文系統(tǒng)的識別結(jié)果。同理,圖7和圖8(b)、圖7和圖8(c)也同樣進(jìn)行實(shí)驗(yàn)測試,得到識別的結(jié)果。
圖6 八個(gè)位置雷達(dá)圖
圖7 判斷準(zhǔn)確率測試實(shí)驗(yàn)環(huán)境圖
根據(jù)計(jì)算,本文方法的定位準(zhǔn)確率如表2所示。
圖8 實(shí)驗(yàn)室站位圖
表2 不同站位的判斷準(zhǔn)確率
由于無人時(shí)的背景信號與有人時(shí)的信號在某些通信鏈路會有明顯區(qū)別,基于12條鏈路特征的SVM模型可以有效分離出無人和有人兩種情況,本文對在中心區(qū)域、對角線和分散狀態(tài)三種站位的是否有人判斷準(zhǔn)確率分別為95.7%、95%和97.3%,平均判斷人體是否存在的準(zhǔn)確率可達(dá)96%。此外,系統(tǒng)設(shè)置了室內(nèi)定位的輔助功能。按圖8(a)站位由于(6)、(7)、(10)、(11)的位置過于靠近,當(dāng)人處于這些位置時(shí)RSSI的信號變化不是十分明顯,所以按圖8(a)站位進(jìn)行實(shí)驗(yàn)得到的定位準(zhǔn)確率比較低。而圖8(b)和(c)由于站位相對都比較分散,特別是圖8(b)以對角線站位進(jìn)行實(shí)驗(yàn),當(dāng)人處于不同位置時(shí)四個(gè)節(jié)點(diǎn)接收到的RSSI都會有一定變化,因此圖8(b)的定位準(zhǔn)確率最高,圖8(c)次之。很明顯,本文系統(tǒng)的定位效果受所需定位的位置有關(guān),進(jìn)行對角線定位準(zhǔn)確率較高,分散定位相對一般,對中心區(qū)域進(jìn)行精準(zhǔn)定位效果較差。綜上,本文系統(tǒng)能夠以較高的準(zhǔn)確性完成空間內(nèi)有無人員的判斷,并帶有較為準(zhǔn)確的定位輔助功能。
本文以熱釋電紅外、ZigBee和NB-IoT三大技術(shù)成功設(shè)計(jì)了基于ZigBee背景噪聲的高靈敏度、低功耗的新型人體感應(yīng)系統(tǒng),能夠?qū)崿F(xiàn)對室內(nèi)人體存在的準(zhǔn)確偵測。系統(tǒng)通過設(shè)置探測用無線通信模塊和計(jì)算用無線通信模塊,配合熱釋電紅外傳感器一起工作,一旦熱釋電紅外傳感器誤判,就采用電磁波強(qiáng)度對比進(jìn)行二次判斷,在提高檢測靈敏度的同時(shí),通過設(shè)置探測用無線通信模塊的不同工作模式,降低探測節(jié)點(diǎn)的功耗。本系統(tǒng)不僅平均判斷人體是否存在的準(zhǔn)確率可達(dá)96%,而且還創(chuàng)造性地實(shí)現(xiàn)了定位功能。系統(tǒng)不易受光照、溫度和水汽等外在條件的影響,有較好的穩(wěn)定性。系統(tǒng)目前主要適用于酒店中,未來將推廣應(yīng)用于普通居民樓、辦公場所及連鎖公寓等領(lǐng)域。系統(tǒng)有待進(jìn)一步完善,實(shí)現(xiàn)識別人體動(dòng)作功能,以適應(yīng)更復(fù)雜的環(huán)境。