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

一种基于人体姿态估计的防溺水预警方法和系统

文献发布时间:2023-06-19 19:30:30


一种基于人体姿态估计的防溺水预警方法和系统

技术领域

本发明涉及通信技术领域,尤其涉及一种基于人体姿态估计的防溺水预警方法和系统。

背景技术

虽然游泳是一项非常受大众欢迎的体育运动,但是泳池溺水事故频发。为减少泳池溺水事故的发生,人们研究出各种泳池防溺水技术,例如可穿戴式防溺水设备以及基于计算机视觉的泳池防溺水技术等。

其中,可穿戴式防溺水设备是指通过游泳者佩戴手环、泳帽和防溺水背心等设备,实时检测游泳者的生命体征,一旦出现溺水情况就立即发出警报信号。然而,由于游泳者要额外佩戴防溺水设备,影响了游泳者的游泳体验,并且防溺水设备存在着易受环境干扰和需要经常维护保养的问题。

为解决可穿戴式防溺水设备存在的上述问题,提高游泳者的游泳体验,现有技术提供了基于计算机视觉的泳池防溺水技术。该技术是指利用计算机视觉技术对摄像头拍到的视频进行人体目标检测,分析游泳者的游泳状态的技术。

然而,目前基于计算机视觉的防溺水技术大多对游泳者的图像进行目标检测(例如游泳者的头部、人体与水面的位置关系等),然后人为设置溺水判定规则,其主观因素太强,且溺水判定规则的参数难以确定,导致泳池溺水的错检和漏检率高,准确率较低。

发明内容

本发明提供一种基于人体姿态估计的防溺水预警方案,旨在解决现有技术中错检和漏检率高,准确率低的问题。

为解决上述问题,根据本发明的第一方面,本发明提出了一种基于人体姿态估计的防溺水预警方法,包括:

使用水下摄像头实时获取游泳者的游泳视频数据;

将游泳视频数据输入至姿态估计网络模型进行人体姿态估计,得到游泳者的多个人体关键点的坐标;

根据多个人体关键点的坐标重建人体姿态坐标系,使用人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数;

计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度;

判断游泳视频数据中连续多帧游泳图像的溺水偏离程度是否小于或等于预定溺水判定阈值;

若连续多帧游泳图像的溺水偏离程度小于或等于预定溺水判定阈值,则确定游泳者溺水,发送溺水预警信号。

优选的,上述防溺水预警方法中,将游泳视频数据输入至姿态估计网络模型进行人体姿态估计的步骤包括:

按照预定数量比例划分姿态估计网络模型的训练集、验证集和测试集;

按照预定数量比例,将训练集、验证集和测试集分别输入至深度神经网络进行训练、验证和测试,得到测试通过的姿态估计网络模型;

将游泳视频数据输入至测试通过的姿态估计网络模型,得到游泳者的人体姿态图像特征;

从人体姿态图像特征中捕捉得到游泳者的多个人体关键点的坐标。

优选的,上述防溺水预警方法中,根据多个人体关键点的坐标重建人体姿态坐标系,使用人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数的步骤包括:

选取多个人体关键点中特定部位关键点的坐标作为坐标原点,构建人体姿态坐标系;

使用人体姿态坐标系,更新除特定部位关键点外其他人体关键点的坐标,计算其他人体关键点与坐标原点的距离;

使用三次多项式拟合法拟合其他人体关键点与坐标原点的距离,得到多个人体关键点的关键点编号以及游泳状态关键点距离函数。

优选的,上述防溺水预警方法,在计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度的步骤之前还包括:

使用姿态估计网络模型对溺水数据集进行人体姿态估计,得到溺水者的多个人体关键点的坐标;

以多个人体关键点中特定部位关键点的坐标为坐标原点,重建人体姿态坐标系;

使用人体姿态坐标系,更新除特定部位关键点外其他人体关键点的坐标;

计算其他人体关键点的坐标与坐标原点的距离,使用其他人体关键点与坐标原点的距离拟合得到溺水状态关键点距离函数。

优选的,上述防溺水预警方法中,使用姿态估计网络模型对溺水数据集进行人体姿态估计,得到溺水者的多个人体关键点的坐标的步骤包括:

将溺水数据集中每一帧溺水图像依次输入至姿态估计网络模型的主干网络,得到与溺水图像对应的溺水特征图;

将溺水特征图输入至姿态估计网络模型的两分支多阶段卷积神经网络,分别得到关键点位置置信度图和人体关键点亲和力域;

分别求解关键点位置置信度图和人体关键点亲和力域的损失函数;

对关键点位置置信度图和人体关键点亲和力域进行最大值匹配,得到溺水者的多个人体关键点;

构建溺水者的多个人体关键点的坐标。

优选的,上述防溺水预警方法中,计算其他人体关键点的坐标与坐标原点的距离,使用其他人体关键点与坐标原点的距离拟合得到溺水状态关键点距离函数的步骤包括:

使用其他人体关键点与坐标原点的距离,计算得到其他人体关键点与坐标原的距离向量;

使用三次多项式拟合法拟合连续预定帧溺水图像中的距离向量,得到溺水者的关键点距离函数集合,作为溺水状态关键点距离函数。

优选的,上述防溺水预警方法中,计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度的步骤包括:

根据溺水偏离程度计算公式:

优选的,上述防溺水预警方法中,判断游泳视频数据中连续多帧游泳图像的溺水偏离程度是否均小于或等于预定溺水判定阈值的步骤包括:

针对连续多帧游泳图像,按时间顺序依次计算每一帧游泳图像中游泳状态关键点距离函数与溺水状态关键点距离函数的相对偏离程度;

判断每一帧游泳图像的相对偏离程度是否小于或等于预定溺水判定阈值;

若每一帧游泳图像的相对偏离程度小于或等于预定溺水判定阈值,则确定游泳者溺水;

若存在相对偏离程度大于预定溺水判定阈值,则重新执行计算每一帧游泳图像的相对偏离程度;

重新执行判断相对偏离程度是否小于或等于预定溺水判定阈值的步骤,直至游泳结束或确定游泳者溺水。

根据本发明的第二方面,本发明还提供了一种基于人体姿态估计的防溺水预警系统,包括:

视频获取模块,用于获取水下摄像头实时采集的游泳者的游泳视频数据;

模型估计模块,用于将游泳视频数据输入至姿态估计网络模型进行人体姿态估计,得到游泳者的多个人体关键点的坐标;

函数拟合模块,用于根据多个人体关键点的坐标重建人体姿态坐标系,使用人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数;

偏离计算模块,用于计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度;

溺水判断模块,用于判断游泳视频数据中连续多帧游泳图像的溺水偏离程度是否小于或等于预定溺水判定阈值;

报警发送模块,用于当溺水判断模块判定连续多帧游泳图像的溺水偏离程度小于或等于预定溺水判定阈值时,确定游泳者溺水,发送溺水预警信号。

优选的,上述防溺水预警系统中,函数拟合模块包括:

坐标选取子模块,用于选取多个人体关键点中特定部位关键点的坐标作为坐标原点,构建人体姿态坐标系;

坐标更新子模块,用于使用人体姿态坐标系,更新除特定部位关键点外其他人体关键点的坐标;

坐标计算子模块,用于计算其他人体关键点与坐标原点的距离;

距离拟合子模块,用于使用三次多项式拟合法拟合其他人体关键点与坐标原点的距离,得到多个人体关键点的关键点编号以及游泳状态关键点距离函数。

综上,本发明提供的基于人体姿态估计的防溺水预警方案,通过实时获取游泳者的游泳视频数据,然后将该游泳视频数据输入至姿态估计网络模型中进行姿态估计,得到游泳者的多个人体关键点的坐标,这样就能够根据上述多个人体关键点的坐标重建人体姿态坐标系,再使用该人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数,因为游泳者的人体关键点能够反映游泳者的游泳动作姿态,重建的人体姿态坐标系拟合得到的游泳状态关键点距离函数能够描述游泳者的肢体动作,这样计算该游泳状态关键点距离函数与溺水状态关键点距离函数的溺水偏离程度,就能够判断游泳者的泳姿和肢体动作与溺水状态下的肢体动作的偏离程度,这种偏离程度使用预定溺水判定阈值进行判断,当溺水偏离程度小于或等于该预定溺水判定阈值时,就能够精确地确定游泳者溺水,提高溺水判定的准确率,此时发送溺水预警信号,能够及时对游泳者进行施救。综上,本发明提供的技术方案,能够解决现有技术通过计算机视觉技术进行人体目标检测导致的主观性过强,溺水错检和漏检率过高,准确率较低的问题。

附图说明

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

图1是本发明实施例提供的第一种基于人体姿态估计的防溺水预警方法的流程示意图;

图2是图1所示实施例提供的一种使用姿态估计网络模型进行人体姿态估计方法的流程示意图;

图3是图1所示实施例提供的一种游泳状态关键点距离函数的拟合方法的流程示意图;

图4是本发明实施例提供的第二种基于人体姿态估计的防溺水预警方法的流程示意图;

图5是图4所示实施例提供的一种人体姿态估计方法的流程示意图;

图6是图4所示实施例提供的一种溺水状态关键点距离函数拟合方法的流程示意图;

图7是图1所示实施例提供的一种溺水偏离程度的判断方法的流程示意图;

图8是本发明实施例提供的一种OpenPose姿态估计模型的结构示意图;

图9是本发明实施例提供的第一种多个人体关键点的坐标位置的结构示意图;

图10是本发明实施例提供的第二种多个人体关键点的坐标位置的结构的结构示意图;

图11是本发明实施例提供的一种基于人体姿态估计的防溺水预警系统的结构示意图;

图12是图11所示实施例提供的一种函数拟合模块的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决的技术问题是:

目前基于计算机视觉的防溺水技术大多对游泳者的图像进行目标检测(例如游泳者的头部、人体与水面的位置关系等),然后人为设置溺水判定规则,其主观因素太强,且溺水判定规则的参数难以确定,导致泳池溺水的错检和漏检率高,准确率较低。

为了解决上述问题,本发明下述实施例提供了基于人体姿态估计的防溺水预警方案,通过人体姿态估计模型对游泳者的图像进行人体关键点标记,计算游泳者的关键点距离函数与溺水状态关键点距离函数的相对偏离程度,能够准确快速地发现溺水的游泳者,及时发送求救信号,能够让救生员快速实施救援。因此,本发明方法能够准确地捕捉到游泳者的肢体动作变化,且溺水判定规则很大程度上减少了人为设置的主观影响,其参数少,数学模型稳定可靠,达到准确判定是否存在溺水的目的。

为实现上述目的,参见图1,图1为本发明实施例提供的一种基于人体姿态估计的防溺水预警方法的流程示意图。如图1所示,该基于人体姿态估计的防溺水预警方法,包括:

S110:使用水下摄像头实时获取游泳者的游泳视频数据。具体可在泳池底部和四周墙壁安装水下高清摄像头,使用该水下高清摄像头实时捕捉游泳者的游泳视频数据,再通过局域网传输至高性能主机进行处理。

S120:将游泳视频数据输入至姿态估计网络模型进行人体姿态估计,得到游泳者的多个人体关键点的坐标。具体地,高性能主机能够对上述游泳视频数据每隔10帧截取一张人体姿态图像,然后输入至训练完成的姿态估计网络模型中,这里选用OpenPose姿态估计模型进行人体姿态估计,获取人体姿态图像中人体的18个人体关键点坐标。

S130:根据多个人体关键点的坐标重建人体姿态坐标系,使用人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数;因为上述多个关键点人体坐标是相对客观的固定坐标系的,难以描述上述多个关键点人体坐标的相互关联关系,导致难以根据人体关键点之间的连接和动作关系描述游泳者的肢体姿态。这样根据上述多个人体关键点的坐标重建人体姿态坐标系,就能够使用该人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数。该游泳状态关键点距离函数能够描述上述多个人体关键点之间的关联关系,这样就能够通过上述关联关系识别游泳者的泳姿和肢体动作。

S140:计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度。上述溺水状态关键点距离函数是之前拟合好的,描述溺水者的肢体动作的函数,这样比较上述游泳状态关键点距离函数和溺水状态关键点距离函数,就能够计算溺水偏离程度,准确判断游泳者是否溺水。

其中,作为一种优选的实施例,该计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度的步骤包括:

根据溺水偏离程度计算公式:

S150:判断游泳视频数据中连续多帧游泳图像的溺水偏离程度是否小于或等于预定溺水判定阈值。

S160:若连续多帧游泳图像的溺水偏离程度小于或等于预定溺水判定阈值,则确定游泳者溺水,发送溺水预警信号。

具体地,若当前截取的游泳状态关键点距离函数与之前拟合好的溺水状态关键点距离函数集合F的第一个函数的相对偏离程度≤0.25,则继续对截取的下一帧图像与溺水状态关键点距离函数集合F的第二个函数进行比较,以此类推,若连续20次函数的相对偏离程度都≤0.25,即截取的游泳者的20帧图像的关键点距离变化与溺水状态下的关键点距离变化相似,则判定游泳者溺水,此时触发报警器,并将溺水者的位置信息发送给救生员,实施救援。否则,重新进行关键点距离函数比较判断。

综上,本发明实施例提供的基于人体姿态估计的防溺水预警方法,通过实时获取游泳者的游泳视频数据,然后将该游泳视频数据输入至姿态估计网络模型中进行姿态估计,得到游泳者的多个人体关键点的坐标,这样就能够根据上述多个人体关键点的坐标重建人体姿态坐标系,再使用该人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数,因为游泳者的人体关键点能够反映游泳者的游泳动作姿态,重建的人体姿态坐标系拟合得到的游泳状态关键点距离函数能够描述游泳者的肢体动作,这样计算该游泳状态关键点距离函数与溺水状态关键点距离函数的溺水偏离程度,就能够判断游泳者的泳姿和肢体动作与溺水状态下的肢体动作的偏离程度,这种偏离程度使用预定溺水判定阈值进行判断,当溺水偏离程度小于或等于该预定溺水判定阈值时,就能够精确地确定游泳者溺水,提高溺水判定的准确率,此时发送溺水预警信号,能够及时对游泳者进行施救。综上,本发明提供的技术方案,能够解决现有技术通过计算机视觉技术进行人体目标检测导致的主观性过强,溺水错检和漏检率过高,准确率较低的问题。

其中,作为一种优选的实施例,如图2所示,上述步骤S120:将游泳视频数据输入至姿态估计网络模型进行人体姿态估计的步骤包括:

S121:按照预定数量比例划分姿态估计网络模型的训练集、验证集和测试集。例如,本申请能够选COCO2017数据集的前五万个样本按照训练集:验证集:测试集=6:2:2的比例进行划分。

S122:按照预定数量比例,将训练集、验证集和测试集分别输入至深度神经网络进行训练、验证和测试,得到测试通过的姿态估计网络模型。按照上述划分的预定数量比例,对上述深度神经网络的姿态估计网络模型OpenPose进行训练,从而得到测试通过的姿态估计网络模型。

S123:将游泳视频数据输入至测试通过的姿态估计网络模型,得到游泳者的人体姿态图像特征。利用训练好的OpenPose姿态估计模型能够对游泳者的图像进行准确的人体姿态估计,捕捉游泳者的多个人体关键点的坐标。

S124:从人体姿态图像特征中捕捉得到游泳者的多个人体关键点的坐标。

其中,通过OpenPose姿态估计模型获取的人体姿态图像特征中,溺水游泳者的18个人体关键点的坐标如图8所示,其中,该18个人体关键点及其对应标号分别如下:0-鼻子,1-脖子,2-右肩,3-右肘,4-右手腕,5-左肩,6-左肘,7-左手腕,8-右臀,9-右膝盖,10-右脚踝,11-左臀,12-左膝盖,13-左脚踝,14-右眼,15-左眼,16-右耳,17-左耳。

上述人体18个关键点的坐标以图像左上角为原点,水平向右方向为x轴,竖直向下为y轴。构造得到人体关键点坐标集合P={(x

本发明实施例提供的技术方案,通过将数据集按照预定数量比例划分,得到训练集、验证集和测试集,然后将上述训练集、验证集和测试集分别输入至深度神经网络中进行训练、验证和测试,就能够得到测试通过的姿态估计网络模型,使用上述姿态估计网络模型对输入的游泳视频数据进行机器学习,就能够准确地得到游泳者的人体姿态图像特征,进而从上述人体姿态图像特征中准确有效地捕捉游泳者的关键点的坐标信息。

另外,作为一种优选的实施例,如图3所示,本发明实施例提供的防溺水预警方法,上述步骤S130:根据多个人体关键点的坐标重建人体姿态坐标系,使用人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数,具体包括:

S131:选取多个人体关键点中特定部位关键点的坐标作为坐标原点,构建人体姿态坐标系。本申请实施例提供的技术方案中,因为游泳者运动过程中脖子关键点的变化幅度最小,所以重新建立的人体姿态坐标系中,能够以脖子关键点的坐标(x1,y1)为原点,构建水平向右方向为x轴,竖直向下方向为y轴的人体姿态坐标系。重建的人体姿态坐标系表示18个人体关键点的坐标图,如图10所示,图10中人体关键点及其对应标号与图9相同。

S132:使用人体姿态坐标系,更新除特定部位关键点外其他人体关键点的坐标,计算其他人体关键点与坐标原点的距离。

S133:使用三次多项式拟合法拟合其他人体关键点与坐标原点的距离,得到多个人体关键点的关键点编号以及游泳状态关键点距离函数。

本发明实施例中,18个人体关键点的坐标变换公式如下:

P

利用除脖子关键点外的17个人体关键点与原点的距离,描述游泳者的动作,关键点与原点的距离计算公式如下:

(剔除脖子关键点1)

17个关键点与坐标原点的距离向量:d=[d

另外,在比较游泳状态关键点距离函数与溺水状态关键点距离函数的溺水偏离程度之前,还需要建立溺水状态关键点距离函数。溺水状态关键点距离函数的建立方式与游泳状态关键点距离函数类似,都是通过获取多个人体关键点的坐标,以特定部位关键点的坐标作为坐标原点,重建人体姿态坐标系,更新人体关键点的坐标,然后通过三次多项式拟合法拟合得到溺水状态关键点距离函数。

具体地,作为一种优选的实施例,如图4所示,本发明实施例提供的防溺水预警方法,在上述步骤S140:计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度之前,还包括:

S210:使用姿态估计网络模型对溺水数据集进行人体姿态估计,得到溺水者的多个人体关键点的坐标。溺水数据集包含大量的人体溺水图像,包括一定比例的训练集、测试集和验证集,通过对溺水数据集进行人体姿态估计,能够得到溺水状态下的人体姿态,进而得到该溺水状态下的多个人体关键点的坐标。

S220:以多个人体关键点中特定部位关键点的坐标为坐标原点,重建人体姿态坐标系。本申请实施例中,因为溺水者溺水过程中脖子关键点的变化幅度最小,所以重新建立的人体姿态坐标系中,能够以脖子关键点的坐标(x1,y1)为原点,构建水平向右方向为x轴,竖直向下方向为y轴的人体姿态坐标系。

S230:使用人体姿态坐标系,更新除特定部位关键点外其他人体关键点的坐标。

S240:计算其他人体关键点的坐标与坐标原点的距离,使用其他人体关键点与坐标原点的距离拟合得到溺水状态关键点距离函数。

其中,为了表征游泳者溺水过程中的肢体动作变化过程,利用三次多项式拟合方法连续拟合出20帧溺水图片中关键点编号与关键点到原点的距离的函数关系,f

f

本发明实施例提供的技术方案,拟合得到的溺水状态关键点距离函数集合F={f

另外,作为一种优选的实施例,如图5所示,上述防溺水预警方法中,步骤S210:使用姿态估计网络模型对溺水数据集进行人体姿态估计,得到溺水者的多个人体关键点的坐标的步骤包括:

S211:将溺水数据集中每一帧溺水图像依次输入至姿态估计网络模型的主干网络,得到与溺水图像对应的溺水特征图;

S212:将溺水特征图输入至姿态估计网络模型的两分支多阶段卷积神经网络,分别得到关键点位置置信度图和人体关键点亲和力域;

S213:分别求解关键点位置置信度图和人体关键点亲和力域的损失函数;

S214:对关键点位置置信度图和人体关键点亲和力域进行最大值匹配,得到溺水者的多个人体关键点;

S215:构建溺水者的多个人体关键点的坐标。

具体地,结合图8所示的OpenPose姿态估计模型可知,关于溺水者的人体关键点的坐标的获取,溺水状态关键点距离函数集合的构造过程如下:

利用训练好的OpenPose姿态估计模型对泳池溺水数据集进行人体姿态估计。输入的游泳者的溺水图像经过OpenPose姿态估计模型的主干网络VGG19的前10层进行卷积得到对应的特征图F,特征图F进入两分支多阶段卷积神经网络进行卷积(Convolution,C),如图8所示,该两分支多阶段卷积神经网络包括多个阶段Stage 1至Stage t,t≥2,每个阶段均包括上分支Branch1和下分支Branch2,上分支Branch1和下分支Branch2均包含推理网络,例如第1阶段Stage 1的上分支Branch1的推理网络ρ

通过OpenPose模型获取图像中溺水游泳者的18个关键点坐标,如图9所示,构造关键点坐标集合。人体18个关键点的坐标以图像左上角为原点,水平向右方向为x轴,竖直向下为y轴。

另外,作为一种优选的实施例,如图6所示,本发明实施例提供的防溺水预警方法中,上述步骤S240:计算其他人体关键点的坐标与坐标原点的距离,使用其他人体关键点与坐标原点的距离拟合得到溺水状态关键点距离函数的步骤,具体包括:

S241:使用其他人体关键点与坐标原点的距离,计算得到其他人体关键点与坐标原的距离向量。

如上所述,人体关键点与坐标原点的距离计算公式如下:

(剔除坐标原点对应的人体关键点1)

17个关键点与原点的距离向量d=[d

S242:使用三次多项式拟合法拟合连续预定帧溺水图像中的距离向量,得到溺水者的关键点距离函数集合,作为溺水状态关键点距离函数。

为了表征游泳者溺水过程中的肢体动作变化过程,利用三次多项式拟合方法连续拟合出20帧溺水图片中关键点编号与关键点到原点的距离的函数关系,f

f

溺水状态关键点距离函数集合F={f

另外,作为一种优选的实施例,如图7所示,上述防溺水预警方法中,S150:判断游泳视频数据中连续多帧游泳图像的溺水偏离程度是否均小于或等于预定溺水判定阈值,具体包括:

S151:针对连续多帧游泳图像,按时间顺序依次计算每一帧游泳图像中游泳状态关键点距离函数与溺水状态关键点距离函数的相对偏离程度;

S152:判断每一帧游泳图像的相对偏离程度是否小于或等于预定溺水判定阈值;

S153:若每一帧游泳图像的相对偏离程度小于或等于预定溺水判定阈值,则确定游泳者溺水;

若存在相对偏离程度大于预定溺水判定阈值,则重新执行计算每一帧游泳图像的相对偏离程度;重新执行判断相对偏离程度是否小于或等于预定溺水判定阈值的步骤,直至游泳结束或确定游泳者溺水。

本发明实施例提供的技术方案,按照时间顺序依次计算每一帧游泳图像中游泳状态关键点距离函数与上述你是状态关键点距离函数的相对偏差程度,然后判断每一帧的相对偏差程度是否小于或等于预定溺水判定阈值,本申请实施例中将该预定溺水判定阈值设置为0.25,若相对偏差程度小于或等于0.25,则确定游泳者溺水,此时执行发送溺水预警信号的步骤,从而精确确定游泳者是否溺水,减少溺水错检和漏检的问题。

另外,基于上述方法实施例的同一构思,本发明实施例还提供基于人体姿态估计的防溺水预警系统,用于实现本发明的上述方法,由于该系统实施例解决问题的原理与方法相似,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。

参见图11,图11为本发明实施例提供的一种基于人体姿态估计的防溺水预警系统的结构示意图。如图11所示,该防溺水预警系统,包括:

视频获取模块110,用于获取水下摄像头实时采集的游泳者的游泳视频数据;

模型估计模块120,用于将游泳视频数据输入至姿态估计网络模型进行人体姿态估计,得到游泳者的多个人体关键点的坐标;

函数拟合模块130,用于根据多个人体关键点的坐标重建人体姿态坐标系,使用人体姿态坐标系拟合得到游泳者的游泳状态关键点距离函数;

偏离计算模块140,用于计算游泳状态关键点距离函数与预建立的溺水状态关键点距离函数的溺水偏离程度;

溺水判断模块150,用于判断游泳视频数据中连续多帧游泳图像的溺水偏离程度是否小于或等于预定溺水判定阈值;

报警发送模块160,用于当溺水判断模块判定连续多帧游泳图像的溺水偏离程度小于或等于预定溺水判定阈值时,确定游泳者溺水,发送溺水预警信号。

作为一种优选的实施例,如图12所示,本申请实施例提供的防溺水预警系统中,上述函数拟合模块130包括:

坐标选取子模块131,用于选取多个人体关键点中特定部位关键点的坐标作为坐标原点,构建人体姿态坐标系;

坐标更新子模块132,用于使用人体姿态坐标系,更新除特定部位关键点外其他人体关键点的坐标;

坐标计算子模块133,用于计算其他人体关键点与坐标原点的距离;

距离拟合子模块134,用于使用三次多项式拟合法拟合其他人体关键点与坐标原点的距离,得到多个人体关键点的关键点编号以及游泳状态关键点距离函数。

综上,本发明相对于现有技术,具备如下优点:

相比于其它目标检测模型获取游泳者的类别与边框,人体姿态估计模型OpenPose,能够获取游泳者的多个人体关键点坐标,能够更准确地描述游泳者游泳过程中的肢体动作变化。

利用三次多项式拟合方法拟合出关键点编号与关键点到原点的距离的函数关系,溺水状态关键点距离函数描述了溺水者多帧图像(例如20帧图像)的动作变化过程,利用游泳状态关键点距离函数与上述溺水状态关键点距离函数的相对偏离程度比较游泳者的肢体动作与溺水状态的肢体动作,其数学模型可靠,能够很大程度上减少人为设置溺水判定规则的主观性。

另外,相比于其它利用OpenPose人体姿态估计模型对游泳者图像进行姿态标记后再送入目标检测模型(如YoLov4)进行分类与边框预测的溺水判断技术,本发明上述实施例提供的技术方案,只需要利用一个深度学习模型OpenPose对人体姿态进行标记后,再用函数拟合方法进行溺水判断,减少了深度学习模型推理时间,实时性更好。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术分类

06120115938084