一種用於ECG身份識別的特徵學習方法和系統與流程
2023-11-11 17:50:12 1

本發明涉及生物特徵身份識別領域的方法和系統,尤其涉及一種用於ecg身份識別的特徵學習方法和系統。
背景技術:
隨著網際網路熱潮的衝擊,信息技術的快速發展,人們對信息安全以及財產安全的重視不斷提高,而身份識別又是信息安全最重要的環節。生物特徵識別一般是指根據人類的生理特徵(如指紋、虹膜和面部特徵等)和行為特徵(如眨眼、點頭和搖頭等)來進行個人身份的鑑定。由於人類的生理特性是獨一無二的,所以採用生物特性識別比傳統的身份認證方式更具有安全性和可靠性。傳統的身份認證方式比較容易出校丟失、遺忘或者毀壞的情況,而個人身份識別技術不會出現這些情況。
心電信號(ecg信號)是一種活體生理信號,主要描繪心臟起搏的電活動過程,反映了人體潛在的生理特徵。由於它不僅蘊涵了個體豐富生理信息還包括個體差異性信息。因此心電信號可以作為身份識別的生物特徵。
很多學者對ecg信號用於身份識別進行了探討,早期的研究工作主要圍繞健康人群開展,在身體安靜的狀態下採集心電信號,然後提取特徵,採用pca進行特徵降維,將降維後的特徵進行身份識別,並且取得了很高的識別準確率。然而,現實生活中採集時個體的身體(例如心律失常,劇烈運動)心理和情緒狀態各不相同,以上這些方法在心電異常狀態下的效果並不好;並且採用pca需要求訓練集和測試集組成特徵矩陣的協方差矩陣,而測試集需要現場採集才能獲得,因此傳統方法在實際應用中具有局限性。
此外,特徵學習法算法通常需要較大的運算量開銷,實時性差,並不適合直接應用在對實時性和便攜性有著較高要求身份識別領域。
技術實現要素:
本發明結合ecg身份識別實際應用場景,採集的過程中每個個體的心率、身體健康狀況和情緒狀態不受限制,採用形態學和小波的組合特徵作為系統的初始特徵,雖然提高了身份識別的準確率,但同時也造成特徵維度急劇增加從而引入了過多特徵冗餘,導致身份識別模型的計算複雜度高、存儲空間消耗大,識別效率低下,因此結合特徵學習的方法從冗餘特徵中自動學習具有個體身份鑑別性的的特徵,從而解決傳統心電信號身份識別算法無法應用於實際場景,自動分類運算量過大的問題,提供了一種低維形態學特徵向量以及基於這種特徵向量的心電圖特徵提取方法。關鍵技術包括心電信號預處理、提取形態學和小波的組合特徵,構建心拍資料庫及標準化處理、特徵學習模型初始參數選取,識別模型全局參數反向微調、識別模型參數尋優,最終身份識別模塊。
根據本發明的一個方面,提供了一種用於ecg身份識別的特徵學習方法,包括以下步驟:獲取個體的心電信號;對該個體的心電信號進行濾波處理;提取濾波後的該心電信號的形態學特徵和小波特徵;基於個體的心電信號的該形態學特徵和小波特徵,建立稀疏自編碼識別神經網絡。
優選地,該對該個體的心電信號進行濾波處理的步驟,包括以下子步驟:利用九層小波變換的方式去除測得該個體的心電信號的噪聲,其中小波類型為db4。
優選地,該提取個體的心電信號的形態學特徵和小波特徵的步驟,包括以下子步驟:利用差分閾值法獲取該心電信號的r波的波峰位置;以一r波的波峰值點為基準,在一個心動周期之內分別向前截取70個點以及向後截取180個點,以作為該心電信號的形態學特徵。
優選地,該提取個體的心電信號的形態學特徵和小波特徵的步驟,還包括以下子步驟:以該心電信號的r波為基準點,截取包括了多個心動周期的心拍信號數據點;對截取的心拍信號數據點進行九層小波分解,然後提取3、4、5、6層的高頻係數作為小波特徵;對該形態學特徵和小波特徵的每一維度特徵進行去極化處理。
優選地,該基於個體的心電信號的該形態學特徵和小波特徵,建立稀疏自編碼識別神經網絡的步驟,包括以下子步驟:設置特徵學習稀疏因子和稀疏化懲罰係數,稀疏因子=0.1,懲罰係數為=5;設置隱含層的個數本文設置為50,隱含層神經元的個數小於輸入層神經元的個數。
優選地,該基於個體的心電信號的該形態學特徵和小波特徵,建立稀疏自編碼識別神經網絡的步驟,還包括以下子步驟:利用bp算法全局反向微調該稀疏自編碼識別神經網絡;利用l-bfgs擬牛頓算法優化該稀疏自編碼識別神經網絡中參數。
優選地,還包括步驟:獲取待測用戶的心電信號,根據稀疏自編碼識別神經網絡,識別對應該待測用戶的心電信號的個體。
根據本發明的另一方面,提供了一種用於ecg身份識別的特徵學習系統,包括:獲取信號模塊,用於獲取個體的心電信號;去噪處理模塊,用於對該個體的心電信號進行濾波處理;特徵提取模塊,用於提取濾波後的該心電信號的形態學特徵和小波特徵;識別模塊,基於個體的心電信號的該形態學特徵和小波特徵,建立稀疏自編碼識別神經網絡。
本發明的有益效果為:利用根據個體的心電信號形態學特徵和小波特徵來建立識別神經網絡,在降低特徵維度的同時提高了身份識別的精度;採用特徵學習算法相對於傳統的識別算法,能夠提供更高的實時性高和實用性;稀疏自編碼識別神經網絡能夠降低心電信號特徵的維度,降低運算量;本發明採用l-bfgs擬牛頓算法來避免求hessian矩陣的逆矩陣,用於優化特徵學習網絡中參數,提高運算速度,降低存儲開銷,提高身份識別的實時性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1所示為根據本發明一實施例的用於ecg身份識別的特徵學習方法的示意圖;
圖2所示為檢測r波的流程圖;
圖3所示為自編碼神經網絡的示意圖;
圖4所示為特徵學習網絡的示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
下面結合附圖1-4對本發明作詳細的描述:
步驟一,獲取個體的心電信號,即獲取用於建立特徵網絡的個體的原始ecg數據:
在本實施例中,示例性地採用ecg-id資料庫中的心電數據作為實驗數據,ecg-id採集了90個體共310段心電信號,在採集的過程中每個個體的心率、身體健康狀況和情緒狀態不受限制。每個人至少採集兩段心電信號,每段心電信號採集20秒,各段信號採集間隔在6個月之內,採樣頻率為500hz,採集電壓範圍為-10mv-10mv,解析度為12bit。90個個體包括44個男性,46個女性,年齡在13-75周歲之間。以上數據涵蓋了心電正常狀態和心電異常狀態下的心電信號。本領域技術人員應當理解,亦可以利用心電監測儀器,從實際的試驗對象身上提取符合上述要求的心電信號。
步驟二,對個體的心電信號進行濾波處理,從而對心電信號去噪
由於心電信號為弱生物電信號容易受各種低頻高頻噪聲幹擾,因此需要對心電信號進行預處理。噪聲主要來源分別是:基線漂移其主要頻率分布在0.1hz左右;工頻幹擾其主要頻率在50hz;肌電幹擾等噪聲其主要頻率在30-300hz。根據噪聲的頻段,和信號的採用頻率,確定採用九層小波變換進行噪聲去除,採用的小波類型為db4;方法為加權軟閾值法,具體過程如圖2的流程圖所示:
軟閾值的閾值的設計公式
權重設計為:
在去除基線漂移時把小波第九層的低頻係數(頻率在0-0.5hz)置零,把第一層的高頻係數(頻率在125-250hz)置零,其他層係數採用加權閾值法進行剔除噪聲。
小波去噪的參考偽代碼如下:
輸入:含噪聲的原始信號x
過程:
1:選擇小波類型lsdb4=liftwave('db4');
2:進行第一層小波變換[ca{1,1},cd{1,1}]=lwt(x,lsdb4);
3:進行2到layer層小波分解:採用加權閾值法進行去噪
4:將大於125hz係數置零
cd{1,1}=zeros(1,length(cd{1,1}));
5:小於0.5hz置零
ca{layer,1}=zeros(1,length(ca{layer,1}));
6:小波重構
fori=1:layer-1
ca{layer-i,1}=ilwt(ca{layer-i+1,1},cd{layer-i+1,1},lsdb4);
end
輸出:去噪後信號
denoise_ecg=ilwt(ca{1,1},cd{1,1},lsdb4)
步驟三,提取濾波後的心電信號的形態學特徵和小波特徵
在提取濾波後的心電信號的形態學特徵和小波特徵前,需先對濾波後的心電信號做以下預處理:
(一)採用二階差分閾值法進行r波監測;
(1)判斷r波是否倒置:將去噪後的信號平均分成若干份(本例中分每段信號為20分),對每一份分別求出該片段的最大值和最小值,然後在分別求該段信號全部最大值和最小值的平均值,最後分別對最大值和最小值的平均值求絕對值,如果最大值的絕對值小於最小值的絕對值者r波倒置,反之r波正常。
(2)四點平滑求二階差分:先將原信號x(n)進行四點平滑消除高頻噪聲影響,得到平滑後信號y(n),再對平滑後的原始信號y(n)進行一階差分得到d(n),然後同樣的對一階差分信號d(n)進行四點平滑處理,得到平滑後的一階差分信號d1(n),再對平滑後的一階差分信號d1(n)進行差分處理,求二階差分得到e(n),最後對二階差分信號e(n)進行相同的進行四點平滑處理得到e1(n)
(3)獲得閾值:以信號的採樣頻率大小的0.75倍為窗口將二階平滑後信號e1(n)分割成k段,如果r波正常者分別求出每個窗口內e1(n)片段的最小值,然後將上部最小值取均值,將均值的0.5倍作為閾值,如果r波倒置者求取各個窗口的最大值,然後同樣的將最大值均值的0.5倍設為閾值。以下以r波正常為例其閾值為:
幅值閾值以信號的採樣頻率大小為窗口將y(n)分割成k段,求出每個窗口的最大值和最小值的差值,然後將差值的均值作為閾值,其表達式為:
(4)r波檢測:r波正常時如果同時滿足閾值e1(i)<th1且0.5th2<y(i)<1.5th2判斷此點為r波峰值點,記錄下此點的位置,r波倒置時情況相反。
(5)漏檢多檢檢查:根據不應期和幅值條件進行多檢和漏檢檢查,具體操作為在正常一個心拍周期的0.5倍時間內如果檢測到由兩個或兩個以上的r波位置,者判斷為r波多檢,此時根據幅值條件(如果小於幅值的一半這認為此點不是r波)進行多檢剔除,如果檢測到相鄰的兩個r波位置之差大於正常一個心拍周期的2.5倍以上者認為此處可能有漏檢的r波,此時應以根據幅值條件的0.3倍從新對該段區域進行搜索,看看是否有漏檢的r波存在,如果有者補上。
(6)r波調整:由於用了平滑會帶來延時,導致r波波峰檢測不準,故需要進行r波波峰調整,具體操作是在平滑後的原始信號以初始檢測的r波位置為中心加一個很小的窗口,然後在這個窗口內搜索r波的極值點,者該點的位置就是r波波峰的位置。
(二)形態學特徵提取
以r波波峰位置為基準,在一個心動周期內分別向前截取70個心拍數據點和向後截取180個心拍數據點,以此做為形態學特徵,形態學特徵為250維。
當根據數據集的採樣頻率500hz時,這些點都在一個心動周期之內,從形態學波形看這個區域比較集中體現了良好的差異性。
(三)提取小波特徵
1)以r波為基準點前後截取600個心拍數據點(採樣率為500hz的情況下大約包含為3-4個心拍)
2)對截取的心拍進行九層小波分解,然後提取3、4、5、6層的高頻係數作為小波特徵,小波特徵為280維
(四)構造心拍特徵資料庫模塊
1)將提取的形態學特徵和小波特徵組合在一起形成組合特徵(組合特徵為530維)構成心拍特徵資料庫,此初始特徵資料庫比單一的特徵展現更好的完整性。
2)對心拍特徵資料庫的每一維度特徵進行去極化處理,然後將其大小放縮在[-1,1]之間防止後續處理過程中進行迭代運算時造成數值溢出
步驟四,基於個體的心電信號的所述形態學特徵和小波特徵,建立稀疏自編碼識別神經網絡
特徵學習方法可以從原始心拍中自動學習利於分類的特徵,既保證了分類的準確性又去除了沒有分類貢獻徵,降低特徵維度,從而提高提高系統的時效性。並且特徵學習屬於無監督學習,不需要先驗知識,因此適用面廣。特別地,當有標籤數據相對缺乏時,心拍的無監督學習算法可以同樣表達出圖像視覺層次的特徵學習能力,並且對於心拍的急劇變化,尺度平移等有著很好的魯棒性。
稀疏自編碼神經網絡是一種典型的特徵學習模型,其特點是經過學習其輸入層等於輸出層,然後取其隱含層作為學習得到的特徵。當隱含層的神經元個數多餘輸入層相當於把原始特徵映射到高維空間,當隱含層的神經元個數少於輸入特徵維度相當於獲得原始信號的壓縮表示。在特徵學習模塊處理之後,表達的特徵展現了更好的穩定性,可以為後期的分類提供良好的特徵輸入。
4.1首先,關於特徵學習模型初始參數選取,
1)設置特徵學習稀疏因子和稀疏化懲罰係數,稀疏因子ρ=0.1,懲罰係數為β=5;
(1)設置隱含層的個數本文設置為50,為了獲得特徵的壓縮表示隱含層神經元的個數要小於輸入層神經元的個數。
(2)採用訓練稀疏自編碼網絡如圖3所示得到的參數,作為特徵學習的初始參數其中其損失函數為
殘差為:
損失函數的關於權重項偏導數為
損失函數的關於偏置項偏導數為
4.2識別模型全局參數反向微調;
1)利用bp算法(即backpropagation算法,也稱為反向傳播算法)對特徵網絡如圖4所示進行全局反向微調
(1)採用隨機初始化神經網絡參數,打破網絡的對稱性,然後逐層計算各層上的激活度(激勵響應)。
(2)對輸出層(n1層),令
因為分類層採用的是softmax分類器,所以其中i為類別標籤,而p為求得的歸為該類概率。
(3)對l=ni-1,n2-2,nl-3,…,2令
δ(t)=((w(l)tδ(i+1))·f′(z(l))
(4)計算所需的偏導數:
4.3識別模型參數尋優模塊
1)特徵學習網絡為無約束優化問題,在本領域通常採用梯度下降法和牛頓法進行參數尋優,相較於一次收斂速率的梯度下降法,牛頓法為二次收斂,收斂速度特別快,但牛頓法需要求取hessian矩陣及其逆矩陣,該運算不僅帶來巨大的時間開銷,在存儲hessian上還會引入大量的空間複雜度。基於以上考慮並針對身份識別應用強調實時性的特點,本文採取收斂速度介於梯度下降法與牛頓法之間的l-bfgs擬牛頓算法來避免求hessian矩陣的逆矩陣的問題,用於優化特徵學習網絡中參數,提高運算速度,降低存儲開銷,以提高身份識別的實時性。
牛頓法迭代規則如下:
上式中要求hessian矩陣的逆,過程複雜使得計算量增大,採用一個正定的近似矩陣來代替hessian矩陣的逆矩陣,則擬牛頓法迭代規則變換為:
需要求取每一步的bi+1,假設si=xi+1-xi,則迭代規則為:
其中,
上式為bfgs算法的迭代規則。但是由於心拍數據量過多導致sae模型中參數規模較大,進而採用l-bfgs減少存儲空間。在l-bfgs算法中,每次迭代無需存儲當前矩陣bk,而是存儲最近m次迭代的曲率信息構成的向量,即sk和tk。利用前m次的曲率信息來估算真實hessian矩陣的大小,調整當前尋優搜索方向,使其搜索方向沿著正確的方向進行。則l-bfgs算法中迭代更新規則如下:
其中,每次迭代在實踐中常用的初始值設定方法為:
其中
步驟五,身份識別
1)獲取待測用戶的心電信號,根據該心電信號構建心拍資料庫並標準化處理;
2)處理後的心電信號輸入訓練好的識別網絡;
3)如果用於預測的同一個體心拍資料庫中一半以上的心拍分到同一個類別(假設分到類別i)上,則認為此待測用戶的類別為個體i;反之則認為無此個體。
採用本方法帶來的有益效果
為了檢驗本發明提出的一種特徵學習ecg身份識別方法的性能,採用ecg-id數據作為實驗仿真的數據來源,對90個個體採用廣泛使用的k最近鄰分類器(knn)、支持向量機分類器(svm)、softmax分類器、bp神經網絡(bp)、梯度下降法(g-d)特徵學習網絡和擬牛頓法(l-bfgs)特徵學習網絡多種分類器對本方法進行分類性能測試。如表1所示可以發現採用特徵學網絡心拍識別準確率提高了10%左右,身份識別準確率也有了明顯提高。採用l-bfgs算法的時間比g-d算法所用運行時間明顯降低。
表1特徵學習網絡與其他分類算法效果對比圖
下面給出帶參數微調和不帶參數微調的仿真實驗結果如表2所示,通過對比可以發現不帶參數調整的特徵學習網絡在特徵維度降到100維以下後,網絡的識別性急劇下降,而帶參數調整的特徵學習網絡在特徵維度降到50維後還具有較強的識別精度,在相同維度下帶參數微調的特徵學習網絡比不帶參數微調的特徵學習網絡心拍分類準確率要提高20%左右。綜上可知帶參數調整的特徵學習網絡無論在健壯性還是在識別效果上都比不帶參數調整的實現效果好。因此,本發明能夠顯著改善在現實生活中採集心電信號時,因個體的身體(例如心律失常,劇烈運動)心理和情緒狀態等心電異常狀態導致的身份識別精度下降的問題。
表2特徵學習網絡有無參數調整的識別性能對比
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、或者計算機軟體和電子硬體的結合來實現。例如本公開可以具體實現為以下形式,即:完全的硬體、完全的軟體(包括固件、駐留軟體、微代碼等),或者硬體和軟體結合的形式。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接相合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在二個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
所述功能如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在二個計算機可讀取存儲介質中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬碟、只讀存儲器(rom)、隨機存取存儲器(ram)、磁碟或者光碟等各種可以存儲程序代碼的介質。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。