王逸群 葉燕語(yǔ) 張雪燕
【摘 要】 脈診是中醫(yī)診斷中的瑰寶,但相比西醫(yī)診斷的發(fā)展,中醫(yī)脈診方法和理論發(fā)展還停留在主觀臆斷與經(jīng)驗(yàn)之中。筆者基于MATLAB設(shè)計(jì)了脈象實(shí)時(shí)采集系統(tǒng), 建立了100-40-15-5的四層的BP神經(jīng)網(wǎng)絡(luò),對(duì)五種脈象進(jìn)行識(shí)別。利用濾波、去基線(xiàn)漂移、歸一化等預(yù)處理,大大提高了脈象識(shí)別的準(zhǔn)確性,使其準(zhǔn)確率達(dá)到90.8%,為發(fā)展中醫(yī)脈診數(shù)字化、客觀化,脈診儀的小型化提供了一種行之有效的方法。
【關(guān)鍵詞】 中醫(yī)脈診儀;實(shí)時(shí);預(yù)處理;神經(jīng)網(wǎng)絡(luò)
【中圖分類(lèi)號(hào)】R197.39 【文獻(xiàn)標(biāo)志碼】 A 【文章編號(hào)】1007-8517(2015)17-0062-02
中醫(yī)博大精深,脈診于中醫(yī)也有著悠久的歷史,《難經(jīng)》就記載“獨(dú)取寸口”候脈言病,所以寸口診脈是中醫(yī)診斷學(xué)中重要的內(nèi)容。但是,脈診在一定程度上取決于醫(yī)生的主觀經(jīng)驗(yàn)判斷,有時(shí)導(dǎo)致很難客觀把握。為了研究脈象與診病的內(nèi)在機(jī)理,本項(xiàng)目基于MATLAB設(shè)計(jì)了中醫(yī)脈診儀,結(jié)合中醫(yī)診斷理論與人工智能技術(shù)識(shí)別脈象,為脈診客觀研究提供了一種方法。
1 脈象采集系統(tǒng)設(shè)計(jì)
脈象是手指感覺(jué)脈搏跳動(dòng)的形象,脈象的產(chǎn)生與心臟的搏動(dòng),心氣的盛衰,脈管的通利和氣血的盈虧及各臟腑的協(xié)調(diào)作用直接相關(guān)[1]。脈象的具體表現(xiàn)是脈搏信號(hào),它是一種微弱的生理信號(hào)。本設(shè)計(jì)利用HK-2000H壓阻傳感器采集脈相, 該傳感器集成了信號(hào)調(diào)理電路、A/D轉(zhuǎn)換電路、串行通信等電路,可以將脈象的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并通過(guò)USB與計(jì)算機(jī)通訊。
因脈搏信號(hào)具有復(fù)雜、易變等特點(diǎn),本項(xiàng)目設(shè)計(jì)了定位系統(tǒng)與充氣加壓系統(tǒng)。可以防止因環(huán)境與自身的振動(dòng)而導(dǎo)致脈搏信號(hào)的畸變。
為了模仿浮、中、沉三種取脈壓力,在充氣加壓系統(tǒng)中加入了壓力表,為后續(xù)脈象分析打下基礎(chǔ)。
2 軟件設(shè)計(jì)
2.1 信號(hào)采集與動(dòng)態(tài)顯示 該傳感器波特率為9600bps,采樣頻率200HZ,數(shù)據(jù)格式為8位數(shù)據(jù)位。當(dāng)計(jì)算機(jī)向其發(fā)送2032H時(shí),開(kāi)始自動(dòng)采樣,發(fā)送2033H時(shí),停止采樣,這樣就可控制傳感器的采樣。
MATLAB數(shù)據(jù)采集工具箱是一個(gè)很好的平臺(tái),本設(shè)計(jì)利用MATLAB的“serial”函數(shù),對(duì)串口進(jìn)行操作,設(shè)置與串口相對(duì)應(yīng)的波特率、數(shù)據(jù)位、停止位等參數(shù),向其發(fā)送采樣信號(hào),并利用“callback”回調(diào)函數(shù),以背景擦除模式動(dòng)態(tài)繪制出數(shù)據(jù)圖像,這樣即得到實(shí)時(shí)的脈搏信號(hào)圖。
在繪圖中,把三個(gè)采集到的點(diǎn)平均為一個(gè)點(diǎn)畫(huà)出,這樣就使得原本200HZ的采樣頻率變?yōu)?6.6HZ,在后面的分析中,可以得知脈搏信號(hào)多集中在20HZ以下,這樣足以滿(mǎn)足香農(nóng)采樣定理,也減少了計(jì)算機(jī)實(shí)時(shí)繪圖的負(fù)擔(dān)。
2.2 數(shù)據(jù)預(yù)處理與特征提取
在時(shí)域波形方面,采集到的數(shù)據(jù)因呼吸、溫度和外界振動(dòng)導(dǎo)致基線(xiàn)漂移。在查閱資料后,使用MATLAB編制帶阻濾波器進(jìn)行去基線(xiàn)漂移,但因不同脈象的噪聲頻帶有所不同,濾波器衰減并非理想,去除效果不佳。改用擬合插值法,對(duì)波谷值識(shí)別,用樣條差值函數(shù)(‘spline)插值并去除,這樣就使基線(xiàn)漂移的問(wèn)題得到解決,并為歸一化與神經(jīng)網(wǎng)絡(luò)的識(shí)別打下了基礎(chǔ)。
因脈象的個(gè)體差異,在時(shí)域中很難尋找脈搏跳動(dòng)的頻率,并且精度不能滿(mǎn)足要求。利用快速傅立葉變換(FFT) 對(duì)脈搏信號(hào)進(jìn)行分析,可以發(fā)現(xiàn),脈搏的圖像大多集中在0~20HZ。并且脈象是一種周期性極強(qiáng)的生理信號(hào),所以可以從頻域中提取基波的頻率,這也就是脈率。在實(shí)際的操作中,因采樣頻率為66.6HZ,數(shù)據(jù)量為1024個(gè)脈象點(diǎn),所以選擇4×1024點(diǎn)的FFT可以達(dá)到脈率精度為1/min的要求,從而實(shí)現(xiàn)了脈率的精確獲取。
2.3 人工智能方法進(jìn)行脈象識(shí)別 BP神經(jīng)網(wǎng)絡(luò)是把高維向量做多次變換,映射到輸出空間,并根據(jù)設(shè)定的判決門(mén)限,在輸出空間中進(jìn)行劃分的方法。在一個(gè)具有無(wú)限“隱層”節(jié)點(diǎn)的單隱層BP網(wǎng)絡(luò)可以實(shí)現(xiàn)任意從輸入到輸出的非線(xiàn)性映射[2],本設(shè)計(jì)用神經(jīng)網(wǎng)絡(luò)對(duì)脈象進(jìn)行模式識(shí)別,需要結(jié)合中醫(yī)脈診要素進(jìn)行輸入輸出樣本的選取。
脈象要素特征的界定十分模糊,中醫(yī)文獻(xiàn)常從位、次、形、勢(shì)四個(gè)方面加以分析。脈位,主要是脈搏跳動(dòng)的部位,通過(guò)壓力表,將取脈的最佳壓力作為特征量,來(lái)區(qū)分浮、中、沉三個(gè)位置。脈次,即脈率,將頻域中提取的頻率作為其特征量。脈型與脈勢(shì),即脈搏跳動(dòng)的形態(tài)與趨勢(shì),設(shè)計(jì)提取單次脈搏跳動(dòng)的圖像,來(lái)表現(xiàn)其特征。
對(duì)于脈象的種類(lèi),本項(xiàng)目參考標(biāo)準(zhǔn)脈象圖[3],并咨詢(xún)專(zhuān)業(yè)醫(yī)師,在人群中廣泛尋找典型脈象,并提取特征量作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本。經(jīng)過(guò)大量的實(shí)驗(yàn)與計(jì)算,采用100-40-15-5的四層神經(jīng)網(wǎng)絡(luò)(動(dòng)量BP算法)進(jìn)行脈象識(shí)別的效果較好,并用采集到的多組測(cè)試樣本進(jìn)行系統(tǒng)的驗(yàn)證。
2.4 人機(jī)交互界面設(shè)計(jì) 為使用戶(hù)能夠友好、便捷的操作,本項(xiàng)目設(shè)計(jì)了MATLAB的圖形用戶(hù)界面(GUI)。只需按操作點(diǎn)擊按鈕,即可將實(shí)時(shí)圖像、數(shù)據(jù)、分析結(jié)果和診斷建議顯示在界面上,方便人機(jī)交互。
最后,利用VC++編譯器將MATLAB的GUI文件編譯成EXE可執(zhí)行文件。這樣,沒(méi)有MATLAB的用戶(hù)也能夠操作與使用,擴(kuò)大了受眾群體。
3 結(jié)果
本項(xiàng)目設(shè)計(jì)了小型化的便捷脈診儀,基本滿(mǎn)足了脈象采集、分析與識(shí)別的要求,并五種脈象(常、沉、促、滑、弦)進(jìn)行分析和識(shí)別。其中,訓(xùn)練樣本的識(shí)別率達(dá)到了100%,其余的65個(gè)測(cè)試樣本中,正確識(shí)別59個(gè),識(shí)別率達(dá)到90.8%,辨識(shí)效果與一致性較好。
4 總結(jié)
未來(lái)中醫(yī)脈象診斷將努力朝著客觀化、數(shù)字化的方向發(fā)展。本文通過(guò)脈象采集系統(tǒng)的硬件設(shè)計(jì),信號(hào)處理與模式識(shí)別的軟件仿真,展現(xiàn)了基于MATLAB的中醫(yī)脈診儀。設(shè)計(jì)重點(diǎn)在于找尋一種方法,讓中醫(yī)脈診有更為客觀的診斷標(biāo)準(zhǔn)。但還有許多問(wèn)題,如復(fù)合脈象、年齡、時(shí)節(jié)的影響并沒(méi)有考慮,還需要對(duì)此進(jìn)一步地探討與研究。
參考文獻(xiàn)
[1] 朱文鋒. 中醫(yī)診斷學(xué)[M]. 北京:中國(guó)中醫(yī)藥出版社, 2002:8.
[2] 周開(kāi)利. 神經(jīng)網(wǎng)絡(luò)模型及其MATLAB仿真程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社, 2005:7.
[3] 張文娟. 常見(jiàn)二十九種脈象圖的臨床研究[C]. 云南:第二次全國(guó)中西醫(yī)結(jié)合診斷學(xué)術(shù)研討會(huì)論文集,2008:7.
(收稿日期:2015.06.30)