馬 蕾
(西安明德理工學(xué)院,陜西西安 710124)
當(dāng)今社會(huì)的經(jīng)濟(jì)水平在不斷提高,但快節(jié)奏的工作和不斷上漲的生活成本對(duì)人們的健康產(chǎn)生了負(fù)面影響,年輕人和中年人的成人體質(zhì)指數(shù)平均下降0.5%[1]。體育運(yùn)動(dòng)是保持人體每天健康的有效途徑,大量研究表明,使用正確的鍛煉方法和獲得足夠的鍛煉可以提高各個(gè)年齡段人群的身體素質(zhì)和健康[2]。
作為體育健康市場(chǎng)的一部分,網(wǎng)絡(luò)體育健身也得到快速發(fā)展。據(jù)估計(jì),2019年中國(guó)網(wǎng)絡(luò)體育健身市場(chǎng)規(guī)模達(dá)到1740億元,用戶數(shù)量達(dá)到1.95億。大量的信息和數(shù)據(jù)蘊(yùn)含著巨大的價(jià)值。智能體育設(shè)備和軟件已出現(xiàn)在很多領(lǐng)域,專業(yè)運(yùn)動(dòng)員可以據(jù)此收集數(shù)據(jù)并顯示運(yùn)動(dòng)體征,以幫助其制定體育運(yùn)動(dòng)規(guī)劃。但上述體育設(shè)備和軟件更側(cè)重于數(shù)據(jù)收集和數(shù)據(jù)可視化顯示,缺乏對(duì)用戶健康數(shù)據(jù)的進(jìn)一步分析和挖掘。給用戶合理的建議和幫助是智能時(shí)代優(yōu)化體育和健康應(yīng)用的主要方向。
本研究的目的是分析心音數(shù)據(jù),從心音周期特征提取方法和心音神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)角度進(jìn)行健康預(yù)測(cè)和識(shí)別[3],提出了一種基于心率特征提取和卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)動(dòng)訓(xùn)練健康分析算法。
在心音采集過程中,心音采集裝置設(shè)計(jì)應(yīng)注意以下三個(gè)方面:(1)應(yīng)考慮環(huán)境噪聲。這是所有心音信號(hào)采集過程中都會(huì)遇到的一個(gè)問題,需要額外關(guān)注和努力來減少環(huán)境噪聲的影響。(2)應(yīng)考慮采集設(shè)備的錯(cuò)誤和操作員的誤操作。在采集過程中,可以改進(jìn)或避免這種情況發(fā)生,例如輕拿輕放,為采集器選擇性能更好的傳感器。(3)應(yīng)考慮采集者自身發(fā)出的其他生物信號(hào)。在人體內(nèi),除了心音,還有其他生物信號(hào),例如肺音。因此,如果采集器在采集者劇烈運(yùn)動(dòng)后立即拾取心音,則不同于其休息時(shí)拾取的心音。
本文采用多普勒TCD智能心音采集設(shè)備,并最大程度地避免操作不當(dāng)造成的干擾。
原始心音信號(hào)的采樣頻率通常為22000 Hz,與心音信號(hào)頻率相比,采樣點(diǎn)相對(duì)較大。因?yàn)樾囊粜盘?hào)的頻率為101000Hz,兩者之間的差異僅是一個(gè)數(shù)量級(jí),會(huì)含有大量原始采樣點(diǎn)數(shù)據(jù)。這些數(shù)據(jù)中的大部分是無關(guān)信號(hào),甚至可能是干擾信號(hào)。因此,這樣的采樣率增加了產(chǎn)生噪聲的可能性,大量的數(shù)據(jù)也增加了信號(hào)噪聲。處理的時(shí)間復(fù)雜度和空間復(fù)雜度較高,影響心音信號(hào)的處理速度。因此,有必要對(duì)原始心音信號(hào)進(jìn)行重采樣[4]。本節(jié)使用2000 Hz的采樣率,兩種方法對(duì)比采樣效果如圖1(a)和1(b)所示,可見重采樣的效果好很多。
圖1 信號(hào)采樣效果對(duì)比Fig.1 Comparison of the signal sample effect
由于心音信號(hào)是一種信號(hào)強(qiáng)度較低的生物信號(hào),在信號(hào)采集或處理過程中容易受到噪聲的干擾。如果不去除信號(hào)中的噪聲,將對(duì)心音在疾病診斷中的應(yīng)用產(chǎn)生影響。因此,不僅需要依靠硬件措施來解決干擾問題,而且需要有專門的信號(hào)濾波技術(shù)參與,這才可以為心音信號(hào)的各種研究奠定良好的基礎(chǔ)。
本研究采用小波去噪的方式并選擇合適的波基。信號(hào)分解層數(shù)的確定是影響小波去噪性能的重要方面,如果小波基選擇得不好,整個(gè)性能將受到影響。如果選擇太多的分解級(jí)別,心音信號(hào)和噪聲信號(hào)都會(huì)被分離,如果分解級(jí)別太少,則會(huì)過濾掉一些有用的信號(hào)。選擇波基函數(shù)并確定分解層數(shù)非常重要,利用小波對(duì)心音信號(hào)進(jìn)行去噪的過程可以概括為以下幾個(gè)基本步驟。
(1)選擇最適合心音信號(hào)的小波基函數(shù)。(2)確定分解層數(shù)N。(3)根據(jù)分解層數(shù)N,心音信號(hào)被分解為N層。(4)針對(duì)分解后獲得的各層高頻系數(shù),選擇合適的值進(jìn)行定量處理。(5)如果效果不好,重新操作直到獲得最佳效果。
由于心音是一種準(zhǔn)周期信號(hào),而本研究是對(duì)心音信號(hào)的周期性研究,因此本節(jié)采用包絡(luò)拉伸法,從而不限制心音的位置。事實(shí)上,心音時(shí)域峰值的高度包含心音信號(hào)的特征,可以反映在心音信號(hào)的包絡(luò)中。
在信號(hào)分析工具中,希爾伯特(Hilbert)變換是一種重要的方法,通常用于提取信號(hào)的相位信息,計(jì)算信號(hào)中的包絡(luò)信號(hào),并分析信號(hào)的頻譜信息[5]。信號(hào)Hilbert變換的定義如下:
假設(shè)有一個(gè)信號(hào)x(t),經(jīng)過Hilbert變換,x^(t)可通過以下方程式得出,即
從式(1)可以看出,輸出信號(hào)與輸入信號(hào)除以時(shí)間呈線性相關(guān)。就像電壓和電流的關(guān)系,增加了一個(gè)濾波器介于兩者之間。因此,這種轉(zhuǎn)變是可以扭轉(zhuǎn)的。將濾波器的輸出響應(yīng)設(shè)置為h(t),則
上述公式可以在時(shí)域中得到信號(hào)形式。但是Hilbert變換主要是為了分析信號(hào)的頻域關(guān)系,因此,需要知道Hilbert方程的頻率響應(yīng)H(f)的改變,即
因此,在信號(hào)x(t)的Hilbert變換之后,頻域中的結(jié)果是頻譜偏移。正頻率信號(hào)逆時(shí)針旋轉(zhuǎn)90°,在頻域中,即相移減小了90°。負(fù)頻率的信號(hào)順時(shí)針旋轉(zhuǎn)90°,在頻域中,這會(huì)使相移增加90°,兩者之間存在180°的差異,即正頻率信號(hào)和負(fù)頻率信號(hào)。如果輸出信號(hào)被描述為x^(t),輸入信號(hào)被描述為x(t),可以獲得信號(hào)的包絡(luò)。如果包絡(luò)信號(hào)設(shè)置為z(t),則可以得到
分析Hilbert變換的效果,結(jié)果原始信號(hào)如圖2所示。
圖2 正常心音的時(shí)域波形Fig.2 Time domain waveform of normal heart sound
采用Hilbert變換方法得到的心音包絡(luò)轉(zhuǎn)換方法如圖3所示。
圖3 原始信號(hào)和獲得包絡(luò)后的心音信號(hào)Fig.3 Raw signal and cardiac tone signal affer obtaining the envelope
在Hilbert變換后可以得到與信號(hào)長(zhǎng)度相同的包絡(luò)曲線,即該信號(hào)的包絡(luò)特性可以完全表達(dá)。
深度卷積模型的體系結(jié)構(gòu)可由總深度確定層數(shù)n和每個(gè)層中的結(jié)構(gòu)數(shù){ai}組成。例如,n=3、a1=4、a2=3、a3=2表示該模型分為三個(gè)階段,且第一、第二和第三階段的層卷積數(shù)分別為4、3和2。在推導(dǎo)出公式之前,定義一些必需的參數(shù)符號(hào):輸入譜圖大小為z、卷積核大小為k和最小層c值為t。隨著卷積層的感受場(chǎng)持續(xù)增長(zhǎng)和卷積層中卷積核的大小保持不變,可以看出最后的c值卷積層最?。?]。等價(jià)于確保最后的卷積層c值不小于t,可轉(zhuǎn)換為一組不等式,即
其中2l k是神經(jīng)網(wǎng)絡(luò)最后一層感受區(qū)域的大小。卷積層頂部的感受野應(yīng)小于一個(gè)心音周期的面積,具體公式如下:
目標(biāo)函數(shù)可以表示為感受野的總數(shù)及其最終值,關(guān)系等式為
本研究設(shè)計(jì)的心音卷積神經(jīng)網(wǎng)絡(luò)模型如圖4所示。
圖4 心音卷積神經(jīng)網(wǎng)絡(luò)模型Fig.4 Heart-tone convolutional neural network model
本研究使用了PyCharm的編譯器和TensorFlow深度學(xué)習(xí)框架。使用構(gòu)造的心臟聲音卷積神經(jīng)網(wǎng)絡(luò),采取小批量學(xué)習(xí)方法,學(xué)習(xí)率為0.0001,總共執(zhí)行1000次迭代。
本研究使用PhysioNet/CinC Challenge 2016數(shù)據(jù)庫[7]。所有錄音都已重新采樣到2000 Hz,錄制的持續(xù)時(shí)間范圍為5 s到120 s。這項(xiàng)工作的最終目標(biāo)是將其分為正常和異常心音。訓(xùn)練集由五個(gè)數(shù)據(jù)組成文件夾(A到E),共包含3240個(gè)心音,測(cè)試集包含301個(gè)心音記錄。本研究通過提取5個(gè)心動(dòng)周期作為研究對(duì)象,一個(gè)譜圖的時(shí)間長(zhǎng)度,共28000次訓(xùn)練獲得樣品,共有4800個(gè)測(cè)試樣本。
相對(duì)誤差(RE)以實(shí)際值為參考值,通過比較目標(biāo)數(shù)據(jù)的預(yù)測(cè)結(jié)果與實(shí)際值之間的相對(duì)差異進(jìn)行判斷,通常用百分?jǐn)?shù)表示。相對(duì)誤差值越小,預(yù)測(cè)結(jié)果越接近實(shí)際值。也就是說,所構(gòu)建模型的預(yù)測(cè)效果越好。一般來說,相對(duì)誤差可以更好地反映預(yù)測(cè)結(jié)果是否可信[8]。相對(duì)誤差表達(dá)式如下所示:
在所設(shè)計(jì)的心音神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)的基礎(chǔ)上,通過改變卷積層數(shù)優(yōu)化模型的復(fù)雜度,并對(duì)模型進(jìn)行了實(shí)驗(yàn)驗(yàn)證。心音分類模型的參數(shù)、訓(xùn)練時(shí)間和訓(xùn)練精度如表1所示。
表1 不同樣本心音的回旋層的分類效果Tab.1 Classificafion effect of the cyclotron layer of different samples
從表1中可知,當(dāng)只有一個(gè)卷積層時(shí),模型參數(shù)龐大,無法準(zhǔn)確獲取重要特征,訓(xùn)練時(shí)間長(zhǎng);當(dāng)模型中有三個(gè)卷積層時(shí),訓(xùn)練時(shí)間短,參數(shù)數(shù)量少,但準(zhǔn)確率降低;在兩個(gè)卷積層的情況下,訓(xùn)練時(shí)間可以接受,準(zhǔn)確率最高[9]。
本研究通過對(duì)結(jié)構(gòu)的改進(jìn),實(shí)現(xiàn)了對(duì)心音信號(hào)的自適應(yīng)設(shè)計(jì)。為了說明采用本研究提出的方法所設(shè)計(jì)的模型有效性,使用心音數(shù)據(jù)集作為數(shù)據(jù)源。培訓(xùn)步驟的固定數(shù)量為10000個(gè)步驟。將本節(jié)中模型的批次大小更改為不同的值,以進(jìn)行比較,結(jié)果如圖5所示。從圖5可以清楚地看出,當(dāng)數(shù)量為32時(shí),獲得最佳效果。
圖5 不同卷積核數(shù)量的比較結(jié)果Fig.5 Comparison results of the different numbers of convolutional kernels
本研究的主要?jiǎng)?chuàng)新點(diǎn)如下:
(1)提出的新方法可以使用當(dāng)前主流的分類器和基于圖像生物信號(hào)的卷積神經(jīng)網(wǎng)絡(luò)(CNN),并進(jìn)一步結(jié)合CNN和心音特征提取方法,用來識(shí)別訓(xùn)練中運(yùn)動(dòng)員的心音。
(2)本研究設(shè)計(jì)的心音卷積神經(jīng)網(wǎng)絡(luò)可以解決基于心音周期特征提取的心音識(shí)別和分類問題。本研究從心音信號(hào)的數(shù)學(xué)定義出發(fā),推導(dǎo)了心音神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)方法,研究了心音信號(hào)的預(yù)處理、特征提取方法以及心音神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計(jì)[10]。
(3)采用了參數(shù)和計(jì)算量較少的神經(jīng)網(wǎng)絡(luò),可以做出快速反應(yīng),在可穿戴救生衣等實(shí)際應(yīng)用領(lǐng)域更有競(jìng)爭(zhēng)力。
本研究提出的基于心率特征提取和卷積神經(jīng)網(wǎng)絡(luò)的心音信號(hào)模型雖然取得了較好的效果,但心音信號(hào)是一種時(shí)間序列數(shù)據(jù),涉及遠(yuǎn)距離信息的依賴性,而且特征提取有一定的局限性。在以后的研究中,將研究遞歸神經(jīng)網(wǎng)絡(luò)在提取心音信號(hào)特征方面的有效性。
從本研究可看出,有效利用收集的體征數(shù)據(jù)來分析用戶的體質(zhì)并提出合理的運(yùn)動(dòng)建議已成為智能運(yùn)動(dòng)和健康領(lǐng)域的研究方向。心音信號(hào)是一種存在于人類體內(nèi)的生物信號(hào),通過分析心音信號(hào)特征,可以幫助人們檢測(cè)和監(jiān)測(cè)心臟健康問題[11]。本研究旨在通過心音識(shí)別和分析運(yùn)動(dòng)員的訓(xùn)練健康狀況,使用當(dāng)前主流的卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)圖像和生物信號(hào)進(jìn)行分類,并將CNN與心音特征提取方法相結(jié)合,提出了一種基于運(yùn)動(dòng)訓(xùn)練的新方法:基于心律特征提取和卷積神經(jīng)網(wǎng)絡(luò)的健康分析算法。經(jīng)過實(shí)驗(yàn)驗(yàn)證該算法準(zhǔn)確度超過90%,提高了對(duì)運(yùn)動(dòng)員訓(xùn)練健康狀況的識(shí)別和預(yù)測(cè)的準(zhǔn)確性。