魏澤巍,何為,田春洋,成雄帆
(武昌首義學(xué)院,湖北武漢,430064)
心率(Heart Rate,HR)是指心臟一分鐘跳動(dòng)的次數(shù),是最重要的人體參數(shù)之一。正常的心率在 60~100 次/分,心率過(guò)高和過(guò)低都是異常表現(xiàn)。能夠?qū)崿F(xiàn)準(zhǔn)確的日常心率檢測(cè)對(duì)人體健康的評(píng)估和監(jiān)護(hù)起著至關(guān)重要的作用。
當(dāng)今社會(huì)大量使用的心率檢測(cè)方法為接觸式測(cè)量,這在操作簡(jiǎn)便性和設(shè)備便攜性上存在局限,而接觸式心率測(cè)量難以滿(mǎn)足日常心率監(jiān)護(hù)的需求,非接觸式心率測(cè)量應(yīng)運(yùn)而生,它應(yīng)用圖像捕獲技術(shù),通過(guò)攝像頭,對(duì)使用者臉部進(jìn)行視頻圖像捕捉,從臉部皮膚細(xì)微反射中,提取出一個(gè)有關(guān)人體生理功能的細(xì)微周期性信號(hào)。通過(guò)綜合運(yùn)用算法,對(duì)信號(hào)進(jìn)行分離、提取、分析等操作,準(zhǔn)確計(jì)算出被檢測(cè)目標(biāo)的心率。圖像心率計(jì)量在技術(shù)上可結(jié)合多種設(shè)備,還能應(yīng)用于多種場(chǎng)景,對(duì)于心臟病突發(fā)等各種疾病,具有警示和預(yù)防的作用,能夠全方位的為大眾健康保駕護(hù)航。
本文研究和探索了非接觸式心率測(cè)量的基本原理,基于機(jī)器視覺(jué)的基礎(chǔ)上完成了非接觸式心率測(cè)量的完整步驟。
機(jī)器人視覺(jué)主要利用信息電子學(xué)和計(jì)算機(jī)等技術(shù)手段來(lái)實(shí)現(xiàn)模擬機(jī)器人的各種基本視覺(jué)處理功能,但并不是對(duì)模擬人眼的簡(jiǎn)單功能擴(kuò)展,更因?yàn)槭撬鼈円呀?jīng)具有了屬于人腦的某些組成部分,它們甚至可以對(duì)各種客觀事物直接影響,尤其是主觀圖像中直接獲得這些信息,進(jìn)行各種綜合分析處理并對(duì)其性質(zhì)加以了解和理解,最終被廣泛應(yīng)用于現(xiàn)場(chǎng)安全檢測(cè)、衡量和現(xiàn)場(chǎng)監(jiān)督。
一個(gè)非常典型的基于數(shù)字化和融合現(xiàn)代化的工業(yè)圖像機(jī)器人的視覺(jué)控制應(yīng)用技術(shù)系統(tǒng),其中主要技術(shù)包括各種數(shù)字化的工業(yè)圖像數(shù)字信號(hào)視頻處理控制技術(shù)、機(jī)械工程控制技術(shù)、過(guò)度曝光管理控制技術(shù)、光源數(shù)字照明管理技術(shù)、光學(xué)數(shù)字成像處理技術(shù)、傳感器控制技術(shù)、模擬和融合數(shù)字視頻處理技術(shù)、計(jì)算機(jī)軟硬件融合技術(shù)、人機(jī)接口控制技術(shù)等。
圖1 典型的機(jī)器視覺(jué)系統(tǒng)
機(jī)器視覺(jué)系統(tǒng)主要是一種泛指使用者通過(guò)各種機(jī)器視覺(jué)設(shè)備或產(chǎn)品(即圖像拍照裝置,分 cmos 和 ccd 兩種)把所有的圖像都捕捉并存儲(chǔ)起來(lái),然后將該機(jī)器圖像發(fā)送至相應(yīng)的處理單位,通過(guò)各種數(shù)字化的處理,根據(jù)其像素的分布及其亮度、顏色等相關(guān)信息,來(lái)對(duì)其進(jìn)行大小、形狀、顏色等相關(guān)信息的判別。進(jìn)而依靠判別結(jié)果控制現(xiàn)場(chǎng)設(shè)備動(dòng)作。
本論文的非接觸式心率測(cè)量整體步驟為:(1)使用普通工業(yè)攝像機(jī)在光源照射或自然光照射的條件下,拍攝包含人體皮膚區(qū)域(感興趣區(qū)域主要是人臉區(qū)域)的彩色視頻。(2)采用自動(dòng)算法來(lái)定位以及追蹤彩色視頻中的感興趣區(qū)域。(3)沿著時(shí)間軸的方向,從感興趣區(qū)域中計(jì)算單個(gè)或者是多個(gè)顏色通道的均值,得到原始的PPG信號(hào)。(4)將信號(hào)處理相關(guān)算法(如帶通濾波、盲源分離算法和基于色差模型的算法等)應(yīng)用于原始PPG信號(hào),用來(lái)提取出心率信號(hào)。(5)使用快速傅里葉變換(FFT)來(lái)計(jì)算心率信號(hào)對(duì)應(yīng)的心率數(shù)值。
非接觸式心率測(cè)量的硬件只需要普通的工業(yè)攝像頭或者是手機(jī)攝像頭,只需要一個(gè)光源和一個(gè)普通攝像頭就可以完成非接觸式心率測(cè)量的圖像采集。
普通工業(yè)攝像頭或相機(jī)進(jìn)行視頻采集人臉,然后提取感興趣區(qū)域的信號(hào),再經(jīng)過(guò)信號(hào)處理分析,然后顯示設(shè)備呈現(xiàn)結(jié)果。
圖2 非接觸式心率測(cè)量示意圖
視頻影像的拍攝過(guò)程是整個(gè)心率監(jiān)控中的關(guān)鍵。為了檢測(cè)心率,需要使用設(shè)備收集自然光照射在人類(lèi)臉部感興趣地點(diǎn)區(qū)域的皮膚表面后,經(jīng)過(guò)反射或者散射返回來(lái)的光線(xiàn),然后將這些光電設(shè)備的信息直接轉(zhuǎn)化成計(jì)算機(jī)所能處理的數(shù)字信號(hào)。
人臉皮膚特征區(qū)域檢測(cè)或者人臉特征定位,是一種通過(guò)系統(tǒng)采用特定具有人臉特征物體的特定數(shù)學(xué)特征模型與電腦圖形系統(tǒng)中的特定人臉信息模型進(jìn)行數(shù)據(jù)比較綜合分析后用來(lái)進(jìn)行計(jì)算和分析確定所可能需要的一個(gè)人臉特征區(qū)域的一種檢測(cè)技術(shù),確定了所可能需要的一個(gè)人臉特征區(qū)域后,人臉特征檢測(cè)處理系統(tǒng)就會(huì)自動(dòng)返回所可能需要進(jìn)行檢測(cè)的物體結(jié)果,而這是該應(yīng)用程序系統(tǒng)設(shè)計(jì)工作中的一個(gè)非常重要的技術(shù)操作步驟。
PPG技術(shù)的原理是通過(guò)成像設(shè)備,記錄由血容量變化導(dǎo)致的皮膚反射光照信息變化,通過(guò)對(duì)光照變化的進(jìn)一步分析,能夠獲得相應(yīng)的心率參數(shù)。因此,皮膚的組織結(jié)構(gòu)是PPG技術(shù)的生理學(xué)基礎(chǔ)。
人體皮膚最外側(cè)的表皮層部位僅能夠吸收光線(xiàn),無(wú)法對(duì)光線(xiàn)進(jìn)行散射;而皮膚中對(duì)光吸收和散射的主要部位是位于表皮層以下的真皮層[3]。
圖3為人體皮膚組織結(jié)構(gòu),真皮層內(nèi)豐富的血管是 PPG信號(hào)的信號(hào)源,真皮層中血管容積量變化脈沖信號(hào)是記錄心率變化的源信號(hào)[2]。
圖3 人體皮膚組織結(jié)構(gòu)圖
因?yàn)閯?dòng)脈在光的作用下吸收發(fā)生了改變,而其它組織在光的作用下吸收發(fā)生了根據(jù)不同頻率的光,從而獲得的信號(hào)就會(huì)被劃分為直流 dc 信號(hào)和交流 ac 信號(hào)。通過(guò)提取其中 ac 信號(hào),就可以能夠準(zhǔn)確地反應(yīng)出人體血液在細(xì)胞中流動(dòng)的情況。該項(xiàng)技術(shù)稱(chēng)之為光電容積式脈搏波掃描方法 ppg[4]。
ppg射頻信號(hào)的交流波形改變具有控制交流波形分量改變幅值和交流波形頻率改變兩個(gè)重要的技術(shù)特點(diǎn)。ppg射頻信號(hào)的各組成部件和主要成分基本結(jié)構(gòu)及其組成波形情況圖表如波形圖4所示。通過(guò)合適的高頻電子信號(hào)濾波器和信號(hào)放大器便于就能夠把整個(gè)ac和其中dc的聲波分量全部準(zhǔn)確提取計(jì)算出來(lái),用于對(duì)此項(xiàng)新技術(shù)首先進(jìn)行的和后續(xù)的心臟脈搏超聲波測(cè)量分析。
圖4 PPG信號(hào)各成分組成
ppg反射技術(shù)的兩種光學(xué)反射原理主要分別是朗伯-比爾定律(lamber-beerlaw)理論和光學(xué)的散射光學(xué)理論。
由郎伯-比爾定律可知,當(dāng)波長(zhǎng)為λ的單色光垂直射入吸光物質(zhì)時(shí),透光強(qiáng)度Ⅰ與入射光強(qiáng)度有如下關(guān)系:
其中,ε(λ)其濃度值得大小用來(lái)描述特定波長(zhǎng)的陽(yáng)光吸收能力的強(qiáng)弱;c的值是對(duì)吸光介質(zhì)的反射濃度的反映;L用來(lái)反映物質(zhì)的厚度。在PPG技術(shù)中,人體真皮層里的血管血液的容積與光照強(qiáng)度是相互影響的,其中任何一個(gè)發(fā)生了變化,那么剩下的那一個(gè)也會(huì)隨之改變;在視頻采集設(shè)備所監(jiān)測(cè)到的光照強(qiáng)度信息中,其中就包括了對(duì)應(yīng)的心臟周期活動(dòng)信息[5]。
1.6.1 信號(hào)的處理原理
本系統(tǒng)在對(duì)心率計(jì)算上所采集到的視頻數(shù)據(jù)以隊(duì)列這種數(shù)據(jù)結(jié)構(gòu)形式為主,其隊(duì)列為600幀數(shù)據(jù)。在對(duì)心率的計(jì)算上,如果長(zhǎng)度達(dá)到600幀那么就將這些數(shù)據(jù)存到計(jì)算隊(duì)列來(lái)實(shí)現(xiàn)心率的計(jì)算,然后將這些數(shù)據(jù)予以刪除,之后如果后續(xù)的隊(duì)列長(zhǎng)度再次達(dá)到90幀時(shí),那么就將這些數(shù)據(jù)存入其隊(duì)尾然后進(jìn)行心率計(jì)算,然后再將這些數(shù)據(jù)進(jìn)行刪除。
在對(duì)已獲取的視頻數(shù)據(jù)進(jìn)行預(yù)處理時(shí),主要是通過(guò)matlab工具進(jìn)行仿真為帶通濾波和標(biāo)準(zhǔn)化處理,帶通濾波主要是用于抑制BVP信號(hào)以外的噪聲,在下一步盲源分離中首先需要標(biāo)準(zhǔn)化處理。在對(duì)BVP信號(hào)的提取上所使用的方法主要包括G-BVP方法和ICA-BVP兩種方法。
將得出的BVP信號(hào)進(jìn)行傅里葉變換,然后得出對(duì)應(yīng)的頻譜圖,最后把頻率值*60這個(gè)數(shù)值作為心率計(jì)算過(guò)程中得出的結(jié)果。
如果在對(duì)信號(hào)進(jìn)行采樣的過(guò)程中,是滿(mǎn)足香農(nóng)定理的,就能完整并且正確的將時(shí)域中的每一個(gè)信號(hào)展示出來(lái),并且把原點(diǎn)作為對(duì)稱(chēng)地點(diǎn)進(jìn)行重復(fù)發(fā)生,對(duì) ppg 信虧的波形圖進(jìn)行博且叫做預(yù) p 區(qū)頻域中的波形圖我們只需要選擇其中的對(duì)稱(chēng)波形的一半進(jìn)行分析[9]。
當(dāng)處理完成這些心率信號(hào)的濾波后,保存之后的信號(hào)即心率階段的信號(hào),這個(gè)狀態(tài)下的信號(hào)在經(jīng)過(guò)頻域轉(zhuǎn)換后,在頻譜圖上會(huì)有一些特征體現(xiàn)出來(lái),可以根據(jù)與圖5中的最高點(diǎn)相對(duì)應(yīng)的縱向坐標(biāo)得出頻率平均值1. 267Hz ,這個(gè)數(shù)值即為每一秒鐘心臟跳動(dòng)的次數(shù),換算到工程上心率信號(hào)的單位,次/分鐘(bpm),就能得出在正常情況下,心率為76.02~76(次/分鐘)[12]。
圖5 PPG信號(hào)頻譜圖
在人眼和視頻的人眼心率檢查系統(tǒng)中,采用的是基于 viola _ jones 的算法來(lái)檢測(cè)人眼,有兩個(gè)原因,一是viola _ jones 算法在計(jì)算機(jī)應(yīng)用中的目標(biāo)心率檢測(cè)技術(shù)較成熟,有較高的準(zhǔn)確率,能夠在人眼以及視頻在面部目標(biāo)的檢測(cè)上有較突出的表現(xiàn)和精準(zhǔn)的結(jié)果;二是該算法中結(jié)合了adaboost 和 cascade 級(jí)聯(lián)算法,在視頻中實(shí)現(xiàn)對(duì)人眼的檢測(cè)過(guò)程中,就能調(diào)用該cascade 級(jí)聯(lián)分類(lèi)器來(lái)進(jìn)行模式匹配等操作。對(duì)于視頻圖像的灰度化處理以及直方圖均衡化的結(jié)果如圖6所示[10]。
圖6 圖像灰度化和均衡化結(jié)果
1.6.2 快速傅里葉變換
快速傅立葉變換,簡(jiǎn)稱(chēng)FFT,在計(jì)算過(guò)程中可以快速并且高效的進(jìn)行離散傅立葉變換運(yùn)算及其逆變換運(yùn)算。在相同情況下,如果根據(jù)DFT的公式,去解決一個(gè)長(zhǎng)為n的序列的 DFT,在這個(gè)過(guò)程中所達(dá)到的運(yùn)算量是o(n2),但是使用FFT,僅僅需要O(nlogn)的運(yùn)算量就可以解決。
在本篇論文中,所闡述的FFT過(guò)程大多數(shù)是運(yùn)用Cooley-Tukey算法的,這個(gè)方法的使用范圍十分廣泛,而且會(huì)在計(jì)算過(guò)程中將DFT進(jìn)行分離,使其變成為更小的DFT單元,如果長(zhǎng)度為N=N1N2的信號(hào),就會(huì)將其 DFT以遞歸的形式,分組成兩組長(zhǎng)度為N1和N2的短信號(hào),并且由此得出DFT和O(N)個(gè)旋轉(zhuǎn)矩陣的復(fù)數(shù)乘積[11]。
打開(kāi)pycharm然后運(yùn)行程序后彈出的畫(huà)面如圖7所示,此窗口可以捕獲人臉,forehead為額頭感興趣區(qū)域,這個(gè)區(qū)域反射回來(lái)的PPG信號(hào),然后通過(guò)信號(hào)的變換和分析最終來(lái)計(jì)算心率。按下“s”鍵開(kāi)始非接觸式心率測(cè)量,按下“c”鍵可以切換攝像頭,當(dāng)前的攝像頭為0默認(rèn)是電腦自帶的攝像頭。
圖7 程序運(yùn)行圖
圖8 心率測(cè)量結(jié)果
按下“s”鍵之前會(huì)自動(dòng)捕獲人臉,按下“s”鍵之后心率測(cè)量開(kāi)始過(guò)程中測(cè)試者需要將自己的額頭保持不動(dòng),盡量保持被測(cè)試區(qū)域不被頭發(fā)或者其他遮擋物遮擋,保持自己處于一個(gè)靜止和平靜,等大約1秒鐘到2秒鐘左右,其測(cè)試結(jié)果數(shù)據(jù)不在大范圍跳動(dòng)后,證明其結(jié)果已經(jīng)穩(wěn)定,但是因?yàn)闇y(cè)試是實(shí)時(shí)測(cè)試,測(cè)試結(jié)果會(huì)跟隨測(cè)試者的行為動(dòng)作而跳動(dòng)。
待測(cè)試結(jié)果穩(wěn)定后按下“d”鍵切換數(shù)據(jù)曲線(xiàn)圖,可以換一種結(jié)果的呈現(xiàn)方式,用數(shù)據(jù)曲線(xiàn)圖來(lái)實(shí)時(shí)的表現(xiàn)測(cè)試者的實(shí)時(shí)心率。
圖9 數(shù)據(jù)曲線(xiàn)圖
用機(jī)器視覺(jué)的非接觸式心率測(cè)量得出的心率結(jié)果對(duì)比現(xiàn)在市場(chǎng)上常用的接觸式心率測(cè)量,比如運(yùn)動(dòng)手環(huán)等設(shè)備得出,雖然有一點(diǎn)誤差,但是兩組數(shù)據(jù)沒(méi)有太大的出入,由此,得出基于機(jī)器視覺(jué)的非接觸式心率測(cè)量在測(cè)量精度上有一定的保證。平均值與運(yùn)動(dòng)手環(huán)的結(jié)果99.9%相似。
表1測(cè)量均在測(cè)量者靜息狀態(tài)下完成。
表1 實(shí)驗(yàn)結(jié)果圖
本次論文借助pycharm這款軟件完成了非接觸式心率測(cè)量系統(tǒng)的開(kāi)發(fā),其精度能和運(yùn)動(dòng)手環(huán)測(cè)量的結(jié)果保持99%的相似,能夠有效、精確的測(cè)量出心率,本論文將機(jī)器視覺(jué)應(yīng)用在人們的日常生活中,可以滿(mǎn)足人們?nèi)粘?duì)身體健康的檢測(cè)和疾病的預(yù)防。