高冠群, 楊學(xué)志, 劉雪南, 張 龍, 王定良
(1.合肥工業(yè)大學(xué) 計算機(jī)與信息學(xué)院,安徽 合肥 230601; 2.工業(yè)安全與應(yīng)急技術(shù)安徽省重點實驗室,安徽 合肥 230601)
心臟作為人體心血管系統(tǒng)的發(fā)動機(jī),負(fù)責(zé)給整個心血管系統(tǒng)提供動力,促進(jìn)血液在全身周而復(fù)始地流動,在皮膚表面引發(fā)顏色變化的同時對血管壁引發(fā)壓力變化,進(jìn)而形成搏動的特征[1],脈搏波便是記錄這些波動參數(shù)的曲線,同時也反映了心血管系統(tǒng)的健康狀況[2],是評價健康水平的重要指標(biāo)。
血液在整個心血管系統(tǒng)中的流動,會使皮膚表面產(chǎn)生2種變化:顏色變化[3]和運(yùn)動變化[4]。顏色變化是由于血液容積的變化導(dǎo)致對自然光的吸收率不同,進(jìn)而引發(fā)皮膚周期性的明暗變化。運(yùn)動變化則是由于血液在流經(jīng)各級動脈系統(tǒng)時會對各級動脈血管壁產(chǎn)生不同的壓力波,壓力波隨血液傳播在皮膚表面引發(fā)皮膚的周期性微小運(yùn)動。通過圖像光電容積脈搏波描記法[5](image photo plethysmography,IPPG),可以利用遠(yuǎn)距離非接觸式拍攝的視頻獲取脈搏波信號。
文獻(xiàn)[6]使用人臉視頻作為輸入進(jìn)行脈搏波檢測,并成功計算心率。該方法在人臉中劃分感興趣區(qū)域(region of interest,ROI),在ROI區(qū)域中通過計算像素值的變化來表征面部的顏色變化,通過獨(dú)立成分分析(independent component analysis,ICA)模型[7]從R、G、B 3個信號中分離出3個獨(dú)立的基向量并選用第1個向量估算心率。文獻(xiàn)[8]改進(jìn)了上述算法,對每一個向量進(jìn)行功率譜分析并選用最大的1個向量作為血液容積脈搏波(blood volumn pulse,BVP)信號。
文獻(xiàn)[9]基于歐拉視頻放大(Eulerian video magnification,EVM)算法[10]提出了一種非接觸式脈搏波檢測方法,將臉部顏色即血液引起的變化進(jìn)行放大,而后取全部像素值進(jìn)行平均得出BVP,統(tǒng)計該BVP波形的極值點計算心率,該方法僅使用像素平均值進(jìn)行計算,受噪聲干擾嚴(yán)重,準(zhǔn)確率低。
文獻(xiàn)[11]提出了根據(jù)頭部運(yùn)動提取脈搏波并計算心率的算法,由于血液流經(jīng)頸動脈到達(dá)頭部,促使頭部產(chǎn)生小幅度運(yùn)動。算法通過跟蹤人頭部的特征點,并根據(jù)感興趣的時域頻帶進(jìn)行過濾,而后使用主成分分析法(principal component analysis,PCA)[12]提取由脈沖引起的周期性信號。最后通過檢測信號的頻譜來提取平均脈沖率,并使用峰值檢測算法獲得精確的心率,該方法受頭部微小晃動噪聲影響較大,影響檢測精度。
文獻(xiàn)[13]提出了一種抗干擾的心率檢測算法,該算法針對運(yùn)動干擾問題,使用檢測人臉特征點以及角點跟蹤(kanade lucas tomasi tracking,KLT)算法[14]跟蹤人臉并實施矯正。該算法提高了在理想情況下的檢測精度,但是因使用理想帶通濾波損失了很多檢測細(xì)節(jié),并且計算量龐大。
文獻(xiàn)[15]基于EVM算法,提出了對放大腕部橈動脈微小變化提取脈搏波的算法,橈動脈的搏動變化可以比面部顏色的變化提供更多的信息,波形更加完備,但是該算法使用顏色空間進(jìn)行分割和選取,抗光照干擾的能力較差,成功率較低。
針對上述問題,本文提出一種基于相位變化的頸動脈脈搏波提取算法,利用相位變化和運(yùn)動變化的對應(yīng)關(guān)系,建立基于相位變化[16]的頸動脈搏動信號的描述實現(xiàn)對脈搏波的檢測,不僅有效保存了波形的細(xì)節(jié)信息,而且提高了檢測精度和抗噪性能。
本文提出了一種基于相位變化的脈搏波提取方法,算法主要分為以下4個部分:① 使用EVM進(jìn)行視頻放大,并將放大后的視頻分塊計算信噪比(signal noise ratio,SNR),選擇信噪比最高的分塊,即為ROI區(qū)域;② 對ROI區(qū)域進(jìn)行復(fù)可控金字塔分解[17],得到局部頻譜和相位譜,對相位譜進(jìn)行計算得到相位差;③ 通過時域帶通濾波選擇感興趣頻段內(nèi)的相位差信號,并使用主成分分析算法[12]提取主要成分;④ 通過信號選擇分離出純凈的脈搏波信號,最后估算心率。
整體算法框架如圖1所示。
圖1 整體算法框架
選擇最優(yōu)ROI區(qū)域的方法是通過EVM算法放大頸動脈的微小運(yùn)動,然后對每幅圖像分塊,計算每塊的信噪比,取信噪比最大的塊作為感興趣區(qū)域。
輸入的視頻每一幀的大小為640×480,分塊后選擇子塊進(jìn)行計算可以濾除環(huán)境噪聲,同時節(jié)省運(yùn)算時間和降低計算量,并降低 PCA提取主成分的難度。
EVM在空間域上利用拉普拉斯金字塔將視頻分解為不同空間分辨率的幀序列;然后對視頻幀序列使用快速傅里葉變換(fast Fourier transform,FFT)變換轉(zhuǎn)換到頻域進(jìn)行濾波,使用有限脈沖響應(yīng)(infinite impulse response,IIR)濾波器濾除不相關(guān)頻段的信號,而后進(jìn)行視頻放大和重構(gòu)。
將放大后的視頻重新輸入,并將每一幀圖分成大小為40×40的塊,共計192塊,均勻分割整幅圖像的同時保證每個分塊中包含足夠的頸動脈搏動信息。計算每個子塊的信噪比,選出信噪比最大的塊作為最優(yōu)ROI區(qū)域。
本節(jié)輸入視頻為640×480×600矩陣,令輸入矩陣表示為G(i,j,t)。其中:t為視頻的總幀數(shù);i、j分別為在第t幀內(nèi)像素點的橫坐標(biāo)和縱坐標(biāo)。選取最大信噪比過程如圖2所示。
圖2 最優(yōu)ROI區(qū)域選取示意圖
選取最優(yōu)ROI的具體步驟如下:
(1) 對圖像分塊,沿x軸與y軸方向,以40為邊長進(jìn)行分塊,每一幀圖像分為192個塊,令Gmn(s,k,t)表示分塊函數(shù)。其中:m、n分別為每一塊的坐標(biāo)位置;s、k、t為分塊內(nèi)部的像素位置和時間序列。
(2) 求第(m,n)個分塊的像素平均值,計算公式如下:
(1)
其中,ROImn(t)為第(m,n)個分塊第t幀的像素平均值,是1個1×600的時間序列。
(3) 求每個子塊的信噪比,并求出信噪比最大的分塊坐標(biāo),計算公式如下:
(2)
其中,(u,v)為所求最大信噪比分塊所在位置的坐標(biāo)。
金字塔分解及計算相位差流程如圖3所示。
圖3 金字塔分解與計算相位差流程
對視頻中ROI區(qū)域的視頻幀序列做處理。使用復(fù)可控金字塔,對圖像進(jìn)行不同尺度和不同方向的分解。不同方向濾波器的設(shè)計公式如下:
(3)
(3)式中,k表示分解的總方向個數(shù),每個方向b下的方向模板是anglemaskb,b取值范圍為1,2,3,…,k。例如,當(dāng)k=4時,可以得到4個方向的濾波器,即使用復(fù)可控金字塔對4個方向的運(yùn)動進(jìn)行分解。由于頸動脈是1條垂直方向的大動脈,視頻中計算公式可以被捕捉到的運(yùn)動是水平方向運(yùn)動,因此選擇水平方向相位譜。
假設(shè)視頻輸入信號在時刻t,以視頻中ROI區(qū)域內(nèi)的1個像素點為例,位置x處的像素,一維信號的強(qiáng)度表示為l(x,t)。隨著時間推移,像素的位置產(chǎn)生移動后的強(qiáng)度計算公式如下:
(4)
其中,δ(t)為位移函數(shù)中較小的幅度。首先,利用傅里葉級數(shù)分解,將位移圖像輪廓f(x+δ(t))表示成多個復(fù)雜的正弦曲線之和,計算公式如下[16]:
(5)
其中:每一個子帶都對應(yīng)著1個頻率ω;φω為相位信號。
根據(jù)FFT變換的平移性質(zhì),可以計算出I(x,t)的傅里葉變換結(jié)果,公式如下:
I(x,t)=f(x-δ(t))=
(6)
對于(6)式中的每一個頻率ω,其復(fù)指數(shù)形式如下:
Sω(x,t)=Aωei(φω+ωδ(t))e-iωx
(7)
當(dāng)t=0時,相位為φω,其他時刻的相位為φω=φδ(t)。將t≠0時刻的相位與t=0時刻的相位相減,得相位差公式如下:
Bω(x,t)=ωδ(t)
(8)
則點x處的相位差是1個1×600的一維信號,600是視頻幀的個數(shù)。這里需要計算ROI分塊中所有像素點的相位差信號,然后進(jìn)行下一步的時域濾波和PCA提取主成分。
得到相位差值后,進(jìn)行時域帶通濾波,通過設(shè)置合適的帶通上下閾值,提取到感興趣頻段內(nèi)的運(yùn)動,這里使用經(jīng)典的帶通濾波器IIR帶通濾波器完成濾波。
將每一個點的相位差信號作為1個樣本數(shù)據(jù),組成1個輸入數(shù)據(jù)矩陣,即
mt=[B1(t)B2(t) …BN(t)]
(9)
其中:t為視頻幀數(shù);N為ROI分塊中的像素個數(shù);N=40×40,共計1 600個像素點。
求輸入矩陣的協(xié)方差矩陣,即
(10)
(11)
協(xié)方差矩陣的特征向量和特征值為:
(12)
其中:Λm為對角矩陣,對應(yīng)求出的特征為λ1,λ2,…,λN;Φm為對應(yīng)的特征向量;Φ1,Φ2,…,ΦN組成特征向量矩陣。
將特征向量按特征值的大小進(jìn)行從上到下的排列,取前D個特征值所對應(yīng)的特征向量,并組成矩陣QL。這里,D個特征值對應(yīng)著D個主要成分,其中參數(shù)D是通過計算主成分的貢獻(xiàn)率從而得到的。D個主成分一一對應(yīng)的信號都可以通過對特征向量矩陣進(jìn)行反投影得到,公式如下:
(13)
PCA方法提取了D個主要成分,但還要從中找出最合適的1個主成分代表脈搏波。雖然主成分按照方差大小依次排列,第1個主成分解釋了大部分方差,但S1可能無法最清晰地分析脈搏波,應(yīng)該選擇周期性最強(qiáng)的Si。實驗發(fā)現(xiàn)前5個主成分包含了原始信號中98%以上的信息,因此只在前5個主成分中選擇即可[11],根據(jù)功率譜的最大值占總功率譜值的百分比來計算,選擇前5個中最大的1個,即為提取的脈搏波。所提取的脈搏波如圖4所示。
圖4 脈搏波信號示意圖
提取到脈搏波之后,通過FFT變換得到脈搏波對應(yīng)的功率譜,并通過功率譜計算心率值,功率譜中功率最大的值所對應(yīng)的頻率即為心跳的頻率。估算心率流程如下:
輸入總幀數(shù)為N=600的脈搏波信號y以及功率譜P(f),計算功率譜中峰值所對應(yīng)的頻率fmax。
(14)
根據(jù)(14)式求得的最大頻率,計算心率值。
HRy=60fmax
(15)
(15)式中,HRy為心率值,通過計算得到的心率值可以作為脈搏波提取算法的定量分析的重要參考指標(biāo)。
本節(jié)將設(shè)計2組對比試驗驗證該算法的有效性和準(zhǔn)確性。
(1) 使用接觸式檢測設(shè)備PWS-20D的值作為真值,與算法的實驗值對比,驗證本文提出算法的準(zhǔn)確性和穩(wěn)定性。
(2) 在不同光照條件下,以心率值作為定量分析的標(biāo)準(zhǔn),分別與文獻(xiàn)[13]和文獻(xiàn)[15]提出的非接觸式脈搏波檢測算法進(jìn)行對比,驗證本文提出算法在準(zhǔn)確度和抗光照干擾方面的優(yōu)勢。
實驗裝置如圖5所示。使用筆記本電腦自帶的攝像頭作為采集設(shè)備,PWS-20D設(shè)備也同時連接在電腦上,筆記本攝像頭正對受測者頸部,正對距離大概0.5 m左右。采集視頻時應(yīng)保證受測者上半身(尤其是頸部和頭部)避免較大幅度的運(yùn)動。在采集頸部視頻的同時,也使用PWS-20D設(shè)備通過接觸式方法采集指尖的脈搏波,該設(shè)備基于PPG原理,對指尖發(fā)出強(qiáng)光并通過傳感器接收信號,可以準(zhǔn)確采集脈搏波波形并自動保存成一維數(shù)組,能夠作為視頻處理所得脈搏波的參考。
圖5 實驗裝置示意圖
實驗過程通過surface筆記本電腦控制,程序運(yùn)行環(huán)境是Matlab,視頻錄制采用RGB顏色空間,視頻幀率為30幀/s,設(shè)置視頻分辨率為640×480,攝制時長為20 s,總計600幀。本次實驗中共15名受測者參與實驗,包括10名男性和5名女性,年齡為22~68歲,每次采集均是同步進(jìn)行頸部視頻的錄制和PWS-20D設(shè)備的波形采集。最后,從定量分析的角度來評價算法的有效性,采用平均誤差Me、均方誤差RMSE和準(zhǔn)確率HRac作為本節(jié)的評價指標(biāo)。
第1組實驗,為了驗證所提出算法的準(zhǔn)確性和有效性,通過本文算法計算得出的心率實驗值和PWS-20D設(shè)備的心率真值進(jìn)行對比。對15名志愿者進(jìn)行頸部頸總動脈脈搏波的提取,同步使用非接觸式脈搏波檢測設(shè)備PWS-20D采集脈搏波,計算心率值。
為了驗證算法的準(zhǔn)確性,對通過多組共同測量的數(shù)據(jù)得到的散點圖進(jìn)行評估。實驗中,分別對15名受測者每人做3組實驗,每組實驗均包含接觸式檢測和非接觸式檢測,共45對數(shù)據(jù)。受測者包括術(shù)后康復(fù)期的病人(術(shù)后康復(fù)期的病人心率一般較低),以及靜息狀態(tài)下的年輕人和輕微運(yùn)動后的年輕人。使用散點圖進(jìn)行一致性分析,如圖6所示。
圖6 一元線性回歸分析檢測結(jié)果的一致性
圖6中橫坐標(biāo)是心率參考值,縱坐標(biāo)是心率實驗值,每組輸入數(shù)據(jù)包含1組心率實驗值和真實值的數(shù)據(jù),對應(yīng)了坐標(biāo)系中的1個點。參考值的點會呈現(xiàn)出斜率為1的直線,本實驗中參考值如圖6中的藍(lán)線,橫貫坐標(biāo)軸,實驗點則以(真實值,實驗值)的形式分布在直線附近。圖6中星號所代表的每一個點的橫坐標(biāo)即為接觸式設(shè)備PWS-20D的值,縱坐標(biāo)為通過本文方法測量出來的實驗值。
從圖6可以看出,所有的點都分布在直線附近,表明本文提出的非接觸式脈搏波檢測算法具有很好的準(zhǔn)確性和一致性。
為了驗證本文算法抗光照干擾的能力,設(shè)計第2組實驗,在自然光、弱光和LED燈3種不同光源下,將本文算法分別與文獻(xiàn)[13]和文獻(xiàn)[15]進(jìn)行對比。
文獻(xiàn)[13]使用面部作為檢測部位,通過顏色放大臉部毛細(xì)血管中血液顏色的微小變化提取脈搏波;文獻(xiàn)[15]使用腕部作為檢測部位,通過歐拉運(yùn)動放大的方法對腕部橈動脈進(jìn)行微小運(yùn)動的放大提取脈搏波。
本次實驗輸入視頻時長為20 s,幀率為30幀/s。不同環(huán)境光下3種方法的心率檢測結(jié)果見表1所列。實驗結(jié)果對比如圖7所示。
圖7 實驗結(jié)果對比圖
表1 不同光照場景下心率檢測結(jié)果
實驗結(jié)果表明,在3種光源下本文方法均具有較好的準(zhǔn)確性和穩(wěn)定性,且在弱光場景下,本文算法的準(zhǔn)確率依舊達(dá)到91.45%,平均誤差只有3.208,具有明顯優(yōu)勢。
為了驗證本文算法抗運(yùn)動干擾的能力,設(shè)計第3組實驗,實驗中共10名受測者,在自然光背景下,5名受測者進(jìn)行受檢測部位的小幅運(yùn)動(包括說話和點頭),3名受測者保持不動,2名受測者進(jìn)行受測部位的大運(yùn)動(包括轉(zhuǎn)動脖子,左右晃動)。錄制共計30個視頻,將本文算法分別和文獻(xiàn)[13]及文獻(xiàn)[15]進(jìn)行運(yùn)動干擾的對比,結(jié)果見表2所列。
表2 運(yùn)動干擾下心率檢測結(jié)果
從表1可以看出,本文方法各項指標(biāo)比文獻(xiàn)[13]和文獻(xiàn)[15]的方法在不同光照干擾下均有顯著提升。
其主要原因如下:
(1) 文獻(xiàn)[13]使用臉部視頻,通過顏色放大檢測表面毛細(xì)血管中血液的明暗變化,以此檢測脈搏波并計算心率。該方法將視頻由RGB通道轉(zhuǎn)到Y(jié)IQ通道進(jìn)行計算,雖然能夠較好地觀測亮度變化,但是大大降低了抗環(huán)境光亮度變化干擾的能力。利用復(fù)可控金字塔進(jìn)行方向分解并選擇水平運(yùn)動方向的相位譜計算相位差,同時,通過相位差進(jìn)行計算在原理上便可以較好地減少光照干擾。
(2) 文獻(xiàn)[15]采用腕部橈動脈視頻作為輸入信號,但是該方法將整個手臂的區(qū)域整體進(jìn)行計算得出脈搏波,易受到環(huán)境光亮度變化的干擾,會受到手臂運(yùn)動噪聲的干擾,導(dǎo)致檢測結(jié)果不夠準(zhǔn)確。
本文方法通過視頻放大和計算信噪比選擇頸動脈搏動區(qū)域作為ROI區(qū)域,濾除大量環(huán)境噪聲,因此比文獻(xiàn)[15]的準(zhǔn)確度高。
從表2可以看出,本文方法各項指標(biāo)較文獻(xiàn)[13]和文獻(xiàn)[15]的方法在運(yùn)動干擾下也有顯著提升。其主要原因如下:
(1) 文獻(xiàn)[13]通過旋轉(zhuǎn)矯正解決面部運(yùn)動干擾,但矯正會減少數(shù)據(jù)量,同時矯正對于頭部轉(zhuǎn)動等運(yùn)動效果很差。
(2) 文獻(xiàn)[15]對檢測手臂整體區(qū)域進(jìn)行處理,容易受到環(huán)境運(yùn)動噪聲的干擾從而影響準(zhǔn)確率。
本文方法首先通過ROI選擇感興趣區(qū)域來濾除大量環(huán)境噪聲的干擾,同時利用復(fù)可控金字塔進(jìn)行方向分解并選擇水平運(yùn)動方向的相位譜計算相位差,可以直接濾除水平方向之外其他方向的運(yùn)動噪聲,因此比文獻(xiàn)[13]和文獻(xiàn)[15]的準(zhǔn)確率高。
本文提出了一種基于相位處理的脈搏波提取算法,該算法基于IPPG原理,通過錄制頸部頸總動脈的搏動視頻,首先選取最優(yōu) ROI區(qū)域,然后對ROI區(qū)域進(jìn)行復(fù)可控金字塔分解,取水平方向相位譜計算相位差,然后進(jìn)行時域濾波,通過PCA算法提取主成分,即為所求脈搏波信息,使得處理后的波形更加純凈且具有更多的細(xì)節(jié)信息。本文設(shè)計了3組實驗對算法準(zhǔn)確性和穩(wěn)定性進(jìn)行驗證,通過與PWS-20D設(shè)備進(jìn)行準(zhǔn)確率對比;與文獻(xiàn)[13]和文獻(xiàn)[15]所提的方法在不同光照條件下進(jìn)行對比實驗,驗證了本文算法具有較高的準(zhǔn)確度和較強(qiáng)的抗光噪聲干擾能力。