陳永康,侯振杰,陳 宸,梁久幀,蘇海明
(1.常州大學 信息科學與工程學院,江蘇 常州 213164;2.佛羅里達大學計算機視覺研究中心,佛羅里達 32118)
基于深度圖像的非接觸式呼吸檢測算法研究
陳永康1,侯振杰1,陳 宸2,梁久幀1,蘇海明1
(1.常州大學 信息科學與工程學院,江蘇 常州 213164;2.佛羅里達大學計算機視覺研究中心,佛羅里達 32118)
呼吸是人的基本生命活動,監測呼吸可以得知呼吸道和胸廓運動的生理、病理學狀態,對某些呼吸系統疾病的診斷有重要的參考價值;提出了一種非接觸式呼吸監測方法:對紅外視頻流中的每幀胸腹部區域數據進行降維,計算所有胸腹部區域數據的方差,將一定時間段內的方差序列進行低通濾波;最后根據方差序列可以獲得該段時間內的呼吸頻率和呼吸暫停時間;提出的非接觸式呼吸檢測算法在不影響被監測者正常睡眠活動的情況下,可以準確獲取呼吸頻率與其他相關參數,為健康監測和相關疾病的診斷提供了數據支持;日常家居場景的實驗中,檢測到的呼吸次數與實際完全一致,并且與實際胸腹部起伏變化基本同步,較好的保證了結果的準確性。
呼吸檢測;深度圖像;非接觸
呼吸是人體的一項基本生命活動,然而由于生理構造的原因,呼吸系統易感染各種呼吸疾病。通過檢測呼吸能發現并預防呼吸道、肺部以及心血管等部位的病變。呼吸頻率是一項檢測人呼吸的重要參數。醫學上發現,呼吸頻率和血液的一些生化參數的變化有著密切的關系,可能會影響到血氧飽和度、二氧化碳分壓、血氧含量等。經研究發現,阻塞性呼吸睡眠暫停(obstructive sleep apnea,簡稱OSA)與呼吸頻率及呼吸暫停時間有著密切的關系。維基百科中關于OSA有這樣一段介紹:阻塞性呼吸睡眠暫停多生于中年男性,男性的發病率約為女性的2至8倍,平均20個成年人就有一個患上,老年人的病發率則為10%。另外,肥胖、扁桃腺過大、鼻骨移位、酗酒、吸煙及服用安眠藥的人士較易患上睡眠呼吸暫停。近年醫學研究發現原來兒童患有睡眠呼吸暫停的比例其實比想像中嚴重。
檢查及診斷OSA常用手段是借助睡眠多維圖(Polysomnography,PSG)。PSG提供了腦電圖、眼動圖、肌電圖、口鼻氣流、胸及腹部動態以及脈動式血氧計。PSG能夠監察人的睡眠時期、監察人的呼吸狀態以及監察血氧濃度。然而使用PSG費用很高、并且PSG是接觸式設備,很容易打斷人的正常睡眠,影響最后診斷的結論。
近年來隨著各種傳感器技術的進步,許多研究者希望通過各種傳感器來監測人呼吸頻率及呼吸暫停時間,近而判斷被監測者是否患有OSA。例如有研究者用胸腹部運動監測帶監測呼吸時引起的胸腹部運動,用心電圖的形式反映呼吸情況。這些非接觸式方法仍然無法解決干擾被監測者正常睡眠活動的問題。
于是有研究者采用記錄睡眠時音頻信息來分析睡眠情況[1-2],然而利用聲音來檢測呼吸,易受到環境噪聲干擾易影響到結果的準確性。利用熱成像攝像頭[3-4]監測睡眠,利用熱成像攝像頭監測最大的問題是易受攝像頭的視野的限制。這些方法最大的優點是做到了非接觸監測。
微軟推出的Kinect2可以獲得較為準確的三維深度圖像且價格較低廉。有很多研究者利用Kinect監測呼吸。Flavia Benetazzo通過Kinect實時采集人胸部深度數據,將當前幀及前后幾幀的胸部深度數據做加權平均,通過做差得出人呼吸曲線[5]。單禹皓通過Kinect計算胸部區域深度數據平均值測呼吸信號[6-8]。然而經實際實驗,平均值對胸腹部變化不敏感。
文章所采用的是Kinect2紅外視頻流數據,它基于主動紅外追蹤技術,對光照無特殊要求。當人躺在Kinect2的視野范圍內并且能夠識別人的骨架時,該算法便可開始監測人的呼吸。
1.1 方法流程
該算法主要分為以下5個步驟:獲取紅外圖像中人胸腹部數據、快速PCA提取主要特征、對提取的特征計算方差、對方差序列進行低通濾波、統計呼吸暫停時間。該算法主要具體流程如圖1。

圖1 呼吸監測算法流程
1.2 獲取人體胸腹部數據
文章利用kinect2提供的人體骨骼追蹤功能,大致確定人的胸部區域。具體做法是首先用肩部左頂點、肩部右頂點和脊椎中段頂點確定一個大致的矩形區域(如圖2~3),再根據實際情況調整胸腹部區域的大小。下面詳細說明確定胸腹部區域方法。
首先,當kinect2跟蹤到躺著人的骨架時,獲取某時刻(t)的骨骼幀的shoulderLeft、shoulderRight和SpineMid的三維空間坐標,并把三維空間坐標轉化到對應紅外視頻流空間的二維圖像坐標A、B、E。
然后利用轉化后的二維空間坐標A、B、E確定胸腹部所在當前紅外圖像幀的位置ABCD。
最后獲取時刻(t)紅外圖像幀中區域ABCD的數據,即每幀紅外圖像中人胸腹部數據,并將其灰度化。

圖2 kinect追蹤的骨骼點

圖3 算法實時場景圖
1.3 PCA提取主要特征
截取某時刻t的紅外圖像的胸部區域的數據,該區域數據是一二維數組,將其定義為一個m×n的矩陣Amn。
Amn包含了表征人體呼吸的特征數據。在實驗中發現Amn的m、n均大于30,那么Amn便有多于900個特征分量來反映呼吸變化,數據存在極大的冗余。例如截取的胸腹部區域中有些區域是一直是靜止的,那么表示這些區域的特征分量是多余的。因此有必要對Amn進行降維以降低數據的冗余度。
文章中提到的胸部起伏特征屬于高維特征并且每一幀紅外圖像胸部區域數據無明顯的類別信息。所以對于LDA這種處理有類別信息的特征降維方法顯然不是最合適的。PCA比較適合處理沒有類別信息的全局數據,用來提取本文每一幀紅外圖像的胸部區域數據是比較合適的。因此本文采用PCA對Amn進行特征降維。
將Amn看成n維空間中m個樣本,用PCA降維的目的是尋找到一合理的、更低的維度d,在該維度下依然能很好的表示包含的主要信息。
Amn可以看做有m個樣本和n個特征值的變量數據表,即Amn=(a1,a2,…,an)其中aj=(A1j,A2j,…,Anj)T對應第j個變量。本文采用如下步驟進行主成分分析:
1)對Amn進行標準化處理,即:
(1)
式中,i=1,2,…,m;j=1,2,…,n

3)求V的前n個特征值λ1≥λ2≥……≥λn,及對應的特征向量U=(u1,u2…ud)。
4)取前個主成分:
Y=UTX
(2)
式中,U=(u1,u2…ud);Y=(y1,y2,…,yn)
Y就是經過降維后的呼吸矩陣。PCA處理效果如圖4,將經過PCA處理的呼吸曲線與未經過PCA處理的呼吸曲線對比可以發現,經過PCA提取主成分能夠降低原始數據的冗余度,突出被監測者在呼吸過程中的胸腹部變化,緊而使呼吸曲線變化程度更加明顯。

圖4 使用PCA前后效果對比
1.4 對提取的特征計算方差
眾所周知,人呼吸伴隨著胸腹部的擴張與收縮,那么在一次正常呼吸過程中,任意時刻的胸腹部變化變化程度和相鄰時刻的變化程度應該有所差別。具體的表現就是某時刻采集的圖像中人的胸腹部擴張或收縮程度應與前后相鄰幾幀圖像中的變化程度有所不同。
方差是用來反映一組數據的離散程度。呼吸幅度越大,監測的Y中的數據之間差異將會越大,數據的分布將相對分散;而當呼吸越微弱,Y中數據之間差異將會越小,數據分布將會相對集中。所以每一時刻紅外圖像中Y的方差值便可描述當前人胸腹部變化的程度。
令
B={bi|bi∈Y且Y∈B}
(3)

k為B中元素個數
(4)
φ(t)含義為對某一時刻t獲取的深度圖像幀中胸腹部區域數據Y所有元素的方差值。根據前文所述,將φ(t)的大小來衡量胸腹部區域變化程度,φ(t)越大說明胸腹部區域正在擴張,反之表示胸腹部區域正在收縮。
1.5 對方差序列進行低通濾波
人體呼吸頻率因年齡、性別和生理狀態而異,一般來說成年人的呼吸頻率約為12-20次/每分;兒童的呼吸頻率約為20次/每分。因此時域信號{φ1,φ2,…,φn}中的高頻成分均可以看成是噪聲。
對某一段時間內的方差序列進行傅里葉變換,F(u)表示傅里葉變換結果。該文將頻域信號中的不合理高頻成分置零,經反復試驗,從F(u)第6項開始均置零,記修正后的F(u)為FF(u):

(5)
然后對FF(u)做逆傅里葉變換,將FF(u)轉化為時域信號。如圖5,經過低通濾波后噪聲被極大消除,呼吸曲線更趨光滑,更清晰地反映出呼吸變化過程。

圖5 低通濾波效果
1.6 統計呼吸暫停時間
呼吸暫停在在呼吸曲線中一般表現為在特定的區域內曲線波動的程度較小,如圖6所示。
記C(n)為經過低通濾波的呼吸時間序列(C(n)=φ(t)),C(n)的最大值max(C(n))=p,最小值為min(C(n))=q。p在C(n)中的位置為α,q在C(n)中的位置為β。下面定義描述一段序列C(n)的波動程度量σ(C):

(6)
σ(C)的含義是在一段時間內,平均每點的波動程度。通常在相同一段時間內,呼吸序列變化越頻繁則σ(C)越大;呼吸序列中的最大值與最小值之差越大則σ(C)越大。
當σ(C)小于某個閾值m時認為C(n)序列波動程度不大,近而認為這段時間呼吸暫停。下面給出閾值m的計算方法。φ(t)為一段時內的呼吸序列,其中C(n)∈φ(t),max(φ(t))=g,min(φ(t))=h

(7)


圖6 正常呼吸曲線
2.1 不同呼吸速率的呼吸曲線
為了測試該算法是否能在不同呼吸狀態下真實地反映人呼吸變化,設計了實驗一,實驗一為在33s內,測試者躺著以不同的方式呼吸。本實驗共測試了10個體型不同的個體,以正常呼吸3各次、呼吸急促及呼吸中有暫停各一次。
正常呼吸每個被測試者測試三次的目的是,確定該個體平均正常呼吸的頻率;而呼吸暫停、呼吸急促均只做一次實驗,是為了確定參數μ=5下的呼吸曲線,能否很好描述人在不同情況下的呼吸狀況。
圖6~8分別是測試者1的正常呼吸、呼吸急促、呼吸有暫停的呼吸曲線。
通過表1發現被試的呼吸頻率頻率范圍與資料給出的呼吸頻率范圍大致相同。通過30次實驗發現在33s被試呼吸次數都集中在7-10次,這一結果與上文提到的呼吸頻率范圍相符。
通過表2的被測試者實際呼吸次數與計算出的呼吸次數做對比可以發現,當被試者的呼吸頻率過快時,采用本算法的低通濾波參數會導致計算出的呼吸頻率與實際有一定的偏差,然而本算法的應用場景為監測普通家居環境下人的睡眠呼吸情況,眾所周知,一般人在睡眠時呼吸頻率不會太高。
通過表3的數據可以發現,人在單位時間內的呼吸頻率與呼吸暫停次數呈現負相關的特點,這與實際情況相符。
2.2 對比實驗
為了進一步地測試該算法的正確性,又實現了Flavia Benetazzo提出的呼吸檢測算法。該文設計了實驗二用于對比該算法統計出的呼吸頻率與Flavia Benetazzo方法的差異。該實驗中收集了10個被試各自在33s內呼吸的深度視頻流,然后分別用兩種方法處理并計算出呼吸頻率,結果如表4。由表4可知兩種算法所統計出的呼吸頻率幾乎沒有任何差別。鑒于Flavia Benetazzo將其算法得出的結果與專業的spirometer作對比并且誤差不太大,所以文章提出的檢測呼吸算法可靠性較高。

表1 正常呼吸測試

表2 急促呼吸測試

表3 呼吸暫停測試

圖7 呼吸急促曲線

圖8 呼吸暫停曲線
在實驗二中涵蓋了正常、暫停及呼吸急促的情況,分別如圖9~11所示。
圖9是兩種算法檢測正常呼吸效果的對比圖,由圖可知在本文算法產生的呼吸曲線的波峰對應Flavia Benetazzo算法產生的呼吸曲線的波谷。這是由于本文是基于胸腹部變化程度來反映被試呼吸變化,而Flavia Benetazzo提出的算法是基于胸部距離與Kinect攝像頭的距離來反映被試的呼吸變化。一般地,當胸腹部擴張到最大時(即完成吸氣過程)本文算法取得極大值,而Flavia Benetazzo方法正好取得極小值,反之則表現正好相反。結合圖10、圖11可知這種變化規律僅僅在被試正常呼吸時才會滿足。
圖10是兩種算法檢測呼吸暫停效果地對比圖,由圖可知本文算法描述呼吸暫停時波動程度比Flavia Benetazzo算法的更小,更易于統計呼吸暫停時間。更進一步地,在圖9(b)的AB區間內,出現了兩者波峰重合的情況,這是由于被試由正常呼吸狀態突變成呼吸暫停狀態導致的。
圖11是兩種算法檢測急促呼吸效果的對比圖,由圖可知,在呼吸急促的情況下,兩種呼吸檢測算法得出的呼吸曲線沒有任何對應關系,但都能反映出呼吸急促的特點。
雖然國內外已經有一些學者研究從圖像中提取被監測者的呼吸狀況,但是大多沒有詳細研究被監測者在各種呼吸狀態下的呼吸曲線。鑒于此,本文研究了本呼吸檢測算法在各種呼吸情況下的呼吸曲線,發現很好的反映了被檢測者實際呼吸情況。并且通過對比試驗可知本算法的正確性能夠得到保證。
由于深度圖像的性質,該呼吸檢測算法可以24持續小時檢測被監測者的呼吸狀態,進一步提高了通過圖像檢測人呼吸算法的實用性。

圖9 不同算法正常呼吸對比圖

圖10 不同算法呼吸暫停對比圖

圖11 不同算法呼吸急促對比圖
該文提出的算法主體思路是采用方差來衡量呼吸變化程度,通過PCA降維、快速傅里葉變換進行低通濾波來減少信號中的噪聲。通過與Flavia Benetazzo提出的算法做對比實驗,驗證了該文提出算法的正確性。同時該文也全面地分析了低通濾波地參數取值對信號的影響。
該方法最大的優點是對胸腹部變化敏感。算法在實際實現中可采用PCA降維、利用快速傅里葉變換進行低通濾波,因此算法能保證實時性,具有實際應用價值。算法在被監測者做翻身、起床等動作時,無法做到自適應監測胸腹部區域。這一問題將在后續工作中解決。
[1] Denissova S I, Yewondwossen M H, Andrew J W, et al. A gated deep inspiration breath-hold radiation therapy technique using a linear position transducer.[J]. Journal of Applied Clinical Medical Physics, 2005, 6(1):61-70.
[2] Cheng C M, Hsu Y L, Young C M, et al. Development of a portable device for telemonitoring of snoring and obstructive sleep apnea syndrome symptoms.[J]. Telemedicine journal and e-health : the official journal of the American Telemedicine Association, 2008, 14(1):55-68.
[3] Ng A K, Tong S K, Abeyratne U R, et al. Investigation of Obstructive Sleep Apnea Using Nonlinear Mode Interactions in Nonstationary Snore Signals[J]. Annals of Biomedical Engineering, 2009, 37(9):1796-806.
[4] Varith J, Hyde G M, Baritelle A L, et al. Non-contact bruise detection in apples by thermal imaging[J]. Innovative Food Science & Emerging Technologies, 2003, 4(2):211-218.
[5] Zhu Z, Fei J, Pavlidis I. Tracking human breath in infrared imaging[A]. Bioinformatics and Bioengineering, 2005. BIBE 2005. Fifth IEEE Symposium on[C]. 2005:227-231.
[6] Benetazzo F, Freddi A, Monteriù A, et al. Respiratory rate detection algorithm based on RGB-D camera: theoretical background and experimental results.[J]. Healthcare Technology Letters, 2014, 1(3):81-86.
[7] Noonan P J, Howard J, Hallett W A, et al. Repurposing the Microsoft Kinect for Windows v2 for external head motion tracking for brain PET.[J]. Physics in Medicine & Biology, 2015, 60(22):8753-66.
[8] 單禹皓, 陳 通, 溫萬惠等. 呼吸信號的非接觸式測量[J]. 計算機科學, 2015, 42(10):43-44.
[9] 張鵬飛, 張 華, 拜 軍等. 呼吸信號檢測技術研究現狀[J]. 國際生物醫學工程雜志, 2012, 35(6):365-368.
[10] 田芳潔, 孫建軍, 陳 實. 從文獻計量學看近10年OSA研究的發展[J]. 醫學綜述, 2010, 16(17):2690-2694.
[11] 戴 鵬, 曹忠麗, 陳飛鳴等. 一種非接觸式人體生理信號監測方法[J]. 傳感器與微系統, 2013, 32(3):49-52.
[12] 李烈熊, 蘇兩河. 基于Gabor小波+PCA+LDA特征提取方法的人臉表情識別[J]. 機電技術, 2011, 34(6):18-20.
[13] 文 斌, 徐順來, 羅愛民. 基于SVM二叉樹的豬呼吸系統疾病診斷方法的研究(摘要)(英文)[J]. Agricultural Science & Technology, 2011, 39(3):7839-7841.
[14] 張政波, 俞夢孫, 李若新等. 背心式呼吸感應體積描記系統設計[J]. 航天醫學與醫學工程, 2006, 19(5):377-381.
[15] 劉寶華. 一種新的阻抗式呼吸檢測系統的設計[J]. 生物醫學工程學雜志, 2003, 20(3):527-530.
[16] 吳 丹, 徐效文, 王磊等. 穿戴式動態睡眠呼吸監測系統的設計[J]. 傳感技術學報, 2010, 23(3):322-325.
[17] 歐陽順林, 鄭佩霞, 褚玉敏等. 便攜式多導睡眠呼吸監測在成人阻塞性睡眠呼吸暫停低通氣綜合征診斷中的應用[J]. 中國耳鼻咽喉顱底外科雜志, 2012, 18(2):111-113.
[18] 王 芳. 六導睡眠呼吸監測儀的使用和護理[J]. 中華全科醫學, 2005, 3(5):378-378.
[19] 宋江雪, 王波濤. 基于圖像的樹木測量方法[J]. 計算機測量與控制, 2016, 24(10):9-12.
Research on a Non-contact Breathing Detection Algorithm Based on Depth
Chen Yongkang1, Hou Zhenjie1, Chen Chen2, Liang Jiuzhen1, Su Haiming1
(1.College of Information Science and Engineering, Changzhou University, Changzhou 213164,China;2.Center for Research in Computer Vision, University of Central Florida, Orlando 32118,USA)
Breathing monitoring plays an important role in monitoring respiratory physiology of chest movement, pathological condition, and the diagnosis of certain diseases of the respiratory. Presents a method for non-contact monitoring of breathing. Dimensionality reduction is applied to the infrared region of the video stream data chest and abdomen. The standard deviation of the data in the chest and abdomen areas is then calculated within a time window. A sequence of standard deviations are generated and passed to a low-pass filter. The proposed non-contact monitoring of breathing method can get an accurate respiratory rate and other parameters for the monitoring and diagnosis of health related diseases without affecting normal sleep activity. Respiratory rate and breathing pause time can be obtained based on the filtered standard deviation data.We carried out experiments in a home-based environment. The experimental results show that our developed system can calculate the number of breaths that is consistent with the actual number of breaths.
respiratory detecting; depth image; non-contact
2016-12-26;
2017-02-06。
國家自然科學基金(61063021);江蘇省產學研前瞻性聯合研究項目(BY2015027-12)。
陳永康(1993-),男,江蘇常州人,主要從事機器視覺方向的研究。
侯振杰(1973-),男 ,內蒙古呼和浩特市人,教授,碩士研究生導師,主要從事機器視覺方向的的研究。
1671-4598(2017)07-0213-05
10.16526/j.cnki.11-4762/tp.2017.07.053
TP391
A