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

跌倒检测方法、装置、电子设备和计算机可读存储介质

文献发布时间:2024-04-18 19:58:30


跌倒检测方法、装置、电子设备和计算机可读存储介质

技术领域

本申请涉及人工智能技术领域,具体涉及一种跌倒检测方法、装置、电子设备和计算机可读存储介质。

背景技术

老年人跌倒若无法及时被检测并就医很可能导致残疾。因此,如果更加准确的判断是否有人跌倒,尽可能地降低人员跌倒后的影响,成为当下的研究热点。

发明内容

本申请实施例公开了一种跌倒检测方法、装置、电子设备和计算机可读存储介质,能够提高对人员是否发生跌倒进行检测的准确性。

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

对当前帧图像进行人体检测,得到所述当前帧图像对应的至少一个第一检测框;

对各个所述第一检测框进行人体关键点检测,得到各个所述第一检测框对应的第一关键点;

获取上一帧图像对应的至少一个第二检测框,以及获取各个所述第二检测框对应的第二关键点;

分别将各个所述第一检测框及各个所述第二检测框包含的像素点进行聚类,得到各个所述第一检测框对应的第一聚类中心及各个所述第二检测框对应的第二聚类中心;

根据各个所述第一检测框对应的第一聚类中心及各个所述第二检测框对应的第二聚类中心,将所述至少一个第一检测框与所述至少一个第二检测框进行匹配,以确定与各个所述第一检测框匹配的第二检测框;

通过跌倒检测模型,根据各个所述第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果。

作为一种可选的实施方式,在本申请实施例的第一方面中,所述根据各个所述第一检测框对应的第一聚类中心及各个所述第二检测框对应的第二聚类中心,将所述至少一个第一检测框与所述至少一个第二检测框进行匹配,以确定与各个所述第一检测框匹配的第二检测框,包括:

根据目标第一检测框对应的第一聚类中心与各个所述第二检测框对应的第二聚类中心,计算所述目标第一检测框与各个所述第二检测框对应的距离;所述目标第一检测框为任一所述第一检测框;

根据所述目标第一检测框与各个所述第二检测框对应的距离,确定与所述目标第一检测框匹配的第二检测框。

作为一种可选的实施方式,在本申请实施例的第一方面中,所述根据目标第一检测框对应的第一聚类中心与各个所述第二检测框对应的第二聚类中心,计算所述目标第一检测框与各个所述第二检测框对应的距离,包括:

将目标第一检测框对应的M个第一聚类中心,分别与目标第二检测框对应的M个第二聚类中心进行匹配,以得到M组中心对,每组所述中心对包括所述目标第一检测框的第一聚类中心,及所述目标第二检测框匹配的第二聚类中心;所述目标第二检测框为任一所述第二检测框;所述M为正整数;

根据每组所述中心对包含的第一聚类中心与匹配的第二聚类中心之间的距离,计算所述目标第一检测框与所述目标第二检测框之间的距离。

作为一种可选的实施方式,在本申请实施例的第一方面中,所述将目标第一检测框对应的M个第一聚类中心,分别与目标第二检测框对应的M个第二聚类中心进行匹配,以得到M组中心对,包括:

计算目标第一聚类中心包含的像素点数量占所述目标第一检测框包含的像素点总数的比例,得到所述目标第一聚类中心对应的第一比例;所述目标第一聚类中心为所述目标第一检测框对应的任一第一聚类中心;

计算目标第二聚类中心包含的像素点数量占所述目标第二检测框包含的像素点总数的比例,得到所述目标第二聚类中心对应的第二比例;所述目标第二聚类中心为所述目标第二检测框对应的任一第二聚类中心;

根据所述目标第一聚类中心对应的第一比例,及所述目标第二聚类中心对应的第二比例,得到所述目标第一聚类中心与所述目标第二聚类中心之间的距离;

根据所述目标第一聚类中心与所述目标第二检测框对应的各个第二聚类中心之间的距离,确定与所述目标第一聚类中心匹配的第二聚类中心,得到所述目标第一聚类中心对应的中心对。

作为一种可选的实施方式,在本申请实施例的第一方面中,所述根据所述目标第一聚类中心对应的第一比例,及所述目标第二聚类中心对应的第二比例,得到所述目标第一聚类中心与所述目标第二聚类中心之间的距离,包括:

确定所述目标第一聚类中心对应的第一比例与所述目标第二聚类中心对应的第二比例的差值绝对值;

确定所述目标第一聚类中心对应的第一比例与所述目标第二聚类中心对应的第二比例的和值;

将所述差值绝对值除以所述和值,得到第一函数值;

计算所述目标第一聚类中心到所述目标第二聚类中心的欧式距离,得到第二函数值;

将所述第一函数值与所述第二函数值进行加权求和计算,得到所述目标第一聚类中心与所述目标第二聚类中心之间的距离。

作为一种可选的实施方式,在本申请实施例的第一方面中,在所述通过跌倒检测模型,根据各个所述第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果之前,所述方法还包括:

对目标第一检测框对应的各个第一关键点,以及与所述目标第一检测框匹配的第二检测框对应的各个第二关键点进行关键点预处理,得到所述目标第一检测框对应的各个第一关键点的相对偏移量;所述目标第一检测框为任一所述第一检测框;

所述通过跌倒检测模型,根据各个所述第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果,包括:

根据所述目标第一检测框对应的各个第一关键点与多帧历史图像分别对应的相对偏移量,生成偏移量序列;所述历史图像为在所述当前帧图像之前采集的图像;

将所述偏移量序列输入跌倒检测模型,通过所述跌倒检测模型根据所述偏移量序列进行跌倒检测,得到所述目标第一检测框对应的跌倒检测结果。

作为一种可选的实施方式,在本申请实施例的第一方面中,所述对目标第一检测框对应的各个第一关键点,以及与所述目标第一检测框匹配的第二检测框对应的各个第二关键点进行关键点预处理,得到所述目标第一检测框对应的各个第一关键点的相对偏移量,包括:

将目标第一关键点的横坐标与目标第二关键点的横坐标相减,将得到的横坐标差值与所述目标第一检测框的宽度相除,得到所述目标第一关键点的第一偏移值;所述目标第一关键点为所述目标第一检测框中的任一第一关键点;所述目标第二关键点为与所述目标第一检测框匹配的第二检测框中,与所述目标第一关键点对应的第二关键点;

将所述目标第一关键点的纵坐标与所述目标第二关键点的纵坐标相减,将得到的纵坐标差值与所述目标第一检测框的长度相除,得到所述目标第一关键点的第二偏移值;

根据所述目标第一关键点的第一偏移值及第二偏移值,确定所述目标第一关键点的相对偏移量。

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

检测框获取模块,用于分别对当前帧图像和上一帧图像进行人体检测,得到所述当前帧图像对应的至少一个第一检测框及所述上一帧图像对应的至少一个第二检测框;

关键点获取模块,用于对各个所述第一检测框进行人体关键点检测,得到各个所述第一检测框对应的第一关键点,以及对各个所述第二检测框进行人体关键点检测,得到各个所述第二检测框对应的第二关键点;

检测框匹配模块,用于分别将各个所述第一检测框及各个所述第二检测框包含的像素点进行聚类,得到各个所述第一检测框对应的第一聚类中心及各个所述第二检测框对应的第二聚类中心;根据各个所述第一检测框对应的第一聚类中心及各个所述第二检测框对应的第二聚类中心,将所述至少一个第一检测框与所述至少一个第二检测框进行匹配,以确定与各个所述第一检测框匹配的第二检测框;

跌倒检测模块,用于通过跌倒检测模型,根据各个所述第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果。

第三方面,本申请实施例公开了一种电子设备,包括存储器及处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上任一实施例所述的方法。

第四方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序被处理器执行时实现如上任一实施例所述的方法。

本申请实施例公开的跌倒检测方法、装置、电子设备和计算机可读存储介质,对当前帧图像和上一帧图像分别进行人体检测,得到当前帧图像对应的第一检测框及上一帧图像对应的第二检测框;对各个第一检测框以及对各个第二检测框分别进行人体关键点检测,得到各个第一检测框对应的第一关键点及各个第二检测框对应的第二关键点;分别将各个第一检测框及各个第二检测框包含的像素点进行聚类,得到各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心;根据各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心,将至少一个第一检测框与至少一个第二检测框进行匹配,以确定与各个第一检测框匹配的第二检测框;通过跌倒检测模型,根据各个第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果。在本申请实施例中,通过对图像中的每个检测框包含的像素点进行聚类,并根据聚类中心将当前帧图像对应的第一检测框与上一帧图像对应第二检测框进行匹配,提高了跟踪检测框的准确性,且能够关联前后帧,利用具有时序关系的检测框内的关键点进行跌倒检测,提高了跌倒检测的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中跌倒检测方法的流程图;

图2为一个实施例中YOLOV7网络架构;

图3为一个实施例中ViTPose的架构;

图4为一个实施例中检测框匹配的流程图;

图5为一个实施例中检测框距离的计算流程图;

图6为一个实施例中聚类中心匹配的流程图;

图7为另一个实施例中跌倒检测方法的流程图;

图8为另一个实施例中跌倒检测方法的整体流程图;

图9为一个实施例中跌倒检测装置的框图;

图10为一个实施例中电子设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一检测框称为第二检测框,且类似地,可将第二检测框称为第一检测框。

第一检测框和第二检测框两者都是检测框,但其不是相同的检测框。

在相关技术中,常用的基于视觉的跌倒检测方式大多基于单帧图像,即只要检测到图像中人体贴近地面即判定人员跌倒。这种方式虽然较为简单,但无法区别人员是主动贴地(比如电工趴下检查设备)还是意外跌倒,在误检率方面有天然的缺陷。而目前基于检测框空间特征的前后帧跟踪关联方案又容易受到拍摄角度、目标遮挡等方面的影响,导致对人员的跌倒检测不准确。

本申请实施例公开了一种跌倒检测方法、装置、电子设备和计算机可读存储介质,提高对人员是否发生跌倒进行检测的准确性。

如图1所示,在一个实施例中,提供一种跌倒检测方法,可应用于电子设备,该电子设备可包括但不限于手机、智能穿戴设备、平板电脑、PC(Personal Computer,个人计算机)、计算机等,可用于园区,楼道,老年人活动社区、养老院、广场及公园等人员出现较频繁的场所。该方法可包括以下步骤:

步骤110,对当前帧图像进行人体检测,得到当前帧图像对应的至少一个第一检测框。

电子设备可对摄像头采集的每帧图像进行人体检测,得到每帧图像中包含的检测框,图像中的一个人体可对应一个检测框。

其中,人体检测指的是检测图像中包含的所有人体,并标记出每个人体在图像中的图像位置,以获取人体轮廓或存在人体的框图等。第一检测框指的是当前帧图像经过人体检测得到的包含人体的框图。

在一些实施例中,可通过各项人体检测的方法,分别对摄像头采集到的每一帧图像进行人体检测。在对当前帧图像进行人体检测时,结合上一帧图像进行人体检测的结果,得到当前帧图像对应的至少一个第一检测框。人体检测的方法可包括但不限于基于运动检测的算法(包括高斯混合模型、PBAS(Pixel-Based Adaptive Segmenter,基于像素的自适应分段器)算法、帧差分算法等)、基于机器学习的方法(人工特征+分类器的方法)、基于深度学习的方法(包括Faster-RCNN(Faster Regions with CNN features,更快区域卷积神经网络)框架、SSD(Single Shot MultiBox Detector,单次多盒检测器)框架、FPN(FeaturePyramid Network,特征金字塔网络)框架、YOLO(you only look once,单次检测)框架等)。

在一些具体地实施例中,可使用YOLOV7网络架构对摄像头采集的每一帧图像分别进行人体检测,得到每一个当前帧图像对应的至少一个第一检测框。YOLOV7网络架构是典型的基于深度学习的人体检测方法,属于YOLO系列演变的第七代网络架构,如图2所示,YOLOV7网络架构的基本组成为包括input模块、backbone模块及head模块。其中,input模块用于获取输入图像,主要通过backbone模块获取特征图,再使用head模块进行训练和推理得到包含人体的所有坐标框图。

步骤120,对各个第一检测框进行人体关键点检测,得到各个第一检测框对应的第一关键点。

在得到每帧图像中包含的检测框后,可对每个检测框进行人体关键点检测,得到每个检测框对应的关键点。

人体关键点检测(Human Keypoints Detection)又称为人体姿态估计,指的是识别图像中的人体姿态,使用节点标注人体的关键部位作为人体关键点。一般在完成关键点检测之后还会进行关键点的跟踪,以实现对人体姿态、动作等的捕捉分析。因此,第一关键点指的是对当前帧图像中的第一检测框进行人体关键点检测,得到的第一检测框内人体对应的各个关键点。

在一些实施例中,可通过人体关键点检测算法对各个第一检测框进行人体关键点检测,得到各个第一检测框对应的第一关键点。人体关键点检测算法主要分为2D关键点检测和3D关键点检测,能够从平面及立体两方面得到人体关键点。其中,2D关键点检测包括但不限于CPM(Convolutional Pose Machines,卷积姿态机)、MSPN(Rethinking on Multi-Stage Networks for Human Pose Estimation,多阶段人体姿态估计)等。

在一些具体地实施例中,可使用ViTPose架构对图像中的检测框进行人体关键点检测,得到检测框对应的关键点。ViTPose架构是使用Transformer结构做人体2D关键点估计,如图3所示,ViTPose的基本架构包括Encoder模块及Decoder模块,一般情况下,使用普通ViT(Vision Transformer,视觉变压器)结构作为Encoder,负责从检测框中提取特征,结合一个轻量级的Decoder,其中Decoder主要由上采样卷积层构成,用于根据Encoder提供的特征回归出人体所有关键点。

步骤130,获取上一帧图像对应的至少一个第二检测框,以及获取各个第二检测框对应的第二关键点。

其中第二检测框指的是上一帧图像经过人体检测得到的包含人体的所有框图。第二关键点指的是对上一帧图像中的第二检测框进行人体关键点检测,得到的第二检测框内人体对应的各个关键点。

在一些实施例中,当前帧图像对摄像头采集的图像中的其中一帧,当对下一帧图像进行分析时,将下一帧图像作为新的当前图像,原来的当前帧图像成为新的当前图像对应的上一帧图像;逐帧进行迭代。

在一个具体的实施例中,若摄像头采集到n帧图像,则分别对采集的n帧图像进行人体检测。假设当前帧图像为第m帧图像,那么第m帧图像对应的检测框为第一检测框,第m-1帧图像对应的检测框为第二检测框,其中m小于n,且m、n均为正整数;若当前帧图像为第m+1帧图像,那么第m+1帧图像对应的检测框为第一检测框,第m帧图像对应的检测框为第二检测框;以此类推。

步骤140,分别将各个第一检测框及各个第二检测框包含的像素点进行聚类,得到各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心。

像素点是一种图像元素,是图像中最小单位的基本构成元素。在图像中,每个像素点都有一个特定的位置和数值,该数值可用于表示该像素点的颜色或亮度等信息。通常情况下,图像的分辨率越高,图像包含的像素点就越多,图像也就更加清晰细腻,因此像素点也可以作为特征描述图像。

聚类(clustering)是一种典型的“无监督学习”,按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。常用的聚类算法主要可以分为划分式聚类方法(Partition-based Methods)、基于密度的聚类方法(Density-based methods)、层次化聚类方法(Hierarchical Methods)等。

在一些实施例中,可分别对各个第一检测框及各个第二检测框内的像素点进行划分式聚类,并计算得到各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心。其中,每个聚类中心的坐标由像素点的RGB(红绿蓝三原色)值表示。第一聚类中心指的是第一检测框内的各个像素点进行聚类,得到的各个簇的中心点坐标;第二聚类中心指的是第二检测框内的像素点进行聚类,得到的各个簇的中心点坐标;且第一聚类中心的个数与第二聚类中心的个数不一定相等。

在一些具体的实施例中,可使用kmeans聚类方法分别对各个第一检测框及各个第二检测框包含的像素点进行聚类,得到各个第一检测框对应的M个第一聚类中心及各个第二检测框对应的M个第二聚类中心,其中M为正整数。kmeans聚类方法属于划分式聚类方法,需要事先指定簇类的数目或者聚类中心,通过反复迭代,直至最后达到"簇内的点足够近,簇间的点足够远"的目标。

具体地,先在每个检测框中随机设定M个像素点作为原始质心,当任意一个像素点的簇分配结果发生改变时,进行迭代:对于每个检测框中的每个像素点,计算每个质心与各个像素点之间的距离,将各个像素点分别分配到距离最小的簇,并计算每个簇中包含的像素点的均值,并将均值作为下一次迭代的质心,直至所有像素点的簇分配结果不再发生改变,此时的质心即为聚类中心,得到候选框的M个簇。

步骤150,根据各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心,将至少一个第一检测框与至少一个第二检测框进行匹配,以确定与各个第一检测框匹配的第二检测框。

在一些实施例中,可将各个第一检测框对应的第一聚类中心作为各个第一检测框的特征点,将各个第二检测框对应的第二聚类中心作为各个第二检测框的特征点,根据特征点匹配,将至少一个第一检测框与至少一个第二检测框进行匹配,确定与各个第一检测框匹配的第二检测框。

在一些实施例中,可使用暴力匹配方法(Brute-Froce Matcher)将至少一个第一检测框与至少一个第二检测框进行匹配。暴力匹配方法是计算某一个特征点与其他所有特征点之间的距离,然后将得到的距离进行排序,取距离最近的一个作为匹配点。

步骤160,通过跌倒检测模型,根据各个第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果。

跌倒检测模型可用于预测是否出现跌倒动作。跌倒检测模型可采用YOLO系列网络架构、ALBERT模型架构、BERT(Bidirectional Encoder Representations fromTransformers,来自变压器的双向编码器表示)模型架构等。

在一些实施例中,可将各个第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点输入到ALBERT(A Lite Bidirectional Encoder Representations fromTransformers,轻量级BERT)模型,进行跌倒检测,得到跌倒检测结果。ALBERT模型一般用于自然语言处理,在一些实施例中,可以将当前帧图像的每个第一检测框对应的每个第一关键点分别理解为一个句子的一个“单词”,而当前帧图像的每个第一检测框对应的每个第一关键点与匹配的上一帧图像的第二检测框对应的每个第二关键点形成一个时序关系,将具有时序关系的每个第一关键点和每个第二关键点连起来就是一个“句子”,将“句子”经过ALBERT模型的跌倒检测预测,得到跌倒检测结果。

在一些实施例中,在使用跌倒检测模型进行跌倒检测的预测之前需要用关键点序列先对跌倒检测模型进行训练。样本跌倒检测数据集可包含多帧图像及多帧图像对应的检测框及关键点,以及多帧图像对应的真实跌倒检测结果,还可包含多帧图像对应的各个关键点的相对偏移量等。将样本跌倒检测数据集进行数据预处理,将预处理后的样本跌倒检测数据集输入到预训练的跌倒检测模型中,得到预测跌倒检测结果,根据预测跌倒检测结果与真实跌倒检测结果计算准确率,若准确率小于设定阈值,则计算该预训练的跌倒检测模型的损失函数,根据损失函数的梯度下降方向对预训练的跌倒检测模型进行微调,重复得到预测跌倒检测结果,直至准确率达到设定阈值。样本跌倒检测数据集可通过FDD(thefall detection dataset,坠落检测数据集)、URFD(the UR fall detection dataset,UR下降检测数据集)等获取。

在本申请实施例中,通过对图像中的每个检测框包含的像素点进行聚类,并根据聚类中心将当前帧图像对应的第一检测框与上一帧图像对应第二检测框进行匹配,提高了跟踪检测框的准确性,且能够关联前后帧,利用具有时序关系的检测框内的关键点进行跌倒检测,提高了跌倒检测的准确性。

如图4所示,在一个实施例中,步骤根据各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心,将至少一个第一检测框与至少一个第二检测框进行匹配,可包括以下步骤:

步骤410,根据目标第一检测框对应的第一聚类中心与各个第二检测框对应的第二聚类中心,计算目标第一检测框与各个第二检测框对应的距离。

其中,目标第一检测框为当前帧图像中的任一第一检测框。

在一些实施例中,计算目标第一检测框与各个第二检测框之间的距离本质上就是要计算两个分别含有M个聚类中心的簇群的距离,因此,可分别计算目标第一检测框对应的M个第一聚类中心与各个第二检测框对应的M个第二聚类中心的距离,得到目标第一检测框与各个第二检测框对应的距离。

如图5所示,在一个实施例中,步骤410中计算目标第一检测框与各个第二检测框对应的距离,包括步骤502~504。

步骤502,将目标第一检测框对应的M个第一聚类中心,分别与目标第二检测框对应的M个第二聚类中心进行匹配,以得到M组中心对。

其中,每组中心对包括目标第一检测框的第一聚类中心,及目标第二检测框匹配的第二聚类中心;目标第二检测框为任一第二检测框;M为正整数。

要计算目标第一检测框到目标第二检测框之间的距离本质上就是要计算两个分别含有M个聚类中心的簇群的距离,而两个簇群之间的距离也不好直接计算。在一些实施例中,可先将目标第一检测框对应的M个第一聚类中心与目标第二检测框对应的M个第二聚类中心两两匹配起来形成中心对,通过匹配的中心对协助两个簇群之间的距离,以实现目标第一检测框与目标第二检测框的匹配。

在一些实施例中,如图6所示,步骤将目标第一检测框对应的M个第一聚类中心,分别与目标第二检测框对应的M个第二聚类中心进行匹配,以得到M组中心对,可包括步骤610~620。

步骤610,根据目标第一聚类中心与目标第二聚类中心,计算目标第一聚类中心与目标第二聚类中心之间的距离。

其中,目标第一聚类中心为目标第一检测框对应的任一第一聚类中心;目标第二聚类中心为目标第一检测框对应的任一第二聚类中心。

为了将目标第一检测框对应的M个第一聚类中心与目标第二检测框对应的M个第二聚类中心两两匹配起来形成中心对,需要先分别计算每个第一聚类中心到各个第二聚类中心的距离,根据距离对目标第一聚类中心与各个目标第二聚类中心进行匹配,以形成中心对。

在一些实施例中,可计算目标第一聚类中心包含的像素点数量占目标第一检测框包含的像素点总数的比例,得到目标第一聚类中心对应的第一比例;目标第一聚类中心为目标第一检测框对应的任一第一聚类中心;计算目标第二聚类中心包含的像素点数量占目标第二检测框包含的像素点总数的比例,得到目标第二聚类中心对应的第二比例;目标第二聚类中心为目标第二检测框对应的任一第二聚类中心;根据目标第一聚类中心对应的第一比例,及目标第二聚类中心对应的第二比例,得到目标第一聚类中心与目标第二聚类中心之间的距离。

在一些实施例中,可根据目标第一聚类中心对应的第一比例与目标第二聚类中心对应的第二比例,通过距离计算公式,计算得到目标第一聚类中心与目标第二聚类中心之间的距离。距离计算公式表示如果两个聚类中心足够相似的话那么它们各自包含的像素点数目占比以及在RGB坐标系中的坐标都应该比较相近,也就是说如果两个聚类中心各自包含的像素点数目相近,且在RGB坐标系中的坐标相似,那么这两个聚类中心能够相互匹配。

在一些具体地实施例中,可确定目标第一聚类中心对应的第一比例与目标第二聚类中心对应的第二比例的差值绝对值;确定目标第一聚类中心对应的第一比例与目标第二聚类中心对应的第二比例的和值;将差值绝对值除以和值,得到第一函数值;计算目标第一聚类中心到目标第二聚类中心的欧式距离,得到第二函数值;将第一函数值与第二函数值进行加权求和计算,得到目标第一聚类中心与目标第二聚类中心之间的距离。

具体地,可通过距离计算公式(1)计算得到目标第一聚类中心与目标第二聚类中心之间的距离:

其中,Dis

步骤620,根据目标第一聚类中心与目标第二检测框对应的各个第二聚类中心之间的距离,确定与目标第一聚类中心匹配的第二聚类中心,得到目标第一聚类中心对应的中心对。

在一些实施例中,可根据目标第一聚类中心与目标第二检测框对应的各个第二聚类中心之间的距离,使用暴力匹配方法将目标第一聚类中心与目标第二聚类中心进行匹配。还可以设定距离阈值,保留目标第一聚类中心与目标第二检测框对应的各个第二聚类中心的距离小于距离阈值的目标第一聚类中心到目标第二聚类中心的连接关系,再通过匈牙利算法,将目标第一聚类中心与目标第二检测框对应的各个第二聚类中心进行匹配,以确定与各个第一聚类中心匹配的第二聚类中心,形成中心对。

步骤504,根据每组中心对包含的第一聚类中心与匹配的第二聚类中心之间的距离,计算目标第一检测框与目标第二检测框之间的距离。

在一些实施例中,可将目标第一检测框对应的M组中心对包含的第一聚类中心与匹配的第二聚类中心的距离求和,得到目标第一检测框与目标第二检测框之间的距离。

具体地,可通过公式(2)计算得到目标第一检测框与目标第二检测框之间的距离:

Dis

其中,Dis

步骤420,根据目标第一检测框与各个第二检测框对应的距离,确定与目标第一检测框匹配的第二检测框。

在确定目标第一检测框与各个第二检测框对应的距离之后,可选择对应的距离小于距离阈值的第二检测框,并保留对应的距离小于距离阈值的第二检测框与目标第一检测框之间的连接关系。针对当前帧图像中的每个第一检测框,都可根据距离阈值确定对应的保留的连接关系。

在一些实施例中,可基于匈牙利算法,根据每个第一检测框对应的保留的连接关系,确定与各个第一检测框匹配的第二检测框。

在一些具体的实施例中,根据每个第一检测框对应的保留的连接关系,每个第一检测框根据距离值从小到大的顺序选择匹配的第二检测框;当前第一检测框匹配到第一个具备连接关系的第二检测框,且该第二检测与之前所有第一检测框都未有匹配关系,则该第二检测框是与当前第一检测框匹配的第二检测框;若该第二检测框与之前第一检测框已经有匹配关系,则当前第一检测框强行匹配到该第二检测框,且之前与该第二检测框匹配的第一检测框放弃与该第二检测框的匹配关系,转而与下一个具备连接关系的第二检测框匹配,直至之前第一检测框与其保留的所有连接关系均无法匹配,则放弃之前第一检测框的匹配操作。

具体地,假设存在四个第一检测框分别为a、b、c、d,存在四个第二检测框分别为1、2、3、4,且第一检测框对应保留的连接关系有(a,1)连接距离为5、(a,2)连接距离为8、(a,4)连接距离为10、(b,2)连接距离为6、(b,3)连接距离为7、(c,2)连接距离为7、(d,1)连接距离为6。匹配流程如下:a先与1匹配;b与2匹配;c与2匹配,此时c与b发生冲突,且c相对于b后完成匹配,则保留c与2匹配,b选择与3匹配;d与1匹配,此时d与a发生冲突,且d相对于a后完成后匹配,则保留d与1匹配,a选择与2匹配,依旧存在c与a冲突,且a相对于c后完成匹配,则保留a与2匹配,c没有其他连接关系则放弃匹配。最终得到第二检测框2为第一检测框a匹配成功,第二检测框3为第一检测框b匹配成功,第二检测框1为第一检测框d匹配成功。

匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法,并推动了后来的原始对偶方法。匈牙利算法对红线连接的准确率要求很高,也就是要求我们运动模型、外观模型等部件必须进行较为精准的预测,或者预设较高的阈值,只将置信度较高的边才送入匈牙利算法进行匹配,这样才能得到较好的结果。因此,在进行匈牙利算法匹配之前,设置一个距离阈值,仅保留小于距离阈值的目标第一检测框到目标第二检测框的连接关系,以提高匹配准确率。

在本申请实施例中,通过目标第一聚类中心与各个第二聚类中心的距离将目标第一聚类中心与各个第二聚类中心进行匹配,生成中心对,再根据各组中心对中的目标第一聚类中心与匹配的第二聚类中心的距离,得到目标第一检测框到各个第二检测框的距离,确定当前帧图像对应的第一检测框与上一帧图像对应第二检测框的匹配关系,使得当前帧图像对应的第一检测框到上一帧图像对应的第二检测框的跟踪匹配关系更加准确,提高了跟踪检测框的准确性,且能够关联前后帧,利用具有时序关系的检测框内的关键点进行跌倒检测,提高了跌倒检测的准确性。

如图7所示,在另一个实施例中,提供一种跌倒检测的方法,可应用于上述的电子设备,该方法可包括以下步骤:

步骤702,对当前帧图像进行人体检测,得到所述当前帧图像对应的至少一个第一检测框;

步骤704,对各个所述第一检测框进行人体关键点检测,得到各个所述第一检测框对应的第一关键点;

步骤706,获取上一帧图像对应的至少一个第二检测框,以及获取各个所述第二检测框对应的第二关键点。

步骤708,分别将各个第一检测框及各个第二检测框包含的像素点进行聚类,得到各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心。

步骤710,根据各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心,将至少一个第一检测框与至少一个第二检测框进行匹配,以确定与各个第一检测框匹配的第二检测框。

步骤702到步骤710的描述可参照上述实施例中的步骤110到步骤150的相关描述,在此不再赘述。

步骤712,对目标第一检测框对应的各个第一关键点,以及与目标第一检测框匹配的第二检测框对应的各个第二关键点进行关键点预处理,得到目标第一检测框对应的各个第一关键点的相对偏移量;目标第一检测框为任一第一检测框。

目标第一检测框和与目标第一检测框匹配的第二检测框经过匹配,因此,目标第一检测框对应的各个第一关键点和与目标第一检测框匹配的第二检测框对应的各个第二关键点存在一一对应的关系,能够表示同一个人体在当前帧和上一帧的动作,通过计算目标第一检测框对应的各个第一关键点的相对偏移量,能够分析人体在当前帧和上一帧的动作变化,协助跌倒检测模型进行跌倒检测分析。

在一些具体地实施例中,将目标第一关键点的横坐标与目标第二关键点的横坐标相减,将得到的横坐标差值与目标第一检测框的宽度相除,得到目标第一关键点的第一偏移值;目标第一关键点为目标第一检测框中的任一第一关键点;目标第二关键点为与目标第一检测框匹配的第二检测框中,与目标第一关键点对应的第二关键点;将目标第一关键点的纵坐标与目标第二关键点的纵坐标相减,将得到的纵坐标差值与目标第一检测框的长度相除,得到目标第一关键点的第二偏移值;根据目标第一关键点的第一偏移值及第二偏移值,确定目标第一关键点的相对偏移量。

具体地,可通过公式(3)计算得到目标第一关键点的相对偏移量:

其中,new_x

步骤714,根据目标第一检测框对应的各个第一关键点与多帧历史图像分别对应的相对偏移量,生成偏移量序列。

其中,历史图像为在当前帧图像之前采集的图像。

在一些实施例中分别计算当前帧图像及当前帧图像之前的每一帧图像对应的相对偏移量,根据当前帧图像及当前帧图像之前的每一帧图像对应的相对偏移量,生成偏移量序列。

在一些具体的实施例中,假设当前帧图像为第n帧图像,则可结合上一帧图像,计算当前帧图像的相对偏移量;根据第n帧图像与第n-1帧图像计算得到第n帧图像的相对偏移量;根据第n-1帧图像与第n-2帧图像计算得到第n-1帧图像的相对偏移量;直至得到第1帧图像的相对偏移量;其中,n为正整数,第1帧图像的上一帧图像为原点坐标;将第1到n帧图像对应的相对偏移量生成偏移量序列。

为了能够被跌倒检测模型处理,需要将目标第一检测框对应的各个第一关键点的相对偏移量生成偏移量序列。偏移量序列指的是将多帧图像的目标第一检测框对应的各个第一关键点的相对偏移量作为各个序列元素,按照多帧图像的时序顺序排列,形成的序列,可供跌倒检测模型识别,并进行跌倒检测。

步骤716,将偏移量序列输入跌倒检测模型,通过跌倒检测模型根据偏移量序列进行跌倒检测,得到目标第一检测框对应的跌倒检测结果。

步骤716描述可参照上述实施例中的步骤420的相关描述,在此不再赘述。

在一个具体的实施例中,如图8所示,进行跌倒检测的流程如下:

先将当前帧图像与上一帧图像分别进行人体检测,分别得到当前帧图像对应的第一检测框与上一帧图像对应的第二检测框,再将各个第一检测框与各个第二检测框的像素点分别进行聚类,并根据聚类中心进行检测框匹配跟踪,得到与当前帧图像的每个第一检测框匹配的上一帧图像的第二检测框。同时也将各个第一检测框与各个第二检测框分别进行人体关键点检测,得到各个第一检测框对应的第一关键点与各个第二检测框对应的第二关键点,接着跟据匹配跟踪的结果将各个第一关键点与各个第二关键点生成对应的相对偏移量。最后将所有帧图像对应的各个关键点的相对偏移量分别送入跌倒检测模型中进行跌倒检测,得到跌倒检测结果。

在本申请实施例中,通过对图像中的每个检测框包含的像素点进行聚类,并根据聚类中心将当前帧图像对应的第一检测框与上一帧图像对应第二检测框进行匹配,提高了跟踪检测框的准确性,且能够关联前后帧,利用具有时序关系的检测框内的关键点的相对偏移量进行跌倒检测,提高了跌倒检测的准确性。

如图9所示,在一个实施例中,提供一种跌倒检测装置900,可应用于上述的电子设备。该跌倒检测装置900,可包括检测框获取模块910、关键点获取模块920、检测框匹配模块930及跌倒检测模块940。

检测框获取模块910,用于对当前帧图像进行人体检测,得到当前帧图像对应的至少一个第一检测框,获取上一帧图像对应的至少一个第二检测框。

关键点获取模块920,用于对各个第一检测框进行人体关键点检测,得到各个第一检测框对应的第一关键点,获取各个第二检测框对应的第二关键点。

检测框匹配模块930,用于分别将各个第一检测框及各个第二检测框包含的像素点进行聚类,得到各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心;根据各个第一检测框对应的第一聚类中心及各个第二检测框对应的第二聚类中心,将至少一个第一检测框与至少一个第二检测框进行匹配,以确定与各个第一检测框匹配的第二检测框。

跌倒检测模块940,用于通过跌倒检测模型,根据各个第一检测框对应的第一关键点及匹配的第二检测框对应的第二关键点进行跌倒检测,得到跌倒检测结果。

在一些实施例中,检测框匹配模块930包括检测框距离计算单元及匹配确定单元。

检测框距离计算单元,用于根据目标第一检测框对应的第一聚类中心与各个第二检测框对应的第二聚类中心,计算目标第一检测框与各个第二检测框对应的距离;目标第一检测框为任一第一检测框。

匹配确定单元,用于根据目标第一检测框与各个第二检测框对应的距离,确定与目标第一检测框匹配的第二检测框。

检测框距离计算单元,还用于将目标第一检测框对应的M个第一聚类中心,分别与目标第二检测框对应的M个第二聚类中心进行匹配,以得到M组中心对,每组中心对包括目标第一检测框的第一聚类中心,及目标第二检测框匹配的第二聚类中心;目标第二检测框为任一第二检测框;M为正整数;根据每组中心对包含的第一聚类中心与匹配的第二聚类中心之间的距离,计算目标第一检测框与目标第二检测框之间的距离。

在一些实施例中,检测框距离计算单元还用于计算目标第一聚类中心包含的像素点数量占目标第一检测框包含的像素点总数的比例,得到目标第一聚类中心对应的第一比例;目标第一聚类中心为目标第一检测框对应的任一第一聚类中心;计算目标第二聚类中心包含的像素点数量占目标第二检测框包含的像素点总数的比例,得到目标第二聚类中心对应的第二比例;目标第二聚类中心为目标第二检测框对应的任一第二聚类中心;根据目标第一聚类中心对应的第一比例,及目标第二聚类中心对应的第二比例,得到目标第一聚类中心与目标第二聚类中心之间的距离;根据目标第一聚类中心与目标第二检测框对应的各个第二聚类中心之间的距离,确定与目标第一聚类中心匹配的第二聚类中心,得到目标第一聚类中心对应的中心对。

作为一种可选的实施方式,检测框距离计算单元还用于确定目标第一聚类中心对应的第一比例与目标第二聚类中心对应的第二比例的差值绝对值;确定目标第一聚类中心对应的第一比例与目标第二聚类中心对应的第二比例的和值;将差值绝对值除以和值,得到第一函数值;计算目标第一聚类中心到目标第二聚类中心的欧式距离,得到第二函数值;将第一函数值与第二函数值进行加权求和计算,得到目标第一聚类中心与目标第二聚类中心之间的距离。

作为一种可选的实施方式,跌倒检测装置900还包括偏移量计算模块及序列生成模块。

偏移量计算模块,用于对目标第一检测框对应的各个第一关键点,以及与目标第一检测框匹配的第二检测框对应的各个第二关键点进行关键点预处理,得到目标第一检测框对应的各个第一关键点的相对偏移量;目标第一检测框为任一第一检测框。

序列生成模块,用于根据目标第一检测框对应的各个第一关键点与多帧历史图像分别对应的相对偏移量,生成偏移量序列;历史图像为在当前帧图像之前采集的图像。

跌倒检测模块940,还用于将偏移量序列输入跌倒检测模型,通过跌倒检测模型根据偏移量序列进行跌倒检测,得到目标第一检测框对应的跌倒检测结果。

偏移量计算模块,还用于将目标第一关键点的横坐标与目标第二关键点的横坐标相减,将得到的横坐标差值与目标第一检测框的宽度相除,得到目标第一关键点的第一偏移值;目标第一关键点为目标第一检测框中的任一第一关键点;目标第二关键点为与目标第一检测框匹配的第二检测框中,与目标第一关键点对应的第二关键点;将目标第一关键点的纵坐标与目标第二关键点的纵坐标相减,将得到的纵坐标差值与目标第一检测框的长度相除,得到目标第一关键点的第二偏移值;根据目标第一关键点的第一偏移值及第二偏移值,确定目标第一关键点的相对偏移量。

在本申请实施例中,通过对图像中的每个检测框包含的像素点进行聚类,并根据聚类中心将当前帧图像对应的第一检测框与上一帧图像对应第二检测框进行匹配,提高了跟踪检测框的准确性,且能够关联前后帧,利用具有时序关系的检测框内的关键点的相对偏移量进行跌倒检测,提高了跌倒检测的准确性。

图10为一个实施例中电子设备的结构框图。电子设备可以是手机、平板电脑、智能穿戴设备等设备。如图10所示,电子设备1000可以包括一个或多个如下部件:处理器1010、与处理器1010耦合的存储器1020,其中存储器1020可存储有一个或多个计算机程序,一个或多个计算机程序可以被配置为由一个或多个处理器1010执行时实现如上述各实施例中所描述的方法。

处理器1010可以包括一个或者多个处理核。处理器1010利用各种接口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1020内的指令、程序、代码集或指令集,以及调用存储在存储器1020内的数据,执行电子设备1000的各种功能和处理数据。可选地,处理器1010可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1010可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1010中,单独通过一块通信芯片进行实现。

存储器1020可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器1020可用于存储指令、程序、代码、代码集或指令集。存储器1020可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。存储数据区还可以存储电子设备1000在使用中所创建的数据等。

可以理解地,电子设备1000可包括比上述结构框图中更多或更少的结构元件,例如,包括电源、输入按键、摄像头、扬声器、屏幕、RF(Radio Frequency,射频)电路、Wi-Fi(Wireless Fidelity,无线保真)模块、蓝牙模块、传感器等,还可在此不进行限定。

本申请实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序被处理器执行时实现如上述各实施例中描述的方法。

本申请实施例公开一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可被处理器执行时实现如上述各实施例描述的方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Erasable PROM,EPROM)、电可擦除PROM(Electrically ErasablePROM,EEPROM)或闪存。易失性存储器可包括随机存取存储器(random access memory,RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(Static RAM,SRAM)、动态RAM(Dynamic Random Access Memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、双倍数据率SDRAM(Double Data Rate SDRAM,DDR SDRAM)、增强型SDRAM(Enhanced Synchronous DRAM,ESDRAM)、同步链路DRAM(Synchlink DRAM,SLDRAM)、存储器总线直接RAM(Rambus DRAM,RDRAM)及直接存储器总线动态RAM(DirectRambus DRAM,DRDRAM)。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定特征、结构或特性可以以任意适合的方式结合在一个或多个实施例中。本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在本申请的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

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

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

上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请的各个实施例上述方法的部分或全部步骤。

以上对本申请实施例公开的一种跌倒检测方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 文本检测方法、装置、电子设备及计算机可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 模态框构建方法、装置、电子设备、计算机可读存储介质
  • 电子设备、音量调节方法及装置、计算机可读存储介质
  • 跌倒检测方法、装置、电子设备和计算机可读存储介质
  • 跌倒检测方法、装置、电子设备和计算机可读存储介质
技术分类

06120116499982