王賓如
(天津理工大學(xué)電氣電子工程學(xué)院,天津300384)
成像式光電容積掃描技術(shù)(remote Photoplethysmog?raphy,rPPG)使得人們可以利用普通攝像機(jī)檢測(cè)心率、心率變異性、呼吸率、血壓、血氧飽和度等生理參數(shù)[1-6],實(shí)現(xiàn)了一個(gè)舒適且低成本的生理信號(hào)監(jiān)測(cè)方式。目前最為精準(zhǔn)的心率檢測(cè)方法是心電圖(Electrocardiogram,EEG)和脈搏波容積圖(Photoplethysmography,PPG),但這兩種方法在使用過(guò)程中需要復(fù)雜的電極連接,造成檢測(cè)者的不適。相對(duì)于接觸式的心率檢測(cè)方法,非接觸心率估計(jì)不需要與被檢測(cè)者發(fā)生接觸,其主要原理是在心臟收縮與舒張的過(guò)程中,面部血管的血容量會(huì)隨著心臟跳動(dòng)而產(chǎn)生周期性變化,而血容量的周期性變化會(huì)引起皮膚顏色的周期性變化,通過(guò)攝像機(jī)捕捉并結(jié)合信號(hào)處理方法提取這一由心臟跳動(dòng)引起的微小顏色變化,可實(shí)現(xiàn)非接觸式的心率檢測(cè)[7-9]。非接觸心率估計(jì)無(wú)需受試者佩戴傳感器,采用普通攝像頭即可實(shí)現(xiàn),成本低且使用方便。圖1顯示了心率測(cè)量的發(fā)展歷程,從圖1中可以看出心率檢測(cè)方式由最初的侵入式發(fā)展到現(xiàn)在的非接觸式。

圖1 心率測(cè)量方式的發(fā)展
近幾年來(lái),基于人臉視頻的非接觸式心率估計(jì)在生物醫(yī)學(xué)領(lǐng)域和計(jì)算機(jī)視覺(jué)領(lǐng)域引起了很多關(guān)注,出現(xiàn)了許多行之有效的方法,主要可以分為兩類:第一類是基于光學(xué)模型和信號(hào)處理的方法如Verkruysse(G,2008)[10]、Poh(ICA,2010)[11]、DeHaan(CHROM,2013)[12]、Balakrishnan(BCG,2013)[13]、Tulyakov(SAMC,2016)[14]等,這一類方法的心率估計(jì)范式可歸納為:(1)面部關(guān)鍵點(diǎn)檢測(cè)和跟蹤、(2)感興趣區(qū)域提取、(3)RGB信號(hào)提取、(4)濾波和顏色空間轉(zhuǎn)換、(5)后處理、(6)提取血容量脈沖信號(hào)、(7)心率估計(jì)。此類方法在實(shí)驗(yàn)室場(chǎng)景中取得了較好的效果,但仍然有兩個(gè)明顯的缺點(diǎn):①自定義的信號(hào)處理方法不能準(zhǔn)確提取有效特征;②涉及許多手工特征提取和過(guò)濾,導(dǎo)致該方法不能很好的泛化,且手工提取特征的過(guò)程中可能導(dǎo)致丟失與心跳相關(guān)的重要信息。第二類是基于數(shù)據(jù)驅(qū)動(dòng)的方法如Hsu(VGGmodel,2017)[15]、Chen(DeepPhys,2018)[16]、Spetlík(HR-CNN,2018)[17]、Niu(RhythmNet,,2019)[18]、Yu(PhysNet,2019)[19]、Yu(AutoHR,2020)[20]等。這些方法利用深度學(xué)習(xí)來(lái)回歸心率,其輸入為視頻幀,輸出為脈搏波或心率值,通過(guò)損失函數(shù)將誤差優(yōu)化到可接受范圍,基于數(shù)據(jù)驅(qū)動(dòng)的方法將有望應(yīng)對(duì)復(fù)雜的真實(shí)測(cè)量場(chǎng)景中環(huán)境光及運(yùn)動(dòng)等干擾因素的影響。因此本文也針對(duì)基于數(shù)據(jù)驅(qū)動(dòng)的方法開(kāi)展研究,實(shí)現(xiàn)對(duì)人臉視頻的時(shí)空建模。具體地,為準(zhǔn)確定位心跳峰值頻率,首先通過(guò)殘差結(jié)構(gòu)保存中間層特征信息,并利用三維卷積提取脈搏波中的時(shí)空特性,最后使用聯(lián)合損失函數(shù)消除運(yùn)動(dòng)偽差。
本文主要貢獻(xiàn)如下:①改進(jìn)面部關(guān)鍵點(diǎn)檢測(cè)與跟蹤算法,提取出了更為可靠的感興趣區(qū)域;②對(duì)多種常用的三維卷積網(wǎng)絡(luò)進(jìn)行對(duì)比,實(shí)驗(yàn)得出更適用于面部視頻心率估計(jì)的三維卷積網(wǎng)絡(luò)架構(gòu);③與目前最先進(jìn)的方法相比,在公開(kāi)數(shù)據(jù)集評(píng)測(cè)中,本文提出的三維卷積方法在測(cè)量平均心率不僅表現(xiàn)出了優(yōu)異的性能,而且在兩個(gè)數(shù)據(jù)集上均表現(xiàn)穩(wěn)定;④與僅能輸出平均心率值的方法相比,本文方法可以輸出估計(jì)得到的脈搏波曲線,可用于進(jìn)一步的心率變異性分析。
本文的研究方法架構(gòu)如圖2所示,主要步驟可以分為三個(gè)階段。(1)數(shù)據(jù)預(yù)處理:提取面部感興趣區(qū)域。因頭發(fā)、眼部等區(qū)域并不包括心率信息且可能引入干擾,本文采用眼部以下、唇部以下的臉頰區(qū)域作為感興趣區(qū)域,并將感興趣區(qū)域調(diào)整到模型所需的輸入尺寸;(2)三維卷積網(wǎng)絡(luò)設(shè)計(jì):通過(guò)對(duì)主流的三維卷積結(jié)構(gòu)如C3D[21]、P3D[22]進(jìn)行對(duì)比(C3D首次使用具有時(shí)空特征的三維卷積,構(gòu)造對(duì)稱的3×3×3卷積核。P3D在C3D的基礎(chǔ)上利用2D Conv來(lái)替代三維卷積,通過(guò)對(duì)卷積因子分解,將3×3×3的卷積核拆分成1×3×3的空間卷積和3×1×1的時(shí)間卷積,增強(qiáng)網(wǎng)絡(luò)的多樣性),根據(jù)實(shí)驗(yàn)結(jié)果加以改進(jìn),形成了帶有殘差網(wǎng)絡(luò)的新三維卷積模型。(3)信號(hào)后處理:基于濾波器對(duì)模型中提取出來(lái)的脈搏波信號(hào)進(jìn)行后處理,得到最終的心率信號(hào)可用于計(jì)算心率和心率變異性。

圖2 基于三維卷積網(wǎng)絡(luò)的非接觸心率估計(jì)主體框架
本文所用到的實(shí)驗(yàn)數(shù)據(jù)為PURE-HR數(shù)據(jù)集[23]和COHFACE-HR數(shù)據(jù)集[24],數(shù)據(jù)集樣本示例如圖3所示,其中PURE-HR數(shù)據(jù)集共包含10位受試者的60個(gè)視頻樣本,每段視頻時(shí)長(zhǎng)60秒左右,幀率為30Hz。

圖3 數(shù)據(jù)集樣本
在進(jìn)行非接觸心率檢測(cè)算法訓(xùn)練前,首先需將視頻幀與真實(shí)心率脈搏波信號(hào)(PPG)對(duì)齊(PURE-HR和COHFACE-HR數(shù)據(jù)集中存在著真實(shí)的脈搏波心率信號(hào)作為真值進(jìn)行訓(xùn)練和驗(yàn)證),以PURE-HR數(shù)據(jù)集為例,因視頻幀率為30Hz,而PPG信號(hào)的采樣率為256Hz,需在不損失心跳峰值的情況下將其下采樣到30Hz,如圖4所示,這樣使視頻中每一幀與真實(shí)心電信號(hào)中的每一個(gè)數(shù)據(jù)點(diǎn)幅值一一對(duì)應(yīng)。

圖4 視頻幀與真實(shí)心率對(duì)齊
預(yù)處理還包括感興趣區(qū)域提取,本文采用Open?Face[25]預(yù)訓(xùn)練模型進(jìn)行人臉檢測(cè),在人臉檢測(cè)的基礎(chǔ)上進(jìn)行關(guān)鍵點(diǎn)檢測(cè),如圖5所示,OpenFace可輸出68個(gè)面部關(guān)鍵點(diǎn)(黃色數(shù)字序號(hào)標(biāo)出),依據(jù)面部結(jié)構(gòu),依次連接特征點(diǎn)2、3、4、5、52、13、14、15、16、29。如圖6所示,去除諸如背景、頭發(fā)、眼睛之類與心率信號(hào)檢測(cè)無(wú)關(guān)區(qū)域,并將提取出來(lái)的感興趣區(qū)域重新調(diào)整大小為64×64。如圖7,取連續(xù)的128幀作為一個(gè)輸入樣本,并采用跨八幀重疊采樣的方法來(lái)擴(kuò)充樣本數(shù)量(既第1到第128幀為一個(gè)樣本,第9到第136幀為另一個(gè)樣本)。

圖5 人臉關(guān)鍵點(diǎn)檢測(cè)

圖6 感興趣區(qū)域提取

圖7 預(yù)處理得到訓(xùn)練樣本
考慮到某一幀人臉檢測(cè)失敗時(shí),我們使用上一幀檢測(cè)出的關(guān)鍵點(diǎn)作為該幀的檢測(cè)結(jié)果,防止算法出現(xiàn)較大偏差。
已有的研究表明[26],三維卷積是一種可在視頻中捕獲空間和時(shí)域特征的方法,連續(xù)幀間的時(shí)域變化特性,通過(guò)三維卷積和三維池化后能夠更好地建立時(shí)序信息,在保留時(shí)序信息的同時(shí)學(xué)習(xí)時(shí)空特性。在非接觸心率估計(jì)中,由于皮膚顏色變化極為細(xì)微,肉眼無(wú)法觀測(cè)到此信息,而脈搏的波動(dòng)與時(shí)序又有很強(qiáng)的相關(guān)性,如使用二維卷積來(lái)處理,將不能很好的考慮連續(xù)幀間的時(shí)空信息,進(jìn)而影響所測(cè)結(jié)果的準(zhǔn)確性。
本文經(jīng)過(guò)多次模型遷移、參數(shù)調(diào)整、交叉驗(yàn)證后,實(shí)驗(yàn)得到適用于非接觸心率估計(jì)的模型,其結(jié)構(gòu)如圖8所示,模型的輸入維度為(batch_size,3,128,64,64),即連續(xù)的128幀感興趣區(qū)域。模型由2D Conv卷積層、Spatio-pool空間池化層、ST_Block時(shí)空卷積塊、Adap?tiveAvg Pool3d自適應(yīng)空間池化層和fully connected全連接層等組成。

圖8 帶有殘差結(jié)構(gòu)的三維卷積網(wǎng)絡(luò)
為學(xué)習(xí)一組將原始皮膚圖像映射到脈搏波特征空間的空間過(guò)濾器,在第一層中2D Conv卷積層中使用1×5×5的空間卷積核替代5×5×5的三維卷積核,可等價(jià)于學(xué)習(xí)三個(gè)顏色通道的顏色空間變換組合,以獲得更多的脈搏波信號(hào)表示。為避免丟失有效的脈搏波信號(hào),在2D Conv卷積層后立即加上一個(gè)殘差映射,殘差映射的主要目的是為了讓有效的脈搏波特征不需要再去經(jīng)過(guò)后續(xù)的冗余層,跨過(guò)多個(gè)冗余層后直接完成恒等映射或比例映射,將映射輸出與經(jīng)過(guò)2D Conv層的信號(hào)輸出進(jìn)行合并。而經(jīng)過(guò)2D Conv層的信號(hào),使用Spatiopool空間池化層來(lái)減少脈搏波特征空間的大小,再使用ST_Block時(shí)空卷積進(jìn)行濾波,ST_Block時(shí)空卷積結(jié)構(gòu)如圖9所示,該卷積塊是二維空間卷積和一維時(shí)間卷積的組合,在過(guò)濾非脈搏波信號(hào)的同時(shí)增加了脈搏波信號(hào)的非線性特征。

圖9 ST_Block時(shí)空卷積塊結(jié)構(gòu)
隨后的Spatiopool空間池化層與ST_Block時(shí)空卷積塊都是在三維空間上執(zhí)行,以期可保留幀間全部的脈搏波信息。AdaptiveAvgPool3d自適應(yīng)空間池化層將特征信號(hào)壓縮至1個(gè)維度,由于非接觸心率估計(jì)是一個(gè)基于時(shí)間顏色變化的回歸問(wèn)題,所以池化層都采用平均池化。
在非接觸心率估計(jì)任務(wù)中,關(guān)注的是脈搏波的周期變化信息而不是其幅值大小,因此常用的均方誤差損失函數(shù)和交叉熵?fù)p失函數(shù)并不適用于此任務(wù),為了恢復(fù)出與真實(shí)心電信號(hào)趨勢(shì)相同的信號(hào),采用負(fù)皮爾遜相關(guān)系數(shù)作為損失函數(shù),其表達(dá)式如下:

其中,N代表幀數(shù),y pre表示預(yù)測(cè)的脈搏波信號(hào),y gt表示真實(shí)的心率信號(hào),為了保證模型更好的集中于時(shí)間上的特性,我們還設(shè)置了一個(gè)中間約束,既從第四個(gè)ST_Block的輸出進(jìn)行引導(dǎo),壓縮、聚合、平均池化至一維,同樣使用負(fù)皮爾遜相關(guān)系數(shù)作為損失函數(shù),此時(shí)網(wǎng)絡(luò)最終的損失函數(shù)為:

其中L P為最終輸出的損失,L mid為中間層輸出的損失,權(quán)重α是用來(lái)調(diào)節(jié)約束程度(設(shè)置為0.5)。
不同于那些依賴于高層特征的視頻分析任務(wù),如動(dòng)作識(shí)別、字幕生成等,非接觸心率估計(jì)任務(wù)可以通過(guò)較淺的網(wǎng)絡(luò)和較少的過(guò)濾器來(lái)學(xué)習(xí),因?yàn)槠つw表面的顏色變化實(shí)際上是一個(gè)相對(duì)于低層的特征,簡(jiǎn)潔的網(wǎng)絡(luò)結(jié)構(gòu)可防止過(guò)擬合。本文代碼公開(kāi)于網(wǎng)址1,希望與其他學(xué)者交流并改進(jìn)。
從三維卷積網(wǎng)絡(luò)中恢復(fù)出的脈搏波信號(hào)估計(jì)已經(jīng)接近于真實(shí)的心率信號(hào),但進(jìn)一步濾波,有助于得到更高質(zhì)量的心率信號(hào),其步驟如圖10所示。設(shè)計(jì)一個(gè)符合本系統(tǒng)的理想帶通濾波器(三階巴特沃斯帶通濾波器),然后使用傅里葉變換將周期性脈搏波信號(hào)轉(zhuǎn)換到頻域(快速傅里葉變換),對(duì)頻域信號(hào)再進(jìn)行帶通濾波和傅里葉逆變換,得到最終的心率信號(hào)。

圖10 后處理提取心率信號(hào)
在PURE-HR和COHFACE-HR數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),以60%作為訓(xùn)練集,40%作為測(cè)試集(PURE-HR:36/24,COHFACE-HR:96/64),實(shí)驗(yàn)得出epoch設(shè)置為30最佳,表1、表2分別總結(jié)了其他論文和本文在PURE-HR、COHFACE-HR數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。從表1可見(jiàn),在PURE-HR數(shù)據(jù)集中使用三維卷積得到的結(jié)果為RMSE:0.64bpm,MAE:0.65 bpm,R:0.99 bpm,接近于之前最好的結(jié)果(DeeprPPG:RMSE:0.43 bpm,MAE:0.28 bpm,R:0.99 bpm)。但由于PURE數(shù)據(jù)集中受試者的動(dòng)作及環(huán)境光均相對(duì)穩(wěn)定,故數(shù)據(jù)集難度較低,效果趨近于飽和。因此采用COHFACEHR進(jìn)行測(cè)試,COHFACE是一個(gè)高度壓縮的數(shù)據(jù)集,視頻壓縮會(huì)破壞皮膚顏色的細(xì)微變化,故其心率估計(jì)難度要大于PURE-HR,表2顯示,在COHFACE-HR數(shù)據(jù)集中之前最好的結(jié)果(DeeprPPG:RMSE:3.07 bpm,MAE:7.06 bpm,R:0.86 bpm)誤差比PURE-HR要大的多,這同樣也說(shuō)明視頻經(jīng)過(guò)高度壓縮后圖像已經(jīng)失真,已經(jīng)不再適用于檢測(cè)皮膚微小顏色變化的任務(wù),我們?nèi)匀辉贑OHFACE-HR數(shù)據(jù)集上驗(yàn)證了我們的方法,RMSE:5.57 bpm,MAE:5.46 bpm,R:0.78 bpm接近于之前最好的效果。證明了本文方法的可靠性。我們相信在配合后處理之后,其準(zhǔn)確率會(huì)超越當(dāng)前最好的結(jié)果。圖11展示了三維卷積后預(yù)測(cè)的脈搏波信號(hào)波形和真波形的比較,其中黃色波形為模型恢復(fù)出的脈搏波信號(hào),藍(lán)色波形為真實(shí)心電信號(hào),可以看出本文方法估計(jì)出的脈搏波形與實(shí)際心電信號(hào)有很強(qiáng)線性相關(guān)性。

表1 PURE數(shù)據(jù)集平均心率測(cè)量結(jié)果

表2 COHFACE-HR數(shù)據(jù)集平均心率測(cè)量結(jié)果

圖11 三維卷積心率估計(jì)可視化
本文提出了一種基于三維卷積網(wǎng)絡(luò)的心率估計(jì)模型,該模型能夠準(zhǔn)確有效的恢復(fù)面部視頻圖像中含有的脈搏波信號(hào)成分。在PURE-HR數(shù)據(jù)集和COH?FACE-HR數(shù)據(jù)集上進(jìn)行訓(xùn)練和驗(yàn)證的實(shí)驗(yàn)結(jié)果表明,該模型在準(zhǔn)確率上接近當(dāng)前最好的效果,相比于只能恢復(fù)心率值的方法,該模型恢復(fù)的脈搏波信號(hào)還可以分析心率變異性。心率變異性能在更精細(xì)的尺度上描述心臟活動(dòng),其最常見(jiàn)的特征包括低頻(LF,Low Fre?quency)、高頻(HF,High Frequency)以及低頻與高頻的比值,這些特征在許多醫(yī)療應(yīng)用中得到了廣泛的應(yīng)用。非接觸心率估計(jì)在目前仍然存在一些問(wèn)題,在未來(lái)可以在以下研究方向做進(jìn)一步改進(jìn):①在具有光線變化、頭部運(yùn)動(dòng)的現(xiàn)實(shí)場(chǎng)景中,如何在這些“噪聲”同時(shí)存在(或部分存在)的情況下從人臉視頻中恢復(fù)出心率。②使用紅外相機(jī)在光線較弱的場(chǎng)景中恢復(fù)心率。③除心率外其他生理信號(hào)如呼吸率、血氧濃度、血壓等也可以從面部視頻中獲取。