陸苗苗,蘇 昊,馬梓祎,劉艷茹,王學(xué)民
(天津大學(xué)精密儀器與光電子工程學(xué)院,天津 300072)
脈診作為中醫(yī)四診之一,具有無(wú)創(chuàng)高效的優(yōu)點(diǎn)。但是脈診主要憑借中醫(yī)師的個(gè)人經(jīng)驗(yàn)進(jìn)行判斷,存在“在心易了,指下難明”的問(wèn)題,大大提高了脈診的學(xué)習(xí)難度,在一定程度上阻礙了脈診的推廣與發(fā)展[1]。現(xiàn)有脈診儀以醫(yī)院里的大型設(shè)備居多,需要去固定的場(chǎng)所使用[2]。 隨著脈診客觀化的發(fā)展和家庭醫(yī)療的普及,脈象采集系統(tǒng)將朝著便攜化、易操作的方向發(fā)展[3-4]。 天津大學(xué)的孫飛等[5]設(shè)計(jì)了基于移動(dòng)終端的便攜式脈象設(shè)備,通過(guò)USB 接口將采集到的脈象數(shù)據(jù)上傳到智能手機(jī)端;馬俊淇等[6]研制了無(wú)線便攜式脈象檢測(cè)系統(tǒng),使用藍(lán)牙模塊將采集到的脈象信號(hào)上傳到手機(jī)。 這些便攜設(shè)備已經(jīng)能夠滿足基本的采集,但是在脈象數(shù)據(jù)的處理和存儲(chǔ)能力上還需提升。
本文針對(duì)現(xiàn)有脈象采集系統(tǒng)的不足之處設(shè)計(jì)了適合家用的中醫(yī)機(jī)器人中的脈診系統(tǒng),該系統(tǒng)不僅能夠進(jìn)行脈象信號(hào)的采集和分析,還能夠?qū)⒉杉降臄?shù)據(jù)上傳到云服務(wù)器上,云服務(wù)器對(duì)脈象信號(hào)進(jìn)行分析并將診斷結(jié)果通過(guò)網(wǎng)絡(luò)返回給中醫(yī)機(jī)器人,這樣可以針對(duì)每個(gè)患者進(jìn)行個(gè)體化的信息記錄,方便患者對(duì)自己的情況進(jìn)行縱向比較,實(shí)現(xiàn)以病人為中心的治療。同時(shí),云服務(wù)器通過(guò)收集大量的數(shù)據(jù),也方便集中中醫(yī)師找出不同脈象和疾病之間的關(guān)聯(lián),并制定統(tǒng)一的標(biāo)準(zhǔn),進(jìn)而推動(dòng)中醫(yī)的發(fā)展和慢性病的治療。
本系統(tǒng)整體框架如圖1 所示,主要包括脈象采集裝置、軟件交互系統(tǒng)、數(shù)據(jù)庫(kù)和云服務(wù)器四個(gè)部分。 首先,由硬件電路采集到人體脈搏數(shù)據(jù),通過(guò)串口傳輸?shù)綑C(jī)器人診斷系統(tǒng),該交互系統(tǒng)可通過(guò)互聯(lián)網(wǎng)將數(shù)據(jù)上傳至云服務(wù)器,云服務(wù)器對(duì)脈象信號(hào)進(jìn)行處理與分析得出診斷結(jié)果與療養(yǎng)建議,下發(fā)給機(jī)器人診斷系統(tǒng),用戶可在系統(tǒng)界面上看到所有診療信息。 數(shù)據(jù)庫(kù)作為軟件系統(tǒng)與云服務(wù)器之間的橋梁,可以實(shí)現(xiàn)數(shù)據(jù)的保存與讀取。
圖1 系統(tǒng)整體設(shè)計(jì)框架
脈象采集裝置的組成及各模塊之間的關(guān)系如圖2 所示。 由脈象傳感器采集到的脈搏壓力信號(hào)首先經(jīng)過(guò)預(yù)處理電路進(jìn)行濾波和放大,并分離出靜壓和動(dòng)壓,之后以差分方式輸入微控制器進(jìn)行AD 轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)通過(guò)串口傳給上位機(jī)進(jìn)行后續(xù)處理。微控制器根據(jù)返回信號(hào)的強(qiáng)度來(lái)控制取脈過(guò)程中的加壓大小,以獲取最佳取脈壓力下的脈象信號(hào)。
圖2 脈象采集裝置信號(hào)傳遞圖
脈象信號(hào)即脈搏跳動(dòng)產(chǎn)生的壓力變化信號(hào),具有信號(hào)弱、噪聲強(qiáng)、頻率低的特點(diǎn)。 基于這些特性,本系統(tǒng)使用定制的SMF-500 壓阻式壓力傳感器進(jìn)行脈象信號(hào)的采集,該傳感器使用全橋半導(dǎo)體應(yīng)變片作為傳感器芯片[7-8],其參數(shù)如表1 所示。 該傳感器具有高靈敏度和低遲滯的特性,在尋找最佳取脈壓力時(shí)可實(shí)時(shí)反饋信息。
表1 傳感器參數(shù)表
針對(duì)脈象信號(hào)的特點(diǎn),先對(duì)其進(jìn)行預(yù)處理以便后續(xù)進(jìn)行分析,預(yù)處理流程如圖3 所示。 由于壓力傳感器采集到的脈象信號(hào)通常為毫伏數(shù)量級(jí),因此首先采用AD620 芯片對(duì)原始信號(hào)進(jìn)行差分放大。之后,從放大后的信號(hào)中通過(guò)濾波分離出靜壓和動(dòng)壓,靜壓即取脈過(guò)程中施加的壓力,在信號(hào)中表現(xiàn)為直流部分;動(dòng)壓即脈搏跳動(dòng)產(chǎn)生的壓力變化,有效信息所在頻段為0.1 Hz ~20.0 Hz。 最后,將靜壓和動(dòng)壓信號(hào)分別輸入微控制器進(jìn)行AD 轉(zhuǎn)換。
圖3 脈象信號(hào)預(yù)處理流程
脈象采集時(shí)需要先找到最佳取脈壓力,在此壓力下的脈象信號(hào)幅度最強(qiáng),時(shí)域特征最明顯,符合中醫(yī)脈診信息提取的要求。 本系統(tǒng)的壓力控制模塊由二相四線步進(jìn)電機(jī)、齒輪和金屬滑臺(tái)組成。 步進(jìn)電機(jī)通過(guò)全金屬齒輪作為減速裝置,減速過(guò)后再連接一個(gè)金屬滑塊用來(lái)提供壓力。 金屬滑塊由步進(jìn)電機(jī)通過(guò)齒輪控制上升和下降,以此來(lái)模擬中醫(yī)師手指的上升和下降,滑塊行程為10 mm,配合初始腕帶張緊力的調(diào)節(jié),可以在一次往復(fù)取到浮、中、沉壓力下的脈象,上升和下降的速度由微處理器采集到的靜壓力的大小決定,通過(guò)改變脈沖的頻率來(lái)控制速度[9]。
為了脈象采集設(shè)備的便攜性,本系統(tǒng)將傳感器和壓力控制模塊封裝于腕帶中,腕帶剖析圖如圖4所示,實(shí)物如圖5 所示,傳感器外殼為直徑13 mm的圓柱體,封裝盒尺寸為22 mm×22 mm×30 mm,內(nèi)部含有USB 插頭可與中醫(yī)機(jī)器人進(jìn)行通訊。
圖4 腕帶剖析圖
圖5 腕帶實(shí)物圖
脈象信號(hào)的AD 轉(zhuǎn)換、取脈過(guò)程中的壓力控制及串口通訊的數(shù)據(jù)傳輸?shù)裙ぷ饔晌⑻幚砥髂K來(lái)完成,其主要功能如表2 所示。 本系統(tǒng)選取Silicon Labs 公司的C8051F350 微控制器作為控制核心,該芯片含有一個(gè)24 位的Sigma-Delta ADC,分辨率高,包含最高可達(dá)128 倍的可編程片內(nèi)增益,方便進(jìn)行微弱信號(hào)的測(cè)量,同時(shí)有多達(dá)8 路輸入通道,可選取單端輸入和差分輸入兩種方式進(jìn)行輸入。 該芯片的UART 接口可用于和上位機(jī)進(jìn)行串口通信,片內(nèi)有8KB 的FLASH 可以進(jìn)行編程,方便存儲(chǔ)脈象參數(shù)。
表2 微處理器主要模塊功能
通訊模塊使用CP2102 芯片將微控制輸出的TTL電平轉(zhuǎn)為USB 信號(hào)從而實(shí)現(xiàn)上下位機(jī)的通訊,通訊流程如圖6 所示,左側(cè)為上位機(jī)。 下位機(jī)接收上位機(jī)初始參數(shù)設(shè)置和對(duì)壓力控制的指令,并且將AD 采集到的脈象信號(hào)傳給上位機(jī)進(jìn)行進(jìn)一步處理。
圖6 系統(tǒng)軟件流程圖
中醫(yī)機(jī)器人的流程如圖7 所示。 該機(jī)器人為家庭使用設(shè)計(jì),采用較好的語(yǔ)音提示、友好的交互界面,將“望、聞、問(wèn)、切”四診功能集于一體,且體積較小,可移動(dòng);操作流程智能化,無(wú)需具備專業(yè)知識(shí),將中醫(yī)診斷與云服務(wù)器結(jié)合,節(jié)約了機(jī)器人的資源,降低成本,實(shí)現(xiàn)以人為中心的治療[10]。
圖7 中醫(yī)機(jī)器人使用流程
中醫(yī)機(jī)器人在.NET 環(huán)境下用C#語(yǔ)言開(kāi)發(fā)了軟件交互系統(tǒng)[11],它可以對(duì)使用者進(jìn)行一次包括舌診、面診、問(wèn)診和脈診的全面的中醫(yī)檢查,機(jī)器人界面可以實(shí)時(shí)顯示采集到的數(shù)據(jù),并將最終的診斷結(jié)果和建議其呈現(xiàn)在交互界面上。 中醫(yī)機(jī)器人的外形結(jié)構(gòu)如圖8 所示。
圖8 中醫(yī)機(jī)器人
數(shù)據(jù)的保存和處理通過(guò)SQL Server 數(shù)據(jù)庫(kù)來(lái)完成。 數(shù)據(jù)管理模塊用SqlConnection 類下的函數(shù)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接斷開(kāi)和使用sql 命令進(jìn)行數(shù)據(jù)庫(kù)的控制;USB 模塊使用開(kāi)源類庫(kù)LibUSBDotNet 中的函數(shù),進(jìn)行USB 設(shè)備的檢測(cè)、連接和數(shù)據(jù)的傳輸;脈象信號(hào)顯示模塊使用Graphic 類下的DrawLine 函數(shù)將脈象數(shù)據(jù)數(shù)組中的所有數(shù)據(jù)進(jìn)行描點(diǎn)和連線,最終達(dá)到在屏幕上實(shí)時(shí)顯示脈象波形的效果,如圖9 所示。
圖9 脈圖顯示界面
云服務(wù)器完成四診數(shù)據(jù)的處理,處理后的結(jié)果保存在數(shù)據(jù)庫(kù)中并下發(fā)給中醫(yī)機(jī)器人。 中醫(yī)機(jī)器人通過(guò)TCP/IP 協(xié)議連接云服務(wù)器上的數(shù)據(jù)庫(kù),利用云服務(wù)器強(qiáng)大的計(jì)算能力實(shí)現(xiàn)脈診的自動(dòng)分析[12-13]。
隨著數(shù)據(jù)量的增大和人工智能的技術(shù)的發(fā)展,四診的辨證診斷技術(shù)也在不斷修改,云服務(wù)器上所有四診數(shù)據(jù)的處理都由獨(dú)立的DLL 庫(kù)實(shí)現(xiàn),脈診DLL 庫(kù)中的函數(shù)實(shí)現(xiàn)分析上傳的脈象數(shù)據(jù)、計(jì)算脈象信號(hào)的時(shí)域特征參數(shù)及頻域諧波幅值比和進(jìn)行脈類診斷的功能。
采集到的脈象數(shù)據(jù)上傳至云服務(wù)器后,云服務(wù)器自動(dòng)計(jì)算出脈象數(shù)據(jù)的時(shí)域特征參數(shù),并將脈類結(jié)果顯示出來(lái)。 如果計(jì)算過(guò)程中出現(xiàn)異常錯(cuò)誤會(huì)報(bào)警提示,此時(shí)可進(jìn)行人工校正。 除了脈象診斷,云服務(wù)器還提供其他中醫(yī)方面的診斷,比如在舌面象分析上,云服務(wù)器對(duì)通過(guò)攝像頭拍攝的舌部和面部圖像進(jìn)行分析,并將舌色、舌型、苔色、面色和面部光澤等分析結(jié)果顯示在機(jī)器人交互界面上。 四診綜合診斷結(jié)果界面如圖10 所示。 對(duì)所有的數(shù)據(jù)采集分析完之后云服務(wù)器會(huì)綜合所有信息對(duì)使用者進(jìn)行整體的健康狀況評(píng)估,并給出接下來(lái)的療養(yǎng)建議,同時(shí)基于SQL Server 數(shù)據(jù)庫(kù)實(shí)現(xiàn)對(duì)數(shù)據(jù)的保存,在云服務(wù)器上保存此次診斷的結(jié)果,用戶也可以直接從機(jī)器人中打印此次診斷的結(jié)果。
圖10 四診綜合診斷結(jié)果界面
云服務(wù)器能夠縱向分析個(gè)人的脈診結(jié)果,患者每次采集之后,若之前曾在數(shù)據(jù)庫(kù)中保存有脈診數(shù)據(jù),云服務(wù)器再次進(jìn)行完脈診之后會(huì)對(duì)比上次的脈診結(jié)果,根據(jù)診斷的結(jié)果,給出疾病的發(fā)展趨勢(shì),并在中醫(yī)機(jī)器人上給出提示。 若患者發(fā)現(xiàn)是采集時(shí)出了問(wèn)題則患者可以主動(dòng)刪除該組數(shù)據(jù),否則患者需要重新采集一次數(shù)據(jù),如果兩次采集系統(tǒng)判定是一種脈且和數(shù)據(jù)庫(kù)中記錄的不同則認(rèn)為身體出現(xiàn)了新的狀況,這時(shí)需要根據(jù)具體情況結(jié)合中醫(yī)知識(shí)進(jìn)行進(jìn)一步的分析。
4.2.1 時(shí)域特征參數(shù)提取
脈搏信號(hào)中包含著豐富的人體生理信息,比如心臟的泵血能力和脈搏波搏動(dòng)的強(qiáng)弱相關(guān),心臟的泵血速率和脈搏波的頻率相關(guān)。 同時(shí)血液沿血管流向全身各器官時(shí)血管的彈性、血管的外周阻力和血液的粘性等因素也會(huì)影響主動(dòng)脈壓力[14]。
圖11 所示為一個(gè)脈象周期中各個(gè)脈象特征參數(shù)在脈圖中的表示,表3 對(duì)其中部分時(shí)域特征參數(shù)的意義做了進(jìn)一步說(shuō)明[15]。
表3 脈圖時(shí)域特征參數(shù)及其生理學(xué)意義
圖11 脈象信號(hào)時(shí)域特征參數(shù)圖
正常人脈搏信號(hào)的頻率在20 Hz 以下,云服務(wù)器接收到脈象數(shù)據(jù)后,首先,采用db6 小波對(duì)信號(hào)進(jìn)行分解并去除20 Hz 以上的噪聲信號(hào),去除工頻干擾等高頻噪聲帶來(lái)的影響。 其次,采用三次樣條插值法對(duì)基線進(jìn)行校正,去除呼吸、抖動(dòng)等因素的低頻噪聲引起的基線漂移。 最后,采用ILP 算法對(duì)時(shí)域特征參數(shù)進(jìn)行提取, 其原理為檢測(cè)直線與歸一化后的單周期信號(hào)之間的交點(diǎn),根據(jù)交點(diǎn)個(gè)數(shù)的變化情況來(lái)確定特征點(diǎn)。
4.2.2 高血壓患者脈圖參數(shù)分析
表3 展示了部分單獨(dú)參數(shù)的生理學(xué)意義,除此之外,一些特征參數(shù)的比值也可反映血管特性,比如h3/h1、h5/h1 主要反映血管壁的順應(yīng)性和外周阻力,h3/h1 增大,h5/h1 減小,表明血管順應(yīng)性變差,外周阻力增加,這些參數(shù)與高血壓息息相關(guān)[16]。 為了驗(yàn)證系統(tǒng)的可靠性,在中醫(yī)師切脈診斷過(guò)的患者中挑選高血壓患者和健康人各30 例,男女比例1 ∶1,年齡59~75 歲。 使用該系統(tǒng)對(duì)受試者進(jìn)行脈象采集,處理之后給出脈類判別結(jié)果。 其中,系統(tǒng)計(jì)算出的脈象特征參數(shù)如表4 所示。
表4 高血壓組與健康組脈象特征參數(shù)對(duì)比
高血壓患者的一個(gè)特征是血管硬化,彈性變差,血液在血管中流動(dòng)時(shí)受到的外周阻力增大,此原理可解釋表4 中的結(jié)果:高血壓患者的脈象相較于健康人h3/h1 顯著增高(P<0.05),h5/h1 顯著降低(P<0.05),該結(jié)果與以往研究一致[17-18]。 此外,該系統(tǒng)的脈象分類結(jié)果與中醫(yī)師的診斷相比,診斷結(jié)果一致性達(dá)85%。
4.2.3 特征參數(shù)變化分析
機(jī)器人除了會(huì)對(duì)當(dāng)前采集到的數(shù)據(jù)進(jìn)行診斷之外,還會(huì)把當(dāng)前采集和之前采集所獲得的參數(shù)放在一起進(jìn)行比較,以健康人的數(shù)據(jù)范圍作為參考值,根據(jù)每次采集到的參數(shù)偏離中心值的程度來(lái)判斷病情的發(fā)展趨勢(shì)以及治療方法的臨床效果。
一患者治療前后兩次檢測(cè)所得脈象參數(shù)和脈象判定結(jié)果的對(duì)比如表5 所示,通過(guò)表格可知該患者的脈象由沉滑脈轉(zhuǎn)為沉弦緩脈,各參數(shù)趨于正常值,判斷該患者正處于正氣恢復(fù)階段,痰濕情況有所改善,但肝氣郁滯癥狀應(yīng)予重視。 該分析方法可應(yīng)用于臨床上的療效判定,比如,根據(jù)針刺治療前后脈圖參數(shù)的變化,來(lái)判斷針刺療法對(duì)失眠現(xiàn)象的治愈效果等[19]。
表5 脈象參數(shù)前后對(duì)比
本文設(shè)計(jì)了基于家用中醫(yī)機(jī)器人平臺(tái)的脈象采集和分析系統(tǒng),采用符合生物工學(xué)的腕帶結(jié)構(gòu)來(lái)控制脈象采集時(shí)施加的壓力,下位機(jī)和機(jī)器人之間通過(guò)USB 進(jìn)行通訊,基于C#編寫(xiě)了機(jī)器人的交互界面,可顯示采集到的數(shù)據(jù)與診療結(jié)果。 該系統(tǒng)可將采集到的脈象信息通過(guò)互聯(lián)網(wǎng)傳至云服務(wù)器,經(jīng)云服務(wù)器分析計(jì)算之后再將結(jié)果下發(fā)至客戶端,這樣可以針對(duì)每個(gè)患者進(jìn)行個(gè)體化的信息記錄,根據(jù)參數(shù)變化情況來(lái)分析病情發(fā)展趨勢(shì),實(shí)現(xiàn)以病人為中心的治療,有利于中醫(yī)在家庭中的普及。 選取高血壓與非高血壓患者各30 例進(jìn)行測(cè)試,與中醫(yī)師的脈象診斷結(jié)果一致性達(dá)到85%,證明了本系統(tǒng)的可靠性。