劉海亮,何雅琳,陳堅(jiān)豪,錦標(biāo),彭 劍,李 丹
(韶關(guān)學(xué)院 信息工程學(xué)院,廣東 韶關(guān) 512005)
第七次全國(guó)人口普查結(jié)果顯示,中國(guó)人口老齡化趨勢(shì)進(jìn)一步加劇。隨著人口老齡化的趨勢(shì)加劇及社會(huì)經(jīng)濟(jì)的快速發(fā)展,絕大多數(shù)老年人由于情感、生理機(jī)能等原因優(yōu)選居家養(yǎng)老。我國(guó)獨(dú)居老人數(shù)量逐漸增多,甚至殘障或失能的獨(dú)居老人占到六成以上,他們的自理能力受損嚴(yán)重,健康狀況不容樂(lè)觀。我國(guó)的養(yǎng)老保障體系和養(yǎng)老設(shè)施建設(shè)仍然不夠完善,且傳統(tǒng)的養(yǎng)老模式已不足以滿足現(xiàn)今社會(huì)的養(yǎng)老要求,智慧居家養(yǎng)老系統(tǒng)應(yīng)運(yùn)而生。武漢僑亞愛(ài)爸媽居家養(yǎng)老服務(wù)設(shè)施具有老人GPS定位、自動(dòng)體檢、子女及時(shí)查看家中監(jiān)控等功能,但產(chǎn)品人性化服務(wù)方面還有待提升;國(guó)外產(chǎn)品大多針對(duì)養(yǎng)老院,如日本的“真心香里園”使用了大量智能家居設(shè)備,結(jié)合遠(yuǎn)程醫(yī)療終端和智能機(jī)器人,可以最大程度給老人提供貼心服務(wù),但設(shè)備價(jià)格較為昂貴,并不適用于中國(guó)居家養(yǎng)老社會(huì)現(xiàn)狀。針對(duì)我國(guó)家庭養(yǎng)老技術(shù)問(wèn)題,本文設(shè)計(jì)了一種面向獨(dú)居老人的智慧居家養(yǎng)老系統(tǒng),旨在為解決家庭養(yǎng)老問(wèn)題提供一種新的選擇。
為滿足智慧居家養(yǎng)老需要,智慧養(yǎng)老系統(tǒng)在實(shí)現(xiàn)基本功能的基礎(chǔ)上還應(yīng)考慮人性化設(shè)計(jì),使其滿足老年人其他需求,需求分析如下:
(1)老人可以通過(guò)語(yǔ)音與家居網(wǎng)關(guān)交互,同時(shí)優(yōu)化語(yǔ)音識(shí)別系統(tǒng),使語(yǔ)言命令的設(shè)定符合老人的生活習(xí)慣;
(2)手環(huán)上設(shè)置一鍵呼救功能,老人面臨危險(xiǎn)時(shí)可及時(shí)呼救;
(3)子女可以通過(guò)APP和微信小程序端查看室內(nèi)環(huán)境數(shù)據(jù)、健康參數(shù)和老人居家實(shí)時(shí)圖像;
(4)醫(yī)生可以通過(guò)Web網(wǎng)頁(yè)及時(shí)了解老人的疾病信息;
(5)對(duì)老人的健康監(jiān)測(cè)信息進(jìn)行收集和分析,并進(jìn)行疾病預(yù)測(cè)。
文中設(shè)計(jì)的面向獨(dú)居老人的智慧居家養(yǎng)老系統(tǒng)由家居網(wǎng)關(guān)、手環(huán)終端、客戶端及服務(wù)器端組成。
家居網(wǎng)關(guān)采用Raspberry Pi 3B作為主控,實(shí)現(xiàn)視頻傳輸、百度語(yǔ)音交互等功能;采用STM32F407芯片設(shè)計(jì)手環(huán),通過(guò)WiFi將采集的心率和血壓上傳到服務(wù)器OneNET云平臺(tái),并設(shè)置一鍵呼救系統(tǒng)??蛻舳税ㄐ〕绦颉PP和Web端,可滿足用戶在不同場(chǎng)景下的需求,在客戶端可以通過(guò)API接口實(shí)時(shí)獲取云平臺(tái)數(shù)據(jù),以及遠(yuǎn)程控制家居網(wǎng)關(guān)和手環(huán);服務(wù)器端采用OneNET云平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的云存儲(chǔ)、上傳和下發(fā),并通過(guò)GA-BP神經(jīng)網(wǎng)絡(luò)對(duì)健康信息進(jìn)行疾病預(yù)測(cè)。項(xiàng)目結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)方案設(shè)計(jì)
2.1.1 Raspberry Pi 3B主控設(shè)計(jì)
智慧家居采用64 位四核 ARM Cortex-A53架構(gòu)的Raspberry Pi 3B主控板,其配備1 GB LPDDR2存儲(chǔ)器,集成了以太網(wǎng)、攝像頭、顯示器等接口,還具有雙頻WiFi和低功耗藍(lán)牙功能,強(qiáng)勁的配置與通信能力為智慧家居的設(shè)計(jì)與實(shí)現(xiàn)提供了良好的開發(fā)環(huán)境,其架構(gòu)如圖2所示。
圖2 Raspberry Pi 3B硬件架構(gòu)
2.1.2 環(huán)境、安全、健康一體化服務(wù)
利用空氣傳感器MQ-135監(jiān)測(cè)室內(nèi)是否存在有害氣體;通過(guò)煙霧、可燃?xì)怏w傳感器MQ-2判斷可燃?xì)怏w以及煙霧的濃度,當(dāng)其濃度高于安全閾值時(shí),通過(guò)SIM900A自動(dòng)向監(jiān)護(hù)人撥號(hào)求救;配備BH1750和DHT22,分別監(jiān)測(cè)室內(nèi)光照強(qiáng)度和溫濕度,并通過(guò)百度語(yǔ)音交互來(lái)詢問(wèn)開關(guān)燈及推送定時(shí)服藥提醒、最適穿衣等信息。
2.1.3 視頻采集與傳輸
采用USB攝像頭高速捕獲室內(nèi)環(huán)境圖像,將圖像通過(guò)USB總線傳輸?shù)絉aspberry Pi 3B處理器中,再以MJPG的方式進(jìn)行壓縮處理,打包生成UDP包,最后通過(guò)WiFi接口將數(shù)據(jù)傳輸?shù)組JPG-streamer視頻流服務(wù)器,輔助監(jiān)護(hù)人遠(yuǎn)程監(jiān)察老人的生活情況。采集與傳輸過(guò)程如圖3所示。
圖3 USB攝像頭采集與傳輸視頻過(guò)程
2.1.4 百度語(yǔ)音交互
本設(shè)計(jì)引入百度智能云的語(yǔ)音識(shí)別技術(shù),其采用了類似神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法,實(shí)現(xiàn)了更高的識(shí)別精度。首先在百度智能云進(jìn)行語(yǔ)音識(shí)別和語(yǔ)音合成配置,然后添加健康講座、新聞廣播等語(yǔ)義技能;當(dāng)喚醒詞被MIC識(shí)別后,將運(yùn)用Snowboy實(shí)現(xiàn)語(yǔ)音喚醒,然后開始錄音,錄音被轉(zhuǎn)換為WAV音頻流文件,通過(guò)調(diào)用百度API上傳至云服務(wù)器,匹配相應(yīng)的語(yǔ)義技能。百度語(yǔ)音交互原理如圖4所示。
圖4 百度語(yǔ)音交互原理
2.2.1 STM32F407主控芯片
智慧手環(huán)采用STM32F407作為主控芯片,相比STM32F1系列芯片,其具有更先進(jìn)的內(nèi)核、更高的性能和更低的功耗,它的高速性處理能力適用于健康檢測(cè)對(duì)心電信號(hào)的本地處理分析。
2.2.2 健康檢測(cè)
血壓心率傳感器采用MKB0805,它具有自動(dòng)增益、穩(wěn)定性高、自動(dòng)佩戴識(shí)別和脫離無(wú)輸出功能;其使用了MCU算法,植入了心率血壓算法,直接輸出串口UART信號(hào),簡(jiǎn)化了編譯的工作量,簡(jiǎn)單可靠,方便使用。
2.2.3 數(shù)據(jù)采集和上傳
運(yùn)用MKB0805監(jiān)測(cè)老人的心率和血壓,將數(shù)據(jù)發(fā)送至STM32,再通過(guò)MQTT協(xié)議將其以數(shù)據(jù)流的形式傳送到OneNET云平臺(tái)。圖5所示為心率和血壓上傳至OneNET云平臺(tái)的過(guò)程。
圖5 心率和血壓上傳至OneNET云平臺(tái)流程
客戶終端由Web網(wǎng)頁(yè)端、Android軟件開發(fā)和微信小程序組成。監(jiān)護(hù)人通過(guò)APP和小程序獲取老人和居住環(huán)境的參數(shù);醫(yī)生利用Web網(wǎng)頁(yè)查看病人的健康數(shù)據(jù)并管理病人。
Web網(wǎng)頁(yè)基于Vue.js技術(shù)開發(fā),運(yùn)用HTML、CSS、JS進(jìn)行頁(yè)面的基本布局,結(jié)合Ajax、Node.js等技術(shù)渲染頁(yè)面。該網(wǎng)頁(yè)主要包括登錄界面、老人管理界面和實(shí)時(shí)數(shù)據(jù)界面,如圖6所示。
圖6 網(wǎng)頁(yè)操作功能
3.1.1 登錄界面
用戶登錄后可進(jìn)入系統(tǒng)主頁(yè),該界面對(duì)用戶登錄進(jìn)行驗(yàn)證,建立Session會(huì)話,采用Ajax技術(shù)為登錄表單設(shè)置請(qǐng)求地址和請(qǐng)求方式,與數(shù)據(jù)庫(kù)的賬號(hào)信息進(jìn)行對(duì)比,通過(guò)對(duì)比進(jìn)入系統(tǒng)主界面,否則返回登錄錯(cuò)誤信息。
3.1.2 老人管理界面
該界面對(duì)用戶負(fù)責(zé)的老人進(jìn)行管理,用戶可對(duì)管理的老人進(jìn)行添加和刪除操作,點(diǎn)擊頁(yè)面“添加”或“刪除”按鈕后,通過(guò)表單對(duì)數(shù)據(jù)雙向綁定,對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入并刪除信息。
3.1.3 實(shí)時(shí)數(shù)據(jù)界面
該界面負(fù)責(zé)將獲取的最大心率以及靜息血壓實(shí)時(shí)數(shù)據(jù)展示給用戶,采用折線圖和柱狀圖等形式對(duì)數(shù)據(jù)進(jìn)行可視化處理。選用Ajax技術(shù),通過(guò)XMLHttpRequest對(duì)象向OneNET云平臺(tái)發(fā)送異步請(qǐng)求,調(diào)用相應(yīng)的API獲取數(shù)據(jù),數(shù)據(jù)以JSON格式返回JavaScript代碼區(qū),處理獲取的數(shù)據(jù)并填充到對(duì)應(yīng)DOM區(qū)域。
APP用于實(shí)現(xiàn)對(duì)室內(nèi)監(jiān)控及環(huán)境參數(shù)的實(shí)時(shí)獲取、查看老人身體健康狀況和遠(yuǎn)程服藥提醒。
3.2.1 實(shí)時(shí)接收數(shù)據(jù)模塊
該模塊負(fù)責(zé)從OneNET獲取數(shù)據(jù)并展示在界面,該界面主要包括上下兩部分。下半部分為視頻監(jiān)控區(qū)域,其負(fù)責(zé)跳轉(zhuǎn)到MJPG-streamer視頻流服務(wù)器;上半部分為環(huán)境參數(shù)、老人健康監(jiān)測(cè)區(qū)域,采用調(diào)用API的方法獲取數(shù)據(jù)并顯示到數(shù)據(jù)區(qū)域。
3.2.2 語(yǔ)音提醒模塊
該模塊負(fù)責(zé)對(duì)設(shè)備語(yǔ)音功能的控制,主要用來(lái)提醒老人按時(shí)服用藥物。本界面使用了Button組件并對(duì)其設(shè)置了監(jiān)聽事件,當(dāng)用戶點(diǎn)擊“提醒服藥”按鈕時(shí),將調(diào)用API給OneNET云平臺(tái)下達(dá)命令,從而提醒老人服藥。
微信小程序的開發(fā)與實(shí)現(xiàn),極大地便利了監(jiān)護(hù)人查看環(huán)境參數(shù),及時(shí)了解老人身體狀況的需要。微信小程序具有如下功能:
(1)環(huán)境安全監(jiān)測(cè)。在微信小程序端可以查看采集的環(huán)境參數(shù),一旦有害氣體超過(guò)閾值,立即提醒老人及監(jiān)護(hù)人。
(2)老人健康監(jiān)測(cè)。通過(guò)MKB0805血壓心率測(cè)量方案實(shí)現(xiàn)采集老人血壓、心率數(shù)據(jù)的功能,同時(shí)可利用小程序?qū)崟r(shí)掌握老人的健康情況。
圖7所示為微信小程序操作功能圖。
圖7 微信小程序操作功能圖
先將心臟病數(shù)據(jù)集劃分為訓(xùn)練樣本和測(cè)試樣本,然后組建網(wǎng)絡(luò),接著通過(guò)遺傳算法求解最優(yōu)的權(quán)值和閾值,將最優(yōu)解代入BP神經(jīng)網(wǎng)絡(luò),再運(yùn)用訓(xùn)練樣本進(jìn)行多次試驗(yàn),得出一個(gè)擬合效果良好、預(yù)測(cè)精度較高的GA-BP神經(jīng)網(wǎng)絡(luò)模型,最后利用測(cè)試樣本進(jìn)行仿真,分析模型的可行性。
選取阿里云天池開源數(shù)據(jù)集Heart Disease UCI,根據(jù)相關(guān)性分析,引用了其中的年齡、性別、胸痛類型等13個(gè)特征屬性和1個(gè)類別標(biāo)簽,數(shù)據(jù)集經(jīng)過(guò)清洗與轉(zhuǎn)換后,得到303條有效數(shù)據(jù)。實(shí)驗(yàn)中隨機(jī)抽取80%的數(shù)據(jù)作為訓(xùn)練樣本,將剩余的20%數(shù)據(jù)作為測(cè)試樣本。
由于Sigmoid函數(shù)的取值范圍為[0,1],故BP神經(jīng)網(wǎng)絡(luò)對(duì)此范圍內(nèi)的數(shù)據(jù)最靈敏,同時(shí)又因?yàn)樘卣鲗傩缘臄?shù)值之間存在量綱或量綱單位的差異,因而在對(duì)網(wǎng)絡(luò)訓(xùn)練之前需要對(duì)輸入、輸出數(shù)據(jù)進(jìn)行歸一化處理。
程序如下:
4.3.1 隱含層節(jié)點(diǎn)數(shù)的確定
隱含層節(jié)點(diǎn)數(shù)可由式(1)確定:
式中,、和分別為輸入層、輸出層和隱含層的節(jié)點(diǎn)數(shù),實(shí)驗(yàn)中取13,取1,的值為4。
4.3.2 搭建BP神經(jīng)網(wǎng)絡(luò)
為增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力,論文中選用非線性函數(shù)logsig作為隱含層的激活函數(shù),在輸出層選用線性函數(shù)purelin,以trainlm作為訓(xùn)練函數(shù),搭建三層BP神經(jīng)網(wǎng)絡(luò)。
程序如下:
4.3.3 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
以隱含層和輸出層的權(quán)值及閾值4個(gè)變量形成一條基因鏈,通過(guò)實(shí)數(shù)編碼法對(duì)其進(jìn)行編碼,然后結(jié)合選擇(繁殖)、交叉(重組)、變異(突變)操作算子,評(píng)估個(gè)體適應(yīng)度,最后通過(guò)演化求得最優(yōu)解。優(yōu)化過(guò)程如圖8所示。
圖8 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的過(guò)程
4.3.4 網(wǎng)絡(luò)訓(xùn)練
獲取最優(yōu)權(quán)值閾值后,接著完成網(wǎng)絡(luò)的訓(xùn)練。程序如下:
期望值與預(yù)測(cè)值間的線性回歸結(jié)果如圖9所示。
圖9 預(yù)測(cè)值與期望值的線性回歸曲線
預(yù)測(cè)值與期望值的相關(guān)系數(shù)高達(dá)0.886 48,訓(xùn)練結(jié)果表明,該模型的擬合效果良好,模型具有較高的預(yù)測(cè)精度。
表1列出了部分測(cè)試樣本的期望值和預(yù)測(cè)值,以及兩者的誤差值。
表1 預(yù)測(cè)值與期望值對(duì)照表
表1測(cè)試樣本中的15條測(cè)試結(jié)果,實(shí)驗(yàn)中61個(gè)測(cè)試樣本得到的平均誤差為0.1620,倘若視誤差低于平均誤差0.1620的情況為預(yù)測(cè)準(zhǔn)確,則有46個(gè)測(cè)試樣本滿足條件,高達(dá)75.41%。該GA-BP神經(jīng)網(wǎng)絡(luò)模型具有較高的預(yù)測(cè)精度,在中老年人心臟病預(yù)測(cè)中效果顯著。
手機(jī)遠(yuǎn)程實(shí)時(shí)觀察樹莓派采集的視頻,如圖10所示。
圖10 手機(jī)遠(yuǎn)程實(shí)時(shí)觀察樹莓派采集的視頻
OneNET云平臺(tái)存儲(chǔ)的數(shù)據(jù)如圖11所示。
圖11 OneNET云平臺(tái)存儲(chǔ)的心率和血壓值
APP首頁(yè)、用戶界面、用戶登錄界面、用戶注冊(cè)界面和手機(jī)登錄界面如圖12所示。
圖12 APP各界面效果
圖13為微信小程序首頁(yè)效果圖。
圖13 微信小程序首頁(yè)效果
Web數(shù)據(jù)可視化效果如圖14所示。
圖14 Web數(shù)據(jù)可視化效果
本文通過(guò)介紹面向獨(dú)居老人的智慧居家養(yǎng)老系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),體現(xiàn)了該系統(tǒng)在生活中的實(shí)用性及其可行性。通過(guò)智慧手環(huán)和GA-BP神經(jīng)網(wǎng)絡(luò)對(duì)老人日常健康檢測(cè)及心臟病風(fēng)險(xiǎn)預(yù)估進(jìn)行了算法分析,子女和醫(yī)生可通過(guò)客戶端實(shí)時(shí)了解老人狀況并為其制定健康方案。該系統(tǒng)既有利于子女對(duì)老人居家環(huán)境的監(jiān)管,又有助于醫(yī)生對(duì)老人健康狀況的檢測(cè),有效降低了老人患心臟病的風(fēng)險(xiǎn),促進(jìn)了醫(yī)療方案的精準(zhǔn)化。