顧俊俊,陳向東,丁 星,馬 靜
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,四川 成都 611756;2.西南交通大學(xué) 設(shè)計藝術(shù)學(xué)院,四川 成都 611756)
在近年來嚴(yán)峻的疫情形勢下,體溫作為評判患者病情狀況的因素之一,可通過將可穿戴便攜式測溫終端設(shè)備置于患者的合適部位來形成穩(wěn)定的測溫腔室進行實時監(jiān)測。這樣不僅能夠降低醫(yī)療監(jiān)護的成本,還能減少患者與醫(yī)護人員的直接接觸,大大降低交叉?zhèn)魅镜目赡躘1-2]。文獻(xiàn)[3]應(yīng)用四片DS18B20組成的測溫陣列采集用戶腋下的體溫并實現(xiàn)實時的體溫檢測,但作為接觸式傳感器,它對溫度反應(yīng)速度較為緩慢,如果要采集到較為穩(wěn)定的體溫數(shù)據(jù)需要10 min左右。因此,本系統(tǒng)將MLX90614_DCC作為核心模塊設(shè)計了一種快速響應(yīng)的體溫監(jiān)測系統(tǒng)。
本文設(shè)計出快速響應(yīng)的紅外體溫實時監(jiān)測系統(tǒng),主要應(yīng)用于術(shù)后病人或療養(yǎng)院老人這類行動不方便的人群,應(yīng)用紅外傳感器對溫度做出快速響應(yīng),及時獲取病人體溫數(shù)據(jù)信息。系統(tǒng)的整體架構(gòu)如圖1所示,總共分為四個模塊:溫度采集終端、網(wǎng)關(guān)、數(shù)據(jù)服務(wù)器和PC監(jiān)控端。
圖1 系統(tǒng)整體架構(gòu)
在溫度采集端應(yīng)用了兩片MLX90614_DCC醫(yī)療級紅外溫度傳感器作為核心模塊,兩片傳感器之間相距3.2 cm,形成測溫陣列,達(dá)到兩點測溫的效果,使體溫數(shù)據(jù)更加精準(zhǔn),以其紅外溫度和內(nèi)部包含的環(huán)境溫度作為參考可以更快達(dá)到穩(wěn)定。此外,作為穿戴設(shè)備,為了穿戴舒適且防止佩戴時汗液浸濕終端,系統(tǒng)利用3Dmax技術(shù)設(shè)計出封裝外殼方便佩戴,如圖2所示。
圖2 紅外測溫終端設(shè)備
設(shè)備整體的大小為長6.12 cm,寬3.32 cm,高2.63 cm。整體封裝分為上下兩個部分,上層為傳感器層,下層為鋰電池層。為了不遮擋紅外傳感器接收信號,上層封裝進行了開孔處理,使紅外溫度讀數(shù)更加精準(zhǔn)。
文獻(xiàn)[4]進行了腰腹部和腋下測溫效果的對比,實驗表明腋下和腰腹的溫度差異無統(tǒng)計學(xué)意義??紤]到穿戴舒適,將設(shè)備佩戴于腰腹部形成測溫腔室進行測溫,如圖3所示。數(shù)據(jù)采集后經(jīng)ZigBee+GPRS網(wǎng)關(guān)模塊發(fā)送至數(shù)據(jù)服務(wù)器處理,應(yīng)用服務(wù)器內(nèi)嵌的KNN算法進行干擾數(shù)據(jù)濾除,運用ARIMA預(yù)測模型算法預(yù)測后續(xù)溫度變化趨勢并保存至數(shù)據(jù)庫,管理員可通過給定的網(wǎng)址查看用戶的實時體溫及變化趨勢。
圖3 測溫終端佩戴方式
本系統(tǒng)設(shè)計的體溫監(jiān)測終端需要滿足方便、快速、穩(wěn)定、長時間的測量要求,因此采用了2片高精度、快響應(yīng)的MLX90614紅外溫度傳感器[5-6]組成測溫陣列作為系統(tǒng)的核心測溫模塊,兩片傳感器互為參考,經(jīng)后續(xù)算法處理,使溫度讀數(shù)更加精準(zhǔn)。為滿足系統(tǒng)低功耗、高精度的要求,所以選擇該傳感器下的DCC系列,其工作環(huán)境溫度范圍為-40~125 ℃,被測物體溫度范圍為-70~380 ℃,精度能達(dá)到±0.1 ℃,擁有17位A/D轉(zhuǎn)換器和數(shù)字信號處理單元。
MLX90614_DCC紅外溫度傳感器反應(yīng)速度極快,在正常測量溫度即測量端口距離被測物體2~5 cm時,測量反應(yīng)時間可達(dá)到2 s。在本系統(tǒng)中,測量時要求貼緊皮膚表面,并需要一定的穩(wěn)定時間。對此,系統(tǒng)進行可穿戴測溫設(shè)備反應(yīng)時間測試,分別對電子體溫計、DS18B20和MLX90614測溫終端設(shè)備進行測試,待溫度穩(wěn)定后記下所需要的時間。表1是10次的反應(yīng)速度測試對比結(jié)果。從表中可以看出,MLX90614紅外式溫度傳感器相對于傳統(tǒng)的電子溫度計和接觸式溫度計反應(yīng)速度快2~3倍,比較符合本系統(tǒng)快速響應(yīng)的需求。
表1 反應(yīng)速度測試對比
可穿戴式紅外測溫終端電路使用AD 18軟件進行電路原理圖和PCB的繪制。如圖4所示為測溫終端的整體構(gòu)成和框架,共包含三個模塊:兩片MLX90614紅外溫度傳感器、3.0 V穩(wěn)壓電路模塊和E18-MS1-IPX通信模塊。其中溫度傳感器模塊的溫度數(shù)組由傳感器的紅外讀數(shù)和環(huán)境讀數(shù)構(gòu)成,一組數(shù)組有4個溫度數(shù)據(jù)。
圖4 測溫終端整體框架
如圖5所示是網(wǎng)關(guān)連接的整體框架。本系統(tǒng)主要應(yīng)用于醫(yī)院、療養(yǎng)院這類患者用戶小范圍活動的場合,為了降低功耗和成本,網(wǎng)關(guān)模塊選用了由ZigBee協(xié)調(diào)器和GPRS無線通信模塊[7-8]組成的異構(gòu)網(wǎng)絡(luò),兩個網(wǎng)絡(luò)模塊通過電源線和RX、TX信號線進行連接,給GPRS模塊插入有效的移動SIM卡。接入電源模塊給整個網(wǎng)關(guān)模塊進行供電,ZigBee協(xié)調(diào)器進行初始化設(shè)置并且和測溫終端模塊組建網(wǎng)絡(luò),同時向GPRS發(fā)送AT指令初始化GPRS網(wǎng)絡(luò)[9]。
圖5 網(wǎng)關(guān)連接整體框架
本系統(tǒng)的后臺服務(wù)器[10]主要分成兩個部分:數(shù)據(jù)服務(wù)器和Web客戶端,它們?yōu)閿?shù)據(jù)的處理和體溫查詢提供了平臺。
數(shù)據(jù)服務(wù)器應(yīng)用了TCP Socket協(xié)議,接收SIM900A傳輸?shù)臄?shù)據(jù)并實時處理。一方面,由于接收到的數(shù)據(jù)會受到測溫終端本身或傳輸?shù)挠绊懏a(chǎn)生一些干擾項,通常對干擾數(shù)據(jù)利用卡爾曼濾波、最小二乘法等方式濾除,針對體溫數(shù)據(jù)隨機且平穩(wěn)的特點,利用服務(wù)器內(nèi)嵌的KNN算法濾除干擾數(shù)據(jù)。另一方面,考慮到人體溫度在時間上具有連續(xù)特點,應(yīng)用時間序列預(yù)測模型ARIMA算法進行訓(xùn)練學(xué)習(xí),從而對人體溫度進行變化趨勢預(yù)測。
本系統(tǒng)的后臺管理系統(tǒng)為Web客戶端,它主要以Tomcat服務(wù)器作為容器,運行于設(shè)計開發(fā)的平臺。將后臺應(yīng)用管理系統(tǒng)部署到Tomcat上,通過花生殼進行內(nèi)網(wǎng)穿透至外網(wǎng),管理員通過任意外網(wǎng)瀏覽器登錄固定網(wǎng)址查看監(jiān)測平臺。
本系統(tǒng)首先對采集到的數(shù)據(jù)進行判別和預(yù)處理,如圖6所示,對采集的受測量誤差或傳輸干擾的數(shù)據(jù)進行算法修正,并為后續(xù)的體溫預(yù)測算法提供數(shù)據(jù);應(yīng)用時間序列預(yù)測模型ARIMA算法對人體溫度變化趨勢進行預(yù)測,可為患者病情判斷提供參考[11]。
圖6 算法實現(xiàn)整體框架
本系統(tǒng)中溫度采集終端采集到的數(shù)據(jù)是一組由兩個紅外溫度和兩個環(huán)境溫度構(gòu)成的數(shù)組,但如果存在某個時刻體溫發(fā)生異常的波動,則需要對干擾數(shù)據(jù)進行濾除,所以系統(tǒng)在數(shù)據(jù)服務(wù)器端內(nèi)嵌KNN濾除算法,對接收到的數(shù)據(jù)進行干擾判別并濾除;如果發(fā)現(xiàn)數(shù)組中存在嚴(yán)重偏差,就濾除當(dāng)前的數(shù)組中偏差大的數(shù)據(jù),并用其余溫度進行算法補全,之后再把得到的數(shù)據(jù)保存到數(shù)據(jù)庫中。圖7是KNN算法上位機實時處理界面。
圖7 KNN上位機實時處理
4.3.1 ARIMA模型介紹
文獻(xiàn)[12]應(yīng)用時間序列ARIMA模型對奶牛溫度數(shù)據(jù)進行訓(xùn)練分析,由此可以預(yù)測奶牛生理健康狀況。ARIMA模型[13-14]全稱為差分整合滑動平均自回歸模型,由三個部分組成:AR(p)自回歸模型,I(d)差分,MA(q)滑動平均模型。整體的模型公式為:
在此模型中,需要確定的三個參數(shù)分別是p、q、d。p和q指的是ARIMA模型自回歸和滑動的階數(shù),d是時間序列的差分階數(shù)。
4.3.2 ARIMA模型建立步驟
(1)時間序列的平穩(wěn)性判斷
本系統(tǒng)的溫度序列滿足時間序列平穩(wěn)性的特點,可用ADF的方法檢驗序列平穩(wěn)性,在MATLAB中調(diào)用adftest(data)可以查看序列是否平穩(wěn)。若結(jié)果返回1,表明序列平穩(wěn),可進行后面的步驟;若返回的結(jié)果是0,表明序列不平穩(wěn),需要進行差分處理,差分的階數(shù)需要根據(jù)返回的結(jié)果確定,保證方差較小。
平穩(wěn)性的最終目標(biāo)是更準(zhǔn)確地預(yù)測體溫的趨勢變化。非平穩(wěn)時間序列太過雜亂無章,有的甚至完全無規(guī)律可循,而平穩(wěn)時間序列本身存在某種分布規(guī)律,前后具有一定自相關(guān)性且能夠延續(xù)下去,進而可以利用這些信息幫助預(yù)測體溫變化。
通過序列平穩(wěn)性特點,鄰近時間序列分布存在數(shù)據(jù)關(guān)聯(lián),可以緩解由于樣本容量少導(dǎo)致的估計精度低的問題。如果連單個隨機變量的分布都難以求出,就更不用說求解由一堆隨機變量組成的多維隨機向量的聯(lián)合分布有多困難了。嚴(yán)平穩(wěn)過于理想化,實際上很難檢驗一個時間序列的嚴(yán)平穩(wěn)性。因此就放松部分條件限制,不局限于嚴(yán)平穩(wěn),主要著眼于寬平穩(wěn),條件為:①均值E(Xt)=μ是與時間t無關(guān)的常數(shù);②方差Var(Xt)=σ2是與時間無關(guān)的常數(shù);③協(xié)方差Cov(Xt,Xt+k)=γk是與時間間隔k有關(guān)、與當(dāng)下時刻t無關(guān)的常數(shù)。
至此可以使用差分法,一方面可以讓ARIMA模型里面的μ=0,另一方面確定合適階數(shù)的差分可以增強序列的平穩(wěn)度。
(2)確定p、q的值
根據(jù)本系統(tǒng)時間序列只有體溫數(shù)據(jù)這一變量的特點選用了自相關(guān)函數(shù)和偏相關(guān)函數(shù)聯(lián)合確定p、q值的方法。其中偏相關(guān)函數(shù)公式如下:
其中ρ(k)的取值范圍是[-1,1]。
值得注意的是ACF并不是絕對的兩個變量之間的相關(guān)性,在實際的序列中,yt還會受到中間k-1個隨機變量yt-1,yt-2,...,yt-k+1的影響,然而這k-1個隨機變量和yt-k具有相關(guān)關(guān)系,所以對于這種情況,需要引入PACF的概念。如圖8和圖9所示為經(jīng)過一階差分?jǐn)?shù)據(jù)處理后的序列自相關(guān)和偏自相關(guān)情況。
圖8 平穩(wěn)信號自相關(guān)情況
圖9 平穩(wěn)信號偏自相關(guān)情況
在得到數(shù)據(jù)自相關(guān)函數(shù)和偏相關(guān)函數(shù)后,根據(jù)表2可預(yù)估模型的類型并確定相應(yīng)p、q的值。
表2 ACF、PACF對照表
(3)數(shù)據(jù)訓(xùn)練
在本次數(shù)據(jù)序列訓(xùn)練中,共導(dǎo)入了243個數(shù)據(jù)序列進行訓(xùn)練,同時設(shè)置了模型的參數(shù)范圍、模型置信區(qū)間和預(yù)測數(shù)據(jù)所占比例。本次訓(xùn)練中,訓(xùn)練數(shù)據(jù)占70%,預(yù)測數(shù)據(jù)占30%。如圖10所示,灰色曲線為訓(xùn)練數(shù)據(jù),黑色曲線為實際溫度變化曲線,深灰色曲線為體溫預(yù)測曲線,黑色和深灰色在整體變化上相差不大,表明在一定程度上可以應(yīng)用該算法對溫度變化進行預(yù)測。
圖10 模型訓(xùn)練預(yù)測
(4)ARIMA模型預(yù)測
重復(fù)步驟(2)和(3)訓(xùn)練得到合適的預(yù)測之后,最終確定的模型是 ARIMA(2,1,3),對應(yīng)的 ARMA(p,q)模型函數(shù)為:
上式僅適用于當(dāng)前訓(xùn)練的數(shù)據(jù),實時數(shù)據(jù)變化時,參數(shù)和模型也會相應(yīng)地變化。
在確定使用該函數(shù)模型后,可對體溫進行預(yù)測分析,同時加入了需要預(yù)測的時間步長和置信區(qū)間。如圖11所示,可直觀看到在已設(shè)步長內(nèi)的溫度預(yù)測及溫度變化置信區(qū)間。本系統(tǒng)預(yù)測設(shè)置的步長是30,置信區(qū)間為95%。
圖11 ARIMA(2,1,3)模型預(yù)測
(5)Durbin-Watson檢驗
通過Durbin-Watson統(tǒng)計量檢驗殘差分布是否為正態(tài)分布。如果殘差不服從正態(tài)分布,那么模型是偏移的,對序列模型的預(yù)測解釋能力欠缺。同時Durbin-Watson統(tǒng)計量在2左右說明殘差服從正態(tài)分布,如果偏離太遠(yuǎn)還需要重新選擇模型。本系統(tǒng)中訓(xùn)練Durbin-Watson結(jié)果為1.943 8,符合要求。
本文對整體系統(tǒng)進行測試,主要包括:測溫終端反應(yīng)速度、后臺服務(wù)平臺體溫監(jiān)測效果及預(yù)測溫度展示。
(1)在用戶穿戴上紅外體溫監(jiān)測終端設(shè)備前,用酒精對腰腹部進行消毒擦拭,測溫終端封裝用棉絮填充防止汗液滲入。綁緊設(shè)備于腰腹部,使設(shè)備與皮膚形成穩(wěn)定的測溫腔室。
(2)打開網(wǎng)關(guān)和服務(wù)器設(shè)備,對傳感器采得的體溫數(shù)據(jù)先經(jīng)過初步的篩選處理并打包,通過網(wǎng)關(guān)傳送到服務(wù)器上。
(3)服務(wù)器端進行KNN干擾數(shù)據(jù)濾除和ARIMA體溫預(yù)測模型處理,再把數(shù)據(jù)保存到數(shù)據(jù)庫。
(4)打開Web服務(wù)端,登錄管理員賬號,對用戶進行實時體溫、歷史溫度、預(yù)測溫度、人員信息等查詢。
如圖12所示為紅外溫度傳感器反應(yīng)速度測試,測試時間從14點56分開始到14點57分39秒結(jié)束,反應(yīng)時間為1分40秒左右,滿足快速反應(yīng)要求。
圖12 終端設(shè)備反應(yīng)速度測試
如圖13所示,在后臺實時監(jiān)控界面上可以實時查看用戶的體溫變化和預(yù)測體溫,實時監(jiān)測曲線的更新周期為5 s,預(yù)測溫度是對體溫的趨勢進行預(yù)測,預(yù)測溫度更新時間為5 min,經(jīng)實驗證明誤差不超過0.4 ℃。
圖13 溫度實時監(jiān)測界面
本文設(shè)計了一種快速響應(yīng)的體溫實時監(jiān)測系統(tǒng),利用紅外溫度傳感器佩戴至腰腹位置實現(xiàn)了連續(xù)溫度監(jiān)測的快速響應(yīng),一定程度上減少了醫(yī)生獲取病人體溫數(shù)據(jù)的時間。在數(shù)據(jù)服務(wù)器內(nèi)嵌套KNN干擾數(shù)據(jù)濾除算法和ARIMA預(yù)測模型算法,在一定程度上實現(xiàn)了體溫的精準(zhǔn)測量和體溫趨勢變化預(yù)測。