戴 陽,鄭婷婷,楊 雪
(長安大學 信息工程學院,西安 710064)
心率(HR)是人體最重要也是最基本的一項生理指標,在一定程度上能夠反映出人的健康狀況、壓力水平和情緒波動[1].連續的心率檢測對訓練輔助[2],健康監測,駕駛員狀態評估[3]和情感狀態評估等具有重要作用.但在現實生活中,往往使用傳感器如透射式手指脈搏血氧儀測量心率,這種接觸式測量限制人類活動,很難在特定情況之外的日常生活中使用[4].而且,在對于某些特殊群體,如皮膚燒傷病人,好動癥患者,以及新生嬰幼兒等,很難使用接觸式設備進行長時間監測.因此,非接觸式HR測量的研究具有重要意義.
相比于傳統的接觸式心率測量方法,基于rPPG 的非接觸式HR測量方法更加靈活,無需測試者合作即可應用.在rPPG 中,只需數碼相機和環境光即可遠程訪問心臟搏動信息[5].如圖1所示,環境光用作光源,而數碼相機則用作光電轉換器.rPPG 的原理基于以下事實:血液中的血紅蛋白對光具有吸收作用,并且吸收量與血紅蛋白濃度成正比.由于血紅蛋白濃度隨血容量脈沖(BVP)呈準周期性變化,所以血液吸收的光量會隨心動周期在皮膚表面下被BVP 周期性調節,表現為皮膚的輕微顏色變化.盡管由BVP 引起的皮膚輕微的顏色變化對于人眼是不可見的,但是可以使用數碼相機對其進行檢測[6].

圖1 rPPG 實現原理
近些年,一系列基于rPPG 的非接觸式心率檢測方法開始被研究提出.Verkruysse 等人[5]首次證明了使用消費級相機遠程測量心率的可能性.在這一研究中,通過選擇視頻中人臉前額作為ROI,并通過計算ROI 內所有像素的平均值來計算每幀中的原始RGB 信號,并根據血紅蛋白對綠光的吸收比對紅光和藍光的吸收更好的事實,表明G 通道相比于R 通道與B 通道對血液脈沖信號有更好的反應,但對噪聲因素沒有研究.Pho等人[7,8]利用盲源分離的方法,提取rPPG 信號,使用獨立分分析(ICA)對RGB 三通道信號進行盲源分離,選擇第二個源信號作為rPPG 信號進行心率檢測.雖然該方法抑制了噪聲的干擾,但ICA 盲源分離出的源信號是隨機排序,無法確保第二個源信號最能反應血液脈沖信號.Wu 等人[9]提出了一種歐拉視頻放大(EVM)框架,利用空間分解和時間濾波來提取血液脈沖信號信號.這種技術可以放大由BVP 引起的皮膚輕微的顏色變化.因此,該方法可用于使該現象對肉眼可見.但由于放大顏色信號的同時,對頻帶內的噪聲也進行了放大,所以使用該方法提取rPPG 信號進行心率估計仍具有挑戰.Wang 等人[10]提出一種“平面-正交-皮膚”(POS),該方法對檢測到的人臉區域進行皮膚分割,分離出皮膚和非皮膚像素,將皮膚區域作為ROI,在時間歸一化RGB 空間中定義一個與膚色正交的平面來提取用于心率檢測的rPPG 信號,但沒考慮血液脈沖信號被噪聲淹沒的情況.
本文受以上研究啟發,提出一種基于歐拉視頻放大和盲源分離的心率檢測算法,通過歐拉顏色放大技術放大正常心率范圍內的色度信息,防止因噪聲和圖像傳感器限制等原因淹沒rPPG 信號,引入獨立成分分析從色度信息中盲源分離出源信號,抑制頭部微小運動噪聲的干擾,考慮到源信號的隨機性,本文提出一種相關性分析方法,選出最能反應BVP 信號的源信號作為rPPG 信號,通過時域濾波和功率譜密度分析估計出心率,并通過多組實驗驗證了本文方法的性能.
本文提出的非接觸式HR測量算法主要包括4 個主要步驟,具體框架如圖2所示,首先對輸入視頻進行歐拉視頻放大,接著對放大后的視頻進行ROI 選取與跟蹤,然后在ROI 內提取源信號,最后對選出的源信號分析,估計出HR值.每個步驟的細節在下面的小節中進行了說明.

圖2 心率檢測框架圖
為了克服人類視覺系統的局限性,揭示視頻中難以,或不可能用肉眼看到的時間變化,提出了歐拉視頻放大技術.該框架是2012年由Wu 等人首先設計[9],其基本的方法是在任意空間位置的時間尺度上,觀察一系列顏色值,比如像素,然后在某一特定頻帶上,放大顏色值的變化.
歐拉視頻放大技術的處理框架如圖3所示,首先運用圖像金字塔,將輸入的人臉視頻分解為不同的空間子帶;然后對每個空間頻帶進行時間濾波處理,濾出感興趣頻帶;接著將提取的帶通信號乘以放大系數ɑ,其中ɑ的值由不同的應用指定,它的邊界受視頻運動步長δ和圖像空間結構波長λ限制,如式(1)所示,并且在空間頻帶上,超出確定的空間截止頻率時,衰減ɑ值;最后將放大的信號添加到原始金字塔圖像中,并重構結果視頻.


圖3 歐拉視頻放大技術的處理框架
每次心臟跳動引起皮膚顏色變化非常細微[11],盡管可以從人臉視頻數據中分析出來,但這種變化極易被噪聲淹沒,同時還會受圖像傳感器的限制.因此,本文使用歐拉顏色放大技術,對心跳引起的細微顏色變化信號進行放大.為了將圖像的亮度信息和色度信息分離,將視頻的色彩空間由RGB 空間轉換到YIQ 空間,轉換關系如下所示:

其中,Y表示亮度信息,I、Q表示色度信息,通過高斯金字塔對每幀視頻進行空間分解,得到多個尺度的子帶集合,利用理想帶通濾波器對每一個子帶進行濾波,通帶頻率為[0.7,4] Hz,即正常心率范圍,然后將濾波后子帶的I、Q通道的色度信息放大100 倍,Y通道的亮度信息衰減為0.如圖4(a)、圖4(b)所示,可以明顯看出放大前后,人臉皮膚的顏色變化.當血液脈沖到達某一點時,該點的皮膚顏色會變深,而當血液脈沖遠離時,該點的顏色會變淺.

圖4 視頻中兩幀放大前后的顏色變化
為了解決視頻圖像中的背景噪聲問題,本文對采集到的視頻進行人臉檢測.首先以視頻的第一幀圖像作為參考圖像,使用Viola-Jones 人臉檢測器[12]框出人臉區域,接著使用判別響應圖擬合(Discriminative Response Map Fitting,DRMF)方法[13],識別矩形框中面部特征點.與臉部其他皮膚區域相比,臉頰的皮膚可以提供更高信噪比的rPPG 信號[14],因此,本文選定臉頰區域作為ROI.如圖5所示,黃色矩形框表示識別到的人臉區域,“+”表示面部特征點,藍色區域為ROI.

圖5 人臉區域
考慮到視頻采集時,人臉會發生微小的剛性運動,為了抑制剛性運動的干擾,獲得更加平滑的原始信號.本文使用Kanade-Lucas-Tomasi (KLT)[15]對上述特征點進行跟蹤,首先計算特征點在相鄰幀之間位移變化,得到轉移矩陣,然后通過矩陣變換準確地獲取人臉矩形框,具體如式(3)所示:

其中,Pi=[P1(i),P2(i),···,Pk(i)]為第i幀特征點的位置,k為特征點的個數;Fi=[f1(i),f2(i),f3(i),f4(i)]為人臉邊框位置,f1(i)~f2(i)表示人臉邊框的4 個頂點坐標;A表示轉移矩陣.
2.3.1 提取I、Q色度信息
選取ROI 之后,在時間序列上,提取反應BVP 的色度信息.考慮到2.1 節已對色度信息進行了放大,所以本文將放大后的色度信息,即I與Q通道上的信息,用作rPPG 分析的原始信號.如文獻[12]所述,空間平均有助于減少傳感器噪聲,改善rPPG 信號的SNR.定義I(x,y,t)為第t幀I通道(x,y)處的值,則t時刻I通道ROI 內的空間平均如式(4)所示:

其中,|ROI|表示ROI 內像素點個數.空間平均后,在ROI 內,I、Q每個通道上都得到一條如I(t)=的時間序列信號.同時為了濾除時間序列信號的趨勢成份以及減少量綱的影響,本文對原始信號進行去趨勢化[16]和標準化處理,如圖6(a)、圖6(b)所示.

圖6 原始I、Q 信號
2.3.2 盲源分離
一方面考慮到人臉自身的微小運動和相機振動等因素,原始信號I(t)、Q(t)混合著一定的噪聲.從圖6可以看出,在視頻的初始和結束部分,由于人臉發生輕微晃動,導致原始信號發生大幅度抖動.因此,需要對原始信號進一步處理,提取干凈的rPPG 信號.另一方面,由于缺乏心率信號相關的先驗知識,很難使用傳統的方法分離出反應BVP 信號的rPPG 信號,所以本文采用盲源分離的方法,通過ICA 分離出源信號[17]s1(t)、s2(t),如圖7(a)、圖7(b)所示.

圖7 盲源分離出的獨立源信號
2.3.3 獨立成分選取
針對ICA 分離出的源信號為隨機排序,無法確定哪個源信號更能反應BVP 信號這一問題,本文提出相關性分析方法來選擇源信號.由于血紅蛋白對波長在540~570 nm 之間的黃綠光吸收更多[18],同時黃綠光處于Q 通道顏色范圍內,所以Q通道的信號更能反應BVP 信號.因而可知,可以用Q(t)作為參考信號,在源信號s1(t)、s2(t)中 選出與Q(t)最相關的作為反應心率信息的rPPG 信號.
本文使用皮爾遜相關系數來評價兩個變量的線性相關程度,計算公式如下所示:

其中,r表示皮爾遜相關系數,r越大,表明兩者越相關,n為樣本數量,Xi、Yi表示第i個樣本,、為樣本均值,σX、σY為樣本標準差.
將2.3.2 節中ICA 分離出的s1(t)、s2(t)源信號分別與Q(t)進行相關性分析,得到的皮爾遜相關系數r,如圖8所示.

圖8 兩個獨立信號與Q(t)的相關系數
從圖8可以看出,s2(t)與Q(t)的相關系數更大,說明兩者線性相關程度更大,s2(t)更能反應BVP 信號.所以,本文將盲源分離出的s2(t)作為rPPG 信號來估計HR.
通常rPPG 信號會包含感興趣范圍之外的頻率分量,本文將感興趣的頻率范圍設置為[0.7,4] Hz,以覆蓋從42 次/分鐘(bpm)到240 bpm 的正常HR范圍.因此,使用截止頻率為[0.7,4] Hz 的基于漢明窗的有限脈沖響應帶通濾波器進行濾波.
最后,對濾波后的rPPG 信號進行快速傅里葉變換(FFT),將信號轉到頻域,并對其進行功率譜密度(PSD)分析[19].因為rPPG 信號反映了心率變化趨勢,所以該信號中包含一個與心率HR的頻率fHR相近的基礎振蕩頻率,通常取其最大頻率分量為fHR的近似值:

其中,W(f)為色度特征信號在[0,T]連續時間內的功率譜密度.同時為了直觀起見,本文將功率表示為心率HR而不是頻率f的函數,如圖9所示,其中HR=60f.

圖9 PSD 分析
在本節中,本文在自采集數據庫上對方法進行評估.所有的實驗均在Windows 10 操作系統下,2019a 版本的Matlab 上實現.
本文使用普通網絡攝像頭,在自然光、日光燈、弱光3 種場景下對10 名參與者(4 名男性,6 名女性)的人臉視頻進行采集.要求參與者正對攝像頭并與之水平相距60 cm 左右.所有視頻的采樣頻率為30 fps,空間分辨率為1280×720,持續時間為30 s 左右.與rPPG記錄并行,本文同步記錄了來自透射式手指脈搏血氧儀(DB18,飛利浦投資有限公司)的脈搏血氧儀數據,并將之作為參考HR信號.
為驗證本文所提HR檢測算法的性能,與文獻[8]、文獻[10]提出的心率檢測算進行對比.綜合先前研究對HR 檢測算法的性能評價,本文采用4 種評價指標作為性能度量:第1 種指標是平均絕對誤差HRme,如式(7),式中N為表示視頻數據個數,HRvd表示HR估計值,HRgt表示HR基準值;第2 種指標為誤差的均方根誤差,如式(8),為RMS E;第3 種指標是誤差的標準差,記為HRsd;第4 種指標是HR檢測結果的平均誤差率HRmer,如式(9).

在自然光場景下,心率檢測的性能如表1所示.比較發現,3 種方法的HRme皆小于5 bpm,滿足中華人民共和國醫藥行業規定的誤差標準(誤差≤5 bpm),RMS E小于6 bpm,HRsd小于4 bpm,HRmer均小于6%,表明在自然光場景下,3 種方法都表現較好的性能.但與先前兩種方法相比,本文方法的HRme為 2.39 bpm,HRmer為3.05%,具有明顯的優勢.
在日光燈場景下,表2結果表明,由于人臉光照環境發生變化,導致提取的rPPG 信號相比于在自然場景下變弱,增大了被噪聲淹沒的可能性.所以3 種方法性能都有所下降.文獻[8]和文獻[10]的方法,RMS E均大于5 bpm,HRsd大于5 bpm,HRmer大于6%.本文所提方法,RMSE 為3.46 bpm,HRsd為1.88 bpm,HRmer為3.97%.

表1 自然光場景下的性能比較

表2 日光燈場景下的性能比較
在弱光場景下,如表3所示,3 種方法性能明顯下降,文獻[8] 和文獻[10] 這兩種方法的HRmer皆大于6%.對比先前兩種方法,本文方法的性能更好,HRme小于3 bpm,RMS E小于5 bpm,HRsd小于4 bpm,HRmer為4.05%.

表3 弱光場景下的性能比較
從數據結果可以看出,本文所提方法具有較好的穩定性.在不同光照條件下,相比于先前兩種方法,具有更低的誤差率.主要原因如下,相比于文獻[10]的方法,本文考慮到血液脈沖信號被噪聲淹沒的情況,并通過引進歐拉顏色放大技術,放大正常心率范圍內的色度信息來解決.相比于文獻[8]的方法,本文針對盲源分離出的信號具有隨機性,無法確定哪一個源信號更能反應血液脈沖信號這一問題,通過相關性分析方法,評價各個源信號與所選血液脈沖參考信號的相關程度,選取相關程度最大的源信號作為rPPG 信號,提高了算法的穩定性.
通過顯示參與者的Bland-Altman 圖來評估基準心率HRgt與估計心率HRvd之間的一致性.Bland-Altman 分析為Bland JM 與Altman DG 提出[20],主要思想是使用均值m估計基準心率HRgt與 估計心率HRvd的差值,使用標準差SD 估計差值的偏倚,若95%的數據的差值都在區間[m?1.96SD,m+1.96SD]內,則表示HRgt與HRvd具有較好的一致性測量結果.
如圖10所示,橫坐標為基準心率HRgt與估計心率HRvd的平均值,縱坐標為HRgt與HRvd的差值.在3 種光照場景下,兩種方法偏差的均值m為0.707 3 bpm,標準差SD 為2.057 bpm,95%一致性界限為[?3.324,4.738],僅有1 個點在一致性界限點外,95%以上的數據在一致性界限內.該結果表明,在3 種光照環境下,本文的非接觸式心率檢測與標準的脈搏血氧儀之間具有很好的一致性,本文方案可以替代標準儀器進行日常心率檢測.

圖10 3 種光照場景下Bland-Altman 一致性分析
rPPG 技術是一種遠程人體生命體征監測技術,在特殊情況下非常有用,如新生兒監護、遠程醫療、健康監護等,具有重要的研究意義.本文提出的基于視頻放大與盲源分離的非接觸式心率檢測方法通過歐拉顏色放大技術放大正常心率范圍內的色度信息,解決了因噪聲和圖像傳感器限制等原因淹沒rPPG 信號的問題.同時引入主成分分析從色度信息中盲源分離出源信號,抑制了頭部微小運動噪聲的干擾,考慮到源信號的隨機性,利用血紅蛋白對波長在540~577 nm 之間的黃綠光吸收更多的先驗知識,提出一種相關性分析方法,選出最能反應BVP 信號的源信號作為rPPG 信號.實驗結果表明,本文提出的HR檢測方法比傳統的方法具有更好的HR測量精度和穩定性.但在劇烈運動和光照突變的場景下,本文的方法具有一定的局限性.在未來的工作中,將進一步研究來解決劇烈運動和光照突變引起的噪聲問題.