田 青, 趙作琴, 虞致國, 顧曉峰, 魏敬和
(1.中國電子科技集團公司第五十八研究所,江蘇 無錫 214035;2.物聯網技術應用教育部工程研究中心 江南大學 電子工程系,江蘇 無錫 214122)
癲癇是由大腦中異常的電活動引起急性反復發作的一種嚴重的慢性神經系統疾病,可導致患者抽搐、躁亂和意識喪失,目前全球約有6 500萬人深受其擾[1]。抗癲癇藥物治療是控制或減少癲癇發作的標準方法,但對大約30 %的患者并無效果[2,3]。對于這些患者,深腦部刺激治療是一種有效的外科方法,但這種方法面臨著植入式電路的功耗、面積和檢測率等問題的限制[4~7]。頻繁更換電池會增大患者的感染率,因此其功耗問題尤為棘手。
近10年來,國內外癲癇檢測技術的研究大多通過PC端進行算法級別的仿真[8~10],少數實現了片上系統(system on chip,SoC)和超大規模集成電路。例如,Muhammad A等人基于高斯支持向量機(support vector machine,SVM)提出了一種8通道的癲癇檢測定制SoC,其平均敏感性、平均特異性和延時分別為95 %,94 %和2 s,但功耗高達19.625 μW[11]。Mohanmad S H等人設計了一種可植入的低功耗癲癇檢測模擬電路,集成了前置放大器、電壓電平檢測器、電路解調器和高頻檢測器,對顱內電極腦電圖(icEEG)進行檢測發現其敏感度、延時分別為為100 %,13.5 s[12]。Jerald Y等人利用7個帶通濾波器提取腦電信號(electroencephalogram,EEG)的頻域特征,再基于線性SVM進行檢測,單次檢測能耗低至1.49 μJ,但僅具有84.4 %的敏感性和75.4 %的特異性[13]。上述多數工作為追求更高的檢測性能而使用了復雜的算法和特征提取方法,造成了較大的功耗;或者使用線性SVM等簡單的檢測算法,但極大地降低了檢測性能。
本文提出了一種基于主從SVM的實時癲癇檢測電路,對檢測性能和電路功耗進行平衡,以更好地滿足實際應用的需求。
本文使用波士頓醫院的開源數據庫CHB-MIT Scalp EEG Database來評估系統性能,該數據庫由23組癲癇記錄數據組成,包括5個男性患者,年齡為3~22歲;17個女性患者,年齡為1.5~19歲。每個患者通過國際標準10~20系統通道,利用分辨率為256 Hz的16位模數轉換器(ADC)連續采集9~42 h的EEG。腦科專家在數據終端觀測所有患者的EEG,同時標記了所有癲癇發作的起始時間[14]。在本工作中,基于數據量不能過少(小于5次)和不考慮10歲以下兒童的原則,選取了1號患者作為研究對象。另外,由于C3—P3通道能代表該區域的局灶性發作和全身性癲病發作全腦傳播[14],因此,采用1號患者的C3—P3通道作為數據來源。
在文獻[11,13]中,使用帶通濾波器提取頻譜特征,檢測效果較好,但具有很高的運算復雜度。本文通過簡化小波算法,只實現部分分解過程,計算近似絕對能量值作為EEG特征。
數據庫中EEG采樣頻率為256 Hz,對其進行4層小波分解。由小波變換原理可得,高頻系數和近似系數ca4,cd4,cd3和cd2分別對應0~8,8~16,16~32 Hz和32~64 Hz,這與腦電信號的節律delta “δ”(0~4 Hz),theta “θ”(4~8 Hz),alpha “α”(8~15 Hz),beta “β”(15~30 Hz)和gamma “γ”(30 Hz以上)基本吻合。另外,在信號處理中,如果小波基函數是一組正交基函數,那么小波變換具有能量守恒的性質。因此,癲癇發作前后的EEG能量變化相應地也會在小波變換后的頻譜中體現。本文并不重構原始信號,定義尺度j(分解層數)下的小波絕對能量值由該尺度下的細節系數d(k)表示
(1)
為了滿足低功耗設計的特點,把式(1)中所有的平方運算轉化成取絕對值運算,并不丟失信號特征,即近似小波能量為
(2)
使用4層小波變換計算,最后生成3維特征向量Z=(R2,R3,R4),其中,R2,R3和R4分別表示小波變換的第二、三和四層的近似小波能量值。
對EEG特征進行分類檢測,目前比較常用的是SVM。其中,非線性SVM表現出了良好的癲癇檢測性能,檢測率達95 %[11],但是運算復雜,尤其是高斯核中的指數運算。另一方面,線性SVM需要的運算更少,但其檢測性能明顯降低,文獻[13]中癲癇檢測的敏感性和特異性分別僅為84.4 %和75.4 %。
本文同樣使用線性SVM對數據進行訓練和檢測,最終結果顯示敏感性為93.2 %,特異性74.5 %。可見,線性SVM的特異性比較差,意味著檢測結果存在大量的假陽性。打開檢測的標簽發現,使用線性SVM可以準確檢測癲癇發作的開始,但其結束時間和專家標簽相差很大,如圖1所示。這是因為癲癇的發作是急性的,腦電驟增且有較清晰的分界。而發作結束后,大腦神經元恢復至正常狀態,能量的回歸關系較復雜,并不滿足簡單的線性關系。

圖1 線性SVM的癲癇實時檢測
由此得到啟示,提出了一種基于主從SVM的低復雜度實時癲癇檢測算法,如圖2所示。把實時EEG劃分為發作前期、發作期和發作后期3個階段,使用線性SVM分類發作期和未發作期;當檢測到發作期時,啟動一個相對復雜的非線性SVM分類發作期和發作后期,確定癲癇發作的終止。在檢測過程中,主從SVM的結果進行邏輯與,主從SVM初始狀態分別為0和1,每完成一組即恢復初始狀態。由于在實時EEG中,癲癇發作狀態畢竟數目較少,即大多數時間非線性SVM處于關閉狀態,因此,定義非線性SVM為從SVM,線性SVM為主SVM,從而把算法復雜度進行了合理分配。為了降低實時EEG中離散噪聲的影響,對上述結果進行連續序列檢測,當連續k個1時,才記為一次發作,輸出最終結果。

圖2 主從SVM的癲癇檢測算法
根據以上算法對患者20 h的EEG信號數據集訓練和實時檢測,其中4 s為一個檢測窗口;發作期定義為專家標記數據,共120組發作數據;發作后期定義發作組后連續10 min的數據,隨機選取120組,發作前期為其他,隨機選取300組。按照上述流程獲得測試集和訓練集后,進行訓練獲得主從SVM的模型,最后針對不同的主從SVM組合進行實時檢測。
圖3給出了不同組合主從SVM實時檢測的性能。定義主SVM為線性SVM,從SVM的標號1,2,3和4別對應高斯SVM,2階多項式SVM,3階多項式SVM和4階多項式SVM;而在連續序列檢測中,根據經驗值選取5個連續的1的“11111”序列。4個組合的各項指標均超過90%,可以發現,帶有高斯SVM的組合由于復雜的核函數各項指標最好,帶有多項式SVM組合的各項指標則并未按預期隨著階數的增長而增長,3階反而比2階性能更差。同時可以發現,連續序列檢測可顯著減少誤報率。因此,綜合考慮性能和復雜度,硬件部分采取主+從2+連續序列檢測組合,此組合在算法仿真時敏感性為94.5 %,特異性為99.1 %,誤報率為0.36/h。

圖3 不同組合主從SVM的實時檢測性能
圖4給出了基于主從SVM的低功耗癲癇檢測電路的整體架構,主要包括時鐘產生模塊、特征提取模塊、主從SVM模塊和決策模塊4個部分,最終結果通過決策模塊中一個“11111”序列檢測產生。

圖4 低功耗癲癇檢測電路的整體架構
主從SVM模塊是本電路的關鍵部分,包括2個SVM,其中,主SVM對EEG信號進行發作期和未發作期的初次識別;當識別到發作期時,啟動復雜的從SVM識別發作期和發作后期,實現算法復雜度的合理分配。在硬件實現中,高耗時高能耗訓練部分在PC端實現,此模塊實現推論部分,其中SVM的推論表達式為
(3)

線性核函數為
(4)
本文使用的多項式核函數為
(5)
把式(4)、式(5)中的核函數分別代入推論表達式(3),并根據主從SVM已知的模型參數對其化簡可得
(6)

(7)
(8)
cj=yj·αj
(9)


圖5 主從SVM模塊的硬件結構
癲癇檢測電路的性能評估一般使用敏感性(sensitivity)、特異性(specificity)、誤報率(false alarm rate)3個指標,定義如下

(10)
式中TP為被模型檢測為陽性的陽性樣本個數,即真陽;TN為被模型檢測為陰性的陰性樣本個數,即真陰;FP為被模型檢測為陽性的陰性樣本個數,即假陽;FN為被模型檢測為陰性的陽性樣本個數,即假陰;T為總時間,h。由于個體和環境的原因,使用從時間11∶42∶54到第三日12∶59∶51不完全連續的40 h的EEG進行實時檢測,其中患者連續發作了7次,時長從24 s到100 s不等。以4 s為一個檢測窗口,發作期定義為專家標記數據,共120組發作數據,未發作組為35 880組。為了驗證所提出電路的可行性和正確性,整個設計使用Verilog實現并對EEG仿真。在檢測之前對EEG數據向零近似取整處理,進行補碼轉化得到12位二進制有符號數據。檢測結果如表1所示,可以分析,該檢測電路的平均敏感性SE、特異性SP和誤報率FAR分別為93.3 %,99.9 %和0.27/h。

表1 檢測結果
對提出的癲癇檢測電路使用SMIC 65 nm 2P6M工藝進行實現,內核版圖面積為185 μm×222 μm,如圖6所示。其中,白色數字標簽依次表示時鐘、特征提取、主從SVM和決策四個模塊的位置。

圖6 本文設計的癲癇檢測電路的版圖
在內核為1.2 V,主頻使用400 kHz進行仿真,版圖功耗的仿真結果為4.23 μW;對于每次檢測,電路的平均功耗為21.15 nJ。表2給出了本文設計的癲癇檢測電路和相關報道的對比。和使用線性SVM的文獻[13]相比,本電路的檢測敏感性和特異性更好,這是因為線性SVM不能很好地識別不同階段癲癇EEG的特征。和使用高斯SVM的文獻[11]相比,本電路的檢測敏感性和特異性略差,但其功耗卻遠低。由于本工作中的電路是模塊級設計,所以沒有配置IO cell,盡管如此,假設IO cell功耗占30 %,電路功耗也僅為5.49 μW,與高斯SVM檢測電路相比每通道降低了78.4 %。因此,本文設計的電路具有良好的綜合檢測性能。

表2 本工作和其他電路的性能對比
本文提出了一種新型的基于主從SVM的定制低功耗癲癇檢測電路,利用簡單的主SVM檢測癲癇發作的開始,利用相對復雜的從SVM精準檢測癲癇發作的結束,利用序列檢測算法去除離散噪聲的影響。提出的算法通過了MIT數據庫驗證且實現了電路的物理設計,具有良好的綜合檢測性能。