基于深度图像的非接触式呼吸检测算法研究
2017-08-30陈永康侯振杰梁久帧苏海明
陈永康,侯振杰,陈 宸,梁久帧,苏海明
(1.常州大学 信息科学与工程学院,江苏 常州 213164;2.佛罗里达大学计算机视觉研究中心,佛罗里达 32118)
基于深度图像的非接触式呼吸检测算法研究
陈永康1,侯振杰1,陈 宸2,梁久帧1,苏海明1
(1.常州大学 信息科学与工程学院,江苏 常州 213164;2.佛罗里达大学计算机视觉研究中心,佛罗里达 32118)
呼吸是人的基本生命活动,监测呼吸可以得知呼吸道和胸廓运动的生理、病理学状态,对某些呼吸系统疾病的诊断有重要的参考价值;提出了一种非接触式呼吸监测方法:对红外视频流中的每帧胸腹部区域数据进行降维,计算所有胸腹部区域数据的方差,将一定时间段内的方差序列进行低通滤波;最后根据方差序列可以获得该段时间内的呼吸频率和呼吸暂停时间;提出的非接触式呼吸检测算法在不影响被监测者正常睡眠活动的情况下,可以准确获取呼吸频率与其他相关参数,为健康监测和相关疾病的诊断提供了数据支持;日常家居场景的实验中,检测到的呼吸次数与实际完全一致,并且与实际胸腹部起伏变化基本同步,较好的保证了结果的准确性。
呼吸检测;深度图像;非接触
0 引言
呼吸是人体的一项基本生命活动,然而由于生理构造的原因,呼吸系统易感染各种呼吸疾病。通过检测呼吸能发现并预防呼吸道、肺部以及心血管等部位的病变。呼吸频率是一项检测人呼吸的重要参数。医学上发现,呼吸频率和血液的一些生化参数的变化有着密切的关系,可能会影响到血氧饱和度、二氧化碳分压、血氧含量等。经研究发现,阻塞性呼吸睡眠暂停(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.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 实验结果与分析
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 不同算法呼吸急促对比图
3 结论
该文提出的算法主体思路是采用方差来衡量呼吸变化程度,通过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