魏 琪1,林增剛1,郭陽明1,孔德岐,張 雙
(1.西北工業大學 計算機學院,西安 710072;2.航空工業西安航空計算技術研究所,西安 710068)
隨著醫學的發展,醫療模式已經從傳統的以發現病癥再治療為中心逐漸轉變為預防、早診、早治的模式。通過對采集的生理信息進行分析,可以詳細了解人體健康狀況,提前發現潛伏期的病發癥,從而達到疾病預防和醫療保健的目的[1]。當前,心臟病已經成為威脅人類生命的主要因素之一,持續監護人體心臟功能,防止心臟疾病突發變得越發重要。因而,具有心臟監護功能的系統受到人們的廣泛關注[2]。
目前,國內外眾多研究團隊提出了基于移動智能終端的人體心臟監護解決方案。如,Richer等人[3]提出了基于Android手機的心率反饋系統,并將其與Android wear相結合,取得了較大的用戶滿意度;Yen等人[4]、Makki等人[5]提出了基于心電異常檢測的心電圖分析方法;Gradl等人[6]提出一種基于Android移動設備的實時心電監測和心率異常檢測算法;Hasan等人[7]提出了遠程血壓監測系統;Boudra等人[8]借助Android和Java技術開發了基于傳感器和無線傳感器網絡的智能醫療監控系統。但這些現有的研究基本上都是圍繞算法的開發,并且側重點都是對當前時刻人體健康狀況的評估,對用戶未來的身體狀況不具有預測和指導功能。
為此,針對現有人體心臟監護研究存在的問題,為有效預防突發心臟病帶來的風險,本文選用隨機森林預測模型,設計了一款在日常生活中可用的新型心率監護系統。該系統具有人體心電信號采集、心率異常檢測、實時心率顯示以及未來心率狀態預測功能,能為用戶提供有效的心率預測和健康指導,降低了心臟病帶給用戶的危害。
針對心率采集設備對電池續航、空間體積及檢測精度的嚴格要求,設計低時延、高精度、交互友好的心率監護系統由心率采集模塊、數據傳輸模塊和Heart軟件三部分組成。系統的總體架構設計如圖1所示。

圖1 心率監護系統總體架構
圖1中,心率采集模塊由心率傳感器Pulse Sensor以及STM32核心板組成,佩戴于人體的Pulse Sensor采集到心率脈沖信號,通過STM32進行模數轉換和降噪處理得到精確的心率值;數據傳輸模塊采用當前流行的藍牙低功耗傳輸模式[9],選取設備HC-05藍牙模塊與智能手機之間進行數據交互,數據傳輸速率可達2Mbps;Heart是基于Android平臺開發的一款人機交互軟件,該軟件包括異常心率檢測、心率預測和實時顯示3個功能模塊。
本文設計的硬件平臺主要包含心率傳感器Pulse Sensor、STM32核心開發板和HC-05模塊3個組件。其中,STM32為控制核心,控制傳感器實時采集人體心率信號,經過信號分析處理,由藍牙模塊將心率數據傳輸至移動端與用戶進行交互。心率監護系統硬件平臺完成的功能有,心電信號采集、信號處理以及數據傳輸,其總體架構如圖2所示。

圖2 系統硬件平臺架構
在對心率測量方法研究中發現,傳統的測量方法會限制人體的活動,若長時間使用會增加用戶生理和心理上的不適感。這對于心率監護系統來說,極大地影響了其應用效果,降低了系統可靠性。
為方便采集人體心電信號,增加硬件平臺的續航能力和采集數據的真實性,本系統采用光電容積法進行脈搏測量,選用體積小,功耗低的心率傳感器Pulse Sensor對心電信號進行采集,其基本原理是利用人體組織在血管搏動時所造成透光率的不同來采集心電信號。將傳感器佩戴于手部,可完成心電信號的采集。Pulse Sensor內部結構如圖3所示。

圖3 Pulse Sensor內部結構
利用心率傳感器Pulse Sensor采集的人體心電信號是模擬信號,在原始信號中存在重搏波,會對心率統計產生較大的噪聲干擾,如圖4所示。因此,需要對原始信號進行降噪、模數轉換和統計計算等處理過程,從而使統計結果更為準確。為此,本文結合STM32核心板低功耗、體積小和強抗干擾的特性,將STM32作為系統主控制器,接收Pulse Sensor采集到的心電信號并完成信號的處理。

圖4 心電信號
首先STM32通過ADC單元采集傳感器輸出的脈搏模擬信號,根據心跳特性將采樣率設為500 Hz。然后追蹤脈搏波的上升,為使心跳檢測更為精確,本系統每隔0.6個IBI(兩次心跳時間間隔)才開始追蹤脈搏信號,從而避開了重搏波的峰值。最后,考慮到突發干擾信號影響,心率計算根據脈搏波上升段的中間值之差來確定IBI數值,并將連續獲得的10次IBI值進行平均,利用該均值來計算實際心率。假設當前心率為n,則心率計算公式如下:
(1)
STM32處理得到精確的心率數據,通過搭載的HC-05藍牙模塊傳輸至Android端的Heart軟件,為心率異常檢測和預測提供數據支持。
統計結果表明,在靜息狀態和運動狀態下的正常心率范圍各不相同,且范圍幅值也參差不齊[10]。本系統為滿足用戶對于心率異常檢測準確性的需求,對用戶進行為期一周的心率數據建模,在建模過程中,系統會根據所統計用戶每一時段內的運動步數,將靜息與運動兩種狀態下的心率模型進行區分,以提高異常檢測的精度。
采用心率數據建模的方式,能夠得到正常心率范圍的衡量標準,但是模型建立的準確性問題也是需要解決的一個難點,為防止在建模過程中某一時刻的異常心率被當作有效數據記錄,用戶可隨時中止數據建模過程,并將異常時段數據從記錄中刪除,從而保證模型的準確性。
由于人體心率容易受到情緒、飲食等眾多因素的影響,為了避免外界因素帶來的異常檢測錯誤,本文結合醫學上對于心臟驟停期的分析[11-12],設計了如下異常檢測策略,其偽代碼如表1所示。

表1 心率異常檢測策略
(1)系統對接收到的心率值進行判斷,若超出正常閾值則對異常信號進行累加并執行(2),否則重置異常信號,繼續執行(1);
(2)檢測異常信號是否達到預先設定的門限值,若達到則執行(3),否則執行(1);
(3)系統發出預警信號,提示用戶采取心肺復蘇措施,并立即向預先設定的聯系人發出求救信息,執行(4);
(4)重置異常信號,繼續執行(1)。
利用機器學習中的預測算法可以對心率進行預測,進而為用戶提供正確的健康指導,避免突發心臟病帶來的風險。然而,不同的預測模型在進行模型訓練時,會存在如下問題[13-14]:(1)對訓練集進行學習的過程中,計算成本大,內存占用高;(2)模型泛化能力較弱,對新加入樣本不具有很強的適應能力,預測精度低;(3)存在過擬合及欠擬合現象。因此,對于不同的應用場景,預測模型的選擇至關重要。
為此,為了實現心率預測的準確性和高效性,本文結合心率樣本數據的特性,選擇基于隨機森林的心率預測模型。該模型的基本思想是:從訓練樣本中隨機選取部分特征來構建獨立的回歸樹,然后重復這個過程,且保證每次都是等概率地抽取特征,直到構建了足夠多且相互獨立的樹,將所有回歸樹的預測結果求均值得到最終的心率預測結果[15-16]。隨機森林心率預測模型實現步驟如下:
(1)從本系統的SQLite數據庫中收集用戶歷史數據構成樣本集;
(2)利用Bootstrap自助采樣方法從原始心率樣本集中所有n個樣本中抽取k(k (3)重復步驟2,產生T個訓練集,用于構建T棵回歸樹,組成一片“森林”?;貧w樹生長過程中,在每個非葉子節點進行分支前,選擇全部p個屬性中的m(m (4)每棵樹都完全生長,直到葉子節點; (5)利用“森林”中每棵回歸樹對測試樣本進行測試,得到N個對應的預測結果,所有預測結果取均值即為最終的預測結果。 本文采用的隨機森林預測模型,利用Bootstrap抽樣得到不同的樣本集分別構建回歸樹模型,增加了模型間的差異,從而提高了模型的外推預測能力。 為了滿足用戶對于系統高響應、低時延、操作便捷的要求,本系統可視化功能基于Android SDK 8.1開發實現。該系統提供了友好的用戶交互功能,能夠為用戶提供直觀的心率變化狀態以及正確的健康指導。本文列出了部分功能模塊的截圖,如圖5所示。 藍牙連接完成Heart軟件與下位機間通信鏈路的建立;聯系人設置需要用戶指定至少一個聯系人作為心率異常時的求助對象;心率顯示可以從數據庫中讀取當前時刻的心率進行顯示,并對心臟跳動波形進行了模擬仿真;心率歷史變化通過統計用戶每小時的平均心率,利用MPAndroidChart繪制出心率變化圖,使用戶更加直觀的了解24小時內自身心率的變化情況。 圖5 心率監護系統功能圖 自左向右依次為:主菜單;藍牙連接界面;聯系人設置界面;心率顯示界面;心率歷史狀態變化界面 為了驗證本系統人體心率測量的準確性和實用性,將心率監護系統與智能穿戴中的光學心率傳感器進行了對比實驗。實驗分為5個不同時段進行,每個時段連續采集10組心率數據,共計50組。從圖6的實驗結果可知,本系統心率測量結果與光學心率傳感器保持了較高的契合度。 采用均方誤差MSE作為本系統心率測量準確度的量化評估依據,定義為: (2) 式中,fi為心率監護系統的測量值,為光學心率傳感器的測量值,n取50。經計算,本系統與光學心率傳感器兩組測量結果的均方誤差僅為17.56。由此可見,本系統作為心率測量具有一定的實用價值。 圖6 心率測量準確性評估 心率預測實驗選取用戶SQLite數據庫8天的心率值、步行數、同時段最高和最低心率等數據共計1 152條作為樣本,采集的時間間隔為1次/10 min。選取樣本集的97%作為訓練集,3%作為測試集。為使心率預測模型簡單高效,且具有較高的精確度,子樹的數量選擇為100,樹的深度不做限制。實驗結果如圖7所示。 圖7 心率預測結果 由圖7可以看出,本系統很好的擬合了心率數據的周期性,準確地判斷出了心率數據起伏趨勢。 采用均方誤差MSE和決定系數R2兩個指標作為模型預測性能量化評估的依據,分別定義為: (3) (4) 本文設計并開發了一款基于Android平臺的新型人體心率監護系統,該系統在移動終端為用戶提供了友好的交互功能,使用戶在日常生活中即可隨時隨地了解自身的心臟健康狀況。針對突發心臟疾病帶來的風險,該系統結合了醫學上關于心臟驟停期的分析研究,提出了心率異常檢測策略,當系統檢測到異常發生時會向緊急聯系人發送求救信號,以避免意外的發生。此外,該系統選用隨機森林的心率預測模型對用戶心率變化狀態進行預測,利用sklearn框架進行算法仿真,模型預測準確度達到86.67%。因此,該系統對人體健康管理具有指導意義,滿足了用戶當前的需求。后續的工作中將在實時性方面做進一步完善,同時加入陀螺儀等傳感器,對人體行為特征進行識別,進一步提高模型的預測精度。3.3 數據可視化

4 實驗結果與分析
4.1 心率測量準確性分析

4.2 心率預測準確性分析


5 結束語