一种基于深度图像数据的非接触式呼吸监测方法

文档序号:10513105阅读:416来源:国知局
一种基于深度图像数据的非接触式呼吸监测方法
【专利摘要】本发明公开了一种非接触式呼吸监测的方法。该方法包括:定位深度视频流中被监测者胸腹部区域;对深度视频流中每一帧图像的胸腹部区域数据降维;对降维后的数据计算方差,得到胸腹部变化程度序列;对胸腹部变化程度序列进行低通滤波,得到降噪后的呼吸变化序列;根据呼吸变化序列计算出呼吸频率以及呼吸暂停时间。本方法解决了接触式监测呼吸可能带来的干扰被监测者呼吸过程的问题,降低了硬件成本与设备的复杂性。
【专利说明】
一种基于深度图像数据的非接触式呼吸监测方法
技术领域
[0001] 本申请涉及医疗领域、图像处理、计算机视觉等领域,尤其涉及通过深度图像非接 触式监测呼吸的方法。
【背景技术】
[0002] 呼吸是重要的生理过程,监测呼吸是医学上诊断一些呼吸疾病的基本手段之一。 例如阻塞性呼吸睡眠暂停综合症(0SA)主要依赖监测呼吸来确诊。0SA在临床上表现为每晚 7小时睡眠过程中呼吸暂停反复发作30次以上。通过监测被测试者睡眠呼吸状态,便可判断 该测试者是否患有0SA。具体为通过监测患者的呼吸频率、呼吸暂停次数以及呼吸暂停时间 判断被监测者是否患有0SA。监测呼吸可以使该病患者及时获得医疗救治,避免病情的进一 步恶化,最终保障患者生命健康。
[0003] 目前呼吸监测方式主要分为接触式和非接触式两大类。接触式呼吸监测主流方法 有使用腹带压力监测、采用小型传感器监测鼻腔气流状态。腹带压力监测法主要原理:通过 腹带监测腹部起伏变化状态,从而实时监测佩戴者的呼吸状态。小型传感器监测鼻腔气流 法主要原理:通过监测鼻腔气流速度、气流方向得出被监测者当前呼吸状态。通过以上表述 可知,人长期佩戴这些设备可能会产生不适。更近一步的,这些设备可能会干扰人的呼吸过 程,影响测量结果的准确性,这是接触式方法主要不足。
[0004] 非接触式呼吸监测主要通过红外摄像头获取数据并结合图像处理算法完成呼吸 监测。利用红外摄像头监测原理为:被监测者在呼吸时,胸腹部会随之起伏变化,因此红外 摄像头拍摄到的每一帧图像的胸腹部区域都与前后相邻几帧的胸腹部区域有所差别。根据 相邻红外图像帧间胸腹部区域的差异便可得到被监测者的呼吸变化序列。利用红外摄像头 监测呼吸具有不受环境光照影响、精度高等优点,但是总体来说红外摄像头相对来说价格 高,不利于大规模应用。
[0005] 综上所述,接触式呼吸监测方案可能存在着干扰被监测者正常呼吸过程的问题, 而利用红外摄像头进行非接触式呼吸监测方案实现所依赖的硬件平台并不廉价,限制了非 接触式呼吸监测的普及。

【发明内容】

[0006] 本发明针对以上问题,提出一种基于深度图像数据的非接触式呼吸监测方法,该 方法既有非接触式的优点又能降低硬件成本。
[0007] 本发明提供了一种通过深度图像监测呼吸的方法包括:定位深度视频流中被监测 者胸腹部区域;对深度视频流中的每一帧图像的胸腹部区域数据降维;对每一帧降维后的 胸腹部区域数据计算方差,得到胸腹部变化程度序列;对胸腹部变化程度序列进行低通滤 波,得到降噪后的呼吸变化序列;根据呼吸变化序列计算出呼吸频率以及呼吸暂停时间。图 1是本发明方法的流程图,下面结合流程图对本发明所提出的方法做进一步说明。
[0008] 进一步地,定位深度视频流中被监测者胸腹部区域包括:通过与深度图像帧一一 对应的深度骨骼帧确定深度图像帧中被监测者的胸腹部区域。
[0009]进一步地,对深度视频流中的每一帧图像的胸腹部区域数据降维包括:为了说明 方便,设胸腹部区域深度数据为mXn的矩阵。将原始胸腹部区域二维矩阵进行降维处理得 到n/ XY胸腹部区域深度矩阵(其中Π /并记n/ XY胸腹部区域深度矩阵 为Α。显而易见降维后的胸腹部区域深度矩阵维度远小于原始矩阵维度。
[0010]进一步的,对"胸腹部区域深度数据"中深度含义做详细说明:构成传统图像的每 一个像素记录的是色彩信息,而构成深度图像的每一个像素记录的是目标物体与摄像头之 间的距离。
[0011] 进一步地,对降维后的数据计算方差,得到胸腹部变化程度序列包括:计算矩阵A 中所有元素的方差,该方差值反映了当前深度图像帧中被监测者胸腹部起伏程度。
[0012] 进一步地,作为优选方式,在对胸腹部变化程度序列进行低通滤波时,结合实际被 监测者的呼吸频率不会太高这一常识,将胸部变化序列中所有高频成分置零。
[0013] 进一步地,根据呼吸变化序列计算出呼吸频率包括:统计呼吸变化序列中每一个 局部极大值。局部极大值个数便对应了被监测者在该序列的呼吸次数,根据每分钟呼吸的 次数计算出呼吸频率。
[0014] 进一步地,根据呼吸变化序列计算出呼吸暂停时间包括:利用序列的增减性及序 列的波动程度来筛选出呼吸暂停区间。
[0015] 由于采用了上述技术方案,本发明提供的基于深度图像的呼吸监测方法具有以下 优势
[0016] 1)通过计算深度图像中胸腹部方差得到胸腹部变化程度,降低呼吸监测算法的复 杂度,很好地保证了实时性,便于实际应用推广。
[0017] 2)与接触式设备例如腹带压力传感器、肺活量计相比,做到了非接触且保证被监 测者的正常行为活动。
[0018] 3)与目前较流行的热红外摄像头监测呼吸相比,在保证监测呼吸的准确性基本不 变的条件下,降低了硬件设备及维护费用。本方法采用的深度摄像头在市场上售价较专业 红外摄像头低。
【附图说明】
[0019] 为了更清楚的说明本发明的实施或现有的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图做一简单的介绍。显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来说,在不付出任何创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0020] 图1描述发明方法流程图
[0021] 图2为发明实施例中监测呼吸算法流程图 [0022]图3为发明实施例中采用的Kinect骨骼帧示意图 [0023]图4为序列中相邻几项增减性示例图
[0024]图5为发明实施例中摄像头放置以及被监测者被监测呼吸示意图
[0025]图6为Kinect追踪的骨骼点的三维空间坐标映射到深度图像帧对应二维坐标的流 程示意图
[0026] 图7为Kinect追踪的骨骼点的三维空间坐标映射到深度图像帧对应二维坐标的示 例代码
[0027] 图8为发明实施例中被监测者在进行呼吸监测的场景图
[0028] 图9为被监测者胸腹部变化序列的频域信号
[0029] 图10为发明实施例中被监测者呼吸中有暂停行为的曲线
【具体实施方式】
[0030] 一、实现过程
[0031] 本发明所提供的方法主要步骤如下:获取一段时间内深度视频流中被监测者的胸 腹部图像;对获取的每一帧胸腹部区域图像做降维处理并计算方差,由此得到该段时间内 的胸腹部变化序列;对胸腹部变化序列进行低通滤波得到呼吸变化序列;由呼吸变化序列 计算出呼吸频率和呼吸暂停时间。
[0032]为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明的附图 2,对本发明实施例中的技术方案进行完整清晰的描述:
[0033]步骤S201:将提供深度图像的摄像头放置于合适位置,使被监测者完整的暴露于 摄像头监测视野范围内,并获取一段时间内的深度视频流。
[0034]步骤S202:抽取深度视频流的第一帧图像,同时提取与深度图像帧一一对应的骨 骼帧中的ShoulderLeft、ShoulderRight、HipCenter三维骨骼点坐标,并将这三个点的三维 坐转换成深度图像帧中对应的二维坐标。完成坐标映射后,便开始定位深度图像帧中的胸 腹部区域。如附图3所示,将311〇111(161'1^;1^、511〇111(1611^8111:作为矩形的一条边413的两个顶 点,HipCenter作为与AB边平行的另一条矩形边DE的中点,矩形ABED便是该深度图像帧中被 监测者的胸腹部区域。截取ABED区域中的深度图像数据。
[0035]步骤S203:为了表述方便,用mXn的矩阵Amn描述胸腹部区域深度图像数据,同时令 X = Amn则x可以看做有m个样本,每个样本是具有η个维度的列矩阵,即X= (XI,X2,…,Xi,…, ,…,Αηι)τ。对X使用快速PCA处理得到降维后的胸腹部区域深度矩阵Y。 [0036]步骤S204:对Υ中所有元素计算方差,得到衡量该胸腹部区域变化程度的值Ψ: [0037] 步骤S205:依次对深度视频流中剩余图像帧重复步骤203-204,直至深度视频流中 所有帧均被处理完毕。由ψ 1至屯11构成此段时间内胸腹部变化序列ψ,即ψ = { Ψ?,…, Ψ?,···,ψη;}。
[0038] 步骤S206:对胸腹部变化序列Ψ进行低通滤波。具体做法是用快速傅里叶变换将 胸腹部变化程度序列转化成频域信号,将频域信号中的高频成分置零,再使用逆傅里叶变 换处理频域信号得到呼吸变化序列Ω。
[0039] 根据呼吸变化序列便可以计算被监测者在一段时间内呼吸频率以及呼吸暂停时 间。具体算法如下:
[0040] 步骤S207:根据呼吸变化序列计算呼吸频率。统计呼吸变化序列中局部的极大值 便可以得到被监测者的在该段序列中的呼吸次数。计算每分钟局部极大值的个数得出被监 测者在该段时间内的呼吸频率。
[0041] 步骤S208:利用序列的增减性及序列的波动程度来筛选出呼吸暂停区间。
[0042]对步骤S203中"对X使用快速PCA降维得到处理后的数据Υ"的计算过程包括:
[0043] 1)对胸腹部区域深度图像矩阵X进行标准化处理,即:
[0045] i = l,2,.",m;j = l,2,.",n
[0046] 式中:?为xj的均值;Sj为Xj的标准差。
[0047] 2)计算经标准化数据矩阵X的协方差矩阵V
[0048] 3)求V的前η个特征值λ: 2 λ2 2…2 λη及对应的特征向量
[0049] U= (ui ,U2 , ???Un)
[0050] 4)取前m个成分(m<<n)
[0051] Y = UTX
[0052] 式中:u=(ui,U2,…Um) ;Y=(yi,y2,",ym)
[0053] Y就是X使用快速PCA降维后的胸腹部区域深度图像数据。
[0054]对步骤S208中利用序列的增减性及序列的波动程度来筛选出呼吸暂停区间做做 进一步说明,其步骤为:
[0055] 1.根据呼吸变化序列的增减性找出序列中相邻极小值对应的项(为了表述方便这 两项分别记作Ω s、Ω e)。
[0056] 2.计算从Ω 3到Ω e之间的波动程度记作μ。
[0057] 3.若Τ则认为从所有项为呼吸暂停区间的一部分。
[0058] 4.若μ>Τ则计算下一对相邻极小值之间序列的波动程度,直至遍历Ω中所有极小 值。
[0059] 5.将所有的相邻的呼吸暂停区间相并得到最后呼吸暂停区间,在区间并操作过程 中忽略孤立的区间。
[0060] 对步骤S208中"计算呼吸变化序列的增减性"做进一步说明:
[0061 ] 1)将Ω平均分成m等分,记其中每一等分序列分别为F^Fs、···、?]!!。为了表述简 练,仅以子序列F 2为例加以说明。设F 2有项、α2、…、ak。
[0062] 2)子序列Ρ2的增减性可以分为以下三种情况:
[0063] 8)?? < a2 < ···<处则认为序列尸2是增序列。附图4的(a)符合描述。
[0064] b)若min( Ρ2)=αι且max( P2)=cik则认为序列P2是增序列。附图4的(b)符合描述。
[0065] 幻若*^ 2 a〗2…2 ak或min( ^2)=(?且max( ?2)=αι则认为序列F2是减序列。附图 4的(c)符合描述。
[0066] d)若min( ^2)=(?且max( ?2)=αι则认为序列F2是减序列。附图4的(d)符合描述。
[0067] e)若子序列?2不满足(a)、(b)则Ρ2ψ可能存在极值。若Fi为增序列且Ρ3为减序 列则F 2存在极大值;若F i为减序列且F 3为增序列则F 2存在极小值;若F l·、F 3不符合上述 描述则忽略F 2的增减性。
[0068]对步骤S208中进一步说明中的步骤2中"计算从Ω 3到Ω e所有项的波动程度μ"做进 一步说明:记Ρ为从Ω 3到Ω e所有项中最大项,q为从Ω 3到Ω e所有项中最小项。则波动程度 可以用以下公式计算:
[0070]对步骤S208中进一步说明中的步骤3、4中"阈值T"的计算做进一步说明:
[0072]其中t为给定间隔值,Τ表示在该间隔内所允许的最大波动程度。
[0073]二、具体实施例 [0074] 2.1硬件平台描述
[0075] Kinect是微软开发的一款3D体感摄像头,该摄像头主要功能包括人体骨骼追踪、 提供三维景深图像、语音识别、人脸识别等。Kinect定位基本原理为:Kinect的红外线发射 器发射一种特殊的激光,当该激光照射到粗糙物体或者穿透毛玻璃后会形成随机衍射斑 点,这些散斑具有高度随机性,并且随着距离的不同变化图案。空间中任意两点的散斑图案 均不相同。利用这种激光特性结合光编码技术便可以对空间中所有物体定位。附图3展示了 一代Kinect在空间中实时追踪被监测者所有骨骼点,同时Kinect能测量出这些骨骼点的三 维空间坐标。
[0076] 2.2实施例
[0077] 为了更好地描述本发明提出的非接触式监测呼吸方法,下面结合一名被监测者的 一次呼吸监测进行描述:
[0078] 步骤1:呼吸监测开始前,先将摄像头如附图5所示放置。被监测者如附图5平躺于 床上。当呼吸监测程序检测到被监测者骨骼点时,便开始执行步骤2;否则,应该反复调整摄 像头位置,直至检测到被监测者的骨骼点。
[0079]步骤2 :获取一段时间内的深度视频流,按顺序抽取深度视频流中的第一帧图像。 同时获取与该深度图像帧对应的骨骼帧,提取其中的ShoulderLeft、ShoulderRight、 HipCenter三维骨骼点坐标。利用KinectSDK中的API将这三个点的三维坐转换成深度图像 帧中对应的二维坐标。附图6描述了 KinectSDK的API使用流程。根据这些坐标点确定被监测 者胸腹区域。附图8为被监测者某时刻深度图像帧,获取ABDC围成的区域数据。该数据便是 胸腹部区域数据八_。
[0080] 步骤3:使用快速PCA对Amn进行降维,根据实际经验取Amn前5个主要成分,即Y=(m, U2,·-·Ι?5)ΤΧ〇
[0081] 步骤4:对Υ中所有元素计算方差,得到衡量该胸腹部区域变化程度的值Ψ*。
[0082] 步骤5:按顺序处理深度视频流中剩余的每一帧图像。剩余每一帧图像的处理方法 与第一帧完全相同。在处理完深度视频流中的每一帧图像后,便获得被监测者在该段时间 内胸腹部变化序列Ψ = {Ψι,···,Ψ?,···,Ψη}。
[0083] 步骤6:对胸腹部变化序列Ψ使用快速傅里叶变换转化成频域信号。附图9便是频 域信号的幅值频谱图,从频谱图可以看出胸腹部变化序列主要由低频成分构成。将幅值频 谱序列从第10项开始都置零,然后使用逆傅里叶变换重建胸腹部变化程度序列。该胸腹部 变化程度序列便是被监测者的呼吸变化序列Ω。
[0084] 步骤7:统计呼吸变化序列中每一个局部极大值。局部极大值个数便对应了被监测 者的呼吸次数,根据呼吸次数/呼吸持续时间计算出呼吸频率。被监测者的呼吸曲线见附图
[0085] 步骤8:计算呼吸变化序列的增减性找出序列中相邻极小值对应的项(为了表述方 便这两项分别记作Ω s、Ω e),计算从Ω 3到Ω e所有项的波动程度μ并与阈值T比较。若μ < T 则认为从Ω 8到Ω e所有项为呼吸暂停区间的一部分;若μ>Τ则计算下一对相邻极小值之间序 列的波动程度,直至到最后一对相邻极小值。将所有的相邻的呼吸暂停区间相并得到最后 呼吸暂停区间,在区间并操作过程中忽略孤立的区间。
[0086]对步骤8中的阈值Τ计算做进一步说明:
[0088]因为kinect-秒最多采集30帧数据及根据实际人呼吸最快是2s-次,所以取t =
[0089]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发 明构思加以等同替换或改变,都应该在本发明的保护范围内。
【主权项】
1. 一种基于深度图像数据的非接触式呼吸监测方法,其特征在于,包括以下步骤: 定位深度视频流中被监测者胸腹部区域; 对深度视频流中的每一帧图像的胸腹部区域数据降维; 对每一帧降维后的胸腹部区域数据计算方差,得到胸腹部变化程度序列; 对胸腹部变化程度序列进行低通滤波,得到降噪后的呼吸变化序列; 根据呼吸变化序列计算出呼吸频率以及呼吸暂停时间。2. 如权利要求1所述的一种基于深度图像数据的非接触式呼吸监测方法中,其特征在 在于, 所述的对深度视频流中的每一帧图像的胸腹部区域数据降维包括: 为了说明方便,设胸腹部区域深度数据为mXn的矩阵。将原始胸腹部区域二维矩阵进 行降维处理得到n/ XY胸腹部区域深度矩阵(其中Π /并记n/ XY胸腹部 区域深度矩阵为A。3. 如权利要求1所述的一种基于深度图像数据的非接触式呼吸监测方法中,其特征在 在于, 所述的对降维后的数据计算方差,得到胸腹部变化程度序列包括: 计算矩阵A中所有元素的方差,该方差值反映了当前深度图像帧中被监测者胸腹部起 伏程度。4. 如权利要求1所述的一种基于深度图像数据的非接触式呼吸监测方法中,其特征在 在于, 所述的对胸腹部变化程度序列进行低通滤波,得到降噪后的呼吸变化序列包括: 用快速傅里叶变换将胸腹部变化程度序列转化成频域信号; 将频域信号中的高频成分置零; 再使用逆傅里叶变换处理频域信号得到呼吸变化序列。5. 如权利要求1所述的一种基于深度图像数据的非接触式呼吸监测方法中,其特征在 在于, 所述的根据呼吸变化序列计算出呼吸频率包括: 统计呼吸变化序列中局部的极大值便可以得到被监测者的在该段序列中的呼吸次数; 计算每分钟序列中局部极大值的个数得出被监测者在该段时间内的呼吸频率。6. 如权利要求1所述的一种基于深度图像数据的非接触式呼吸监测方法中,其特征在 在于, 所述的根据呼吸变化序列计算出呼吸暂停时间包括: 根据呼吸变化序列的增减性找出序列中相邻极小值对应的项(为了表述方便这两项分 别记作Ω s、Ω e); 计算从Ω 8到Ω e所有项的波动程度μ并与阈值T比较; 若μ < Τ则认为从Ω 3到Ω e所有项为呼吸暂停区间的一部分; 若μ>Τ则计算下一对相邻极小值之间序列的波动程度; 重复以上步骤直至找出最后一对相邻极小值; 将所有的相邻的呼吸暂停区间相并得到最后呼吸暂停区间,在区间并操作过程中忽略 孤立的区间。
【文档编号】A61B5/113GK105869144SQ201610162800
【公开日】2016年8月17日
【申请日】2016年3月21日
【发明人】侯振杰, 陈永康, 王晖, 陈宸, 李维康, 刘佳镔, 林恩, 梁久祯
【申请人】常州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1