牟俊杰,姚 剛,孫 濤
(海軍航空大學 岸防兵學院,山東 煙臺264001)
隨著人工智能的突破性進展和“互聯網+”技術的普及,智慧醫療成為醫療技術發展的新引擎,誕生了一系列智能醫療服務產品,如智能藥盒、智能手環等[1]。 但人工智能過高的成本導致尋找合適的切入方式顯得尤為關鍵[2]。
在人口老齡化日益嚴重的當下,心血管疾病不斷威脅老年人健康,引發社會廣泛關注。由于醫療知識欠缺、行動不便等原因,部分老年人就醫不及時,錯過了搶救的黃金時間,留下永遠的遺憾。 開發心血管疾病方面的智能預警系統,滿足龐大的老年人群體需求迫在眉睫[3]。在醫療實踐中,對心血管疾病的診斷常常以心率、心肺音數據為重要支撐,國內外以DSP[4]、長短時記憶(Long Short Time Memory,LSTM)[5]、卷積神經網絡[6](Convolutional Neural Network,CNN) 等方法算法為手段對心血管疾病的信號診斷進行了相當多的分析,但基本均停留在理論層面,距離軟硬件結合的實際應用尚有差距。 各種醫療設備的聚焦點主要是信號的準確采集、分離[7-8],基于醫療倫理等原因,對智能診斷設備的研制尚處于知識儲備期,有巨大的空白亟需填補。 本文設計了基于CNN-LSTM的心血管疾病預警系統,利用物聯網技術采集心率和心肺音等健康指標數據,對老人的健康狀況進行實時監測、預警,采用基于CNN-LSTM 模型的智能算法對心肺音信號進行智能分析預警。 系統著重考慮了適用性、穩定性和成本,具有較高的實用價值和完整的結構框架,是利用智慧醫療從應用層面解決心血管疾病問題的一次重要探索。
該心血管疾病預警系統由心率檢測分系統和體音檢測分系統兩大功能模塊構成。 系統工作時,先通過穿戴式心率檢測設備采集使用者的心率數據,通過藍牙將數據傳輸給手機微信小程序。 若判定心率數據表現異常,手機將提醒使用者使用電子聽診器,將心肺音數據傳到PC 端進行智能分析診斷,繼而將分析診斷結果反饋給手機微信小程序。考慮到使用者的身體狀況相對虛弱,若系統判斷使用者需要就醫,則手機將自動撥打急救電話、發送病人GPS 信息給急救中心,并將使用者相關數據展示給醫生,方便醫生提前了解使用者病情,籌劃后續診療工作。 系統工作流程如圖1 所示。

圖1 工作流程圖
檢測系統由穿戴式心率檢測設備、手機、PC 端和電子聽診器等組成,如圖2 所示。

圖2 系統組成框圖
穿戴式心率檢測設備包括心率傳感芯片、單片機、藍牙模塊和電源模塊等,將設備佩戴在手腕處,即可實時檢測心率[9]。 其中MAX30102 心率傳感芯片集成了光電檢測器、光器件以及帶環境光抑制的低噪聲電子電路,具有IIC 通信接口,可以將采集到的數值傳輸給STM32單片機進行心率計算,還可通過軟件關斷模塊,使待機電流接近為零,實現長時待機功能。
CM-01B 電子聽診器通過性能優越、傳輸數據穩定的PVDF 壓電薄膜同前置放大電路相連,將外部雜音干擾降至最低。 當聽診器接觸到振動,則反饋回一個高敏感型信號,以此通過電子脈沖的方式提供微小聲音采樣。將聽診器置于使用者心胸下兩寸處,靜置10 s,待PC 端軟件啟動后,分別對心臟及肺部肺泡氣管等處診聽,記錄不同位置心肺音。 電子聽診器通過3.5 mm 音頻數據線與電腦連接,由PC 端利用深度學習技術完成對心肺音數據的分析判斷。
預警系統的軟件部分包括心率檢測模塊和體音檢測模塊,二者前后銜接,共同實現心率傳感器的驅動、IIC通信、藍牙數據傳輸、心率異常預警、醫療引導、體音采集和智能分析診斷等功能。
為避免繁雜的APP 客戶端,系統使用微信小程序實現多種功能的整合融合。心率檢測模塊可以全時段檢測使用者的心率,并長時保留心率數據。 當模塊檢測到心率超過設定的門限值,則判定使用者身體出現心血管疾病前兆,手機將立刻發出語音、文字預警警報,同時,為了避免因虛警就醫而浪費醫療資源,模塊會提醒使用者進一步檢測心肺音。 程序所實現的心率檢測與預警如圖3 所示。

圖3 心率檢測界面(正常/異常)
穿戴式心率檢測設備中,心率傳感器MAX30102 與STM32 單片機之間的數據傳輸采用的是IIC 通信協議。IIC 總線是由時鐘SCL 和數據線SDA 構成的串行總線,在傳送數據過程中共發送三種不同類型信號,即開始信號、結束信號和應答信號,總線中每個電路有唯一的地址,只有選擇正確的地址,不同電路之間才能實現互聯互通,避免雜亂混亂,其接口直接連接在組件之上,因此大大減少了傳統電路板的空間和芯片管腳的數量。
體音檢測是通過深度卷積神經網絡-長短期記憶網絡(CNN-LSTM)算法實現對心肺音類型的深度學習[10-11],利用訓練出的識別模型對收集的數據進行智能診斷[12-13],以達到對爆破音、干啰音等心血管疾病高危前兆先期識別、居家聽診的目的。
在訓練心肺音識別模型的過程中,采用遷移學習技術,引入一個公開的心肺音數據庫。 該心肺音數據庫由葡萄牙和希臘的兩個研究小組創建,包括來自126 名患者的920 個不同長度的注釋錄音。 錄音共計5.5 小時,包含6 898 個呼吸周期,1 864 個噼啪聲,886 個喘息聲,506 個干啰音,還有干凈的呼吸音以及真實生活條件的嘈雜錄音,選取其中800 個錄音為訓練樣本,120 個錄音為測試樣本。
梅爾道普頻率系數(Mel-Frequency Cepatral Cofficients,MFCC)被廣泛應用在聲音識別等信號處理中,能夠很好地反映音頻、音高變化[14-15]。 在構建識別模型時,將按照MFCC 對心肺音里包含的語音物理信息(頻譜包絡和細節) 進行編碼運算得到的特征向量記為MFCC 特征。 在處理數據集時,從對應類型的每個文件中截取2 s 的呼吸時長進行標注,提取MFCC 特征。 特征提取由卷積層完成,每個卷積核對應提取某一部分特征。 在對聲音信號里的13 維MFCC 特征進行提取的同時, 還抽取了13維MFCC 特征的一階方差和二階方差,一共形成了39維向量,經過融合層作為LSTM 模型的輸入矩陣。
S=f(WZ+b)
式中:S 表示經過卷積操作抽取后的特征矩陣;f 為非線性激活函數LReLU;操作權重矩陣W 和偏置向量b 為該網絡學習的參數。
卷積后將MFCC 特征傳遞給池化層,進行進一步聚合,簡化特征表達,降低特征圖的維度和參數的數據量。池化層大小為4×4,池化方法選擇最大池化,即選擇4×4范圍內最大的數值作為新的池化層特征。
LSTM 網絡具有良好的捕捉時序特征信號的能力,在分析所采集的體音數據時,可有效結合以往長期采集的數據,使分析結果更具科學性、準確性。
將提取MFCC 特征形成的39 維特征向量,處理成(1 561,39)的矩陣作為輸入,由于LSTM 為循環神經網絡,為防止網絡訓練過程出現過擬合,在循環的神經單元內部及循環之間分別加入Dropout 和Recurrent_dropout,分別對同一LSTM 單元中神經元之間的連接和不同循環LSTM 單元之間的連接進行一定比例的隨機斷開,系統中是斷開20%的內部及外部循環單元,繼而通過展平與全連接實現神經網絡的整體結構。
為了使檢測系統便于使用,運用C# 語言開發智能醫療電腦客戶端,并設計C# 接口調用人工智能算法的Python 文件,集成了心肺音智能診斷、保存并發送檢測數據等功能,以提供智慧醫療、遠程醫療服務,體音檢測客戶端界面如圖4 所示。

圖4 體音檢測界面
系統用STM32 驅動心率傳感器和藍牙模塊實現心率數據的采集與通信,通過USB 轉TTL 連接電腦,用電腦串口助手測試心率傳感器的數據采集情況,測試結果如圖5 所示,通信正常,說明心率檢測分系統能夠正常采集數據。

圖5 心率數據采集測試情況
與手機進行通信測試,通過手機藍牙串口app 測試通信情況,如圖6 所示,通信正常,說明能夠將采集到的人體心率數據通過藍牙發送到手機。

圖6 藍牙串口通信情況
在800 個心肺音樣本訓練集上對CNN-LSTM 網絡訓練,訓練采用Adam 優化算法,學習率lr 取0.000 1,訓練迭代次數steps=18 000,訓練次數在17 500 左右loss 達到收斂,約為0.082,訓練曲線如圖7 所示。

圖7 訓練過程loss 的變化趨勢
在120 個錄音測試集上對最終訓練的網絡模型進行測試,正確識別的錄音數量為109,識別的平均準確率達到了0.908,滿足實際應用需求。
該聲紋識別系統,利用物聯網技術實現了心率、心肺音檢測設備與通信設備、數據處理設備的融合,可實時監測心率以先期預警,并支持基于心肺音分析的虛警驗證。 利用深度學習技術結合醫學大數據,對心肺音數據進行MFCC 特征提取,基于CNN-LSTM 算法訓練出心肺音識別模型,可準確判斷部分心血管疾病前兆,實用性強、準確性高,在居家獨立進行心血管疾病先期診斷處理方面應用前景廣闊。下一步工作是對穿戴設備進行小型化設計,加大醫療數據庫的體量,進一步提高訓練模型的識別精度,使系統更加便捷高效。