曹栢熙,施景瀚,趙東陽(yáng),許浩天,蔡文郁
(杭州電子科技大學(xué) 電子信息學(xué)院,浙江杭州,310018)
智能家居發(fā)展進(jìn)程中,單品智能向場(chǎng)景智能再向全屋智能的過(guò)渡升級(jí)已經(jīng)成為了產(chǎn)業(yè)共識(shí)[1],各種家居設(shè)備的互聯(lián)互通是發(fā)展必然趨勢(shì),作為能夠覆蓋全屋的地板也應(yīng)具有更加智能化的功能。地板作為承載結(jié)構(gòu),能直接采集到屋內(nèi)的壓力數(shù)據(jù),通過(guò)處理分析可以起到識(shí)別用戶姿勢(shì)及狀態(tài)的功能,并智能控制屋內(nèi)其他家居設(shè)備,以完善全屋智能體系。與基于圖像識(shí)別處理的方案[2]相比,通過(guò)地板壓力數(shù)據(jù)識(shí)別的方案具有一定的潛在優(yōu)勢(shì),如:能夠提供全屋的完整覆蓋;減少了用戶之間互相遮擋造成的干擾的可能性;減少侵犯用戶隱私,容易被用戶接受等。
目前對(duì)大面積智能壓感地板的研究較少,Alan Br?nzel等[3]研發(fā)的GravitySpace 智能地板系統(tǒng)可以跟蹤和識(shí)別用戶的軌跡,其團(tuán)隊(duì)使用了FTIR 攝像頭感知壓力,并使用GPU 進(jìn)行SIFT 運(yùn)算和壓力數(shù)據(jù)集群分類,該系統(tǒng)智能化程度高,但系統(tǒng)復(fù)雜,成本高昂且后期難以維護(hù)。張杰團(tuán)隊(duì)[4]研發(fā)的多功能地板使用了壓力傳感器感知地板表面的壓力,與其他智能傳感器以及無(wú)線通信相結(jié)合,實(shí)現(xiàn)室內(nèi)近距離定位監(jiān)測(cè)功能。該系統(tǒng)將室內(nèi)地板串聯(lián)成有機(jī)整體,但功能性與智能化程度有待提升。
針對(duì)上述情況與問(wèn)題,本文設(shè)計(jì)了一種壓感地板智能室內(nèi)檢測(cè)系統(tǒng),使用地板下的壓力傳感器[5~6]構(gòu)成陣列采集全屋壓力數(shù)據(jù),配合部署了邊緣機(jī)器學(xué)習(xí)識(shí)別算法模型[7]的MCU,在設(shè)備側(cè)實(shí)現(xiàn)用戶狀態(tài)識(shí)別并智能控制其他家居設(shè)備,并通過(guò)MQTT 協(xié)議將結(jié)果與數(shù)據(jù)上傳至云平臺(tái)[8]實(shí)現(xiàn)云端數(shù)據(jù)的可視化。該系統(tǒng)具有低成本低功耗,智能化程度高且交互性強(qiáng)的特點(diǎn)。
系統(tǒng)主要由壓力感知地板、數(shù)據(jù)分析與處理模塊和云端數(shù)據(jù)可視化系統(tǒng)構(gòu)成,如圖1 所示。
圖1 系統(tǒng)整體框圖
(1)壓力感知地板
設(shè)計(jì)的壓力感知地板模塊由多個(gè)放置于地板下的壓力傳感器組成的傳感器陣列與電阻電壓轉(zhuǎn)換電路構(gòu)成,通過(guò)對(duì)陣列高速掃描,實(shí)現(xiàn)電壓隨地板所受壓力變化而變化,并將采集的壓力變化數(shù)據(jù)傳至數(shù)據(jù)分析與處理模塊。
(2)數(shù)據(jù)分析與處理
獲得陣列壓力數(shù)據(jù)后,MCU 主控通過(guò)提前構(gòu)建好的邊緣模型算法對(duì)數(shù)據(jù)進(jìn)行建模分析,計(jì)算得到評(píng)估結(jié)果后,對(duì)全屋內(nèi)相連接的各類智能家居外接設(shè)備進(jìn)行控制調(diào)整與資源分配。
(3)云端數(shù)據(jù)可視化
主控MCU 完成分析后,將得到的數(shù)據(jù)與結(jié)果通過(guò)MQTT 協(xié)議[9~10]與云平臺(tái)對(duì)接,云平臺(tái)進(jìn)行數(shù)據(jù)的存儲(chǔ)以及更新,并在家居控制終端上實(shí)現(xiàn)數(shù)據(jù)可視化,呈現(xiàn)屋內(nèi)環(huán)境情況以及用戶行為等。
系統(tǒng)硬件由數(shù)據(jù)采集模塊、MCU 控制器與WiFi 模塊構(gòu)成,如圖2 所示。
圖2 系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)
其中在數(shù)據(jù)采集模塊中,于地板底層位置放置壓力傳感器,在全屋范圍內(nèi)整體構(gòu)成壓力數(shù)據(jù)采集陣列。采集得到的地板壓力數(shù)據(jù)矩陣傳至MCU 控制器,進(jìn)行數(shù)據(jù)處理與分析。WiFi 模塊將處理后的數(shù)據(jù)與結(jié)果上傳至上位機(jī)和云端。
(1)數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊中使用壓阻式壓力傳感器采集壓力感知數(shù)據(jù)。壓阻式傳感器根據(jù)壓阻效應(yīng)測(cè)量壓力,因此需要設(shè)計(jì)電阻電壓轉(zhuǎn)換電路將原始輸出電阻值的變化轉(zhuǎn)化成電壓信號(hào),以實(shí)現(xiàn)電壓隨著壓力變化而產(chǎn)生變化。電阻轉(zhuǎn)換電壓轉(zhuǎn)換電路的輸入端接到壓力傳感器兩端,輸出端直接接到單片機(jī)的I/O 口,對(duì)壓力值進(jìn)行采集。
每個(gè)感應(yīng)點(diǎn)的輸出電壓Uo 和電阻Rij之間的關(guān)系表達(dá)式在公式(1)中進(jìn)行了說(shuō)明。
其中Vref為5V,阻抗匹配電阻RIM 為200kΩ,因此它具有良好的線性度和相對(duì)較寬的電壓范圍。電阻Rij的變化由相應(yīng)感應(yīng)點(diǎn)處的壓力決定,實(shí)際測(cè)量可表示為式(2)。
根據(jù)實(shí)驗(yàn)得出壓力Pij與電阻Rij的關(guān)系如圖3 所示,實(shí)線表示壓力直接與電阻1/R 正比;虛線表示壓力與R 成反比。
圖3 壓阻式陣列壓力傳感器特性
為了簡(jiǎn)化電路,提高資源的復(fù)用率,系統(tǒng)在壓感地板與數(shù)據(jù)處理模塊之間設(shè)置了多路模擬開(kāi)關(guān)[11],如圖4 所示,利用處理器芯片控制多路模擬開(kāi)關(guān)的通路打開(kāi)或閉合,保證每次采樣過(guò)程中只有一個(gè)壓力傳感器連入電路,通過(guò)GPIO的I/O 控制可以實(shí)現(xiàn)對(duì)壓感模塊的高速掃描切換。
圖4 多路模擬開(kāi)關(guān)選通示意圖
(2)MCU 控制器
在硬件邏輯控制方面上,MCU 控制器進(jìn)行多路模擬開(kāi)關(guān)驅(qū)動(dòng)程序的執(zhí)行與進(jìn)行數(shù)模轉(zhuǎn)換等工作。在軟件實(shí)現(xiàn)方面上,通過(guò)部署經(jīng)過(guò)訓(xùn)練后的算法模型對(duì)采集的壓力數(shù)據(jù)進(jìn)行分析得到識(shí)別結(jié)果。系統(tǒng)選擇使用STM32F4 處理器,該芯片性能滿足實(shí)現(xiàn)要求且工作功耗較低。
(3)WiFi 模塊
在本系統(tǒng)中WiFi 模塊通過(guò)MQTT 協(xié)議用于通信和數(shù)據(jù)交互,將數(shù)據(jù)傳至云端實(shí)現(xiàn)數(shù)據(jù)可視化并連接其他智能家居設(shè)備,共同構(gòu)成全屋智能家居系統(tǒng)。
為提升系統(tǒng)的穩(wěn)定性和準(zhǔn)確性,本系統(tǒng)選擇使用邊緣機(jī)器學(xué)習(xí)算法處理分析壓感數(shù)據(jù)。通 過(guò)TensorFlow[12~13]構(gòu) 建、訓(xùn)練、評(píng)估機(jī)器學(xué)習(xí)模型,并使用TensorFlow Lite[14]將訓(xùn)練后的模型部署到主控MCU 中[15]運(yùn)行模型,該過(guò)程如圖5所示。
圖5 系統(tǒng)搭建與程序運(yùn)行過(guò)程
系統(tǒng)搭建后,使用壓感模塊采集得到日?;顒?dòng)下的壓力數(shù)據(jù)P 和動(dòng)作產(chǎn)生時(shí)間t,構(gòu)建動(dòng)作向量P→,壓感模塊中第i 行第j 列壓力傳感器輸出的壓力數(shù)據(jù)稱為Pij:
樣本數(shù)據(jù)的豐富度決定了識(shí)別模型本身的效果,為使模型的表現(xiàn)力更強(qiáng),模型的準(zhǔn)確率更高,使用范圍更廣,在收集樣本數(shù)據(jù)時(shí)應(yīng)考慮各類情況,因此采集了多個(gè)日?;顒?dòng)動(dòng)作包括靜止站立、摔倒、不同速度的走動(dòng)、坐臥在不同家具上等對(duì)應(yīng)的動(dòng)作向量數(shù)據(jù),構(gòu)建訓(xùn)練數(shù)據(jù)集。
系統(tǒng)使用BP 神經(jīng)網(wǎng)絡(luò)[16~17]進(jìn)行識(shí)別算法的構(gòu)建,算法具有較好的非線性映射能力和柔性可變的網(wǎng)絡(luò)結(jié)構(gòu),在模式識(shí)別、分類和數(shù)據(jù)壓縮方面有著廣泛的應(yīng)用和良好的性能。模型構(gòu)建完成后,將動(dòng)作向量訓(xùn)練數(shù)據(jù)集輸入機(jī)器學(xué)習(xí)模型中,輸出向量作為控制指令。
其 中,irm為 第m 個(gè)智能家具設(shè)備的控制指令。
將模型的輸出向量與期望輸出向量進(jìn)行同或計(jì)算,計(jì)算機(jī)器學(xué)習(xí)模型的準(zhǔn)確率,當(dāng)機(jī)器學(xué)習(xí)模型的準(zhǔn)確率大于要求準(zhǔn)確率θ1時(shí)進(jìn)行移植。首先使用TensorFlow Lite 對(duì)該機(jī)器學(xué)習(xí)模型進(jìn)行轉(zhuǎn)換,生成體積小、效率高的模型(.tflite),再通過(guò)TFLm C++庫(kù)函數(shù)實(shí)現(xiàn)在MCU上裝載,模型的部署過(guò)程如圖6 所示。
圖6 模型部署過(guò)程
使用訓(xùn)練數(shù)據(jù)輸入到移植在數(shù)據(jù)處理模塊上的機(jī)器學(xué)習(xí)模型中,計(jì)算其準(zhǔn)確率,當(dāng)移植后的機(jī)器學(xué)習(xí)模型的準(zhǔn)確率大于要求準(zhǔn)確率θ2時(shí),完成訓(xùn)練。
數(shù)據(jù)處理模塊對(duì)壓感模塊的輸出數(shù)據(jù)進(jìn)行采樣,得到動(dòng)作向量后通過(guò)訓(xùn)練后的機(jī)器學(xué)習(xí)模型進(jìn)行處理,將機(jī)器學(xué)習(xí)模型的輸出向量通過(guò)通信電路傳輸?shù)綄?duì)外接口,用于對(duì)環(huán)境中的其他智能家居設(shè)備進(jìn)行控制,實(shí)現(xiàn)基于邊緣機(jī)器學(xué)習(xí)的壓感地板室內(nèi)監(jiān)測(cè)。
云端數(shù)據(jù)可視化流程圖如圖7 所示。
圖7 數(shù)據(jù)可視化流程
為了實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的直觀觀測(cè),本系統(tǒng)將壓力感知電路采集室內(nèi)壓感地板的數(shù)據(jù)并完成分析后,通過(guò)MQTT 協(xié)議與云平臺(tái)對(duì)接,并利用云平臺(tái)使用設(shè)備接入服務(wù)(IoT DA)將數(shù)據(jù)引入云平臺(tái),通過(guò)對(duì)象存儲(chǔ)服務(wù)(OBS)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)與更新。對(duì)象存儲(chǔ)服務(wù)(OBS)存儲(chǔ)的數(shù)據(jù)作為數(shù)據(jù)可視化的數(shù)據(jù)源,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)顯示。
為了驗(yàn)證理論與分析的可靠性與正確性同時(shí)方便系統(tǒng)的調(diào)試與優(yōu)化,通過(guò)模擬室內(nèi)的家居環(huán)境進(jìn)行了系統(tǒng)模擬沙盤(pán)的制作,如圖8 所示。
圖8 系統(tǒng)模擬沙盤(pán)
依據(jù)前期設(shè)計(jì),本系統(tǒng)通過(guò)TensorFlow Lite 框架成功將機(jī)器學(xué)習(xí)模型部署在了MCU 上,并進(jìn)行了初步的機(jī)器學(xué)習(xí)。經(jīng)上位機(jī)測(cè)試證實(shí)了以MCU 為處理核心的設(shè)備上運(yùn)行深度學(xué)習(xí)模型的可行性,如圖9 所示。
圖9 模型部署上位機(jī)測(cè)試
本文設(shè)計(jì)了基于邊緣機(jī)器學(xué)習(xí)與云平臺(tái)的壓感地板智能室內(nèi)檢測(cè)系統(tǒng)。系統(tǒng)經(jīng)實(shí)測(cè)表明,在所對(duì)應(yīng)的壓力軌跡下,本系統(tǒng)可以較為準(zhǔn)確地識(shí)別到對(duì)應(yīng)活動(dòng)狀態(tài),發(fā)送相應(yīng)指令對(duì)外設(shè)進(jìn)行控制,同時(shí)可以在云可視化界面上進(jìn)行數(shù)據(jù)的實(shí)時(shí)顯示。
模型部署完成后,本系統(tǒng)搭建了一個(gè)上位機(jī)模型,并通過(guò)人工模擬的方式采集數(shù)據(jù)用于訓(xùn)練以及驗(yàn)證。根據(jù)上位機(jī)的實(shí)時(shí)數(shù)據(jù)顯示,數(shù)據(jù)的準(zhǔn)確率達(dá)到了98%以上。之后將數(shù)據(jù)存入在嵌入式設(shè)備中,驗(yàn)證了模型在移植到微控制器上后的表現(xiàn),準(zhǔn)確率達(dá)到了90%以上。
在確保了模型的可靠性之后,我們進(jìn)行了實(shí)際的測(cè)試,通過(guò)壓力傳感器獲取數(shù)據(jù),并將運(yùn)算識(shí)別結(jié)果反饋至各個(gè)外設(shè)模塊并上傳至云端。得到檢測(cè)準(zhǔn)確度如表1 所示。
表1 模型準(zhǔn)確率
云可視化界面實(shí)現(xiàn)了數(shù)據(jù)變化以及信息統(tǒng)計(jì)等更直觀的信息交互,各個(gè)狀態(tài)的可視化界面如圖10 所示。
圖10 可視化界面