顏建軍,陳松曄,燕海霞,王憶勤,郭 睿,3
1.華東理工大學 機械與動力工程學院,上海200237
2.上海中醫藥大學 四診信息綜合實驗室,上海201203
3.上海中醫藥大學 交叉科學研究院,上海201203
脈診是傳統中醫的組成之一,具有重要的臨床價值。醫師通過按壓腕部橈動脈脈搏獲取脈象信息,從而判斷人體健康狀況。但其準確性主要取決于醫師的主觀意識和臨床經驗,缺乏客觀的診斷指標[1]。因此有必要應用現代計算機技術,進行脈象信號的量化識別方法研究,實現脈診的規范化和客觀化。
當前已有許多學者進行了脈象信號分析識別的研究,分析方法主要包括時域分析、頻域分析、時頻域分析和非線性動力學分析等。時域分析法是根據脈象信號定義多個具有生理意義的時域特征,其中包括脈象主波幅度、重博前波幅度、降中峽幅度和脈動周期等[2-3];頻域分析法通過傅里葉變換[4]等數學分析理論將脈象信號推導至頻域內,進行頻域特征提取;時頻域分析法可以同時描述信號的時域、頻域特征,常用的方法有小波變換[5-6]、希爾伯特-黃變換[7]等。研究表明,脈象信號具有非線性特征,而前三種方法在分析脈象信號過程中不可避免地會丟失非線性信息。目前,脈象信號的非線性分析方法主要有近似熵[3]、Lyapunov 指數[8]、遞歸圖(Recurrence Plot,RP)和遞歸定量分析[9]等。其中,遞歸圖是分析相空間中信號非線性特征的有效方法。該方法與其他非線性方法相比,克服了對信號長度和穩態性的嚴格要求,適用于非線性動力學系統的分析。然而,遞歸圖采用閾值判斷遞歸點,若閾值選擇不合理會損失大量細節特征。無閾值遞歸圖不受閾值的限制,可以保留更多的非線性信息。
在脈象信號模式識別研究中,主要采用BP 神經網絡[6]、線性判別分析[10]、貝葉斯分類器[11]、支持向量機(Support Vector Machine,SVM)[12]、卷積神經網絡(Convolutional Neural Network,CNN)[13]等方法。傳統的機器學習方法都需要人工定義并提取脈象特征,但脈象類型與脈象特征之間存在復雜的非線性關系,難以定義一個最優的特征集來區分不同類別的脈象。近年來,得益于卷積神經網絡的快速發展,深度學習在語音識別[14-15]和圖像分割[16-17]等領域得到了廣泛的應用。卷積神經網絡通過模擬人類神經元結構逐層進行信息傳遞,實現特征的自動提取。這些特征在許多研究中被證實比傳統人工提取的特征更具表征力,獲得了更好的分類和識別效果。
本文提出基于無閾值遞歸圖和卷積神經網絡的脈象信號分析識別方法。該方法通過非線性分析將脈象信號轉換為相應的無閾值遞歸圖,從而使其非線性特征映射到二維平面中。通過卷積神經網絡的多層卷積計算,實現對脈象信號特征的自學習并分類,使其具有分辨不同脈象類型的能力。
本文提出的脈象信號分析識別方法整體流程如圖1所示,將脈象信號轉換為無閾值遞歸圖,然后采用VGG-16卷積神經網絡對脈象遞歸圖進行特征提取并分類,建立脈象信號分類模型。
圖1 脈象信號分類流程圖
遞歸圖是研究系統非線性動力學特征的有效方法,它可以揭示信號的內部結構,直觀地表現信號的復雜性和非穩定性。該方法由Eckmann等[18]提出,首要步驟是對信號進行相空間重構。根據嵌入理論,選擇合適的嵌入維度m 和延遲時間τ 來進行相空間重構,則重構后的向量為:
式中,N=n-(m-1)τ,定義相空間中任意兩點的距離為:
選取合適的閾值ε,可得遞歸矩陣為:
式中,θ(·)表示Heaviside函數,其表達式為:
遞歸圖能夠直觀地將信號高維相空間內運動狀態映射到一個二維平面中,從而反映其非線性動力學特性。當Xi和Xj之間的距離Di,j小于ε 時,表示Xi和Xj之間的狀態非常相似,即運動狀態出現遞歸,Rij的值為1 且在圖中用黑點表示;反之,當Xi和Xj之間的距離Di,j大于ε 時,表示兩者之間的運動狀態相差很大,此時Rij的值為0且在圖中用白點表示。
閾值ε 是計算遞歸圖的關鍵參數,一般根據經驗選取,沒有自適應算法。如果ε 選取過大,則會使大部分相空間之間的狀態都是相似的,遞歸圖中黑點數目增加;如果ε 選取過小,則難以發現相空間之間狀態的相似性,使得圖中的白色區域增加。不合理的ε 會使遞歸圖損失大量的信息特征,無法反映系統的動力學特征。因此,為了保留脈象信號中所有的非線性特征,本文將脈象信號轉換為相應的無閾值遞歸圖。
如圖2 給出了脈象信號的遞歸圖和無閾值遞歸圖。可以看出,遞歸圖雖然能夠直觀地表達脈象的遞歸特性,但是缺少細節特征;而無閾值遞歸圖包含了更豐富的非線性動力學特征,能更好地保留細節信息。具體來看,無閾值遞歸圖關于45°對角線對稱,無明顯的周期現象,與脈象波形相符。其對角線存在較為明顯的節點和環形區域,分別反映了脈象信號兩個波峰從上升到下降的過程。由于重搏波寬度較長且幅度較小,相比主波遞歸現象更加明顯,從而遞歸點較多,形成較大的環形區域。圖中存在一條從左上方頂點向右下方頂點延伸的曲線,反映了脈象信號從上升到下降的整體波形特征。
圖2 脈象信號遞歸圖與無閾值遞歸圖
2.3.1 卷積神經網絡簡介
卷積神經網絡是一種帶有卷積結構的深度神經網絡,在語音識別和圖像分割中具有廣泛的應用。卷積神經網絡通常由卷積層、降采樣層和全連接層等組成。
(1)卷積層
卷積核是卷積層的重要組成部分。卷積層內部包含多個卷積核,通過局部連接和權值共享,卷積核對輸入的數據進行卷積,以提取數據的特征。第一個卷積層提取一些初級的數據特征,形成多個特征圖,然后作為下一個卷積層的輸入以提取深層抽象特征。卷積層的數學表達式為:
(2)降采樣層
降采樣層也被稱為池化層。卷積后得到的特征向量維數增大,若直接用于訓練會增加網絡的計算量和復雜度。因此,需要對提取的特征圖進行降維處理。降采樣層通過對特征進行局部池化,不僅可以減小特征圖的大小,保持輸出的特征圖數量,又可以使網絡對輸入物體的平移和旋轉具有一定的不變性,在一定程度上減少網絡的過擬合問題,使得網絡更具魯棒性。卷積神經網絡中一般采用最大池化層作為降采樣層。
(3)全連接層
全連接層可以增強網絡的非線性映射能力,一般設置卷積神經網絡的最后幾層中。與卷積層不同,全連接層連接所有的特征進行學習,通過感知全局信息來學習指定的分類目標,以得到最終的分類結果。
2.3.2 VGG-16網絡
VGG-16 網絡是卷積神經網絡中一種經典的深度網絡模型[19]。該網絡結構簡單,由卷積層、池化層和全連接層組成,卷積層采用3×3 小型卷積核的組合,形成深層的網絡結構,提取輸入內更多的細小特征。VGG-16 網絡具有優良的性能,往往能夠得到與GoogleNet、ResNet 等相當甚至更好的分類效果,因此廣泛應用于圖像分類識別的研究中。基于VGG-16 網絡結構,結合脈象信號遞歸圖的類別及特點,將VGG-16 網絡進行改進以滿足脈象信號的分類要求,網絡結構如圖3所示。
由于VGG-16 中3 個全連接層參數較多,其原始是為了1 000 個分類類別設計的,而本文只針對二分類。因此,本文將2個全連接層替換原來的3個全連接層,減少全連接層通道數。在改進的VGG-16中,包含了15個權重層,分別為13個卷積層和2個全連接層。輸入脈象遞歸圖大小為800×800×1,卷積層采用3×3濾波器,滑動步長為1,選擇ReLU函數作為激活函數,并利用邊界填充使通過卷積層前后的維數不變;池化層采用最大池化,池化窗口大小為2×2,步長為2;全連接層由兩個連續的全連接進行組合,通道數分別為1 024,256個;網絡最后通過Softmax函數輸出脈象二分類。在2個全連接層后增加Dropout,抑制卷積參數過大而導致過擬合,使網絡泛化性更強。
圖3 VGG-16網絡結構示意圖
本文采用的數據是由上海中醫藥大學四診信息綜合研究實驗室提供的冠心病脈診數據。冠心病患者脈診數據主要來源于上海市中山醫院、仁濟醫院、市中醫院、曙光醫院,總計1 612 例;健康人的脈診數據由上海中醫藥大學中醫四診信息化綜合研究實驗的研究人員和學生采集獲得,總計268例。脈象信號由上海中醫藥大學和上海亞太計算機信息有限公司合作研發的ZBOX I型脈象數字化采集分析儀采集獲得,選取最佳取脈壓并在此基礎上采集脈象信號,采集時間為60 s。
3.2.1 脈象信號預處理
脈象信號是一種微弱的生理信號,很容易受到其他信號的干擾,其中包括患者的肢體抖動、呼吸,器械的機械振動和工頻干擾。樣本的采樣頻率為720 Hz,根據采樣定理可知,采集脈象的頻率范圍為0~360 Hz。采用小波變換對脈象信號進行濾波,選取sym8 小波對脈象信號進行九級分解,去除脈象信號中20 Hz以上的高頻噪聲和1 Hz以下的低頻噪聲。對濾波后的脈象信號進行單周期分割,獲得脈象的單周期波形。
3.2.2 均衡數據集
數據集存在明顯的不均衡情況,其中健康脈象遠少于冠心病脈象。若采用不均衡樣本訓練模型,會導致分類模型泛化能力差并且容易發生過擬合。因此,本文采用合成少數類樣本過采樣技術(Synthetic Minority Oversampling Technique,SMOTE)[20]來均衡數據集。設置k=5,樣本倍數N=6,可以生成健康樣本1 608 例,結合冠心病患者1 612 例,均衡后的數據集總共包含3 220例樣本。
3.2.3 脈象信號無閾值遞歸圖轉換
在構造脈象信號無閾值遞歸圖時,需要確定嵌入維數m 和延遲時間τ 兩個關鍵參數。C-C 算法在統計學方法的基礎上,通過關聯積分,可以同時確定m 和τ 的參數大小。通過計算分析,本文選擇m=3,τ=4 對脈象信號進行相空間展開。由于不同脈象信號的單周期長度不同,在周期較短的脈象信號末端進行補零,使其生成相同大小的遞歸圖,如圖4所示。
圖4 兩種脈象信號的無閾值遞歸圖
實驗中將健康人脈象作為正類,冠心病脈象作為負類。采用三個指標來評價分類模型:敏感性(Sensitivity,SE)、特異性(Specificity,SP)和準確率(Accuracy,ACC),分別定義為:
其中,TP 表示正樣本預測正確的個數;FN 表示被錯分為負樣本的正樣本個數;FP 表示被錯分為正樣本的負樣本個數;TN 表示被正確預測的負樣本數。敏感性代表的是被模型正確分類的正樣本比例,特異性代表被模型正確分類的負樣本比例。
本文通過Keras框架實現改進的VGG-16卷積神經網絡,采用SGD優化算法,分別設置參數為:迭代次數為2 000次,初始化學習率為0.001,網絡訓練的動量為0.9,權重衰退為0.000 1,Dropout 參數為0.5,訓練集∶驗證集∶測試集=6∶2∶2。實驗采用的GPU 顯卡為NVIDIA Tesla V100。
將圖4 中的兩幅脈象遞歸圖作為VGG-16 的輸入,得到卷積神經網絡自動提取的部分特征圖(如圖5 所示)。遞歸圖經過Conv1-1 處理后,不同卷積核提取的特征不同,主要提取初級的紋理特征。經過卷積層Conv5-1 輸出的特征圖如圖5(c)和(d)所示,可以看出Conv5-1輸出的特征圖相比Conv1-1輸出的特征圖反映了更多紋理細節信息,使不同類型脈象信號的遞歸圖具有更好的可分性。因此,通過卷積核的設置和堆疊,可以獲得不同層級紋理結構的特征圖。經過卷積核處理越多,獲得遞歸圖的紋理信息越全面,可以更加充分地表達脈象信號中的非線性動力學特征。
圖5 兩種脈象遞歸圖不同卷積的特征提取結果
為了驗證無閾值遞歸圖的有效性,將其與遞歸圖進行比較。根據文獻[21]中提出的“經驗法則”,選擇閾值ε 為相空間最大直徑的10%。將兩類遞歸圖分別作為VGG-16的輸入訓練模型,結果如表1所示。由此可見,采用無閾值遞歸圖作為輸入可以獲得更高的分類準確率,可達98.14%,并且在敏感性和特異性上相比遞歸圖均有所提升。無閾值遞歸圖相比遞歸圖保留了更多的細節特征,結合VGG-16可以獲得更好的分類準確率。
表1 不同輸入分類結果 %
為了進一步驗證本文提出方法的有效性,本文對無閾值遞歸圖特征提取和分類進行探索,并與現有的脈象信號分類研究進行對比。無閾值遞歸圖的特征采用了局部二值模式(Local Binary Pattern,LBP)和梯度方向直方圖(Histogram of Oriented Gradien,HOG)。LBP的參數設置為圓形鄰域(8,2),劃分10×10個子區域,提取特征維度為1×3 776;HOG 采用大小為80×80 的單元格,塊大小為2×2,提取的特征維度為1×2 916,分類器SVM的核函數為高斯核函數,結果如表2所示。從結果可以看出,采用LBP和HOG相比傳統的時域、頻域特征分類效果有所提升。就準確率而言,LBP 和HOG 相比時域特征分別提高了1.71%、1.24%;對于敏感性,LBP要比時域特征提高3.71%;在特異性上,HOG 相比時域特征和小波特征分別提升了2.20%、1.96%。這說明脈象信號的無閾值遞歸圖包含豐富的生理病理信息,通過特征提取可以獲得與傳統特征相當甚至更好的分類效果。
表2 脈象分類結果%
從表2 還可以看出,無閾值遞歸圖結合VGG-16 取得的分類效果最好,相比時域特征、小波特征、HOG、LBP、DCNN 分別提升4.04%、2.95%、3.01%、2.33%、2.02%;在敏感性上,本文提出的方法相比其他5種方法分別高出5.43%、2.57%、4.01%、0.61%、2.16%;對于特異性,本文提出的方法為99.69%,比LBP 高了4.06%。因此,與其他方法相比,本文提出的脈象分類識別方法具有更好的分類性能。
綜上所述,本文通過脈象信號到無閾值遞歸圖的轉換,可以將脈象信號的非線性特征映射到二維圖像中,不必設置閾值,能夠保留脈象信號中更多的非線性信息。構建VGG-16 卷積神經網絡對無閾值遞歸圖數據進行訓練,建立脈象分類模型。該模型通過3×3卷積核的組合,形成深層網絡結構,可以對無閾值遞歸圖進行更多細節特征的自學習,獲得了較好的分類效果。
當前脈診客觀化研究中,大部分采用時域和頻域等分析方法,忽略了脈象信號中的非線性特征。考慮到脈象信號的非線性,使用非線性動力學方法研究脈象信號,相比傳統方法能更好地挖掘出其內在的非線性信息。深度學習利用深層的網絡結構,可以得到原始數據的高層語義表達,已廣泛應用于語音識別等領域。本文將非線性分析方法與深度學習結合起來,提出基于無閾值遞歸圖和卷積神經網絡的脈象信號分析識別方法。首先,將脈象信號轉換為無閾值遞歸圖,以保留脈象信號中更多的細節特征。然后建立卷積神經網絡對無閾值遞歸圖進行特征自學習和訓練獲得脈象信號分類模型,最后進行了脈象信號的分類識別。實驗結果表明,本文提出的脈象信號識別方法是有效的,相比目前的脈象信號分類方法可以獲得更高的分類準確率。在今后的工作中,將進一步研究更能表現脈象信號特征的信號分析方法,結合深度學習,提高脈象信號的識別率。