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