掌桥专利:专业的专利平台
掌桥专利
首页

检测跌倒方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:44:10


检测跌倒方法、装置、设备及存储介质

技术领域

本申请实施例涉及物联网技术领域,涉及但不限于一种检测跌倒方法、装置、设备及存储介质。

背景技术

随着社会老龄化程度的加深,空巢老人越来越多。由于老人身体机能的老化和疾病的影响,老人容易发生跌倒,而跌倒可能会给老人带来生命威胁,因此,减少跌倒检测方法出现误判和漏判的次数,以提高跌倒检测方法的可靠性,对于老人能够获得及时的救助是非常有意义的。

现阶段在智慧养老领域跌倒检测的解决方案中,常用的设备有摄像头、可穿戴设备等,基于视觉的摄像头方案使用的设备有彩色摄像头、深度摄像头两种。彩色摄像头方案一般使用动态人体追踪加阈值规则算法进行判断,但由于彩色摄像头获取数据有限、有局限性,所以检测成功率低。现有方案可通过多个摄像头补足深度信息进行判断,但仍然有二维数据转换三维数据的误差,并且由于多摄像头部署的角度问题实施困难。使用2D获取骨骼的方式当前已有例如开放姿势(Openpose)等开源项目,但由于性能要求高,无法用于端侧实时检测,如将视频数据上传至云端检测又存在用户的隐私问题。而基于深度学习进行分类的方法判断跌倒对设备要求较高,通常不部署在端侧。

发明内容

有鉴于此,本申请实施例提供一种检测跌倒方法、装置、设备及存储介质。

本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种检测跌倒方法,包括:

获取被拍摄对象的深度视频流和彩色视频流;

分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

根据所述深度视频流得到的骨骼检测结果和所述彩色视频流得到的第一分析结果,对所述被拍摄对象进行跌倒检测分析。

第二方面,本申请实施例提供一种检测跌倒装置,包括:

获取模块,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第二检测分析模块,用于根据所述深度视频流得到的骨骼检测结果和所述彩色视频流得到的第一分析结果,对所述被拍摄对象进行跌倒检测分析。

第三方面,本申请实施例提供一种跌倒检测设备,包括:存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求所述跌倒检测方法中的步骤。

第四方面,本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的跌倒检测方法。

本申请实施例提供一种跌倒检测方法、装置、设备及存储介质,首先获取被拍摄对象的深度视频流和彩色视频流;然后,分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;最后,根据所述深度视频流得到的骨骼检测结果和所述彩色视频流得到的第一分析结果,对所述被拍摄对象进行跌倒检测分析。这样,采用两种视频流检测结果进行综合检测分析的方法,可以有效提升确认被拍摄对象跌倒的准确度。

附图说明

图1为本申请实施例提供的一种跌倒检测方法的实现流程示意图;

图2为本申请实施例提供的另一种跌倒检测方法的实现流程示意图;

图3A为本申请实施例提供的再一种跌倒检测方法的实现流程示意图;

图3B为本申请实施例提供的又一种跌倒检测方法的实现流程示意图;

图4A为实现本申请实施例使用的硬件示意图;

图4B为实现本申请实例开发板的系统架构示意图;

图4C为本申请实施例提供的还一种跌倒检测方法的实现流程示意图;

图5为本申请实施例提供的跌倒检测装置的组成结构示意图;

图6为本申请实施例跌倒检测设备的一种硬件实体示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

应当理解,此处所描述的一些实施例仅仅用以解释本申请的技术方案,并不用于限定本申请的技术范围。

实施例一

目前跌倒检测手段是利用红绿蓝(Red Green Blue,RGB)摄像头采集跌倒信息,虽然RGB摄像头成本较低,但由于没有深度信息判断跌倒的准确度较低。目前可通过多个摄像头补足深度信息进行判断但仍然有二维转三维数据误差,但存在多摄像头部署的角度问题导致实施困难。通过二维获取骨骼的方式虽然准确度较好,但是由于性能较差,无法用于端侧实时检测,当前已有例如人体姿态识别(openpose)等开源项目。

双目深度摄像头可获取深度信息提取骨骼节点准确度高,所以当前大部分姿态行为预测的项目采用深度摄像头提取骨骼点作为判断依据。通过骨骼节点加阈值规则判断的方式,已可以较好检测跌倒。但由于深度摄像头成像距离、角度等限制,实际检测过程中会出现无法提取骨骼节点的情况,导致无法进行姿态判断,影响了检测准确率;另外使用基于规则的阈值检测往往存在误检、漏检的问题,如采用下降速度阈值判断跌倒,如果缓慢倒下就有可能无法识别,以上问题导致大部分阈值检测方案跌倒的准确度在90%左右,而使用深度学习方案进行检测对设备性能有要求,一般都放在云端,而视频上传至平台又有隐私问题,且实时监测需要占用大量网络带宽流量,故大部分深度方案都停留在研究原型阶段,没有商用产品。

本申请实施例中,使用双目深度摄像头(不依赖于摄像头的品牌型号)通过同时对获取的RGB视频和深度视频流进行处理,在深度视频流无法提取骨骼节点不能进行判断时,通过RGB视频流的处理补全解决来判断,解决以上提出的深度摄像头提取骨骼时出现的问题。方案使用异步处理方式解决深度学习模型在端侧性能的问题,可保证数据在本地不上传云端,从而保护了用户隐私,并且提高了检测准确度(使用URfalling跌倒数据集验证,融合检测跌倒可达100%,而单一深度摄像头检测结果为90%左右)为商用化铺路。。

本实施例提供一种跌倒检测方法。图1为本申请实施例提供的一种跌倒检测方法的实现流程示意图,如图1所示,该方法包括:

步骤S101、获取被拍摄对象的深度视频流和彩色视频流;

使用能够同时采集深度视频流和彩色视频流的采集设备同时采集两种被拍摄对象的视频流。例如使用红绿蓝深度(Red Green Blue Depth Map,RGBD)相机,RGBD相机就是在RGB普通摄像头的功能上添加了一个深度测量,从实现这个功能的技术层面去分析,那么有以下几种主流方案:双目、结构光和飞行时间(Time of flight,TOF)三种主要技术。RGBD双目相机的测距方式是被动式测距,RGBD双目匹配,三角测量,RGBD双目相机分辨率中高,精度:0.01mm(毫米)至1mm;显示的画面帧率较低,约在几十赫兹(Hz);抗光照强,功耗方面还是相对比较低的,因为是纯软件;软件比较复杂,硬件成本较低,对户外具有良好的适用性,基本不影响使用效果,使用双目RGBD相机的优势:双目成本低,功耗低,分辨率高,帧率高。

获取到被拍摄对象的深度视频流和彩色视频流,可用于异步检测分析被拍摄对象是否跌倒。

步骤S102、分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

如果根据深度视频流无法确定被拍摄对象有没有或者确定所述被拍摄对象没有跌倒,需要对同时采集到的彩色视频流进行异步检测分析,再次确认被拍摄对象否跌倒,确保没有漏判跌倒动作。

同样,如果根据彩色视频流无法确定被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒,需要对同时采集到的深度视频流进行异步检测分析,再次确认被拍摄对象否跌倒,确保没有漏判跌倒动作。

再次判断被拍摄对象是否跌倒需要使用深度学习方法,由于深度学习方法检测效率较低,及时性一般,实时监测需要占用大量的流量,所以本申请采用异步检测分析法,使用深度视频流和彩色视频流之一无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒作为深度学习模型异步执行的触发条件,当检测为异常时以深度学习模型加以判断,解决深度学习方法实时执行处理的性能问题,最终综合两种输入得出准确度较好的判断结果。

步骤S103、根据所述深度视频流得到的骨骼检测结果和所述彩色视频流得到的第一分析结果,对所述被拍摄对象进行跌倒检测分析。

本申请实施例提供一种跌倒检测方法,首先获取被拍摄对象的深度视频流和彩色视频流;然后,分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;最后,根据所述深度视频流得到的骨骼检测结果和所述彩色视频流得到的第一分析结果,对所述被拍摄对象进行跌倒检测分析。这样,采用两种视频流检测结果进行综合检测分析的方法,可以有效提升确认被拍摄对象跌倒的准确度。

实施例二

本实施例提供一种跌倒检测方法。图2为本申请实施例提供的另一种跌倒检测方法的实现流程示意图,如图2所示,该方法包括:

步骤S201、获取被拍摄对象的深度视频流和彩色视频流;

步骤S202、分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

步骤S203、在设置的滑动窗口内,如果仅所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

因两种处理结果输入有时延误差,为避免骨骼检测和深度学习方法检测的决策结果因时差导致的一次跌倒被认为二次的误判,设计了决策器进行状态保存,使用滑动窗口机制,窗口长度为1S,步长100ms(约3帧数据),以一个窗口时间结束时的输入作为最终输入结果进行判断输出。

根据跌倒行为数据集的数据表明,跌倒通常在1秒左右,选取此窗口长度足以确认是否跌倒发生,通过图卷积和深度学习的方式将训练好的模型进行检测和分类,模型中收集了骨骼点经常无法获取或阈值法无法判断的场景,如距离过近、过远、遮挡等情况,缓慢坐倒等情况。在滑动窗口内如果只检测到一种视频流得到的结果,就以这个结果为准,这样可以提高检测的效率。

步骤S204、在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果。

因为骨骼检测结果比彩色视频流检测结果准确,所以在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果。本申请实施例中,在滑动窗口内如果只检测到一种视频流得到的结果,就以这个结果为准。在滑动窗口内如果深度摄像头获取的深度视频流经过分析确认被拍摄对象跌倒,不需要再使用彩色图像确认。因为深度摄像头可以获取更多维度的信息加以处理,所以深度视频流确认的准确度高。这样,在不影响判断精度的条件下,提高了确认的效率。

实施例三

本实施例提供一种跌倒检测方法。图3A为本申请实施例提供的再一种跌倒检测方法的实现流程示意图,如图3A所示,该方法包括:

步骤S300、获取被拍摄对象的深度视频流和彩色视频流;

步骤S301、分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

步骤S302、将所述深度视频流输入已训练的骨骼提取模型,得到所述被拍摄对象的骨骼节点坐标;

通过深度摄像头,获取大量深度图样本后,人工打标签,标定骨骼节点位置,并将数据进行建模训练,得到深度图提取骨骼样本的训练模型。

根据输入的深度视频流,采集摄像头底层硬件方法,例如:封装为接口函数GetDepthFrame()可以获得被拍摄对象的深度帧。

将所述深度帧输入已训练的骨骼提取模型,得到所述被拍摄对象的骨骼节点坐标。

步骤S303、如果根据所述骨骼节点坐标无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒时,采用前景检测追踪人体的方法对所述彩色视频流进行处理,得到所述被拍摄对象的二维轮廓;

同时对获取的彩色视频和深度视频流进行处理,在深度视频流无法提取骨骼节点不能进行判断时,通过彩色视频流的处理补全解决来判断,解决以上提出的深度摄像头提取骨骼时出现的问题。

前景是图像或视频场景中可见性、显著性更强的部分。前景检测,即在视频中识别感兴趣区域或识别运动目标(景)和静态部分(景)的过程。它是运动分析、视频监控的关键步骤,也是最基础和底层的步骤。前景检测结果的效果直接关系到后续分析与应用处理的性能的好坏。常用的前景检测算法有:帧差法、背景建模法、光流法、平均背景法、背景非参数估计、前景建模法等。

根据输入的彩色视频流,采集摄像头底层硬件方法,例如:封装为接口函数GetColorFrame()可以获得被拍摄对象的彩色帧。

因为彩色视频流的检测准确度较低,通常多为误检,漏检少,故使用此异常判断作为深度学习模型异步执行的触发条件。如果根据所述骨骼节点坐标无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒时,输入被拍摄对象的彩色视频流,采用前景检测追踪人体的方法获得二维轮廓。

步骤S304、根据所述二维轮廓确定所述被拍摄对象的长和宽;

步骤S305、根据所述被拍摄对象的长与宽之间的比例与特定比例之间的大小关系,确定第一分析结果;其中,如果所述长与宽之间的比例大于所述特定比例时,确定所述第一分析结果为所述被拍摄对象为没有跌倒;如果所述长与宽之间的比例小于所述特定比例时,确定所述第一分析结果为所述被拍摄对象为跌倒;

对被拍摄对象的长与宽之间的比例进行异常分析:长宽比值在4.5左右分析出正常人直立行走转到步骤407,长宽比值小于0.5分析出疑似跌倒转到步骤405。

正常人直立行走时,长宽比值在4.5左右,倒地后小于0.5为疑似跌倒,判断为异常疑似原因是由于二维数据有局限性,人的距离在由远变近的过程中有可能出现长宽比变化导致的误判,故只作为参考。

还可以使用宽与长之间的比例进行异常分析。

步骤S306、如果根据所述第一分析结果确定所述被拍摄对象跌倒时,在所述彩色视频流的首帧之前提取N帧画面,所述N大于等于2;

如果根据所述第一分析结果确定所述被拍摄对象跌倒时,在所述彩色视频流的首帧之前提取N帧画面,可以更加准确的分析被拍摄对象是否跌倒。例如:通过缓存提取彩色视频流判断疑似前100帧,由于普通摄像机每秒可以拍摄30每帧画面,大约3秒多时间输入给深度学习模型用于判断被拍摄对象是否跌倒。

步骤S307、将所述N帧画面输入至已训练的深度学习模型中进行分析,确定第二分析结果;

深度学习方法建立的模型为基于PyTorch的计算机视觉深度学习框架训练的模型,其中,PyTorch是使用图形处理器(Graphics Processing Unit,GPU)和CPU优化的深度学习张量库。

当彩色视频检测为异常时以深度学习方法建立的模型加以判断,解决深度学习端侧实时执行处理的性能问题,最终综合两种输入得出准确度较好的判断结果。

将所述N帧画面输入至已训练的深度学习模型中进行分析,更准确地确定被拍摄对象是否跌倒。

步骤S308、如果所述第二分析结果为跌倒时,确定所述跌倒检测结果为被拍摄对象跌倒;如果所述第二分析结果为没有跌倒时,确定所述跌倒检测结果为被拍摄对象没有跌倒;

步骤S309、在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

步骤S310、在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果。

本申请实施例中,根据同时对获取的彩色视频和深度视频流进行处理。深度视频流检测的方法是基于人体骨骼节点的阈值规则判断,以及基于骨骼节点的机器学习分类器检测方法。在深度视频无法提取骨骼节点不能判断或者确定所述被拍摄对象没有跌倒时,通过彩色视频进行一定处理和补全解决,来判断是否跌倒。这样解决了依靠单一检测方法容易带来对跌倒检测的漏判、误判问题,使用异步检测分析法同时解决了深度学习方法在端侧性能的问题,提高检出准确度。

实施例四

本实施例提供一种跌倒检测方法。图3B为本申请实施例提供的又一种跌倒检测方法的实现流程示意图,如图3B所示,该方法包括:

步骤S311、采用双目摄像头获取被拍摄对象的深度视频流和彩色视频流;

步骤S312、分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

步骤S313、在所述滑动窗口内,如果先检测到根据所述深度视频流得到的所述被拍摄对象没有跌倒的骨骼检测结果时,等待根据所述彩色视频流得到的第一分析结果;如果所述第一分析结果为所述被拍摄对象没有跌倒,输出所述被拍摄对象没有跌倒的跌倒检测结果;

在先根据深度视频流得到的所述被拍摄对象没有跌倒的骨骼检测结果时,再等待彩色视频流得到的第一分析结果,如果结果也是没有跌倒,可以输出没有跌倒的跌倒检测结果。这样结合两种视频流进行判断,可以有效减少漏判、错判。

步骤S314、在所述滑动窗口内,如果先检测到所述被拍摄对象跌倒的第一分析结果时,等待根据所述深度视频流得到的骨骼检测结果;如果所述骨骼检测结果为所述被拍摄对象跌倒,输出所述被拍摄对象跌倒的跌倒检测结果;

在先根据彩色视频流得到的所述被拍摄对象没有跌倒的第一检测结果时,再等待深度视频流得到的骨骼检测结果,如果结果也是没有跌倒,可以输出没有跌倒的跌倒检测结果。这样结合两种视频流进行判断,可以有效减少漏判、错判。

步骤S315、在所述滑动窗口内,如果先检测到所述被拍摄对象跌倒的第一分析结果时,等待根据所述深度视频流得到的骨骼检测结果;如果所述骨骼检测结果为所述被拍摄对象没有跌倒时,将所述彩色视频流输入至已训练的深度学习模型中进行分析,确定第二分析结果;如果所述第二分析结果为所述被拍摄对象跌倒时,输出所述被拍摄对象跌倒的跌倒检测结果;如果所述第二分析结果为所述被拍摄对象没有跌倒时,确定所述被拍摄对象没有跌倒的跌倒检测结果;

第一分析结果先检测到被拍摄对象跌倒时,需要等待骨骼检测结果,如果骨骼检测结果为所述被拍摄对象跌倒,输出所述被拍摄对象跌倒的跌倒检测结果。如果所述骨骼检测结果为所述被拍摄对象没有跌倒时,将所述彩色视频流输入至已训练的深度学习模型中进行分析,确定第二分析结果。第一分析结果是采用前景检测追踪人体的方法对所述彩色视频流进行第一分析,因彩色视频流的检测准确度较低,通常多为误检,漏检少,故使用此异常判断作为深度学习模型异步执行的触发条件。当第一分析结果为所述被拍摄对象跌倒时,以深度学习模型加以判断,确定第二分析结果。如果所述第二分析结果为所述被拍摄对象跌倒时,输出所述被拍摄对象跌倒的跌倒检测结果;如果所述第二分析结果为所述被拍摄对象没有跌倒时,输出所述被拍摄对象没有跌倒的跌倒检测结果。

步骤S316、在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

步骤S317、在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果。

本申请实施例中,由于是采用双目摄像头获取被拍摄对象的深度视频流和彩色视频流,两种视频会存在时间差,这时需要设置的滑动窗口,在滑动窗口内根据深度视频流和彩色视频流数据判断被拍摄对象是否跌倒。因为深度视频流检测的方法是基于人体骨骼节点的阈值规则判断,以及基于骨骼节点的机器学习分类器检测方法,相对彩色视频流检测误检少,所以如果深度视频流确定被拍摄对象跌倒输出跌倒结果。在滑动窗口内深度视频无法确定或者确定所述被拍摄对象没有跌倒时,通过彩色视频的第一分析和第二分析,来判断是否跌倒。

本申请实施例中涉及4种结果,分别为骨骼检测结果、第一分析结果、第二分析结果和跌倒检测结果,其中,根据深度视频流得到骨骼检测结果,根据彩色视频流分析得出第一分析结果和第二分析结果,综合骨骼检测结果、第一分析结果和第二分析结果最终确定检测结果,即跌倒检测结果;这样解决了双目摄像头采集视频存在时间差导致的一次跌倒被认为二次的误判,且同时解决了依靠单一检测方法容易带来对跌倒检测的漏判、误判问题,使用异步检测分析法同时解决了深度学习方法在端侧性能的问题,提高检出准确度。

实施例五

图4A为实现本申请实施例使用的硬件示意图,如图4A所示,该硬件包括RGBD摄像头401和JetsonNano开发板402。

图4B为实现本申请实例开发板的系统架构示意图,如图4B所示,该开发板包括数据采集层411、业务逻辑处理层412、深度学习处理层413、缓存队列414、数据库415、资源任务调度层416、操作系统417、中央处理器(Central Processing Unit CPU)418和图形处理器(Graphics Processing Unit,GPU)419。

图4C为本申请实施例提供的还一种跌倒检测方法的实现流程示意图,如图4C所示,该方法包括:

步骤S400、利用双目摄像头按帧同时采集RGB彩色视频流和深度视频流;

双目摄像头是采用两个摄像头同时运行来感知周围的环境,双目摄像头组成的视觉系统的优势显而易见,双目系统相比于单目系统可提取到更多与真实世界环境有关的信息,尤其是目标实物的深度信息。双目视觉系统甚至还可以在摄像头校准不精确的情况下正常还原观测点的深度,将人为造成的误差降到最低。

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

RGBD摄像头为RGB摄像头加深度摄像头,在3D计算机图形中,深度图(Depth Map)是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,Depth Map类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系。

实现本申请实施例的硬件如图4A所示,其中RGBD摄像头401用于采集RGB彩色视频流和深度视频流;JetsonNano开发板402用于开发处理彩色视频流和深度视频流的程序。

实现本申请的系统架构如图4B所示,其中数据采集层411用于适配摄像头的视频流采集,与业务逻辑层和深度学习层有交互接口;业务逻辑处理层412用于跌倒检测规则、决策器规则的输入判断执行;深度学习处理层413用于对接深度学习开源项目接口,视频数据格式化处理、做为业务逻辑层和数据采集层的输入和输出反馈;缓存队列414用于视频流存储,采用先进先出的原则,队列长度设置为100帧;数据库415用于存放业务数据和日志数据;资源任务调度层416用于监控系统资源情况,包括CPU、GPU内存使用率,在CPU和GPU间分配处理任务,保证硬件资源利用率;操作系统417可以使用Ubuntu操作系统,QT/C++开发语言;中央处理器(Central Processing Unit CPU)418是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元;图形处理器(Graphics Processing Unit,GPU)419是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。

数据采集层利用双目RGBD摄像头按帧同时采集被拍摄对象的两种视频流:RGB彩色视频流和深度视频流。

步骤S401、根据输入的深度视频流进行处理,获得深度帧;

业务逻辑处理层根据输入的深度视频流,采集摄像头底层硬件方法,例如:封装为接口函数GetDepthFrame()可以获得被拍摄对象的深度帧。

步骤S402、将深度帧输入训练模型获取到骨骼节点坐标;

业务逻辑处理层通过深度摄像头,获取大量深度图样本后,人工打标签,标定骨骼节点位置,并将数据进行建模训练,得到深度图提取骨骼样本的训练模型。

业务逻辑处理层将被拍摄对象的深度帧输入训练模型获取到骨骼节点坐标。

步骤S403、判断是否成功获取到骨骼节点坐标,如成功获取转到步骤404,如未成功获取转到步骤402;

步骤S404、输入获取到的骨骼节点坐标,根据规则模型进行骨骼跌倒分析;

这里规则模型指重心高度变化、头部下降速度变化、躯干地面倾角等。

输入获取到的被拍摄对象的骨骼节点坐标,根据规则模型进行跌倒分析,不论分析结果是跌倒或没有跌倒,都将结果输入到409做跌倒决策分析。

步骤S405、根据输入的RGB彩色视频流进行处理,得到彩色帧;

业务逻辑处理层根据输入的RGB彩色视频流,采集摄像头底层硬件方法,例如:封装为接口函数GetColorFrame()可以获得被拍摄对象的彩色帧。

步骤S406、输入彩色帧,采用前景检测追踪人体的方法获得二维轮廓,根据二维轮廓标定长宽;

前景是图像或视频场景中可见性、显著性更强的部分。前景检测,即在视频中识别感兴趣区域或识别运动目标(前景)和静态部分(背景)的过程。它是运动分析、视频监控的关键步骤,也是最基础和底层的步骤。前景检测结果的效果直接关系到后续分析与应用处理的性能的好坏。常用的前景检测算法有:帧差法、背景建模法、光流法、平均背景法、背景非参数估计、前景建模法等。

输入被拍摄对象的彩色帧,业务逻辑处理层采用前景检测追踪人体的方法获得二维轮廓,根据二维轮廓标定被拍摄对象的二维轮廓长宽。

步骤S407、输入二维轮廓长宽,建立人体二维轮廓;

输入被拍摄对象的二维轮廓长宽,业务逻辑处理层根据二维轮廓长宽,建立人体二维轮廓。

步骤S408、对人体二维轮廓标进行异常分析;

对人体二维轮廓标进行异常分析:长宽比值在4.5左右分析出正常人直立行走转到步骤407,长宽比值小于0.5分析出疑似跌倒转到步骤405。

业务逻辑层中2D人体追踪模块,通过同时进行的前景追踪法标定的二维轮廓进行判断(CPU计算),规则:正常人直立行走时,长宽比值在4.5左右,倒地后小于0.5为疑似跌倒,判断为异常疑似原因是由于二维数据有局限性,人的距离在由远变近的过程中有可能出现长宽比变化导致的误判,故只作为参考

步骤S409、输入骨骼跌倒分析结果、RGB视频流异常分析结果和深度学习结果做跌倒决策;

因两种处理结果输入有时延误差,为避免骨骼跌倒分析和深度学习方法分析的决策结果因时差导致的一次跌倒被认为二次的误判,设计了决策器进行状态保存,使用滑动窗口机制,窗口长度为1S,步长100ms(约3帧数据),如果窗口时间内只检测到一种双目摄像头采集的视频流,以采集到的那种视频流判断是否跌倒;如果窗口时间内采集到两种视频流,业务逻辑层中跌倒规则模块判断疑似跌倒后,将结果输入至决策器模块,如决策器当前窗口中骨骼跌倒结果为YES,则不做处理由决策器输出跌倒结果;如骨骼跌倒分析结果为NO,则通过缓存提取判断疑似前100帧(30帧/S)。

跌倒决策规则如下:

在窗口内,骨骼跌倒分析结果为没有跌倒,RGB视频流异常分析结果为跌倒,进行缓存提取异步进行深度跌倒分析,转到步骤410;

在窗口内,骨骼跌倒分析结果和深度学习结果都为没有跌倒,判断结果为没有跌倒;

在窗口内,骨骼跌倒分析结果是跌倒或深度学习结果为跌倒,直接判断跌倒。

根据跌倒行为数据集的数据表明,跌倒通常在1秒左右,选取此窗口足以确认是否跌倒发生。深度学习处理层,通过图卷积和深度学习的方式将训练好的模型进行检测和分类,模型中收集了骨骼点经常无法获取或阈值法无法判断的场景,如距离过近、过远、遮挡等情况,缓慢坐倒等情况。

步骤S410、通过缓存提取判断疑似前100帧(30帧/s);

通过缓存提取RGB视频流判断疑似前100帧,用于输入深度学习方法。

步骤S411、使用深度学习方法建立的模型进行检测判断结果输入至决策器中,判断结束后继续循环检测。

深度学习方法建立的模型为基于PyTorch的计算机视觉深度学习框架训练的模型,其中,PyTorch是使用图形处理器(Graphics Processing Unit,GPU)和CPU优化的深度学习张量库。

根据输入的RGB视频流判断疑似前100帧,判断被拍摄对象是否跌倒。

申请实施例提供一种融合检测的方式,使用异步及多线程机制设计视频队列缓存模式,平衡深度学习模型检测的性能消耗;使用动态监测机制,分配CPU/GPU资源,提高硬件利用率(规则,实时帧输入采用CPU多线程处理,缓存视频深度学习模型使用GPU处理,如果资源监控有异常,可做两者资源重新分配);使用滑动窗口和状态保持机制设计决策器,屏蔽决策器状态因两种处理模式结果不同步导致的二次错判;通过持续调测优化,两种视频流输入分别测试数据集,找到单一判断方法中的漏判误判点,通过阈值调整或者进行模型重新训练处理,调整对决策器的影响,提高检测准确度;硬件功耗低,开发板仅5w耗电量,节能适合监控类产品的长期运行。

实施例六

基于前述的实施例,本申请实施例提供一种跌倒检测装置,该装置包括所包括的各模块,可以通过跌倒检测设备(例如计算机、手机等具有信息处理能力的电子设备)中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。

图5为本申请实施例提供的跌倒检测装置的组成结构示意图,如图5所示,所述装置500包括获取模块501、第一检测分析模块502和第二检测分析模块503,其中:

获取模块501,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块502,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第二检测分析模块503,用于根据所述深度视频流得到的骨骼检测结果和所述彩色视频流得到的第一分析结果,对所述被拍摄对象进行跌倒检测分析。

基于前述的实施例,本申请实施例提供一种跌倒检测装置,所述装置包括:获取模块、第一检测分析模块、第二检测分析模块,其中第二检测分析模块包括第一确定子模块和第一输出子模块:

获取模块,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第一确定子模块,用于在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

第一输出子模块,用于在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果。

基于前述的实施例,本申请实施例提供一种跌倒检测装置,所述装置包括:获取模块、第一检测分析模块和第二检测分析模块,其中第二检测分析模块包括第一确定子模块、第一输出子模块、第二确定子模块和第三确定子模块,其中:

获取模块,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第一确定子模块,用于在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

第一输出子模块,用于在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果;

第二确定子模块,用于在设置的滑动窗口内,如果根据所述深度视频流无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒时,且根据所述第一分析结果确定所述被拍摄对象跌倒时,将所述彩色视频流输入至已训练的深度学习模型中进行分析,确定第二分析结果;

第三确定子模块,用于如果所述第二分析结果为跌倒时,确定所述跌倒检测结果为被拍摄对象跌倒;如果所述第二分析结果为没有跌倒时,确定所述跌倒检测结果为被拍摄对象没有跌倒。

基于前述的实施例,本申请实施例提供一种跌倒检测装置,所述装置包括:获取模块、第一检测分析模块和第二检测分析模块,其中第二检测分析模块包括第一确定子模块、第一输出子模块、第二确定子模块和第三确定子模块,其中第二确定子模块包括第一得到单元、第一分析单元、提取单元和第二分析单元,其中:

获取模块,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第一确定子模块,用于在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

第一输出子模块,用于在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果;

第一得到单元,用于将所述深度视频流输入已训练的骨骼提取模型,得到所述被拍摄对象的骨骼节点坐标;

第一分析单元,用于如果根据所述骨骼节点坐标无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒时,采用前景检测追踪人体的方法对所述彩色视频流进行第一分析,得到第一分析结果;

提取单元,用于如果根据所述第一分析结果确定所述被拍摄对象跌倒时,在所述彩色视频流的首帧之前提取N帧画面,所述N大于等于2;

第二分析单元,用于将所述N帧画面输入至已训练的深度学习模型中进行分析,确定第二分析结果;

第三确定子模块,用于如果所述第二分析结果为跌倒时,确定所述跌倒检测结果为被拍摄对象跌倒;如果所述第二分析结果为没有跌倒时,确定所述跌倒检测结果为被拍摄对象没有跌倒。

基于前述的实施例,本申请实施例提供一种跌倒检测装置,所述装置包括:获取模块、第一检测分析模块和第二检测分析模块,其中第二检测分析模块包括第一确定子模块、第一输出子模块、第二确定子模块、第三确定子模块、第一得到子模块、第四确定子模块和第五确定子模块、,其中:

获取模块,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第一确定子模块,用于在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

第一输出子模块,用于在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果;

第一得到子模块,用于采用前景检测追踪人体的方法对所述彩色视频流进行处理,得到所述被拍摄对象的二维轮廓;

第四确定子模块,用于根据所述二维轮廓确定所述被拍摄对象的长和宽;

第五确定子模块,用于根据所述被拍摄对象的长与宽之间的比例与特定比例之间的大小关系,确定第一分析结果;其中,如果所述长与宽之间的比例大于所述特定比例时,确定所述第一分析结果为所述被拍摄对象为没有跌倒;如果所述长与宽之间的比例小于所述特定比例时,确定所述第一分析结果为所述被拍摄对象为没有跌倒;

第二确定子模块,用于在设置的滑动窗口内,如果根据所述深度视频流无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒时,且根据所述第一分析结果确定所述被拍摄对象跌倒时,将所述彩色视频流输入至已训练的深度学习模型中进行分析,确定第二分析结果;

第三确定子模块,用于如果所述第二分析结果为跌倒时,确定所述跌倒检测结果为被拍摄对象跌倒;如果所述第二分析结果为没有跌倒时,确定所述跌倒检测结果为被拍摄对象没有跌倒。

基于前述的实施例,本申请实施例提供一种跌倒检测装置,所述装置包括:获取模块、第一检测分析模块和第二检测分析模块,其中第二检测分析模块包括第一确定子模块、第一输出子模块、第二确定子模块、第三确定子模块、第二输出子模块、第三输出子模块和第四输出子模块,其中:

获取模块,用于获取被拍摄对象的深度视频流和彩色视频流;

第一检测分析模块,用于分别采用所述深度视频流和所述彩色视频流对所述被拍摄对象进行跌倒检测分析;

第一确定子模块,用于在设置的滑动窗口内,如果仅检测到所述骨骼检测结果或所述第一分析结果,将所述骨骼检测结果或所述第一分析结果作为所述被拍摄对象的跌倒检测结果;

第一输出子模块,用于在设置的滑动窗口内,如果检测到根据所述深度视频流得到的所述被拍摄对象跌倒的骨骼检测结果时,输出所述被拍摄对象跌倒的跌倒检测结果;

第二确定子模块,用于在设置的滑动窗口内,如果根据所述深度视频流无法确定所述被拍摄对象有没有跌倒或者确定所述被拍摄对象没有跌倒时,且根据所述第一分析结果确定所述被拍摄对象跌倒时,将所述彩色视频流输入至已训练的深度学习模型中进行分析,确定第二分析结果;

第三确定子模块,用于如果所述第二分析结果为跌倒时,确定所述跌倒检测结果为被拍摄对象跌倒;如果所述第二分析结果为没有跌倒时,确定所述跌倒检测结果为被拍摄对象没有跌倒。

第二输出子模块,用于在所述滑动窗口内,如果先检测到根据所述深度视频流得到的所述被拍摄对象没有跌倒的骨骼检测结果时,等待根据所述彩色视频流得到的第一分析结果;如果所述第一分析结果为所述被拍摄对象没有跌倒,输出所述被拍摄对象没有跌倒的跌倒检测结果;

第三输出子模块,用于在所述滑动窗口内,如果先检测到所述被拍摄对象跌倒的第一分析结果时,等待根据所述深度视频流得到的骨骼检测结果;如果所述骨骼检测结果为所述被拍摄对象跌倒,输出所述被拍摄对象跌倒的跌倒检测结果;

第四输出子模块,用于在所述滑动窗口内,如果先检测到所述被拍摄对象跌倒的第一分析结果时,等待根据所述深度视频流得到的骨骼检测结果;如果所述骨骼检测结果为所述被拍摄对象没有跌倒时,将所述彩色视频流输入至已训练的深度学习模型中进行分析,确定第二分析结果;如果所述第二分析结果为所述被拍摄对象跌倒时,输出所述被拍摄对象跌倒的跌倒检测结果;如果所述第二分析结果为所述被拍摄对象没有跌倒时,确定所述被拍摄对象没有跌倒的跌倒检测结果。

所以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的跌倒检测方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的客户端侧的或服务端侧的跌倒检测方法中的步骤。

对应地,本申请实施例提供一种跌倒检测设备,图6为本申请实施例跌倒检测设备的一种硬件实体示意图,如图6所示,该设备600的硬件实体包括:包括存储器601和处理器602,所述存储器601存储有可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现上述实施例中提供的跌倒检测方法中的步骤。

存储器601配置为存储由处理器602可执行的指令和应用,还可以缓存待处理器602以及跌倒检测设备600中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的一个实施例或一实施例意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的在一个实施例中或在一实施例中未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语包括、包含或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句包括一个……限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得跌倒检测设备(可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 跌倒检测设备、跌倒检测方法及装置
  • 一种跌倒检测方法、跌倒检测装置和穿戴式设备
技术分类

06120113033964