程敏,陳兆學
上海理工大學醫(yī)療器械與食品學院,上海200093
隨著人類生活水平的提高,人們對自身健康越來越重視,但患心血管疾病、冠心病等慢性病的人也越來越多。心率作為人體重要的生理參數(shù)之一,定期測量心率能夠有效預(yù)防及控制心血管疾病。心率是指心臟每分鐘搏動的次數(shù),反映人體機體運血的狀況,正常成年人在平靜狀態(tài)下的心率范圍為60~100次/min[1]。目前,對心率的檢測有觸診式心率測量、心音測量法、電磁波檢測法、紅外技術(shù)檢測法和光電容積脈搏波描記法(Photoplethysmography,PPG)等。其中,PPG是一種借助光電手段檢測人體皮膚組織下血管血液容積變化可實現(xiàn)無創(chuàng)檢測脈搏波的方法[2]。由于脈搏波的波動導(dǎo)致指端血液吸收光強度的不同,基于視頻的光電容積脈搏波測量方法每幀圖像中求得的像素值存在波動與變化,因此能夠獲得連續(xù)波動的PPG信號。在一個心率周期內(nèi),當血管內(nèi)壓力最大時,血液吸收光強達到最大值,圖像的像素均值最小,呈現(xiàn)在PPG波形中,此時出現(xiàn)在PPG的谷底;當血管的壓力最小時,血液吸收的光強最少,圖像的像素均值最大,反映在PPG波形中,此時出現(xiàn)在PPG的峰值點。光電容積脈搏波包含著血液流動、心臟跳動等重要信息,通過PPG可獲得血氧飽和度、心率、血壓、心輸出量等人體參數(shù)以及呼吸的監(jiān)測[3-4]。
通常,脈搏波信號處理方法有數(shù)字濾波法、小波變換法、功率譜法等[5-7]。由于運動所引起的干擾信號與正常脈搏波信號相重疊,所以傳統(tǒng)的低通、高通和帶通濾波器很難對其進行處理。馬俊領(lǐng)等[8]采用反射式光電測量法來獲取人的橈動脈信號,并對其進行快速傅里葉變換,再分析譜峰得到人體的心率和呼吸率。趙素文等[4]采用小波變換結(jié)合快速傅里葉變換從PPG信號中提取呼吸率,但小波分解層數(shù)的選定和小波基選擇的不同會對測量結(jié)果造成很大的誤差。雷恒波等[9-10]采用經(jīng)驗?zāi)B(tài)分解法對從人臉視頻、手指視頻中獲取的PPG信號消除高頻噪聲和低頻基線漂移,但可能會存在模態(tài)混疊問題[11]。而對基于PPG信號與運動干擾、膚色變化等信號間的獨立性假設(shè),獨立成分分析(Independent Component Analysis,ICA)成功地應(yīng)用到PPG信號與其他混合信號的分離。Poh等[12-13]提出了基于盲源分離的心率檢測算法,通過ICA分析從人臉皮膚顏色的變化、光照強度的變化、人體動作引起的顏色變化的混合信號中選擇功率譜最大幅值的源信號作為心率變化的信號。本文基于ICA分析對獲取的光電容積視頻脈搏波信號進行處理,并與波峰法測得的心率進行對比,得到一種穩(wěn)定的心率檢測算法。
ICA的起源是為了解決盲源信號分離問題,即雞尾酒問題。它是一種基于統(tǒng)計分析的信號處理方法,目的是把信號分離成統(tǒng)計獨立的非高斯信號的信號源的線性組合,即從線性組合信號里恢復(fù)出基本的源信號。ICA在數(shù)字信號處理、圖像處理技術(shù)、生物醫(yī)學等領(lǐng)域的分析有著一定的研究,例如心電信號和腦電信號的隨機噪聲消除、功能磁共振成像中事件相關(guān)活動區(qū)域的檢測以及在PPG信號處理中的應(yīng)用[14]。
ICA是假設(shè)存在相互獨立的統(tǒng)計源信號S,觀測信號X是源信號各分量的線性組合,即:
其中,X是觀測信號,A是未知非奇異混合矩陣,S是待分離的源信號。ICA的目的是在只知道混合信號X的情況下,獲得解混矩陣W:
其中,Y中的各分量盡可能相互統(tǒng)計獨立。這樣Y分量就可以作為源獨立成分的估計,即:
其中,?為源獨立成分的估計[15-16]。
FastICA算法,即快速獨立成分分析算法,也稱為不變點(Fixed-Point)算法,收斂速度快、計算簡單,相比其他的獨立成分分析算法可以更為快速找到所有非正態(tài)分布的獨立分量。通常在計算時,非高斯性常采用峰度(Kurtosis)、負熵(Negentropy)或互信息(Mutual Information)表示,采用迭代法實現(xiàn)描述非高斯性的特定目標函數(shù)的最優(yōu)化。本文采用FastICA算法實現(xiàn)對采集的PPG信號的盲源分離,具體步驟如下[17-18]:(1)對數(shù)據(jù)進行中心化和白化得到z(t);(2)選擇一個具有單位范數(shù)的初始化矩陣W;(3)對每個i=1,…,n,令,函數(shù)g是根據(jù)數(shù)據(jù)的高斯性選定的非線性函數(shù);(4)對矩陣進行對稱正交化;(5)如果不收斂,返回步驟(3)。得到分離矩陣W后,代入式(1),可以得到估計的源信號。
在本文中,用攝像頭獲取的指端區(qū)域R、G、B時間序列也可以看作反射的PPG信號與運動、光線等因素的線性組合[19],目的是分離后的獨立分量中分別找到和R、G通道最為接近的一組分量,作為提取心率信號來分析。
彩色視頻的每幀圖像都存儲為一個三維矩陣,矩陣的3個維度分別代表紅、綠、藍3個通道的圖像數(shù)據(jù)信息。在選擇顏色通道時,考慮以下兩個因素:一是血液對相應(yīng)波段光的吸收率;二是所選擇波段的照明光是否能夠穿透人體表皮,以達到表皮以下的微動脈層。大多數(shù)文獻中,采用與綠色通道的信號做相關(guān)性分析,因為綠光處于血液吸收光線的峰值位置,又能夠穿透皮膚的微動脈層。而在文獻[20]中,選用與紅色通道信號相關(guān)性最小的分量來進行分析??紤]到攝像頭采集的是反射式信號,血液對紅色光的吸收能力最弱,因此紅色通道的信號信噪比比較小,所以本文分別選取紅、綠色分量與盲源分離后的估計信號進行相關(guān)性分析,篩選出相關(guān)性最大的作為后續(xù)提取心率的信號。
本文采用蘋果手機攝像頭采集人指端視頻獲取PPG信號,每段采集20 s,幀率是30 fps。拍攝的過程中,打開手機的閃光燈,提高視頻圖像亮度。選取6名試驗者,手指同時覆蓋在閃光燈和攝像頭上,拍攝一段20 s的視頻。采集過程中,試驗者保持不動。采集完成后,通過USB數(shù)據(jù)線將視頻傳輸?shù)诫娔X上,在MATLAB平臺上處理數(shù)據(jù)。首先對圖像進行分幀處理,圖片的幀序列即視頻的時間序列。截取圖片的中心區(qū)域的像素分析,以減少其他光線的干擾。截取的區(qū)域如圖1所示。
圖1 感興趣區(qū)域(ROI)的選取Fig.1 Selection of region of interest
然后,對每幀感興趣區(qū)域(ROI)進行RGB三通道基色分離,并對每個通道取空間均值,每個區(qū)域中像素灰度值的變化得到血液容積變化的時序曲線,并進行歸一化,得到結(jié)果如圖2所示。從圖中可以看出存在低頻的基線漂移和一些高頻的噪聲,這會影響PPG信號的準確度,從而影響從PPG信號中提取一些人體生理參數(shù)的精度,因此需要進行濾波處理。
ICA的目的是把信號分離成統(tǒng)計獨立的非高斯信號的信號源的線性組合,即從線性組合信號里恢復(fù)出基本的源信號。因此,本文采用FsatICA對視頻PPG脈搏波信號進行處理,并用MATLAB中corrcoef函數(shù)求相關(guān)性。將得到的估計信號分別與R、G通道的原始信號作相關(guān)性分析,分別得到相關(guān)性最大的信號,并進行快速傅里葉變換得到功率譜,得到的獨立分量的結(jié)果如圖3所示。同時本文對比原始信號與經(jīng)ICA處理后的頻譜,結(jié)果如圖4和圖5所示。
在頻譜圖中,在心率范圍(1.0~1.6 Hz)內(nèi)最大的功率譜對應(yīng)的頻率即為估計的心率[15],得到心率(單位:次/min):HR=frequency×60。試驗者5采集數(shù)據(jù)經(jīng)ICA處理后的結(jié)果如圖3所示,再通過corrcoef函數(shù)求相關(guān)性。3個估計成分與R通道的相關(guān)系數(shù)絕對值分別為0.818 7、0.124 5、0.640 8,第一個相關(guān)性最大,頻譜圖峰值為1.272 Hz,即心率為1.272×60≈76(次/min);與G通道相關(guān)系數(shù)絕對值分別為0.639 3、0.691 4、0.174 2,第二個相關(guān)性最大,頻譜圖峰值為1.272 Hz,即心率為1.272×60≈76(次/min)。通過對比原始信號與ICA處理后的相關(guān)獨立分量的頻譜圖,可以看出,當信號采集不太好時,F(xiàn)astICA能夠使心率峰值更加突出,從而提高心率檢測的穩(wěn)定性。
圖2 試驗者5歸一化的R、G、B通道信號Fig.2 Normalized R,G and B channel signals of experimenter 5
圖3 試驗者5歸一化的信號經(jīng)ICA處理后的結(jié)果及相應(yīng)頻譜Fig.3 Normalized signals of experimenter 5 after independent component analysis(ICA)processing and the corresponding spectra
圖4 試驗者5歸一化原始信號與ICA處理后相關(guān)信號及相應(yīng)頻譜Fig.4 Normalized original signals and ICA processed signals of experimenter 5 and the corresponding spectra
實驗的其他結(jié)果如表1所示。另外,本文分別統(tǒng)計原始信號、與R和G通道相關(guān)獨立分量的心率值,以每個波峰為一次心跳,結(jié)果如表2和表3所示。其中出現(xiàn)的誤差可能有這幾種原因:一是采集指端視頻時須圖像有跳動時效果更好,若人體脈搏比較弱,則不理想,如試驗者3的測量結(jié)果;二是統(tǒng)計峰值時與時間窗的截取有關(guān)。
圖5 試驗者6歸一化原始信號與ICA處理后相關(guān)信號及對應(yīng)頻譜Fig.5 Normalized original signals and ICA processed signals of experimenter 6 and the corresponding spectra
為了評價利用手機攝像頭獲取的R、G通道信號的一致性以及本文算法與統(tǒng)計波峰法獲取心率的一致性,本文采用SPSS軟件對數(shù)據(jù)進行相關(guān)性分析,結(jié)果如表4~表7所示。圖中相關(guān)性系數(shù)表明,選取R、G通道信號的一致性在95%以上,本文算法與統(tǒng)計波峰法獲取心率的一致性在95%以上。因此,在本實驗中,選取R、G通道均可以實現(xiàn)心率的有效檢測,本文所提出的算法可以運用到日常的心率測量中。
表1 相關(guān)獨立分量經(jīng)傅里葉變換后測量結(jié)果Tab.1 Measurement of correlation independent components after Fourier transform
本文采用手機攝像頭采集指端視頻的方式獲取人體PPG信號,通過ICA分析處理,分別與R、G通道作相關(guān)性分析,兩個通道最終測得的心率值一致性在95%以上,同時本文算法與統(tǒng)計波峰法獲取的心率具有一致性,因此在實際過程中,采取這兩個通道均可。通過本文的方法可以有效地實現(xiàn)心率檢測,該算法具有較高的魯棒性,適合多種場合的測量,對于基于光電容積視頻脈搏波的人體生理參數(shù)獲取具有重要意義。本文通過指端視頻獲取PPG脈搏波信號,采集的數(shù)據(jù)較少,在后續(xù)的實驗中,我們將對寸關(guān)尺部位進行研究,并用不同的手機采集更多的數(shù)據(jù),以驗證所提出的算法對不同部位、不同手機的適用性。
表2 原始信號經(jīng)波峰法測量結(jié)果Tab.2 Measurement of original signal by wave peak detection
表3 相關(guān)獨立分量經(jīng)波峰法測量結(jié)果Tab.3 Measurement of correlated independent components by wave peak detection
表4 原始R、G通道信號統(tǒng)計波峰法相關(guān)性分析結(jié)果Tab.4 Correlation analysis of R and G channel signals obtained by wave peak detection
表5 R、G通道經(jīng)ICA后相關(guān)性分析結(jié)果Tab.5 Correlation analysis of R and G channel signals after ICA
表6 R、G通道相關(guān)獨立分量統(tǒng)計波峰法相關(guān)性分析結(jié)果Tab.6 Correlation analysis of correlation independent components related to R and G channels by wave peak detection
表7 基于FastICA算法與統(tǒng)計波峰法相關(guān)性分析結(jié)果Tab.7 Correlation analysis of FastICA algorithm and wave peak detection