本發明涉及醫療視頻圖像處理領域,具體是一種適用于晝夜環境的呼吸率檢測方法。
背景技術:
隨著計算機技術的發展,視頻圖像處理技術在近年得到了快速地發展與應用,并且滲透到了生活的方方面面,為人們帶來了諸多便利。在醫療科學領域,視頻處理技術在醫療診斷、手術指導和日常檢測方面具有巨大的應用前景,為現代醫學的發展提供了積極的輔助支撐作用。
呼吸率是急性呼吸功能障礙疾病檢測的敏感指標之一,而對長期呼吸率變化趨勢的監測分析也可以反映人體的健康狀況,如身體疲勞狀態、睡眠質量等。所以,呼吸率檢測在相關疾病預防和日常檢測方面具有重要意義。常用呼吸率檢測方法為心電圖法(Electrocardiogram,ECG),即通過心電數據間接估計呼吸率。該方法雖然準確性較高,但所得呼吸率數值并不是即時呼吸頻率,而是由心電數據間接估計得到,且測量時需要在被測者身上粘貼電極進行測量,會給被測試者帶來身體和心理上的不適,影響呼吸率測量結果。為此,非接觸式呼吸率檢測技術的出現可以很好地解決上述問題。但早前提出的應用熱成像相機、微型生物雷達、3D體感相機、磁感應相移技術等非接觸式檢測方式因成本昂貴、設備體積大、抗干擾性較差等原因而無法適用于日常檢測,所以廉價、便捷、高效的非接觸式呼吸率檢測仍是今后研究的重點方向。
根據醫學定義,胸部的一次起伏定義為一次呼吸,即一次吸氣與一次呼氣的過程,所以統計每分鐘胸部起伏的次數即可以估計呼吸頻率。目前大多數非接觸式呼吸率檢測技術都是通過統計一分鐘內胸部起伏運動的次數來估計呼吸率。Alinovi等人在近期提出了基于時空分解的非接觸式視頻呼吸率檢測技術。該方法采用EVM(Eulerian Video Magnification)思想,首先通過拉普拉斯金字塔分解原始視頻圖像,提取不同尺度下圖像的亮度特征信息;然后采用時空處理技術提取并放大呼吸信號;最后使用最大似然估計法分析信號估計呼吸率。
Alinovi方法雖然可以準確地估計呼吸率,但存在以下缺陷:(1)基于EVM 運動放大方式在突出呼吸運動的同時也會對視頻中的噪聲進行同等幅度的放大,而放大后噪聲會對后期呼吸信號的提取產生干擾,影響呼吸率的估計;(2)原方法采用全局處理方式,該方法雖然可以最大程度地獲取呼吸運動信號,但場景中其他干擾運動會對呼吸信號的判定產生干擾;(3)對于睡眠呼吸檢測等要求在夜間進行視頻獲取的場景,普通攝像頭無法有效地采集視頻。
技術實現要素:
本發明的目的是提供一種適用于晝夜環境的呼吸率檢測方法,以解決現有技術Alinovi方法估計呼吸率存在的問題。
為了達到上述目的,本發明所采用的技術方案為:
一種適用于晝夜環境的呼吸率檢測方法,其特征在于:包括以下步驟:
(1)、采用攝像頭對人體進行拍攝以獲取視頻,所述攝像頭由計算機通過Matlab軟件控制,拍攝時確保人體上半身處于視頻畫面內且盡量處于中心區域,并保持攝像頭以固定的分辨率、幀率和RGB彩色空間拍攝一定時間,白天室內有穩定白熾燈光源環境下拍攝的視頻保存為AVI格式,夜間無光照環境下拍攝的視頻保存為mp4格式;
(2)、對攝像頭采集的視頻進行人臉檢測,并根據人體幾何知識,由人臉區域定位胸口位置,獲得穩定的胸口運動視頻,過程如下:
(2.1)、獲取人臉區域:
在計算機中將攝像頭采集的視頻的第一幀作為參考圖像,通過OpenCV中的Viola-Jones人臉檢測器檢測出矩形的人臉區域,獲得矩形框四個頂點F1的坐標;
(2.2)、確定呼吸信號采集區域:
根據先驗知識,人的身高可以用頭高進行描述,由呼吸引起胸部變化區域大致在第六頭高線與第七頭高線的下方區域,即肩膀下方到第六頭高線上方的區域,根據先驗知識可從視頻中找出呼吸引起胸部變化區域,然后在呼吸引起胸部變化區域中確定呼吸信號采集區域,確定的原則如下:
選擇從頭頂開始,向下移動1.4-1.6倍頭高作為呼吸信號采集區域起始縱坐標,以人臉框中心點向左移動0.23-0.27倍頭寬作為呼吸信號采集區域起始橫坐標,0.4-0.6倍的頭高和0.8-1.2倍的頭寬分別作為呼吸信號采集區域的長與寬;
(2.3)、獲取胸口運動視頻:
確定呼吸信號采集區域后,對視頻進行裁剪以保留呼吸信號采集區域對應的胸口位置圖像,并輸出胸口位置圖像序列后進行視頻保存,生成穩定的胸口運動視頻;
(3)、將胸口運動視頻的彩色空間由RGB轉換為Gray-Scale,以獲得Gray-Scale色彩空間的視頻,通過將三通道運動信息整合到單通道上,實現了亮度信息的突出同時有效降低數據計算復雜度,RGB與Gray-Scale轉換公式如下:
(4)、對Gray-Scale色彩空間的視頻進行運動放大,以提取穩定的呼吸運動信號,具體過程如下:
(4.1)、空間相位分解:
利用復數方向可控金字塔對圖像進行空間相位處理,通過迭代計算將圖像分解成不同尺度、相位方向的子帶序列,圖像的運動相位信息便蘊含在子帶序列中,復數方向可控金字塔實現過程如下:
(4.1.1)、輸入圖像尺寸,確定尺度分解層數M:
M=floor(log2min(h,w))-2 (2),
式中,h和w表示原始圖像的高和寬,floor表示向下取整;
(4.1.2)、確定濾波器的濾波方向參數N(根據實驗效果,本次默認設定N=4,);
(4.1.3)、輸入圖像首先被分解為高通子帶H0與低通子帶L0,其中低通子帶包含圖像全局信息,高通子帶包含圖像細節,其中相位信息蘊含在低通子帶中;
(4.1.4)、按照參數N對L0進行方向可控濾波,獲得N類不同方向的子帶序列Bk(k=0,1,…N)和子帶部分L1;
(4.1.5)、將子帶部分L1進行二抽樣后,重復(4.1.4)操作,直到尺度分解層數達到M;
(4.1.6)、操作完成后,共獲得M*N+2(H0與LM+1)個子帶序列,其中M*N個子帶序列B中包含呼吸運動的相位信息,用于后續信號處理;
(4.2)、時間帶通濾波:
利用理想的帶通濾波器對子帶序列進行時間濾波,通頻帶為0.05~1.25Hz;
(4.3)、信號放大:
針對濾波后的子帶序列,直接乘以預設的放大因子α進行運動的放大;
(4.4)呼吸信號提取,過程如下:
(4.4.1)、對放大后的子帶序列進行二值轉換,通過預設的閾值γth突出呼吸運動,公式如下:
其中l表示經方向可控金字塔分解后的第l層子帶;x,y表示相應子帶對應的圖像尺寸,i表示視頻的幀序號;α表示放大因子;Fl表示對應子帶濾波后的序列值,Bl表示對應子帶閾值化的序列值;
(4.4.2)、將圖像序列轉換平均相位信號來表征身體運動模式,即呼吸運動。平均相位信號公式如下:
經過公式(3)、(4)后,將得到表征呼吸運動的多通道信號,將各通道進行通道平均操作后,可以得到平均呼吸波形,即得到穩定的呼吸運動信號;
(5)、對獲取的多通道呼吸波形進行頻域分析,通過最大似然估計法進行呼吸率的初步估計,獲取初始呼吸頻率后配合平滑濾波對平均呼吸波形進行濾波優化,獲取精準的呼吸波形,并采用峰值點檢測法進行呼吸率再估計,具體過程如下:
(5.1)最大似然估計:
由公式(4)得到的Ll代表不同尺度和相位方向的呼吸信號趨勢,不同的Ll對同一運動物體的不同描述相當于不同位置與角度的攝像機對同一物體進行拍攝所產生的多組圖像結果,基于此思想采用最大似然法進行呼吸率估計,通過聚合多個尺度、相位方向的信號序列達到增強呼吸信號的效果,具體公式如下:
其中,fs表示信號的采樣頻率,N表示采集視頻總幀數,M表示金字塔分解后各個尺度和方向子帶的總數量,DFT{}表示離散傅里葉變換,argmax操作表示從集合中 獲取能量值最大點索引;
(5.2)、平滑濾波與峰值點檢測:
以f0為基準,將通頻帶上下各拓寬0.05Hz對平均呼吸波形進行平滑濾波,獲取濾波優化后的呼吸波形,此時呼吸波形的呼吸波形已非常明顯,其中每一組波形的起伏代表一次呼吸起伏,所以統計該段波形中的波峰數量即可得到呼吸頻率,因此對該波形使用Matlab工具箱中的峰值點檢測命令即可。
所述的一種適用于晝夜環境的呼吸率檢測方法,其特征在于:步驟(1)中,在白天室內有穩定白熾燈光源環境下,視頻以640*480的分辨率,30幀/秒的幀率和RGB彩色空間持續采集60秒,并保存成AVI格式;夜間無光照環境下,視頻以1280*720的分辨率,9幀/秒的幀率和RGB彩色空間持續采集60秒,并保存成mp4格式。
所述的一種適用于晝夜環境的呼吸率檢測方法,其特征在于:步驟(2.1)中,在夜間情況下,Viola-Jones人臉檢測器因為夜間場景噪聲較大與視頻質量原因出現人臉誤檢的情況,可采用修復算法進行處理。
本發明無需利用電極或者傳感器接觸人體,只借助具有普通的具有夜視功能攝像頭即可自動監測人體重要的生理指標,呼吸率(Respiratory Rate)。提出的方法通過對人體胸口視頻進行采集和相應處理,能夠有效定位呼吸主要區域,消除周圍場景噪聲干擾,從胸部起伏中準確提取呼吸信號用于呼吸率估計。在白天或室內穩定白熾燈光源情況和夜間無光照兩種情況下,本發明估計的呼吸頻率與真實呼吸頻率具有良好的結果一致性,穩定性較高。
本發明與現有技術相比具有如下優點:
1)本發明針對傳統接觸式呼吸率檢測技術存在操作復雜與肢體束縛的問題,提出一種非接觸式的基于胸部視頻處理的呼吸率檢測技術。該技術無需使用電極或特殊傳感器對人體進行接觸來獲取信號,而只需借助具有夜視功能的普通攝像頭即可自動檢測呼吸率。有效地降低了設備成本,提高了通用性,并且提高了測試者的舒適程度,適用于日常呼吸監測和相關疾病預防。
2)本發明通過考慮呼吸引起的胸部區域變化,有效地選擇呼吸信號提取區域,克服了場景中其他噪聲的干擾,并適當降低算法的時間復雜度;采用基于相位的運動放大技術,提取呼吸運動序列并對其進行放大,獲取穩定的呼吸運動信號;采用紅外攝像頭實現夜間視頻采集,并通過相位信息提取方式,在晝夜環境 下均可以準確地檢測呼吸率。
3)本發明通過對呼吸信號進行最大似然估計分析,實現了呼吸信號頻率的初步估計;然后利用初估計頻率對呼吸信號進行平滑濾波,優化呼吸波形,使呼吸運動趨勢更加明顯,最后通過峰值點檢測方法對優化后波形進行呼吸率估計,提高了呼吸率檢測的精度。
附圖說明
圖1是本發明的非接觸式呼吸率檢測的流程框圖。
圖2是本發明的設備安裝效果圖。
圖3是人臉檢測效果圖(白天)。
圖4是人臉檢測效果圖(夜間誤檢情況)。
圖5是人臉檢測效果圖(夜間誤檢修復后情況)。
圖6是胸口定位示意圖(白天)。
圖7是胸口定位示意圖(夜間)。
圖8是本發明提取的呼吸運動波形。
圖9是本發明平滑濾波后呼吸運動波形。
具體實施方式
參照圖1,本發明呼吸率檢測的實施步驟如下:
步驟1,參照圖2,將一臺具有夜視功能的網絡攝像頭放置于正對人臉前方約0.5m的位置,也可以架在計算機顯示器的上方,攝像頭與計算機之間使用USB進行連接。操作者利用Matlab軟件控制攝像頭拍攝視頻,確保人體上半身完全處于視頻畫面以內,且盡量處于中心區域。在白天室內有穩定白熾燈光源環境下,視頻以640*480的分辨率,30幀/秒的幀率和RGB彩色空間持續采集60秒,并保存成AVI格式。夜間無光照環境下,由于攝像頭硬件限制原因,視頻以1280*720的分辨率,9幀/秒的幀率和RGB彩色空間持續采集60秒。
步驟2,對采集的視頻進行人臉檢測,并根據人體幾何知識,由人臉區域定位胸口位置,獲得穩定的胸口運動視頻,相比于現有技術有兩點重要改進。
2a)將輸入視頻的第一幀作為參考圖像,首先通過OpenCV中的Viola-Jones人臉檢測器檢測出矩形的人臉區域,獲得矩形框四個頂點F1的坐標,白天環境下如圖3所示。針對夜間情況下,Viola-Jones會因為夜間場景噪聲較大與視頻質量等原因出現人臉誤檢的情況,本發明采用修復算法進行處理,解決了大部分誤檢問題,修復算法 原理:由于在視頻采集過程中人臉是場景的主要目標,所以在多數情況下出現誤檢的錯誤框圖寬度均小于人臉框圖寬度。因此當VJ檢測器獲取多個可能“人臉”框圖時,可默認保留寬度最大的坐標區域,即為人臉框圖。具體圖4、5所示,當原始VJ檢測器出現誤檢情況(圖4)時,誤檢“人臉”框寬度均比正確人臉框寬度小,經過處理后,只保留正確人臉(圖5)。
2b)人的身高可以用頭高進行描述。根據先驗知識,成人身高一般是頭高的8倍,從腳底向上起,男性的胸口大約在第六頭高上方,女性則相對男性略低。所以,由呼吸引起胸部區域變化大致在第六頭高線與第七頭高線的下方區域,也就是肩膀下方到第六頭高線上方的區域。結合實驗效果,本文從上述區域中選擇了一部分作為呼吸信號采集區域。選擇區域為:從頭頂開始,向下移動1.5倍頭高作為呼吸區域起始縱坐標,以人臉框中心點向左移動0.25倍頭寬作為呼吸區域起始橫坐標,0.5倍的頭高和1倍的頭寬分別作為采集區域的長與寬,具體如圖6、7。
2c)正確檢測到胸口位置后,對后續視頻進行裁剪,輸出圖像序列按照步驟1根據不同的使用場景進行視頻保存,生存胸口運動視頻。
以上操作相比于現有技術有兩點改進:①通過胸口定位技術明確呼吸產生的區域,有效地降低了算法的時間復雜度,且確定胸口區域后,可以去除場景中非呼吸區域的噪聲干擾,避免因全局估計因噪聲問題而產生的估計偏差問題;②人臉誤檢修復可以在大多數情況下提升傳統Viola-Jones在夜間情況下的檢測精度,提升胸口定位成功率,增加呼吸信號提取的穩定性。
步驟3,胸口視頻的彩色空間由RGB轉換為Gray-Scale,將三通道運動信息整合到單通道上,實現了亮度信息的突出同時有效降低數據計算復雜度。RGB與Gray-Scale轉換公式如下:
Gray=0.2989*R+0.5870*G+0.1140*B (1),
步驟4,對Gray-Scale色彩空間的視頻進行運動放大,提取呼吸運動信號。
4a)空間相位分解
利用復數方向可控金字塔對圖像進行空間相位處理,通過迭代計算將圖像分解成不同尺度、相位方向的子帶序列,圖像的運動相位信息便蘊含在子帶序列中。與傳統金字塔分解不同,復數方向可控金字塔通過設定方向相位角度,靈活地將圖像分解成多個方向可控的子帶信息,且各方向子帶具有無混疊、相位正交的特點。復數方向可 控金字塔實現過程為:
(1)輸入圖像尺寸,確定尺度分解層數M
M=floor(log2min(h,w))-2 (2),
式中,h和w表示原始圖像的高和寬,floor表示向下取整。
(2)確定濾波器的相位方向參數N
(3)輸入圖像首先被分解為H0與低通子帶L0,其中低通子帶包含圖像全局信息,高通子帶包含圖像細節,其中相位信息蘊含在低通子帶中。
(4)按照參數N對L0進行方向可控濾波,獲得N類不同方向的子帶序列Bk(k=0,1,…N)和子帶部分L1。
(5)將子帶部分進L1行二抽樣后,重復(4)操作,直到尺度分解層數達到M
(6)操作完成后,共獲得M*N+2(H0與LM+1)個子帶序列。其中,(M*N)個子帶序列B中包含呼吸運動的相位信息,用于后續信號處理。
4b)時間帶通濾波
利用理想的帶通濾波器對子帶序列進行時間濾波,通頻帶為0.05~1.25Hz(對應呼吸率3~75次/分鐘)。
4c)信號放大
針對濾波后的子帶序列,直接乘以放大因子α進行運動的放大,默認放大因子為10倍。
4d)呼吸信號提取
(1)對放大后子帶序列進行閾值轉換,通過閾值γth(根據實驗效果,本次設定為10)突出呼吸運動,過程如下:
其中l表示經方向可控金字塔分解后的第l層子帶;x,y表示相應子帶對應的圖像尺寸,i表示視頻的幀序號;α表示放大因子,默認放大因子倍數為10;Fl表示對應子帶濾波后的序列值,Bl表示對應子帶閾值化的序列值。
(2)將圖像序列轉換平均相位信號來表征身體運動模式,即呼吸運動。平均相位信號公式如下:
經過公式(3)、(4),本發明得到表征呼吸運動的多通道信號,將各通道進行通道平均操作后,可以得到平均呼吸波形,見圖8。
步驟5,對獲取的多通道呼吸波形進行頻域分析,通過最大似然估計法進行呼吸率的初步估計,獲取初始呼吸頻率后配合平滑濾波對平均呼吸波形進行平滑濾波,優化呼吸波形,并采用峰值點檢測法進行呼吸率再估計。
5a)最大似然估計
由公式(4)得到的Ll代表不同尺度和相位方向的呼吸信號趨勢。不同的Ll對同一運動物體的不同描述相當于不同位置與角度的攝像頭對同一物體進行拍攝所產生的多組圖像結果?;诖怂枷耄景l明采用最大似然法進行呼吸率估計,通過聚合多個尺度、相位方向的信號序列達到增強呼吸信號的效果。具體公式如下:
其中,fs表示信號的采樣頻率,N表示采集視頻總幀數;M表示金字塔分解后各個尺度和方向子帶的總數量;DFT{·}表示離散傅里葉變換。
5b)平滑濾波與峰值點檢測
以f0為基準,將通頻帶上下各拓寬0.05Hz對平均呼吸波形進行平滑濾波,獲取濾波優化后的呼吸波形,見圖9。此時,呼吸波形的呼吸波形已非常明顯。對該波形使用Matlab工具箱中的峰值點檢測命令即可,具體如下:
data=detrend(data);
[pks,~]=findpeaks(data,'minpeakheight',0,'minpeakdistance',14);
m=size(pks);
output=round(m(2)*(60*Fs)/len);
其中,data表示平滑濾波后信號序列;函數detrend(·)表示信號去趨勢化處理;函數findpeaks(·)表示按照設定的最小峰值高度、峰間距離等參數對數據進行波峰統計;m表示波峰數量;Fs表示采樣頻率;len表示信號長度;函數round(·)表示對估計結果進行四舍五入取整;output為最后估計呼吸頻率。
至此,適用于晝夜環境的呼吸率檢測技術基本完成。
以下通過白天環境及夜間情況下的呼吸率檢測實驗進一步說明本發明的有效性。
一、白天環境呼吸率檢測實驗
1.視頻參數:
視頻參數如表1:
表1白天環境下的視頻參數
2.實驗內容:
為驗證本發明的準確性,本次實驗在呼吸頻率6-36次/分鐘范圍內對測試者進行多次視頻采集和呼吸率檢測。測試者分別以正常呼吸或按照顯示屏提示進行特定頻次的呼吸作為真實呼吸率進行參考。
為了對實驗結果進行定量評價,本次采用3種評價指標進行性能評估。第1個指標為平均誤差Me,即測量值與真實值的偏差,見公式(6):
第2指標是均方根誤差,記作RMSE(Root Mean Square Error),RMSE越接近0表示呼吸率檢測技術越穩定,魯棒性更好,見公式(7):
第3個指標是呼吸率的平均準確率RRac,見公式(8):
式中,N表示視頻總數量,RRev表示呼吸率估計值,RRtrue表示實際呼吸率值。
為驗證本發明性能,本發明復現了Alinovi的非接觸式呼吸率檢測方法進行實驗對比。白天情況下的呼吸率檢測性能如表2所示.
表2白天環境下的呼吸率檢測性能對比
3.呼吸率檢測結果分析:
發在室內穩定白熾燈光源的白天環境下,兩種技術均可實現呼吸率的準確檢測。但由于Alinovi方法在全局估計時候容易受場景干擾與噪聲問題,所以在后期功率譜估計時會產生能量泄露效應,造成呼吸率估計出現較大偏差。而本發明通過胸口定位優化了呼吸區域、并通過PVM優秀的抗噪性能保證信號穩定性,因此在實驗結果上有較大提升。所以在表2中,本發明在性能參數上具有提升。
二、夜間環境呼吸率檢測實驗
1.視頻參數:
視頻參數如表3:
表3白天環境下的視頻參數
2.實驗內容:
為驗證本發明的準確性,本次實驗在呼吸頻率9-23次/分鐘范圍內對測試者進行多次視頻采集和呼吸率檢測。測試者分別以正常呼吸或按照顯示屏提示進行特定頻次的呼吸作為真實呼吸率進行參考。
本發明同樣使用實驗一中的三種指標對呼吸率檢測技術進行評價,對比的方法也相同。夜間環境下的呼吸率檢測性能如表4所示。
表2夜間環境下的呼吸率檢測性能對比
3.呼吸率檢測結果分析:
對比中發現:在夜間室內無光照的環境下,通過使用紅外攝像頭,本發明實現了夜間環境下呼吸率的檢測。但在相同設備條件下,本發明相比于Alinovi有明顯提升。主要原因在于當被測者處于攝像頭較近距離時,攝像頭發出的紅外光大部分都被人體反射,所以被測者在視頻中的顯示效果要比周圍場景的亮度值要高,反映在灰度視頻中即“偏白”。所以傳統基于亮度值變化提取信號的算法無法有效提取亮度信息,所以呼吸率檢測出現嚴重偏差,無法適用于夜間呼吸率檢測。而本文方法從相位角度進行變化信號的提取,有效避免了傳統方法中亮度值提取困難的缺陷,可以實現較穩定的呼吸率檢測。但結果還是相對白天出現下降,其原因在于:目前夜間攝像頭多為安防設備,在采用高壓縮比技術對視頻進行壓縮時會對視頻的清晰度、圖像細節等方面產生損失,且9幀/秒的幀率相較于白天30幀/秒的幀率有較大下滑,使數據量降低,對呼吸信號提取產生一定影響。但從Me與RRac兩參數可以看出,即使在夜間情況下,本發明依舊可以與真實呼吸率保持較高地吻合率,符合日常使用要求。