許楨杰 高國琴 方志明



摘要:為實現便捷、可靠的日常嬰兒心率實時監測,提出一種基于面部圖像的非接觸式嬰兒心率實時監測方法。首先引入歐拉視頻放大技術,對一定時間間隔內視頻的每一幀圖像進行顏色增強處理,從而改善嬰兒面部顏色變化微弱、所含心率信息不明顯的問題;然后,通過Adaboost算法從每一視頻幀中識別出嬰兒面部,并從嬰兒面部選取臉頰區域作為敏感區域以提取脈搏波信號,以此為基礎提出一種改進的反射光強模型,抑制日間因環境光變化引起的干擾以及運動噪聲干擾,提高脈搏波信號信噪比;此外采用攝像頭的紅外自主光源,通過一種基于相空間重構的單通道獨立成分分析法分離夜間脈搏波信號的運動噪聲,解決因夜間光照條件差引起的嬰兒心率監測困難的問題;最后開發整個系統上位機應用程序,并通過實驗驗證該方法正確性和有效性.
關鍵詞:面部識別;心率監測;光電容積描記;反射光強模型;運動噪聲;光照變化干擾
DOI:10.11907/rjdk.191097開放科學(資源服務)標識碼(OSID):
中圖分類號:TP301文獻標識碼:A 文章編號:1672-7800(2019)010-0012-07
0引言
人體心率(HR)是許多心血管疾病臨床診斷的重要指標之一。近年來,社會各界對嬰幼兒心血管健康愈發重視,嬰兒心率監測是嬰兒監護重要項目之一,嬰兒心率變化與嬰兒健康程度、供氧狀況、活力狀況密切相關。通過嬰兒心率實時監測可及時發現嬰兒心率不齊、心率變異等癥狀,以便及時采取相應對策。因此有必要研究一種便捷、舒適、可靠的日常家用嬰兒心率實時監測方法。
目前,嬰兒心率監測主要采用接觸式測量方法,要求被測者與設備進行特定的物理接觸,但嬰幼兒皮膚脆弱、易損,長時間監測會造成一定的皮膚損傷,引起一定程度的身體不適,同嬰兒皮膚接觸的器件易滋生細菌,接觸部位有傷口時甚至會造成細菌感染。而非接觸式心率監測不需要各類傳感器及連接線與身體接觸,具有無創、便捷、舒適等監測優點。
現有非接觸式心率監測方法中,激光多普勒測量以及基于微波或毫米波的多普勒測量存在較大輻射,長時間使用會對嬰兒造成一定生理負擔,無法實現日常嬰兒心率監測;紅外熱成像測量對紅外熱成像裝置要求較高,價格昂貴,亦不適用于日常家用嬰兒心率監測;成像式光電容積脈搏波(Imaging Photo Plethysmo Graphy,IPPG)測量法具有測量安全、實現簡單、成本低廉的優點,但現有成像式光電容積脈搏波測量法易受環境光變化及運動噪聲干擾,測得的心率值精確度不高,且現有方法僅基于日間光照條件較好的情況,暫時無法實現夜間非接觸式心率監測。為實現日間與夜間不同場景下的高精確度嬰兒心率監測,有必要對成像式光電容積脈搏波測量法作進一步研究。
成像式光電容積脈搏波測量法的難點在于如何準確且快速地提取高信噪比的脈搏波信號。目前常規脈搏波信號提取方法有:色度模型算法、RGB通道差值算法、運動放大算法、盲源分離算法等。由于未考慮環境光變化引起的干擾,上述方法提取的脈搏波信號信噪比較低,難以保證其心率監測精確性。Poh等和Pursche等采用獨立成分分析(Independent Component Analysis,ICA)算法進行盲源分離去噪,被測對象為面部非皮膚區域,其中眼睛眨動對脈搏波信號造成的干擾較大,且干擾頻率和心率相接近,不易濾除。另外,盲源分離并沒有提供一個判斷方法區分分離后哪一組獨立信號相對于實際心率信號最具真實性,從而影響心率計算精度;Xu等針對盲源分離缺點,受光學血氧儀啟發,提出針對人體皮膚基于脈搏變化交流信號成分分析的簡單數學模型心率計算方法,該方法在測量過程中需持續45-90秒,而且整個過程要求被測對象保持不動;劉祎等基于獨立成分分析(ICA)和完全總體經驗模態分解(CEEMD)方法,從面部視頻中提取脈搏波進行心率測量,但未考慮環境光變化帶來的影響,對光照變化不具魯棒性;呂揚、劉杰等通過建立一個非彩色模型對原始圖像進行顏色校正,去除光線干擾,但該模型無法精確描述反射光的各分量,顏色校準誤差較大,未能較好地抑制環境光變化引起的干擾,且未考慮運動噪聲干擾,抗面部晃動干擾效果較差。
為解決上述問題,本文引入一種改進的反射光強模型,以抑制日間環境光變化引起的干擾及運動噪聲干擾。該算法模型將反射光分解為靜態成分、脈搏波引起的動態成分及鏡面反射成分,結合背景區域顏色通道信號,將其與前景敏感區域顏色通道信號作為比值,消除隨時間變化的光照強度項,抑制環境光變化引起的噪聲干擾,并結合獨立成分分析,將上述消除光照強度項后的顏色通道信號進行盲源分離,以降低運動噪聲干擾;其次,通過攝像頭上方增設紅外自主光源解決夜間光照條件差、嬰兒心率難以監測的問題。由于紅外監控攝像頭在紅外燈開啟時,存在大量紅外光,此時無法使用紅外濾鏡過濾掉紅外光,只能使用全透濾鏡并切換成黑白圖像,因此通過紅外自主光源補光獲得的視頻為單通道灰度視頻。對于單通道灰度圖無法使用上述方法進行運動噪聲分離,本文通過一種基于相空間重構的單通道獨立成分分析法分離夜間脈搏波信號的運動噪聲,實現夜間非接觸式嬰兒心率監測。
本文通過一個普通的網絡監控攝像頭采集圖像,并傳至PC端上位機,由上位機進行相關計算處理,上位機實時顯示嬰兒畫面、心率波形、心率值,可設定正常的心率范圍,當監測到嬰兒心率超出該范圍可及時報警,該系統具有較好的實時性和較高的監測精度。本文還提出一種結合獨立成分分析的改進式反射光強模型,通過引入背景區域反射光強模型,將前景與背景區域信號作比值處理,消除隨時間變化的光照強度項,以抑制環境光變化引起的干擾,并結合獨立成分分析,降低運動噪聲干擾,從而提高脈搏波信號信噪比與嬰兒心率監測精度;同時通過攝像頭上方增設的紅外自主光源并結合一種基于相空間重構的單通道獨立成分分析法,實現夜間嬰兒心率監測。
1主要原理
本文主要基于成像式光電容積描記法(IPPG)對嬰兒心率進行監測。人體心臟周期性跳動引起血液中含氧血紅蛋白含量周期性變化,使血液吸收反射光線強度發生周期性改變。當外界光照射到人體皮膚表面時,皮膚內的血液對光的吸收隨其容積變化呈現與心跳一致的脈動性變化,同時造成皮膚表面反射光強度發生相應周期性變化,從而表現為皮膚顏色的變化。
近年來研究發現,在自然光條件下,由于受到生理條件的限制,人眼無法觀察到微小的顏色變化,但是通過普通消費級的RGB攝像頭可以將其捕捉到。人體皮膚表層下含有豐富的血管分布,其反射光強度周期性變化形成了皮膚顏色周期性變化,提取膚色變化信息即可獲得周期性脈搏波信號。相較于其它部位,嬰兒面部區域毛細血管數量較多,對光線吸收程度相對較大,因此選取面部相關區域提取嬰兒心率信號。
2主要方法
2.1方法架構
本文方法由4個關鍵步驟構成。首先引入歐拉視頻放大技術,對一定時間間隔內視頻中的每一幀圖像進行顏色增強處理,從而改善嬰兒面部顏色變化微弱、所含心率信息不明顯的問題;然后,通過Adaboost算法從每一視頻幀中識別出嬰兒面部,并從嬰兒面部選取臉頰區域作為敏感區域以提取脈搏波信號;其次,通過一種結合獨立成分分析的改進式反射光強模型,將前景與背景區域信號作比值處理,消除隨時間變化的光照強度項,以抑制環境光變化引起的干擾,并結合獨立成分分析,降低運動噪聲干擾,從而提高脈搏波信號信噪比;最后,針對紅外自主光源得到的單通道灰度視頻,通過一種基于相空間重構的單通道獨立成分分析法,分離夜間脈搏波信號的運動噪聲,以實現夜間非接觸式嬰兒心率監測。整體流程如圖2所示。
2.2顏色增強處理
該環節引入歐拉視頻放大技術,以增強視頻圖像的顏色變化信息,使嬰兒面部微弱顏色變化成為較明顯的人眼可分辨的信息,從而改善嬰兒面部顏色變化微弱、所含心率信息不明顯的問題。
將輸入的視頻圖像分解到不同尺度空間中,并采用數字帶通濾波器對每個尺度空間進行時域濾波處理,再乘以相應的放大因子,將得到的不同尺度空間圖像同原始圖像進行金字塔重構,即可得到放大后的連續圖像。
2.3嬰兒面部識別
本文嬰兒面部特征由Harr-like特征提取,特征值通過積分圖法計算得到,分類器采用Adaboost算法訓練獲得。每一個Harr-like特征訓練后可得到相應的弱分類器,且同一弱分類器使用同一個訓練集訓練得到,將不同訓練集訓練得到的弱分類器級聯形成強分類器。Cascade級聯將強分類器級聯,可快速識別嬰兒面部。
AdaBoost面部檢測算法基于積分圖、級聯分類器和AdaBoost算法,其主要框架分為:①通過Harr-like特征表示嬰兒面部特征提取完成,并采用積分圖法實現嬰兒面部特征數值快速計算;②由AdaBoost算法選取若干最能代表嬰兒面部的矩形特征(弱分類器),按加權投票的方式將弱分類器構造為強分類器,如圖4所示;③將訓練獲得的強分類器串聯形成一個級聯結構的強分類器,級聯結構可有效提高分類器面部檢測速度,如圖5所示。
AdaBoost面部檢測算法識別準確率高、識別速度快,能夠較好地滿足系統實時性要求。
2.4反射光強模型改進
反射光強模型由Haan提出,該模型利用不同顏色通道信息差值和比例變換,消除靜態成分和鏡面反射干擾。
2.5夜間脈搏波信號運動噪聲分離
夜間場景下,通過監控攝像頭上方增設的紅外自主光源,解決夜間光照條件惡劣的問題。由于紅外監控攝像頭在紅外燈開啟時,存在大量紅外光,此時無法使用紅外濾鏡過濾紅外光,只能使用全透濾鏡并切換成黑白圖像,因此通過紅外自主光源補光獲得的視頻為單通道灰度視頻。
對于單通道灰度圖無法使用上述方法進行運動噪聲分離,本文通過一種基于相空間重構的單通道獨立成分分析法,分離夜間脈搏波信號的運動噪聲,實現夜間非接觸式嬰兒心率監測。
對于僅有單通道的IPPG信號(單個觀察通道),不能直接通過傳統獨立分量分析進行脈搏波信號分離,本文使用一種基于相空間重構的單通道獨立成分分析法,通過對夜間所得單通道灰度信號進行坐標延遲,構成一個與未知空間系統在拓撲意義下等價的已知相空間,進而分析得到的未知系統相關信息,從而分離夜間脈搏波信號的運動噪聲,實現夜間非接觸式心率監測。
通過時間延遲構建多通道觀察信號。
對于夜間場景下的嬰兒心率監測,由于使用紅外自主光源補光,其光照強度不變,因此認為使用紅外自主光源時無光照變化干擾。該紅外自主光源在外界光線較弱時自動開啟,攝像頭自動檢測外界光線強弱判斷紅外光是否需要開啟。該紅外自主光源也可在無需心率監測時手動關閉。
2.6心率計算
為濾除由攝像頭等硬件引起的固有噪聲,基于Matlab對上述所得脈搏波信號進行數字帶通濾波處理,選取通頻帶為[0.7,5]hz(對應嬰兒心率42-300bpm)。本系統以時間窗口的形式處理視頻心率信息,以實現嬰兒心率實時監測。為計算嬰兒心率,需確定時間窗口內脈搏波信號的平均頻率。
心率計算主要分為時域計算和頻域計算兩種方法,其各自特點如下:
(1)時域計算。根據得到的脈搏波信號,計算單位時間內波峰數。例如在時間t內,若波峰數為n,則該時間段內的平均心率為60×(n-1)/t。該方法計算方式簡單、靈活,但對于脈搏波信號中有較多噪聲干擾時,其信號峰值顯示不明顯,易出現較大誤差,降低嬰兒心率監測精度。
(2)頻域計算。根據提取的脈搏波信號,分析其功率譜,尋找功率峰值對應的頻率,將該頻率作為此段時間內平均心率頻率值.f,其平均心率即為./×60。該方法通過直接尋找功率譜峰值即可確定心率頻率,且計算方便。
分析上述心率計算方法可知,時域計算法在脈搏波中摻雜有噪聲時,會使時域信號產生偽峰值,影響系統監測精度。頻域計算法可克服時域計算法的不足,將脈搏波信號以功率譜方式呈現更為直觀。因此,本文采用頻域提取方法計算最終的嬰兒心率值。
3系統實現
3.1系統硬件實現
本文硬件組成主要為一個網絡監控攝像頭,出于經濟性和功能性兩方面考慮,選擇螢石C6T智能云臺網絡攝像頭,如圖6所示。
該攝像頭最高分辨率為1920×1080,幀率為30幀/秒,可通過有線和無線兩種方式聯網,云臺旋轉范圍為:水平340°,垂直10°-80°,可基本實現無死角監控,另帶有紅外自主補光光源,攝像頭可自動檢測外界環境光的光照強度。當外界光較弱、無法滿足監控要求時,攝像頭自動打開紅外自主光源。該攝像頭性能完全可滿足嬰兒心率監測要求,其售價在500元人民幣左右。
3.2系統軟件實現
本文選擇基于VC++、OpenCV和Matlab的混合編程進行系統軟件開發。VC++功能強大,可以充分利用Micro-soft提供的API接口,基于微軟基本類庫(Microsoft Founda-tion Class,MFC)進行上位機開發。OpenCV在圖像處理方面功能強大,因此本文基于VC++調用OpenCV庫實現圖像采集、嬰兒面部識別以及敏感區域定位。Matlab在信號處理及后續算法實現中優勢尤其明顯。綜上所述,本文基于VC++調用Matlab實現歐拉視頻放大算法,改進反射光強模型算法,完成IPPG信號處理、單通道獨立成分分析、數字帶通濾波處理與心率計算。上位機界面如圖7所示。
本文使用的攝像頭可自動追蹤運動的目標對象,也可手動調節云臺使嬰兒面部在攝像頭可捕捉范圍之內,紅外補光光源可手動打開或關閉,上位機通過調用攝像頭的官方API實現云臺控制及紅外補光光源打開與關閉。上位機實時顯示監控畫面、嬰兒心率波形、嬰兒心率值,當監測到嬰兒心率超出設定的安全范圍時,上位機報警功能被激活,提醒監護人嬰兒心率處于異常狀態。
考慮到本文算法的復雜性,且在VC++調用Matlab處理時需一定的時間消耗,為滿足系統實時性,每隔5s監測一次嬰兒心率,即每一次心率監測為采用由該時刻前30s視頻記錄下的脈搏波計算得到的心率值,可滿足系統實時性要求。
4實驗結果及分析
為選取最佳敏感區域(ROI),將嬰兒面部分為4個區域進行實驗:臉頰區域(Ⅰ)、眼部區域(Ⅱ)、額頭區域(Ⅲ)、整個面部(Ⅳ),如圖8所示。使用本文方法分別提取4個區域的IPPG信號并計算其功率譜曲線。
圖9為各區域提取的IPPG信號曲線,圖10為對應的功率譜圖。實驗結果表明:通過臉頰區域(I)提取的IPPG信號噪聲較少,信號較為干凈,心率信息較為明顯,因此選取嬰兒臉頰區域作為敏感區域。
圖11為嬰兒臉頰區域內提取的原始RGB三通道IP-PG信號,由圖可見該信號未經任何處理,含有較多噪聲,所含心率信息不明顯。
本文通過顏色增強處理,對一定時間間隔內視頻中每一幀圖像進行顏色增強處理,以改善嬰兒面部顏色變化微弱、所含心率信息不明顯的問題。圖12為顏色增強處理前使用本文方法提取的臉頰區域IPPG信號,圖13為顏色增強處理后使用本文方法提取的同一區域IPPG信號。由圖12和圖13可見,未經顏色增強處理直接提取的IPPG信號含有較多噪聲干擾,且周期性較差;經顏色增強處理后,IPPG信號較為純凈,且有較為明顯的周期性。因此,通過歐拉視頻增強處理后,搏波信號微弱、所含心率信息不明顯的問題得到明顯改善。
本文提出一種改進反射光強模型,以消除光照變化的影響,并降低運動噪聲帶來的干擾,能夠有效提高脈搏波信號信噪比。圖14為經過改進反射光強模型計算、并經帶通濾波處理后得到的脈搏波信號,可見其具有顯著的周期性,所含心率信息較為明顯。因此,本文提出的改進反射光強模型較好地消除了環境光變化引起的干擾及運動噪聲干擾。
圖15為夜間場景下通過基于相空間重構的單通道獨立成分分析法提取的脈搏波信號,由圖可知該方法較好地抑制了夜間場景下運動噪聲干擾,得到了較純凈的脈搏波信號。
選取1名一周歲左右的健康男嬰進行心率監測實驗。采用本文方法進行日間和夜間兩組實驗。
(1)日間實驗。將嬰兒置于燈光光照強度可調的環境下,且確保嬰兒在攝像頭可檢測到其面部范圍內。使用本文方法對嬰兒心率進行監測(攝像頭紅外自主光源關閉),同時讓嬰兒佩戴腕戴式脈搏血氧儀,以該血氧儀監測結果為標準心率值。實驗時不斷調節燈光光照強度,并適時地誘使嬰兒產生頭部動作及面部表情變化。連續監測1小時,每隔5s記錄血氧儀、上位機結果(上位機結果自動記錄),得到如圖16所示的嬰兒心率監測曲線。
圖16為存在環境光變化與運動噪聲時的嬰兒心率監測曲線,其平均絕對誤差為4.37,可滿足日常嬰兒心率監測精度要求。
(2)夜間實驗。在夜間場景下,關閉所有燈光,打開攝像頭自帶的紅外自主光源,此時認為光照強度一定,忽略光照變化干擾。將嬰兒置于攝像頭可檢測到的范圍內,使用本文方法對嬰兒心率進行監測,同時讓嬰兒佩戴腕戴式脈搏血氧儀,以該血氧儀監測結果為標準心率值,并適時地誘使嬰兒產生頭部動作及面部表情變化。連續監測1小時,每隔5秒記錄血氧儀及上位機結果(上位機結果自動記錄),得到圖17所示的嬰兒心率監測曲線。
圖17為夜間場景下存在少量運動噪聲的嬰兒心率監測曲線,其平均絕對誤差為4.13,亦滿足日常嬰兒心率監測精確度要求。
5結語
本文研究了一種基于面部圖像的非接觸式嬰兒心率實時監測方法,可較好解決嬰兒面部顏色變化微弱、環境光變化干擾、運動噪聲干擾引起的嬰兒脈搏波信號信噪比低、心率精度差的問題,同時解決夜間光照條件惡劣時心率監測困難的問題,實現了日間和夜間兩種場景下非接觸式嬰兒心率監測,具有較好的實時性和較高的監測精度。
本文研究內容為家庭嬰兒監護及醫療病患監護提供了切實可行的新思路,具有較高的學術價值與實際應用價值。未來還可繼續深入研究基于面部圖像的呼吸率、血氧飽和度、心率變異性等其它重要生命體征參數的監測,該類研究具有廣闊的應用前景。