章曉強,錢升港,張 拓,竺超明,何文秀
(1.浙江廣播電視大學蕭山學院,浙江 杭州 311200;2.浙江工業大學計算機科學與技術學院,浙江 杭州 310023;3.浙江工業大學之江學院,浙江 紹興 312030)
隨著我國工業化以及城市化不斷發展,能源消耗、機動車尾氣排放等迅速增加,空氣污染問題逐漸嚴重,尤其是在經濟發達的長三角、珠三角和京津冀等地區[1]。大量未經處理的氣體的排放導致空氣中存在大量的PM2.5懸浮顆粒,對人體會造成不可挽回的損害[2]。目前對PM2.5的監測主要是隨意將監測儀放置在不同環境下[3],因此很難監測個人周圍的環境變化。另一方面,近些年來,隨著經濟發展與人民生活水平的提高,居住環境和室內空氣污染日益受到人們的關注,在房屋裝修后,室內存在大量的有毒氣體殘留,主要為甲醛等[4],長期低劑量接觸甲醛會導致人咳嗽、流淚、打噴嚏,長期接觸較高濃度甲醛會引起呼吸道損害、呼吸困難,甚至最終導致死亡[5-6]。因此,為了個人的身體健康,對人體周圍環境的實時監測并進行示警顯得尤為重要[7]。人的活動范圍不僅僅局限于室內或者室外,而是會在室內或者室外之間進行切換。如果存在智能的算法識別出當前所處環境,進而對監測內容進行切換,例如在室內對甲醛等污染物進行監測,在室外對PM2.5等污染物進行監測,既可以直接展示用戶個體當前環境的局部空氣質量狀況,又能夠降低設備能耗。
在環境監測方面,室內外場景識別技術具有較大的應用場景以及應用價值。室內外場景識別實現的方式多種多樣,大致可分為三類:(1)基于預部署設備;(2)基于圖像識別;(3)基于環境信息特征。李錦鋒等人[8]提出的算法通過小波變換對輸入圖像執行分解,然后使用LBP算法提取紋理特征,對子圖之間的能量方差與均值進行計算,并連接特征向量形成圖像特征,以此對室內室外圖像的場景進行識別。該方法具有不錯的識別效果,但因為設備不具備方便攜帶的性質,無法直接應用到可移動的環境監測當中。畢京學等人[9]提出的方法基于手機集成的GPS模塊得到室內外場景下的衛星高度角和信噪比,通過截止高度角、信噪比臨界值和衛星數目對室內外場景進行識別。但文章中所述的實驗檢驗地點太過單調,其可靠性仍需檢驗。
針對上述問題,本文提出了多元融合的無監督室內外場景識別算法,該方法結合光照強度、濕度、溫度以及地磁強度等多種因素,提高了室內外識別的精準度,實現對不同場景進行不同類別監測的實際需求。
太陽作為白天室外的主要光源,其光照強度相對于室內的人造光源(例如日光燈等)的光照強度高出一大截,即便是在陰天、多云或者雨天。主要原因是太陽光由可見光、紫外線以及紅外線組成,而人造光源在通常情況下不包含紫外線以及紅外線。由于肉眼無法識別出太陽光中的紫外線以及紅外線部分,而光傳感器除了可以測量到可見光部分外,還可以測量到不可見光部分(紫外線、紅外線),所以即使在人體感知光照強度相似的情況下,通過光傳感器測量到的室外的太陽光的光照強度也會遠遠大于室內人造光源的光照強度。因此可以通過光傳感器對光照強度進行測量,進而可以準確地區分出室內外場景。如圖1所示,在所處環境由室內轉換成室外的情況下,室外太陽光的光照強度明顯遠遠高于室內的人造光源的光照強度。

圖1 室內外場景轉換后光照強度折線圖
Li等人[10]提出了一種名為IO Detector的室內外識別算法,該算法主要基于光照強度的下臨界值與上臨界值對室內外環境進行區分,將下臨界值定為200 lx,將上臨界值定為2 000 lx。依據原文所述,當光傳感器檢測出的光照強度超過上臨界值時,那么所處環境是室外就存在高置信度,反之,則對當前時間進行分析,判斷是否為白晝區間。假設當前時間屬于白晝區間,那么所處環境是室內就存在高置信度,否則就判斷當前光照強度與下臨界值的關系。如果當前光照強度低于下臨界值,那么所處環境是室外就存在高置信度,否則所處環境是室內就存在高置信度。
并且文中只是簡單的將8:00 am-17:00 pm設定為白天,將20:00 pm-5:00am設定為夜晚。由于地域差異等,不同地區的晝夜長短不同,例如當太陽直射北半球時,北半球晝長夜短,而南半球與之相反。并且即使在相同地區,不同季節也會導致晝夜長短變化,例如北半球夏季晝長夜短,冬季與之相反。因此不能簡單地將晝夜時間設定為固定值,如何將晝夜區間準確地區分對提高室內外場景識別準確度有著重要意義。本文改進后通過GPS定位獲取當前位置經緯度,結合二十四節氣獲取當前時間太陽入射角,進而通過計算獲取當前位置的晝夜分隔時間點。主要分為三個步驟:
①計算正午時間。地球總共被人為劃分為24個時區,其中相鄰的兩個時區中心之間間隔1小時,每個時區的經度跨度為15°。因此可通過經度計算出當前位置所處的時區,然后通過計算當前經度與當前時區中心的差值計算出當前位置的準確正午時間,如式(1)所示。

式中:N為當前位置的正午時間,l為當前位置的經度,為對x進行向下求整,為對x進行向上求整。
②計算白天時長。太陽入射角隨時間的變化在北緯23°26′與南緯23°26′之間呈規律性變化,該變化與農歷的二十四節氣有關[11],因此可以通過二十四節氣對當前時間太陽入射角進行計算,主要為春分、夏至、秋分和冬至。首先判斷出當前日期所處的節氣區間,根據當前日期距離兩個節氣的時間比例計算當前日期太陽直射位置,進而計算出太陽入射角大小,如式(2)所示。

式中:β為當前日期的太陽入射角,x為當前日期,day1是當前日期前一個節氣的日期,Day2是當前日期后一個節氣的日期,α1是當前日期前一個節氣的太陽入射角,α2是當前日期后一個節氣的太陽入射角,Day(x1,x2)為計算x1與x2間天數之差的函數。
③計算晝夜分割點。如圖2所示,當天太陽直射點為A,假設該位置的緯度為λ,該緯度上弧B1AB2所處位置為白晝,弧B1CB2所處位置為黑夜,因此,該維度上白晝時長與弧B1AB2所占的比例相關,如式(3)所示。

圖2 太陽直射示意圖

式中:D為當前位置的白晝時長。
在得到正午時間點和白晝時長后,通過正午時間點將白晝時長對半分,可計算得到當日晝夜分割時間點,如式(4)所示。

式中:T1為日出時間,T2為日落時間。
另一方面,天氣也是影響光照強度的重要因素,例如陰天、多云、雨天等異常天氣也會導致光照強度衰弱。因此,若將上臨界值設定為動態值,根據天氣情況動態地調整上臨界值能夠提高識別的準確度。天氣情況主要通過當前空氣中的濕度來判別,如果當前空氣中濕度較高,就極有可能是處在異常天氣情況下。本文通過在其他算法中需要的濕度傳感器監測到的當前環境的濕度數據對上臨界值進行動態調整,如式(5)所示。

式中:δ1是上臨界值,δ2是下臨界值,H是當前所處環境的濕度。
基于光照強度的室內外識別算法的具體流程如圖3所示,其室內置信度如式(6)所示。

圖3 基于光照強度的室內外識別算法流程圖

式中:CL為基于光照強度的識別室內外場景的室內置信度,time為當前時間。
室內環境由于其密閉性,通常會處于一個較為穩定的狀態,其溫濕度在通常情況下會在一個范圍內保持恒定或輕微波動[12]。而室外環境由于季節、天氣等因素,處于一個整體不穩定,但局部穩定的情況,例如全年溫度起伏較大,但在夏季時室外溫度遠遠高于室內溫度,而在冬季時室外溫度遠遠低于室內溫度;在陰雨天時室外濕度遠遠高于室內濕度,而在晴天時室外濕度遠遠低于室內濕度。如圖4所示,在夏季時,場景從室內轉換到室外后,溫濕度傳感器測出溫度逐漸上升,最終保持在較大差距。如圖5所示,在晴天時,場景從室內轉換到室外后,溫濕度傳感器測出濕度逐漸波動下降,最終保持在較大差距。因此,利用溫濕度傳感器采集到的數據可以用來區分室內外場景。

圖4 夏季室內外場景轉換后溫度折線圖

圖5 晴天室內外場景轉換后濕度折線圖
本文所采用的基于溫濕度的室內外場景識別算法通過溫濕度傳感器實時采集當前環境的溫度序列和濕度序列,并通過移動智能設備結合GPS定位采集到的定位數據從氣象網站上獲取當前位置所在地點的溫度以及濕度(即室外溫度以及濕度)。該部分算法具體可分為兩個部分,基于溫度的室內外場景識別算法以及基于濕度的室內外場景識別算法。
1.2.1 基于溫度的室內外場景識別算法
基于溫度的室內外場景識別算法其流程如圖6所示。

圖6 基于溫度的室內外場景識別算法流程圖
具體可分為三個步驟:
①計算所處環境平均溫度。通過溫濕度傳感器測量一段時間內的溫度序列([T1,T2,…,Tn],n=20),對溫度序列取均值,如式(7)所示。

式中:AvgT是溫度序列均值,n是溫度序列長度。
②臨界值判定。將上一步得到的AvgT與從氣象網站上獲取的所處地區的溫度t進行比較,判斷其差值是否大于設定臨界值φ1(本文中臨界值φ1的值設置為4℃)。如果差值大于φ1,則說明所處環境是室內就存在高置信度,反之則進行步驟(3)。
③計算溫度序列方差并計算室內置信度。方差計算如式(8)所示。

式中:D([T1,T2,…,Tn])為溫度序列[T1,T2,…,Tn]的方差。
將式(8)計算得到的方差與臨界值φ2(本文中臨界值φ2的值設置為0.03)進行比較,結合步驟(2)從而得到基于溫度的室內置信度,如式(9)所示。

式中:CT為基于溫度的室內置信度,D為溫度序列的方差D([T1,T2,…,Tn])的縮寫。
1.2.2 基于濕度的室內外場景識別算法
基于溫度的室內外場景識別算法其流程如圖7所示。

圖7 基于濕度的室內外場景識別算法流程圖
具體可分為三個步驟:
①計算所處環境平均濕度。通過溫濕度傳感器測量一段時間內的濕度序列([H1,H2,…,Hn],n=20),對濕度序列取均值,如式(10)所示。

式中:AvgH是濕度序列均值,n是濕度序列長度。
②臨界值判定。將上一步得到的AvgH與從氣象網站上獲取的所處地區的濕度h進行比較,判斷其差值是否大于設定臨界值φ3(本文中臨界值φ3的值設置為5)。如果差值大于φ3,則說明所處環境是室內就存在高置信度,反之則進行步驟(3)。
③計算濕度序列方差并計算室內置信度。方差計算如式(11)所示。

式中:D([H1,H2,…,Hn])為濕度序列[H1,H2,…,Hn]的方差。
將式(11)計算得到的方差與臨界值φ4(本文中臨界值φ4的值設置為1)進行比較,結合步驟(2)從而得到基于濕度的室內置信度,如式(12)所示。

式中:CH為基于濕度的室內置信度,D為濕度序列的方差D([T1,T2,…,Tn])的縮寫。
地磁場是地球內部存在的一種天然磁場,可以把地球視作一個磁偶極子,其中一極在北極的附近,另一極在南極的附近,兩極之間產生的磁場即為地磁場[13]。兩極之間的磁軸與地球的自轉軸呈11.3°左右的傾斜角,磁場強度大概為25μT~70μT左右。
由于建筑中的鋼筋混凝土結構以及室內的電氣設備等均會對地磁場造成干擾[14],如圖8所示。在室內時,地磁場強度波動幅度較大,而在室外時,雖然地磁場也存在波動,但是波動幅度較小。具體可從圖9中可以看出,可看到在室內時,地磁場強度方差較大,說明地磁場強度波動幅度較大[15],而在室外時,地磁場強度方差較小,說明地磁場強度波動幅度較小。因此,利用磁傳感器測得的地磁強度序列進而得到的地磁強度方差可以用來區分室內外場景。

圖8 室內外場景轉換后地磁場強度折線圖

圖9 室內外場景轉換后地磁場強度方差折線圖
基于地磁的室內外場景識別算法其流程如圖10所示。

圖10 基于地磁的室內外場景識別算法流程圖
具體可分為三個步驟:
①計算地磁方差序列。將磁傳感器測量得到的地磁強度序列([G1,G2,…,Gn],n=100)通過滑動窗口的方式計算得到地磁強度方差序列([D1,D2,…,Dm],m=5),如式(13)所示。

式中:Du為地磁強度方差序列中的元素,u為地磁方差在地磁方差序列中的索引,k為滑動窗口大小,具體大小為地磁強度序列長度除以地磁強度方差序列長度,即n/m=20,AGu為滑動窗口中的地磁強度序列均值,如式(14)所示。

②計算地磁強度方差序列最大值Dmax,如式(15)所示。

式中:max()是最大值函數。
③計算基于地磁的室內置信度。將地磁強度方差的最大值Dmax與臨界值DG(本文中臨界值DG的值設置為14)相比較,如果Dmax大于DG,那么所處環境是室內就存在高置信度,反之,則所處環境是室外就存在低置信度,如式(16)所示。

式中:CG為基于地磁的室內置信度。
在上一節中提出的四種基礎室內外場景識別算法各有其優缺點,并且所適用的環境也不盡相同。
基于光強度的室內外場景識別算法在白天時能夠迅速、準確的識別出室內外場景,但在晚上的時候,如果室內的人造光源的強度較高,可能會被算法識別為室外。并且光傳感器存在其局限性,如果光傳感器被遮擋,就不能夠正常測量當前環境的光照強度。
基于溫度的室內外場景識別算法在夏季、冬季等室內外溫度區別明顯的季節識別的效果較好,但在春季、秋季等室內外溫度區別不明顯的季節識別的效果可能就不太樂觀。
基于濕度的室內外場景識別算法局限和溫度差不多,但是不在于季節,而是室內外濕度差別,如果在雨天或者晴天的情況下,室內外濕度差距較大,識別的效果較好,但在室內外濕度差別不大的情況下,識別的效果可能就不太明顯。
基于地磁的室內外場景識別算法雖然能夠依靠地磁強度方差與臨界值對比,較好地識別出室內外場景,但是存在的最大局限性就是用戶需要不斷地在場景中進行移動,因為如果用戶不移動,地磁強度就基本不會發生變化,進而導致地磁強度方差幾乎為零,導致該算法無法準確識別室內外場景。
結合上述算法的優點,本文提出了一種基于多元融合的無監督室內外場景識別算法。其具體流程如圖11所示。

圖11 基于多元融合的無監督室內外場景識別算法流程圖
具體可分為三個步驟:
①對各算法室內置信度進行投票。通過上述基礎算法計算得到各算法室內置信度,分別為CL、CT、CH和CG,投票過程如式(17)所示。

式中:VOTE(x)為分析基礎算法的室內置信度與臨界值δVOTE關系的函數(本文中臨界值δVOTE的值設置為0.5),如式(18)所示。

②場景識別。比較countin與countout的值,如果countin大于countout,那么說明所處環境是室內;反之,則說明所處環境是室外。若countin的值與countout的值相等,則進入步驟(3)。
③計算多元融合室內置信度。如式(19)所示。

式中:CF為多元融合室內置信度,Ck為基礎算法的室內置信度。
將CF與δVOTE進行比較,如果CF大于δVOTE,則說明所處環境是室內;反之,則說明所處環境是室外。若CF和δVOTE相等,則對所處環境類型的識別失敗。
通過實驗對本文提出的基于多元融合的無監督室內外場景識別算法的性能進行驗證。為此選擇了多個復雜場景進行數據采集,其中有圖書館、大型商場以及上述地點周圍的室外場景,并對每組數據打上相應的標簽(室內或室外),共計100組數據,其中室內50組,室外50組。對每組數據均使用基于光照強度的室內外場景識別算法、基于溫度的室內外場景識別算法、基于濕度的室內外場景識別算法、基于地磁的室內外場景識別算法和基于多元融合的無監督室內外場景識別算法進行實驗對照分析,具體結果如表1所示。

表1 室內外場景識別算法實驗結果 單位:%
由實驗結果可知,每種基礎算法在對室內外場景識別上各有所長,但都有缺點與短板,并且在部分情況下識別率不高,本文提出的基于多元融合的無監督室內外場景識別算法在各類情況下都有較為優異的表現。
本文在介紹并改進多種基礎的室內外場景識別算法的基礎上,提出了一種基于多元融合的無監督室內外場景識別算法,該算法通過投票機制,將多種改進后的基礎算法融合到一起,進而得到了一種精度更高的室內外場景識別算法,該算法能夠適應大多數的不利條件因素下的室內外場景識別,用于微型無源移動式環境監測設備動態開啟或休眠部分監測傳感器,進而降低能耗,延長續航時間。由實驗結果可知,基于多元融合的無監督室內外場景識別算法準確率達到了近90%,符合微型無源移動式環境監測設備的使用要求。