柴榮軒,趙津發(fā),吳 航,張文昌,張 廣,陳 煒*
(1.天津理工大學機械工程學院先進機電系統(tǒng)設計與智能控制重點實驗室,天津 300384;2.天津理工大學機械工程學院機電工程國家級實驗教學示范中心,天津 300384;3.軍事科學院系統(tǒng)工程研究院衛(wèi)勤保障技術研究所,天津 300161)
血氧飽和度是人體重要的生理體征參數(shù)之一,可以通過檢測其數(shù)值的大小,診斷與預防多種疾病,判斷人體的生理健康狀況[1]。測量血氧飽和度的傳統(tǒng)方法是先進行人體采血,再利用血氣分析儀進行電化學分析,最終得出血氧飽和度的數(shù)值[2]。傳統(tǒng)的測量方法雖然精確,但操作復雜,需要被測者高度配合,并且屬于有創(chuàng)傷測量,不便于日常使用。目前,基于光電容積描記(photoplethysmography,PPG)技術的接觸式檢測設備(如指夾式血氧儀、血氧監(jiān)測手環(huán)等)獲得了廣泛應用,可在眾多場合進行血氧飽和度測量[3]。雖然接觸式檢測設備能夠連續(xù)無創(chuàng)傷地測量血氧飽和度,但是接觸式技術屬性限定了其應用場景。例如,其在戰(zhàn)場和自然災害中的人員搜救和新生兒監(jiān)護等場景中的應用有很大局限性,但非接觸式檢測不受限制[4]。同時,在疫情防控中,接觸式生理體征檢測也有交叉感染的風險,給醫(yī)護人員的生理和心理帶來沉重負擔。因此,基于成像式光電容積描記(imaging photoplethysmography,IPPG)的非接觸式檢測方法得到廣泛關注,并且隨著成像設備和圖像處理算法的更新?lián)Q代,該方法具有非常大的應用潛力,有無干擾、非侵入、通量大等優(yōu)勢,是未來血氧飽和度檢測重要的發(fā)展方向之一。
基于IPPG的非接觸式檢測方法比其他非接觸式檢測方法(如電磁式、激光式等)的實用性更強[5]。首先,基于IPPG的非接觸式檢測設備造價低;其次,在檢測過程中不會產(chǎn)生高能輻射,對人體無害;最后,其操作簡單、靈活,易于使用和推廣。目前,在IPPG技術的基礎上,眾多學者已經(jīng)實現(xiàn)對心率[6-8]、呼吸率[8-10]、血氧飽和度[11-21]等生理參數(shù)的非接觸式檢測,但對血氧飽和度的檢測相對來說不夠成熟,檢測精度不能達到預期要求。
本研究提出一種新的血氧飽和度檢測方法,采用基于Tensor RT加速的多任務卷積神經(jīng)網(wǎng)絡(multi-task convolutional neural network,MTCNN)人臉檢測算法、歐拉運動放大和顏色放大相結(jié)合的歐拉視頻放大(Eulerian video magnification,EVM)算法、集合經(jīng)驗模態(tài)分解(ensemble empirical mode decomposition,EEMD)和小波變換(wavelet transform,WT)聯(lián)合濾波算法等,提高血氧飽和度的檢測精度。
IPPG技術是在朗伯-比爾定律和散射理論的基礎上發(fā)展形成的[22]。當光照射人體皮膚后,光照強度會隨著血管中血液容積的變化而變化,反射光中就包含了生理特征的信息[23]。因此,在視頻中圖像灰度值的變化隱含了生理特征的信息?;贗PPG的血氧飽和度檢測原理是對錄制的人臉視頻進行圖像處理,提取包含生理特征信息的信號,再從信號中提取特征參數(shù)(如波峰值、波谷值、平均值、標準方差等),最終通過相關參數(shù)計算出血氧飽和度的數(shù)值[24]。
本文提出一種新的檢測方法——MTCNN-EVMEVM-EEMD-WT方法,其流程圖如圖1所示。
圖1 MTCNN-EVM-EVM-EEMD-WT方法流程圖
MTCNN算法是采用基于Tensor RT加速的人臉檢測算法[25]。Tensor RT是一個高性能的深度學習推理優(yōu)化器[26],擁有多種優(yōu)化方式,可以為深度學習提供低延遲、高吞吐率的部署推理,用于對NVIDIA的圖形處理器(graphic processing unit,GPU)進行高性能推理加速,加快MTCNN算法的運行速度。MTCNN算法主要采用3個級聯(lián)的網(wǎng)絡,采用候選框加上分類器的方法進行快速高效的人臉檢測。實現(xiàn)MTCNN算法需要完成以下4個步驟:
(1)生成圖像金字塔:以適應不同大小的人臉,方便對其進行檢測。
(2)P-Net:生成人臉候選框。通過非極大值抑制去除重合度高的人臉圖片,對回歸向量進行校正。
(3)R-Net:判斷人臉候選框中的人臉,并對原有的人臉候選框進行修正。
(4)O-Net:使用更復雜的網(wǎng)絡對模型性能進行優(yōu)化,輸出人臉框和關鍵點。
由于心臟的搏動和血液循環(huán),臉部血液容積發(fā)生變化,其吸收的光照強度也會隨之發(fā)生變化,從而導致臉部皮膚產(chǎn)生細微的變化,這些變化雖然不易被肉眼察覺,但是包含了豐富的生理特征信息。EVM算法分為顏色放大和運動放大,可以分別放大視頻中的顏色和運動變化,使肉眼可以觀察到微小的變化。EVM算法相比以前基于拉格朗日視角的放大技術,復雜度更低,需要的計算資源更少,放大效果更好。
EVM算法包括空間濾波、時域濾波、放大合成三部分[27]。空間濾波是通過建立圖像金字塔實現(xiàn)的,如圖2所示,顏色放大時建立高斯金字塔圖像序列,運動放大時建立拉普拉斯金字塔圖像序列。時域濾波通過帶通濾波器完成,如巴特沃斯濾波器、理想帶通濾波器等。放大合成部分是選擇合適的放大倍數(shù)并與原視頻合成,得到放大后的視頻。本文創(chuàng)新地采用了EVM算法運動放大和顏色放大相結(jié)合的方法,先進行運動放大再進行顏色放大,對微弱的生理特征信息進行充分放大,使其更加明顯。
圖2 空間濾波圖像金字塔建立過程
對放大后的視頻進行通道分離,選取紅(R)、藍(B)2個通道圖像,按時間序列對2個通道取每幀圖像灰度值均值,得到2組含有生理特征信息的信號,本文稱之為IPPG信號。
信號濾波階段采用EEMD-WT聯(lián)合濾波算法。首先,進行EEMD,采樣頻率取100 Hz,為了方便后面進行平穩(wěn)WT,每組IPPG信號取1 024個數(shù)據(jù)。EEMD算法可以選出代表基線漂移偽跡的幾個本征模態(tài)分量,將其置零后疊加剩余的所有本征模態(tài)分量生成處理后的信號,利用EEMD算法消除基線漂移。然后,利用WT算法去除高頻噪聲,設置小波分解層數(shù)為4層。最后,去掉前3層小波系數(shù),重構,得到平滑的信號。EEMD-WT聯(lián)合濾波過程如圖3所示。
圖3 EEMD-WT聯(lián)合濾波過程示意圖
進行血氧飽和度計算時,一般采用經(jīng)驗公式[28-29],即
式中,SpO2為血氧飽和度;A、B、C為經(jīng)驗參數(shù),最終根據(jù)“金標準”(指夾式血氧儀檢測結(jié)果)和R值數(shù)據(jù)擬合得到。系數(shù)R值可以從信號中計算出來,計算公式為
式中,IAC為交流分量,其值為濾波后IPPG信號的標準方差;IDC為直流分量,其值為濾波后IPPG信號的平均值。下角標1和2分別表示第1組信號的變量和第2組信號的變量。
最終通過曲線擬合得到血氧飽和度計算公式(3)和(4),通過后續(xù)實驗選取最合適的計算公式。
實驗條件:招募7名志愿者,年齡20~30歲,沒有服用藥物且身體健康。在不同時間段的自然光照下,志愿者距離網(wǎng)絡攝像頭1 m左右,靜息狀態(tài)下錄制多組視頻,視頻時長1 min左右,分辨力為1 920×1 080。參考多篇文獻[12-14,18,21],圖像幀率選取30幀/s能夠滿足檢測要求。
實驗設置示意圖如圖4所示。實驗時,志愿者同時采用指夾式血氧儀檢測血氧飽和度,其結(jié)果作為“金標準”使用,與本算法得到的結(jié)果進行對比。為保證血氧飽和度在時間上的同步,在錄制視頻時,同時將指夾式血氧儀的顯示界面錄入其中,因此每一秒視頻都有指夾式血氧儀數(shù)值與之對應。使用NVIDIA Jetson Xavier NX開發(fā)板代替?zhèn)鹘y(tǒng)便攜式計算機作為數(shù)據(jù)處理單元,其體積小、質(zhì)量輕、遷移性強,計算能力不弱于普通便攜式計算機,且圖像處理能力更強,能夠提高檢測效率。
圖4 實驗設置示意圖
本次實驗設計為算法參數(shù)選取實驗和“金標準”對比實驗。算法參數(shù)選取實驗包括EVM算法和濾波算法的對比選?。弧敖饦藴省睂Ρ葘嶒炇窍韧瓿杀疚姆椒z測結(jié)果與指夾式血氧儀檢測結(jié)果之間的對比,然后再將本文方法與其他方法的檢測精度進行比較。
3.2.1 EVM算法選取實驗
本次實驗共選取20個視頻,標號為1~20,進行4組血氧飽和度檢測實驗。第1組采用先顏色放大、后運動放大的算法,第2組采用先運動放大、后顏色放大的算法,第3組只采用顏色放大算法,第4組只采用運動放大算法。每組結(jié)果與指夾式血氧儀檢測結(jié)果進行對比,計算出平均誤差,最終選出最合適的EVM算法。本次實驗血氧飽和度檢測結(jié)果如圖5所示。
圖5 EVM算法選取實驗血氧飽和度檢測結(jié)果
根據(jù)指夾式血氧儀檢測結(jié)果,對每組檢測結(jié)果求平均誤差,得出先顏色放大、后運動放大的平均誤差為1.0%,先運動放大、后顏色放大的平均誤差為0.9%,只進行顏色放大的平均誤差為1.0%,只進行運動放大的平均誤差為1.0%。由此可知,EVM的各種算法對本次實驗血氧飽和度檢測精度的影響較小,其中,先運動放大后顏色放大的算法平均誤差最小。因此,本文選用先進行運動放大再進行顏色放大的EVM算法。
3.2.2 濾波算法選取實驗
本實驗進行3次2種不同的濾波算法對比實驗,一種為EEMD-WT聯(lián)合濾波算法,另一種為較為常用的巴特沃斯濾波算法。每次實驗選用21個視頻進行血氧飽和度檢測,依次標號1~21,將實驗結(jié)果與指夾式血氧儀檢測結(jié)果進行對比,并求出平均誤差。濾波算法選取實驗的3次血氧飽和度檢測結(jié)果如圖6所示。對各檢測結(jié)果與指夾式血氧儀檢測結(jié)果進行對比,求平均誤差,詳見表1。
由圖6和表1可知,EEMD-WT聯(lián)合濾波算法濾波效果要比巴特沃斯濾波算法效果好,EEMD-WT聯(lián)合濾波算法的平均誤差為0.952%、1.333%、1.000%,小于巴特沃斯濾波算法的平均誤差(1.524%、1.952%、1.667%)。因此,綜合3次實驗的平均誤差,選用EEMD-WT聯(lián)合濾波算法。
表1 血氧飽和度檢測結(jié)果的平均誤差單位:%
圖6 濾波算法選取實驗的血氧飽和度檢測結(jié)果
為了驗證本文檢測方法的準確性,擴大血氧飽和度的檢測范圍,設計了憋氣實驗。實驗過程如下:為志愿者錄制一段2 min左右的視頻,期間志愿者進行2次憋氣,使血氧飽和度降低;對整段視頻的每256幀(約8.5 s)檢測一次,與指夾式血氧儀檢測結(jié)果對比,驗證血氧飽和度的檢測精度和變化趨勢。并且分別對2個待選的血氧飽和度計算公式(3)和公式(4)進行對比實驗?!敖饦藴省睂Ρ葘嶒灥难躏柡投葯z測結(jié)果如圖7所示。
圖7 “金標準”對比實驗的血氧飽和度檢測結(jié)果
圖7中綠色曲線為指夾式血氧儀的檢測結(jié)果,實驗期間該曲線有2次較大的波動,是2次憋氣造成的血氧飽和度數(shù)值變化。本文方法的檢測結(jié)果曲線與其有相似的變化趨勢,且經(jīng)過計算,公式(3)的平均誤差為1.568 2%,公式(4)的平均誤差為1.659 1%,因此,選擇公式(3)作為血氧飽和度的計算公式。再對公式(3)檢測結(jié)果進行Bland-Altman一致性分析[30],結(jié)果如圖8所示。
圖8 血氧飽和度的Bland-Altman一致性分析
在Bland-Altman一致性分析中,沒有點落在95%的置信區(qū)間之外,只有一個點落在區(qū)間邊界上,其余點全部在區(qū)間之內(nèi),表明本文方法的檢測結(jié)果與指夾式血氧儀的檢測結(jié)果具有較好的一致性。
經(jīng)過上述試驗,算出最終的平均誤差,并與其他文獻的檢測結(jié)果誤差進行對比。文獻[31]的血氧飽和度檢測誤差為0.25%~1.5%,文獻[32]和文獻[33]的檢測誤差均不超過±3%,文獻[34]的檢測誤差不超過±2%,而本文方法的平均誤差為1.1506%,與其他文獻的檢測誤差相比,本文檢測誤差較小,檢測精度雖然不能完全超過,但也超過了絕大多數(shù)的方法,達到了預期要求。其中,文獻[31]有特定檢測對象——老年人,且血氧飽和度樣本范圍集中在97%~99%,范圍較小,所以精度有時可能較高。而本文血氧飽和度樣本范圍為92%~99%,且無特定對象,普適性更強。
非接觸式血氧飽和度檢測方法具有很大的應用潛力,是血氧飽和度檢測的重要發(fā)展方向之一。本文綜合人臉檢測算法、EVM算法和濾波算法,創(chuàng)新地提出了MTCNN-EVM-EVM-EEMD-WT方法。該方法可以很好地完成血氧飽和度的非接觸式檢測,且誤差較小,平均誤差不到2%,能夠達到預期要求。通過“金標準”對比實驗,得出該方法檢測結(jié)果與接觸式血氧儀檢測結(jié)果具有較好的一致性。未來的工作重點是進一步擴大低血氧飽和度的樣本,完善檢測方法和優(yōu)化算法,擴大非接觸式血氧飽和度檢測方法的應用領域。