《一种多人心跳的非接触式检测方法.pdf》由会员分享,可在线阅读,更多相关《一种多人心跳的非接触式检测方法.pdf(7页完整版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201810561513.8 (22)申请日 2018.06.04 (71)申请人 成都皓图智能科技有限责任公司 地址 610054 四川省成都市成华区一环路 东一段159号电子信息产业大厦第603 号房 (72)发明人 李龙江 熊效李 (74)专利代理机构 成都虹盛汇泉专利代理有限 公司 51268 代理人 王伟 (51)Int.Cl. A61B 5/024(2006.01) (54)发明名称 一种多人心跳的非接触式检测方法 (57)摘要 本发明公开一种多人心跳的非接触式检测 。
2、方法, 应用于机器智能化技术领域, 为解决现有 技术中心跳检测方法的预处理过程较慢问题, 本 发明通过在GPU缓冲里构造并发队列, 基于非接 触式采集的皮肤反射信号, 高效、 实时地计算心 率值。 权利要求书1页 说明书4页 附图1页 CN 108652610 A 2018.10.16 CN 108652610 A 1.一种多人心跳的非接触式检测方法, 其特征在于, 包括: S1、 构建一个支持M个并发队列的GPU缓存; S2、 在GPU里为每一个并发队列分配一个线程; S3、 每一个GPU线程内持续采样同一检测对象的同一部位裸露皮肤的色度变化值, 并将 采样值加入并发队列; S4、 在GPU。
3、线程内, 计算对应并发队列的中采样值的最大值与最小值, 若根据最大值与 最小值得到的值范围超出设定值范围, 则执行步骤S5, 否则执行步骤S6; S5、 从并发队列的起始位置逐一删除采样值, 重新计算值范围, 直到值范围小于或等于 设定门限范围; S6、 按照时间等间隔对并发队列中的采样值数据进行插值处理, 并进行汉明处理, 完成 与处理; S7、 根据步骤S6的预处理结果计算每个检测对象的心率。 2.根据权利要求1所述的一种多人心跳的非接触式检测方法, 其特征在于, 步骤S1所述 每个并发队列为一个循环数组, 包含三个域: ID、 Start、 N; ID为人的标识, 由CPU传入; N是并。
4、 发队列内采样数据的个数; Start为并发队列中第一个采样数据的位置。 3.根据权利要求2所述的一种多人心跳的非接触式检测方法, 其特征在于, 当步骤S3所 述采样个数少于N时, 则继续缓存, 直至采样个数超过N。 4.根据权利要求3所述的一种多人心跳的非接触式检测方法, 其特征在于, 当采样个数 超过N时, 逐一删除并发队列Start位置处的采样值, 然后将新的采样数据加入并发队列。 5.根据权利要求2所述的一种多人心跳的非接触式检测方法, 其特征在于, 步骤S6所述 插值处理后, 该并发队列中数据的总数为N。 6.根据权利要求1所述的一种多人心跳的非接触式检测方法, 其特征在于, 步骤S。
5、7具体 包括以下分步骤: S71、 根据与处理结果, 按并发队列进行一维DFT变换, 从而计算每个心率对应的频谱及 其增益; S72、 将步骤S71的计算结果中的频谱进行过滤, 剩下满足条件的频谱; 通过对比满足条 件频谱所对应的增益, 找出最大增益值对应的频谱; S73、 根据步骤S72找出的频谱得到对应检测对象的估计心率值。 7.根据权利要求6所述的一种多人心跳的非接触式检测方法, 其特征在于, 步骤S72所 述满足条件的频谱具体为在设定频谱范围内的频谱。 权 利 要 求 书 1/1 页 2 CN 108652610 A 2 一种多人心跳的非接触式检测方法 技术领域 0001 本发明属于机。
6、器智能化技术领域, 特别涉及一种基于GPU的多人心跳检测技术。 背景技术 0002 心率, 指人心脏跳动的频率, 通常采用每分钟心跳的次数作为单位。 心跳与人的健 康状况和情绪状态密切相关。 据报道, 心跳状况与多种疾病, 如心血管疾病及心脏疾病等密 切相关, 心率异常是多种心血管病的高危因素, 通过测量它, 可预知不少心血管病的发生, 这样就能尽早开展诊治, 以获得更好的疗效。 人的兴奋、 激动、 吸烟、 饮酒、 喝浓茶或咖啡后, 或见于感染、 发热、 休克、 贫血、 缺氧、 甲亢、 心力衰竭等病理状态下, 心率都会发生相应变 化。 因而及时检测并或者心跳的速率及其变化趋势, 在医学及对人的。
7、情绪行为判断方面具 有重要意义。 0003 检测心跳主要有两类方法, 接触式和非接触式的。 采用听诊器等方法测心跳, 属于 接触式的方法, 特点是测试比较准确, 但要求检测心跳时必须接触被测人员的身体, 因而限 制比较多。 非接触式的检测方法, 则要求在检测心跳时必须与被测人员的身体保持一定距 离, 通常基于人体皮肤表面对微波、 红外线、 可见光的反射频谱进行分析, 采用信号分析的 方法获取心率估计值。 当心跳检测涉及多人时, 需要对多个人并行地收集相应的心率样本 数据, 进行预处理, 以便进一步进行计算, 但现有预处理方法基于CPU并发性能较差。 发明内容 0004 为解决现有技术中心跳检测。
8、方法的预处理过程较慢问题, 本发明提出一种多人心 跳的非接触式检测方法, 通过在GPU缓存里构造并发队列, 能支持上百人的心跳检测过程的 并发预处理。 0005 本发明采用的技术方案: 一种多人心跳的非接触式检测方法, 包括: 0006 S1、 构建一个支持M个并发队列的GPU缓存; 0007 S2、 在GPU里为每一个并发队列分配一个线程; 0008 S3、 每一个GPU线程内持续采样同一检测对象的同一部位裸露皮肤的色度变化值, 并将采样值加入并发队列; 0009 S4、 在GPU线程内, 计算对应并发队列的中采样值的最大值与最小值, 若根据最大 值与最小值得到的值范围超出设定值范围, 则执。
9、行步骤S5, 否则执行步骤S6; 0010 S5、 从并发队列的起始位置逐一删除采样值, 重新计算值范围, 直到值范围小于或 等于设定门限范围; 0011 S6、 按照时间等间隔对并发队列中的采样值数据进行插值处理, 并进行汉明处理, 完成与处理; 0012 S7、 根据步骤S6的预处理结果计算每个检测对象的心率。 0013 进一步地, 步骤S1所述每个并发队列为一个循环数组, 包含三个域: ID、 Start、 N; ID为人的标识, 由CPU传入; N是并发队列内采样数据的个数; Start为并发队列中第一个采 说 明 书 1/4 页 3 CN 108652610 A 3 样数据的位置。 。
10、0014 进一步地, 当步骤S3所述采样个数少于N时, 则继续缓存, 直至采样个数超过N。 0015 更进一步地, 当采样个数超过N时, 逐一删除并发队列Start位置处的采样值, 然后 将新的采样数据加入并发队列。 0016 进一步地, 步骤S6所述插值处理后, 该并发队列中数据的总数为N。 0017 进一步地, 步骤S7具体包括以下分步骤: 0018 S71、 根据与处理结果, 按并发队列进行一维DFT变换, 从而计算每个心率对应的频 谱及其增益; 0019 S72、 将步骤S71的计算结果中的频谱进行过滤, 剩下满足条件的频谱; 通过对比满 足条件频谱所对应的增益, 找出最大增益值对应的。
11、频谱; 0020 S73、 根据步骤S72找出的频谱得到对应检测对象的估计心率值。 0021 进一步地, 步骤S72所述满足条件的频谱具体为在设定频谱范围内的频谱。 0022 本发明的有益效果: 一种多人心跳的非接触式检测方法, 通过在GPU缓冲里构造并 发队列, 基于非接触式采集的皮肤反射信号, 高效、 实时地计算心率值, 本发明的方法能支 持上百人的心跳检测过程的并发预处理, 由于减少了CPU的负担, 能够高效、 实时地计算多 人心率值, 可工作于集成了GPU的计算机或手机等设备上, 为高效、 实时地计算人群心率值 创造条件。 附图说明 0023 图1为本发明实施例提供的方案流程图。 具体。
12、实施方式 0024 为便于本领域技术人员理解本发明的技术内容, 下面结合附图对本发明内容进一 步阐释。 0025 为了克服现有技术中心跳检测方法的预处理过程较慢缺点, 本法提出了基于GPU 的一种多人心跳的非接触式检测方法, 主要内容如下: 0026 首先, 基于GPU的裸露皮肤的色度变化值预处理。 持续采样同一人的同一部位裸露 皮肤的色度变化值, 并按每N个采样值为一组进行分组, N为整数。 若采样个数少于N, 则持续 缓存, 直到采样个数超过N。 每人对应一个线程, 在每个线程里对采样后的数据按照时间等 间隔对组内的数据进行插值处理。 插值处理后, 采样个数不变, 然后进行汉明处理, 完成。
13、预 处理过程。 0027 其次, 在GPU中对每个并发队列里的采样数据进行一维DFT变换。 基于上一步的预 处理结果, 分别计算每个频率对应的频谱f(k), 及其增益g(k), 如下: 0028 0029 g(k)FxFx+FyFy 0030 再者, 基于GPU频谱增益分析, 估算心率值并做过滤处理。 基于上一步的DFT计算结 果, 将心率合理频谱范围外的频率值过滤掉, 然后比较合理频谱范围内的各个频率分量的 说 明 书 2/4 页 4 CN 108652610 A 4 增益。 设心率范围为cl40次/分钟, ch160次/分钟, 则心率范围对应的频谱下标范围 为il,ih。 0031 003。
14、2 0033 然后, 对频谱下标范围内的增益值进行对比, 找到增益值最大的频率下标iMax, 则 估计的心率值为B。 0034 0035 最后, 当只有一个队列时, 直接输出B, 作为心跳检测结果; 否则当多于一个并发队 列时, 则在CPU中将各组的心率计算结果, 再进一步采用取平均或kalman过滤, 输出最终计 算值, 作为心跳检测结果。 0036 如图1所示, 本发明的一种多人心跳检测方法, 包括: 0037 S1、 构建一个支持M个并发队列的GPU缓存; 每个并发队列是一个循环数组, 包含三 个域: ID、 Start、 Size。 ID对应人的标识, 由CPU传入。 Size是队列内。
15、采样数据的个数。 队列的 最大长度设为QueueSize, 可配置。 Start对应队列中第一个采样数据的位置, (Start+Size- 1)QueueSize对应队列中最后一个采样数据的位置。 0038 S2、 在GPU里为每一个并发队列分配一个线程, 共M个线程; 0039 S3、 每一个GPU线程内持续采样同一检测对象的同一部位裸露皮肤的色度变化值, 并将采样值加入并发队列; 具体过程为: 0040 基于GPU的裸露皮肤的色度变化值预处理。 持续采样同一人的同一部位裸露皮肤 的色度变化值, 并按每N个采样值为一组进行分组(N为整数, 本实施例中取值为64, 即一个 并发队列中可缓存64。
16、个采样数据)。 若采样个数少于64, 则持续缓存, 直到采样个数超过64, 则删除Start位置处的采样数据, 然后将新的采样数据加入并发队列; 0041 裸露皮肤不限于面部, 只要是同一块皮肤即可。 将分组处理后的数据, 提交给GPU 进行计算。 0042 S4、 在GPU线程内, 计算对应并发队列的中采样值的最大值与最小值, 若根据最大 值与最小值得到的值范围超出设定值范围SpikeLimit, 则执行步骤S5, 否则执行步骤S6; 这 一步骤主要用于过滤掉跳动比较大的采样值, SpikeLimit是一个可配置参数, 默认设置为 30, 在实际应用中根据需要进行取值。 0043 S5、 从。
17、并发队列的起始位置逐一删除采样值, 重新计算值范围, 直到值范围小于或 等于设定门限SpikeLimit; 若是值范围超出SpikeLimit, 则从并发队列的起始位置开始每 次删除一个采样数据, 重新计算值范围, 直到值范围小于或等于设定门限SpikeLimit。 0044 S6、 按照时间等间隔对并发队列中的采样值数据进行插值处理, 插值处理后采样 个数不变, 还是64个, 并进行汉明处理, 完成与处理; 0045 S7、 根据步骤S6的预处理结果计算每个检测对象的心率; 包括以下分步骤: 0046 S71、 GPU中按队列进行一维DFT变换, 方法是基于上一步的预处理结果, 分别计算 每。
18、个频率对应的频谱f(k), 及其增益g(k), 如下: 说 明 书 3/4 页 5 CN 108652610 A 5 0047 0048 g(k)FxFx+FyFy, N为并发队列中的采样数据的个数, Fx、 Fy分别为f(k)的实部 和虚部, i为复数单位。 0049 S72、 GPU中, 基于上一步的DFT计算结果, 将心率合理频谱范围外的频率值过滤掉, 然后比较合理频谱范围内的各个频率分量的增益。 本实施例中合理频谱范围为cl40次/ 分钟, ch160次/分钟, 则心率范围对应的频谱下标范围为il,ih。 0050 0051 0052 设N64, fps30, 则频谱下标范围为il2,。
19、ih6。 0053 然后对频谱下标范围内的增益值进行对比, 找到增益值最大的频率下标iMax, 则 估计的心率值为B。 0054 0055 比如, 假设iMax3, 则B85次/分钟。 0056 S73、 将不做S72估计的心率值作为每个人的心率检测结果。 0057 本领域的普通技术人员将会意识到, 这里所述的实施例是为了帮助读者理解本发 明的原理, 应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。 对于本领 域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的权利要求范围之内。 说 明 书 4/4 页 6 CN 108652610 A 6 图1 说 明 书 附 图 1/1 页 7 CN 108652610 A 7 。