周 堯,周松照,崔逸林,葉 寧
(1.南京郵電大學 海外教育學院,江蘇 南京 210003;2.南京郵電大學 江蘇省無線傳感網高技術重點實驗室,江蘇 南京 210000)
隨著大數據時代的到來,移動互聯網和泛在物聯網絡下的各種前端信息感知、處理與傳輸載體更加豐富。射頻識別技術(radio frequency identification,RFID),作為物聯網發展的一項核心技術,已悄然融入人們的日常生活,其作為物聯網發展的基石和催化劑,秉承著“物物相連”的理念,得到了迅速的推廣和發展,逐漸從單純的“標記識別”轉變為“無源感知”的物聯網代表性技術[1]。
目前,物聯網中人機交互技術的發展,已經從以往的以計算機為中心逐步變革到現在以用戶為中心。射頻識別技術,作為物聯網發展的一項核心技術,使人機之間的通信不再需要中間媒介,用戶可以很便捷地對所處環境的機器進行一系列操作[2-3]。與此同時,隨著人們對家居環境的安全性、舒適度和智能性等要求的不斷提高,家居生活中對于物聯網技術的應用需求也不斷增強。當代家居住房中通常具備多種家用電器,大量的開關及線路布置增加了家庭用電的危險性,再加上其復雜的按鍵控制更是給弱勢群體(如傷殘人士、老年人和幼齡兒童)的日常生活帶來不便[4]。因此,通過聲音或者手勢控制的智能家居將憑借其廣泛的適用性和安全性,在弱勢群體中更容易被接受,從而成為智能家居控制系統的熱門選擇。
智能家居在美國、德國、新加坡和日本等國都有廣泛而成熟的應用。其中通過ZigBee技術、WIFI和藍牙[5-6]等控制家居開關的技術已日益成熟,而關于手勢識別開關控制系統卻還處于起步階段。例如宜家(IKEA)Tradfri系統[7]與大眾Golf 7 “Discover Pro”手勢控制的信息系統[8]。Tradfri系統的核心是一種網關設備,通過接入到互聯網與本地網絡之間來實現銜接作用,而用戶仍然需要旋轉該控制器才能夠調節燈光的明暗。大眾Golf 7 “Discover Pro” 手勢控制的信息系統則是在大眾的Golf R Touch上采用的飛行時間技術(time of flight,ToF),是一種通過計算光線的傳播時間來測量距離的技術。然而由于光的傳播速度非常快,所以基于ToF技術的感光芯片需要飛秒級的快門來測量光飛行時間,這也是ToF技術難以普及的原因之一:這樣的感光芯片成本過高。
目前,RFID無源標簽運動軌跡大多利用無源標簽和讀取天線的偏振特性,通過對信號強度(RSSI)的提取和預處理,同時將基于幀的數據進行分割轉換,利用標簽重定位引起的反向散射信號強度的變化來檢測標記對象的運動[9-10]。但由于讀取天線通常只在其水平和垂直方向檢測到RSSI的明顯變化,所以該方法不足以滿足對使用者在做出立體手勢運動軌跡的讀取。文中通過對RFID無源標簽相位特征的提取,計算求得相鄰相位間的差值,由于相位差的矢量性能夠較好地反映出標簽的運動方向和距離,因此可以最大限度地提高對運動的檢測精度。同時系統借鑒了較為成熟的藍牙mesh技術框架[11],通過提取用戶佩戴的RFID無源標簽的運動軌跡,構建手勢數據指令庫,之后通過藍牙mesh技術將指令傳遞給各個用電器,最終實現用戶對智能開關系統的手勢控制。
針對傳統手勢控制系統制造成本高和對光線依賴性強等問題,文中以RFID技術與藍牙mesh技術為支撐,將手勢識別技術與智能開關控制技術有機結合,實現基于手勢控制的多設備多開關的智能開關控制系統。
在RFID無源系統中,由于標簽運動時運動數據不斷更新,使得手勢動姿的識別存在不精準性。此外,由于使用者不規范的運動手勢以及設備部署位置引起的手勢數據特征變化的問題也需要進一步優化。本小節主要介紹了如何進行準確的手勢提取,并確立完備的手勢特征集來提高手勢匹配的精準度。
在一般的RFID系統中,閱讀器可以從標簽中獲得的信號參數有接收信號強度,相位值和多普勒頻移。
為了選擇應用于手勢識別系統的最佳系統指標,通過實驗以檢查標簽在運動情況下的輸出信號特征。標簽在運動狀態下,相位受環境的干擾較小并隨著標簽的運動軌跡而波動,波形相對穩定,然而信號強度和多普勒頻移的波動情況與標簽在靜止狀態下的波動程度沒有穩定的規律,難以識別出標簽的運動。
因此我們相位來獲取標簽運動信息。在RFID一般系統中,相位與距離的關系如下式:

(1)
其中,λ是載波波長,φ為接收和發射信號之間的實際相位差。
設一個射頻信號的載波頻率為f(Hz),則波長和頻率的關系滿足公式λ=c/f,其中c是EM波的傳播速度,等于空氣中的光速(≈3×108m∕s)。R為讀寫器和標簽的距離,則該標簽的真實相位φ可以按如下公式計算:

(2)
其中,φ為RFID讀寫器測量到的相位偏移,N為能夠保持相位周期性變化的未知整數,θT,θR及θTAG分別表示發射天線、接收天線及標簽反向散射天線造成的相位固有偏移,除此之外,φ是經RFID閱讀器特殊處理后的相位值,保持返回的值范圍為[0,2π],因此這里的N是2π的整數倍。
文中并不是采用原始的相位值來檢測無源標簽的運動,而是在相同頻率通道中測量的兩個相位采樣點來計算二者的差值,利用相位差持續跟蹤手勢運動,因此由天線等硬件造成的相位固有偏移,在同一實驗環境下再通過計算可以將其消除。
同時根據式(1)可知,標簽和讀寫器距離R每隔λ/2的距離時,φ值也相應的重復,即
(3)
每次標簽成功運作時,閱讀器都會產生一個RF相位估計。使用應用程序從單個標簽中提取出多個RF相位的樣本,進行RF相位的速度計算。由于測量信道的跳頻,讀寫器跳到下一個頻道時,測量的相位值在不間斷地改變。正如EPC標準協議所規定的,閱讀器在頻率信道之間跳頻是指在工作頻率范圍內,不斷變換頻率,以減輕頻率選擇性衰落和同信道干擾,同時保證追蹤佩戴標簽的移動而不被信道調頻中斷。首先要根據信道指數對相位值進行分組,同時設定標簽相對閱讀器距離小于3米(3米內相位差變化較為明顯且采樣率較高)時進行采樣,通過式(2)計算每個通道兩個連續相位讀數之間的位移。此時兩個連續的相位采樣點的標簽位移小于波長的一半:

φi+2π(ki+1-ki)|
(4)
其中,|ΔR|表示i+1時刻的位移,φi+1和φi表示同頻道下兩個連續相位測量值。因此,計算N次采樣后的總位移為:
(5)
進行歸一化處理。由于無源標簽的初始位置決定了RFID相位數據的幅值,相同手勢特征的數據段會展現出不同的空間性,但其波形變化是一致的。因此對相位數據進一步處理之前需要將相同范圍內的數據段進行歸一化處理,從而有效減小匹配誤差。具體歸一化處理公式如下:
(6)
將位移值進行歸一化處理后,對收集到的位移數據進行加窗處理[12]:將W個連續采集的數據分組集中到固定窗口,窗口容量為w。然后通過相對熵方法[13]對相鄰窗口數據的概率分別進行比較,求出相鄰窗口標簽運動數據的差異。假設相鄰窗口為Wi和Wj,對應函數分別為P,Q,則相對熵分布公式如下:
(7)
通過吉布斯不等式[14],將DKL(P‖Q)與給定閾值ρ進行比較,當VX滿足公式
DKL(P‖Q)≥ρ
(8)
則表示相鄰的兩個窗口至少有一個數據在數據波動采樣區間。通過對所有得到的滿足要求的窗口數據進行遍歷,來提取動態手勢特征。
將從讀寫器接收到的標簽運動數據與指令庫已有運動數據進行比對,判斷是否達到動作有效閾值,主要思路為:判斷標簽運動方向與指令庫設定指令運動方向是否一致;判斷運動距離|ΔR|是否大于指令庫設定指令有效運動距離S;判斷運動時間t是否小于指令庫設定指令有效運動時間T。通過DTW算法對收集到的具備動態手勢特征的窗口數據A進行手勢庫數據B匹配。
假定A=a1,a2,…,aM和B=b1,b2,…,bN為離散時間序列,通過對序列A進行關于序列B的規整路徑:v=(v1,v2,…,vk,…,vK),并進行下列計算:
(9)
在對所有可能的規整路徑進行遍歷后,通過動態時間規整(dynamic time warping,DTW)[15]得到最佳路徑VX,則序列A和B之間的DTW距離(A,B)所獲得的最佳對齊路徑為:
(10)
文中采用動態手勢識別方案實現用戶與智能開關控制系統的人機交互應用,用戶在RFID閱讀器天線讀取范圍內做出動態手勢,系統通過對數據進行加窗處理來解決標簽反射信號在時域上的不連續性問題,并利用相對熵的思想提取相位流中動態手勢的指紋特征數據。對數據預處理得到分析數據,用分析數據建立手勢識別模型,然后利用動態時間規整算法計算當前分段與手勢指紋庫中各一維分量的匹配程度。最后選取相似度高的指令匹配,通過藍牙mesh網絡與開關進行串口通信,發出控制指令,實現人機交互應用。圖1為智能開關控制系統各模塊結構示意圖。

圖1 智能開關控制系統各模塊結構示意圖
(1)主體結構:該實驗中模擬日常家庭情景,參考用戶日常生活行為習慣,分別設置用戶臥室房間控制開關和用戶客廳控制開關;其中RFID讀寫設備放置在用戶臥室房間,方便用戶夜間進行開關控制(見圖2)。

圖2 室內情景模擬圖
(2)主要模塊。
RFID無源標簽模塊:該模塊主體為RFID無源標簽,內置RFID天線,由使用者攜帶,其功能為將標簽運動軌跡信息傳輸給RFID讀寫模塊。
RFID讀寫模塊:該模塊與智能設備相連,主體為RFID閱讀器,對無源標簽發射無線射頻信號,并接收由標簽反射回的無線射頻信號,同時將采集的模擬信號經過預處理后轉換為數字信號。
智能終端:該設備為基于Java語言的數據采集及處理的PC端,將接收到RFID讀寫器的數字信號與數據庫比對,匹配成功后將相應指令通過藍牙發射模塊發送。
智能開關模塊:該模塊包括藍牙模塊、繼電器模塊以及藍牙mesh接收模塊、存儲模塊、藍牙mesh發射模塊和繼電器模塊。其采用藍牙mesh協議,工作頻率為2.4 GHz,設定波特率為9 600 bps。藍牙模塊實現智能設備與開關之間的通信,繼電器模塊根據接收指令進行開關控制。
(3)藍牙mesh系統。
系統開啟后,所有開關模塊執行存儲模塊初始指令(所有開關保持關閉狀態)。
系統中藍牙mesh接收模塊接收到智能終端發射的控制指令后,將指令存入存儲模塊,通過與存儲模塊現有指令中各開關狀態比對:
①開關狀態一致時,直接通過藍牙mesh發射模塊向組網中異同狀態開關發出新指令;
②開關狀態不一致時,改變現有開關模塊狀態,同時通過藍牙mesh發射模塊向組網中異同狀態開關發出新指令;
③該系統組網中其他藍牙mesh接收模塊重復第2階段,直至所有存儲模塊的存儲指令一致。
文中在初次實驗中測試實現了5種動態手勢,分別為:手勢1表示“左移”,對應控制指令為“打開當前房間燈控開關”;手勢2表示“右移”,對應指令“關閉當前房間燈控開關”;手勢3表示“前推后左移”,對應指令“打開客廳燈控開關”;手勢4“前推后右移”,對應指令“關閉客廳燈控開關”;手勢5“后拉”,對應指令“關閉所有用電器”。
該實驗中利用Java語言對系統的軟件部分進行設計,軟件是基于RFID閱讀器開發商提供的JDK,結合英頻杰公司提供的讀寫器支持文件完成的,主要包括基于Java語言設計的數據采集與處理辦法。實驗場景如圖2所示,英頻杰R420讀寫器通過以太網與智能終端(PC端)連接,RFID無源標簽貼在用戶手背,使用者站在閱讀器天線前1~2米內,智能終端(PC端)利用藍牙mesh與智能開關進行串口通信。
實驗首先開啟控制系統,并將系統各個模塊之間建立通信。將RFID讀寫器、智能開關接收器和智能設備(PC端或智能手機)根據實際區域按照一定的規則布置,將智能設備與智能開關接收器進行藍牙配對,從而保持通信良好。使用者事先佩戴RFID無源標簽,并在RFID讀寫器工作范圍(3米)內做出對應手勢。當標簽進入監控區域,硬件參數會發生變化。一切就緒后,系統進入實時手勢識別模式。圖3為實驗系統流程。

圖3 實驗系統流程
實驗模擬的是正常家居(15 m*10 m)環境情景,客廳與房間由木質隔板相互隔離,由于實驗者手部佩戴的無源標簽始終處在讀寫器天線覆蓋范圍內,且本次實驗僅涉及到貼在實驗者手部無源標簽的運動軌跡,與個體參與者手部特征無較大關聯,因此選取志愿者測試每個手勢指令100次,同時記錄出每個手勢指令正確響應、錯誤響應、無響應的次數和識別率百分比。表1列出了智能開關對手勢指令的反應情況。

表1 智能控制開關系統反饋
統計上述結果,可發現由于使用者初始動作不規范,會導致實驗初期出現無動作響應或判斷錯誤等情況的出現。其中錯誤響應動作大多為手勢“3”與手勢“1”混淆,手勢“4”與手勢“2”混淆,原因主要為使用者前移動作不明顯或者前移動作過快。為此,在智能開關對手勢指令做出響應的同時,記錄了使用者做出手勢時無源標簽的運動速度分布區間與指令響應率。

表2 無源標簽運動速度分布區間
根據表1和表2可知,在標簽運動速度過快或者過慢(標簽移動速度小于40 cm·s-1或者大于100 cm·s-1)時,會導致DKL(P∥Q)超出設定閾值,造成手勢指令無法被讀寫器有效識別,智能開關對手勢指令無響應。而由于手勢3和手勢4相較于其他手勢動作更為復雜,并且與手勢1和2在部分動作具有沖突,因此針對這一情況,重新設計了手勢為“順時針旋轉”,對應指令“打開客廳燈控開關”;手勢4“逆時針旋轉”對應指令“關閉客廳燈控開關”。同時對新的手勢進行測試,在選取實驗者進行試驗之前,重新演示并讓實驗者熟練每個手勢指令動作,實驗結果如表3所示,同時記錄了每個手勢指令匹配的概圖,見表4。

表3 改進手勢后智能控制開關系統反饋
根據對表3的分析,可以統計出在重新設計手勢3和4后,相對單一的手勢運動方向能較好地被讀寫器識別并響應,同時通過熟練培訓后的實驗者在做出有效指令的次數也在上升。
表4 手勢指令匹配概圖

根據對表4的分析,原先的誤差識別手勢1和2由于其特征峰值變化并不明顯,在實驗者做出不規范手勢時易于與手勢1和2混淆。當重新設計手勢3和4后,相對單一的手勢運動方向能較好地被讀寫器識別并響應,同時通過熟練培訓后的實驗者在做出有效指令的次數也在上升。
在對智能開關執行手勢指令的平均反饋時延進行統計后,實驗者在做出手勢1,2,5時,系統執行指令的平均反饋時延低于0.75 s(0.73 s/0.74 s/0.71 s),且手勢的正確識別率在95%以上。而當實驗者做出手勢3和4時,系統平均反饋時延分別為0.98 s和1.01 s,正確識別率在改進手勢后也上升至95%左右,可以看出手勢動作復雜程度與智能開關對手勢指令的反饋具有正相關性。單一方向的手勢指令,在使用者熟練動作后,可以滿足使用者對智能開關的遠程手勢控制。
通過將RFID技術與藍牙mesh技術相結合,構建了一種基于RFID手勢識別的智能開關控制系統。該系統通過預先構建手勢指令庫,將用戶所需的家庭開關應用情景與手勢指令相匹配,從而實現用戶對智能開關的手勢控制。通過對實驗結果的分析和改進,智能開關對手勢指令的正確反饋率達到95%,其RFID無源標簽能夠較好地反映出使用者的手部運動,無源標簽運動軌跡數據在處理后能夠正確匹配控制指令,并通過藍牙mesh向智能開關傳遞指令。通過設置單一方向的手勢可以有效提高對于智能家居的開關控制的精確度和實時響應的準確性。