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

基于轻量级人体姿态估计模型的防溺水预警方法和系统

文献发布时间:2024-04-18 20:01:23


基于轻量级人体姿态估计模型的防溺水预警方法和系统

技术领域

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

背景技术

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

其中,可穿戴式防溺水设备是指,利用游泳者佩戴的手环或泳帽等设备,实时检测人体的心率和血氧等指标,若出现异常则及时发出警报。上述方法虽然能够及时对泳池溺水预警,但是可穿戴式防溺水设备影响了游泳体验,并且容易受环境干扰,需要经常维护。

为解决可穿戴式防溺水设备的缺陷,现有技术还提供了基于计算机视觉的泳池防溺水技术,基于计算机视觉的泳池防溺水技术是当前的研究热点。该基于计算机视觉的泳池防溺水技术利用计算机视觉检测游泳者图像,并利用深度学习模型对游泳者图像进行目标检测,以识别溺水行为。

然而,目前大部分的深度学习模型体量太大,参数过多,难以部署到嵌入式设备进行实时推理,并且准确率较低。

发明内容

本发明提供一种基于轻量级人体姿态估计模型的防溺水预警方案,旨在解决现有技术中大部分的深度学习模型体量太大,参数过多,难以部署到嵌入式设备进行实时推理,并且准确率较低的问题。

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

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

截取游泳视频数据得到多帧游泳图像,将多帧游泳图像依次输入至轻量级人体姿态估计模型进行人体关键点标记,得到多个人体关键点的坐标;

根据多个人体关键点的坐标之间关系,计算得到人体关键点的关键点特征向量,其中,关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量;

判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值;

若判定关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值,则确定游泳者溺水,发送溺水预警信号。

优选的,上述防溺水预警方法中,将多帧游泳图像依次输入至轻量级人体姿态估计模型进行人体关键点标记,得到多个人体关键点的坐标的步骤包括:

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

按照预定数量比例,将训练集、验证集和测试集分别输入至轻量级人体姿态估计模型进行训练、验证和测试,得到测试通过的轻量级人体姿态估计模型;

将游泳图像输入至轻量级人体姿态估计模型的MobileNet模型中进行卷积,得到包含多个人体关键点的游泳特征图;

将游泳特征图输入至轻量级人体姿态估计模型的单分支卷积神经网络进行卷积;

使用单分支卷积神经网络预测多个人体关键点中每个人体关键点的位置置信度图和亲和力域;

对每个人体关键点的位置置信度图和亲和力域分别进行匹配,得到多个人体关键点的坐标。

优选的,上述防溺水预警方法中,根据多个人体关键点的坐标之间关系,计算得到人体关键点的关键点特征向量的步骤包括:

从多个人体关键点中选取第一参考关键点;

根据多个人体关键点中、其他人体关键点的坐标与第一参考关键点的坐标,分别计算所有其他人体关键点与第一参考关键点之间的距离,得到关键点距离向量;

从多个人体关键点中选取多个第二参考关键点;

根据多个第二参考关键点的坐标,计算多个第二参考关键点的夹角,得到关键点夹角向量;

以及,根据多个人体关键点的坐标,从多帧游泳图像中提取前后两帧游泳图像的关键点距离差;

根据前后两帧游泳图像的关键点距离差以及前后两帧游泳图像的间隔时间,计算得到关键点距离变化速度向量;

使用关键点距离向量、关键点夹角向量、关键点距离变化速度向量,构造关键点特征向量。

优选的,上述防溺水预警方法中,判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤包括:

根据余弦相似度计算公式:

判断关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否均大于或等于各自的预设相似度阈值;

若判定关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值,则确定游泳者溺水。

优选的,上述防溺水预警方法,在判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤之前,还包括:

选取多种溺水状态数据集,其中,多种溺水状态数据集中的每种溺水状态数据集包含有连续多帧溺水图像;

将每种溺水状态数据集包含的连续多帧溺水图像输入至轻量级人体姿态估计模型中,得到每种溺水状态对应的人体关键点坐标;

根据每种溺水状态对应的人体关键点坐标,分别计算得到每种溺水状态对应的人体关键点的关键点特征向量,其中,关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量;

使用每种溺水状态对应的人体关键点的关键点特征向量,构造得到多种溺水状态判定集合。

优选的,上述防溺水预警方法,在判断关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤之后,方法还包括:

若关键点距离向量、关键点夹角向量和关键点距离变化速度向量中任一向量的溺水相似度小于预设相似度阈值,则重新计算多帧游泳图像中人体关键点的关键点距离向量、关键点夹角向量和关键点距离变化速度向量;

重新执行判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤,直至确定游泳者溺水或游泳者停止游泳。

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

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

游泳数据截取模块,用于截取游泳视频数据得到多帧游泳图像;

关键点标记模块,用于将多帧游泳图像依次输入至轻量级人体姿态估计模型进行人体关键点标记,得到多个人体关键点的坐标;

特征向量计算模块,用于根据多个人体关键点的坐标之间关系,计算得到人体关键点的关键点特征向量,其中,关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量;

相似度判断模块,用于判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值;

预警信号发送模块,用于若相似度判断模块判定关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值时,确定游泳者溺水,发送溺水预警信号。

优选的,上述防溺水预警系统中,关键点标记模块包括:

数据集划分子模块,用于按照预定数量比例划分轻量级人体姿态估计模型的训练集、验证集和测试集;

网络训练测试子模块,用于按照预定数量比例,将训练集、验证集和测试集分别输入至轻量级人体姿态估计模型进行训练、验证和测试,得到测试通过的轻量级人体姿态估计模型;

模型卷积子模块,用于将游泳图像输入至轻量级人体姿态估计模型的MobileNet模型中进行卷积,得到包含多个人体关键点的游泳特征图;

神经网络卷积子模块,用于将游泳特征图输入至轻量级人体姿态估计模型的单分支卷积神经网络进行卷积;

关键点预测子模块,用于使用单分支卷积神经网络预测多个人体关键点中每个人体关键点的位置置信度图和亲和力域;

关键点匹配子模块,用于对每个人体关键点的位置置信度图和亲和力域分别进行匹配,得到多个人体关键点的坐标。

优选的,上述防溺水预警系统中,特征向量计算模块包括:

第一关键点选取子模块,用于从多个人体关键点中选取第一参考关键点;

关键点距离计算子模块,用于根据多个人体关键点中、其他人体关键点的坐标与第一参考关键点的坐标,分别计算所有其他人体关键点与第一参考关键点之间的距离,得到关键点距离向量;

第二关键点选取子模块,用于从多个人体关键点中选取多个第二参考关键点;

关键点夹角计算子模块,用于根据多个第二参考关键点的坐标,计算多个第二参考关键点的夹角,得到关键点夹角向量;

关键点距离差提取子模块,用于根据多个人体关键点的坐标,从多帧游泳图像中提取前后两帧游泳图像的关键点距离差;

距离变化速度向量计算子模块,用于根据前后两帧游泳图像的关键点距离差以及前后两帧游泳图像的间隔时间,计算得到关键点距离变化速度向量;

关键点特征向量构造子模块,用于使用关键点距离向量、关键点夹角向量、关键点距离变化速度向量,构造关键点特征向量。

优选的,上述防溺水预警系统中,相似度判断模块包括:

溺水相似度计算子模块,用于根据余弦相似度计算公式:

溺水相似度判断子模块,用于判断关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否均大于或等于各自的预设相似度阈值。

综上,本发明提供的基于轻量级人体姿态估计模型的防溺水预警方案,通过获取水下摄像头实时拍摄的游泳者的游泳视频数据,截取该游泳视频数据得到多帧游泳图像,然后将该多帧游泳图像依次输入至轻量级人体姿态估计模型中进行人体关键点标记,能够得到多个人体关键点的坐标。本发明技术方案使用轻量级人体姿态估计模型进行溺水检测,该模型体积小、速度快且同时能够满足精度要求;另外利用该轻量级人体姿态估计模型标记得到多个人体关键点,该人体关键点与游泳状态具有强相关性,能够准确检测溺水行为。使用该多个人体关键点的坐标之间关系计算得到人体关键点的关键点特征向量,该关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量,能够准确检测游泳者的游泳动作,作为溺水判定标准;然后判断所述多帧游泳图像中所述关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值,能够准确检测不同游泳人群的溺水行为。在判定上述各关键点特征向量的溺水相似度大于或等于各自的预设相似度阈值时,能够确定游泳者溺水,从而发出溺水预警信号,使用简单的深度学习模型就能够提高溺水判定的准确性。

附图说明

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

图1是本发明实施例提供的一种基于轻量级人体姿态估计模型的防溺水预警系统的架构示意图;

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

图3是图2所示实施例提供的一种使用轻量级人体姿态估计模型进行人体关键点标记方法的流程示意图;

图4是图2所示实施例提供的一种人体关键点的关键点特征向量的计算方法的流程示意图;

图5是图2所示实施例提供的一种溺水相似度的判断方法的流程示意图;

图6是本发明实施例提供的一种多种溺水状态判定集合的关键点特征向量的生成方法的流程示意图;

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

图8是本发明实施例提供的一种使用轻量级人体姿态估计模型提取的人体关键点的结构示意图;

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

图10是图9所示实施例提供的一种游泳数据截取模块的结构示意图;

图11是图9所示实施例提供的一种特征向量计算模块的结构示意图;

图12是图9所示实施例提供的一种相似度判断模块的结构示意图。

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

具体实施方式

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

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

现有技术提供的基于计算机视觉的泳池防溺水技术,该基于计算机视觉的泳池防溺水技术能够利用计算机视觉检测游泳者图像,并且利用深度学习模型对游泳者图像进行目标检测,从而识别溺水行为。然而,目前大部分的深度学习模型体量太大,参数过多,难以部署到嵌入式设备进行实时推理,并且准确率较低。

为了解决上述问题,本发明下述实施例提供了基于轻量级人体姿态估计模型的防溺水预警方案,通过使用轻量级人体姿态估计模型,对游泳者的游泳视频数据进行人体关键点标记,得到多个人体关键点的坐标,然后根据坐标之间关系计算得到人体关键点的关键点特征向量,包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量,从而描述游泳者游泳时的肢体动作。上述轻量级人体自己估计模型体积小,参数少并且准确度不差,能够提高溺水检测的实时性和准确性,另外再选取多种溺水状态判定集合,任一溺水状态判定集合均具有溺水状态对应的关键点距离向量、关键点夹角向量和关键点距离变化速度向量,这样判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量分别与上述任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度算法大于或等于各自的预设相似度阈值,就能够准确地确定出游泳者是否溺水,达到准确及时的溺水监测和预警的目的。

为实现上述目的,参见图1,图1是本发明实施例提供的一种基于轻量级人体姿态估计模型的防溺水预警系统的架构图。如图1所示,该防溺水预警系统的架构包括:终端层、边缘层(边缘计算节点)和云端层;该防溺水预警系统的架构利用云边协同技术,在边缘层部署了Lightweight OpenPose轻量级人体姿态估计模型,能够确保实时进行泳池溺水的检测。具体如图1所示,该防溺水预警系统的架构包括:

终端层300:通过水下摄像头获取游泳者的游泳视频数据。

边缘层(边缘计算节点)200:对游泳者视频进行预处理,利用训练好的轻量级人体姿态估计模型Lightweight OpenPose对游泳者进行溺水检测。

云端层100:用于管理边缘计算节点200,训练Lightweight OpenPose轻量级人体姿态估计模型,更新模型参数,存储游泳者视频数据。

该防溺水预警系统的架构,利用轻量级人体姿态估计模型Lightweight OpenPose对游泳图像进行人体关键点标记。通常的人体姿态估计模型OpenPose是应用广泛的姿态估计模型,但是其模型体量太大,参数过多,对硬件要求高,实时性有待提高。本发明实施例应用的Lightweight OpenPose模型是基于OpenPose模型的轻量化改进,相比于2阶的OpenPose模型,其参数量只有15%,但是精度只下降1%,适用于对实时性要求高的目标检测场景。

本发明实施例提供的轻量级人体姿态估计模型Lightweight OpenPose对OpenPose模型的主要改进在于:

1)用带空洞卷积的MobileNet结构替代OpenPose模型的VGG结构。

2)将OpenPose模型的两个分支(预测人体关键点位置置信度图(Part confidencemaps,PCM)的上分支和预测人体关键点的亲和力域(Part Affinity Fields,PAF)的下分支)合并为一个分支。

3)使用3*3的卷积核替代OpenPose模型的7*7卷积核。

4)Lightweight OpenPose模型只有一个细化阶段,OpenPose模型有5个阶段。

在云端层100,本发明使用COCO2017数据集的前五万个样本,按照训练集:验证集:测试集=8:1:1的比例对Lightweight OpenPose姿态估计模型进行训练,将训练好的Lightweight OpenPose模型部署到边缘计算节点对游泳者的游泳数据进行实时推理预测。

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

S110:获取水下摄像头实时拍摄的游泳者的游泳视频数据。结合图1所示架构可知,本发明实施例使用终端设备(例如水下摄像头)实时获取游泳者的游泳视频数据,然后通过局域网传输到边缘计算节点,在边缘计算节点的嵌入式设备处进行游泳视频数据的街区和训练,标记人体关键点。

S120:截取游泳视频数据得到多帧游泳图像,将多帧游泳图像依次输入至轻量级人体姿态估计模型进行人体关键点标记,得到多个人体关键点的坐标。

本发明使用轻量级人体姿态估计模型进行人体关键点的标记,传统的人体姿态估计模型OpenPose虽然应用广泛,但是其模型体量太大,参数过多,对硬件要求高,实时性有待提高。轻量级人体姿态估计模型Lightweight OpenPose是基于OpenPose模型的轻量化改进,相比于传统的2阶OpenPose模型,其参数量只有15%,但是精度只下降1%,适用于对实时性要求高的目标检测场景。在截取游泳视频数据得到多帧游泳图像后,将上述多帧游泳图像分别输入至该轻量级人体姿态估计模型中进行标记,在每帧游泳图像中分别标记,得到多个人体关键点的坐标。这些人体关键点包括:鼻子、脖子、右肩、右肘、右手腕、左肩、左肘、左手腕、右臀、右膝盖、右脚踝、左臀、左膝盖、左脚踝、右眼、左眼、右耳和左耳等人体关键点。通过将上述人体关键点进行标记,能够得到不同人体关键点的坐标,确定人体在游泳状态下的肢体动作,进而进行溺水状态的判定。

具体地,作为一种优选的实施例,如图3所示,上述步骤S120:将多帧游泳图像依次输入至轻量级人体姿态估计模型进行人体关键点标记,得到多个人体关键点的坐标的步骤包括:

S121:按照预定数量比例划分轻量级人体姿态估计模型的训练集、验证集和测试集。

S122:按照预定数量比例,将训练集、验证集和测试集分别输入至轻量级人体姿态估计模型进行训练、验证和测试,得到测试通过的轻量级人体姿态估计模型。

其中,在云端层能够用COCO2017数据集的前五万个样本按照训练集:验证集:测试集=8:1:1的比例,对上述轻量级人体姿态估计模型Lightweight OpenPose进行训练,将训练好的Lightweight OpenPose模型部署到边缘计算节点,在边缘计算节点对游泳者的游泳图像进行实时推理预测,以得到上述多个人体关键点的坐标。

S123:将游泳图像输入至轻量级人体姿态估计模型的MobileNet模型中进行卷积,得到包含多个人体关键点的游泳特征图。因为轻量级人体姿态估计模型使用带有空洞卷积的MobileNet结构代替OpenPose模型的VGG结构,这样该轻量级人体姿态估计模型能够用更少的卷积得到同样多的人体关键点的游泳特征图,在游泳特征图中对人体关键点进行标记。

S124:将游泳特征图输入至轻量级人体姿态估计模型的单分支卷积神经网络进行卷积。

S125:使用单分支卷积神经网络预测多个人体关键点中每个人体关键点的位置置信度图和亲和力域。轻量级人体姿态估计模型将传统的OpenPose模型的两分支合并为一个分支,传统的OpenPose模型,其上分支用于预测人体关键点位置置信度图,下分支用于预测人体关键点的亲和力域,这样轻量级人体姿态估计模型的单分支卷积神经网络能够结合上述两分支的优点,并且使用更少的参数和结构,分别预测得到上述多个人体关键点中每个人体关键点的位置置信度图和亲和力域。

S126:对每个人体关键点的位置置信度图和亲和力域进行匹配,得到多个人体关键点的坐标。本发明实施例提供的轻量级人体姿态估计模型能够使用3*3的卷积核替代OpenPose模型的7*7卷积核,从而使用更少的卷积核进行运算,对上述位置置信度图和亲和力域进行匹配,从而得到上述多个人体关键点的坐标。其中,轻量级人体姿态估计模型提取的多个人体关键点,如图8所示,在该图中包括18个人体关键点,分别为:0-鼻子、1-脖子、2-右肩、3-右肘、4-右手腕、5-左肩、6-左肘、7-左手腕、8-右臀、9-右膝盖、10-右脚踝、11-左臀、12-左膝盖、13-左脚踝、14-右眼、15-左眼、16-右耳和17-左耳。

本发明实施例提供的技术方案中,通过对轻量级人体姿态估计模型进行训练、验证和测试,从而得到测试通过的轻量级人体姿态估计模型,使用该轻量级人体姿态估计模型对游泳图像进行卷积,得到多个人体关键点的游泳特征图,从而确定游泳者游泳时的肢体动作特征。再使用单分支卷积神经网络模型进行卷积得到位置置信度图和亲和力域,然后对位置置信度图和亲和力域进行匹配,能够得到多个人体关键点的坐标,从而以模型较小的结构,较少的参数和较高的精度,达到提取游泳状态下多个人体关键点坐标的目的。

图2所示实施例提供的防溺水预警方法,在得到多个人体关键点的坐标后,还包括以下步骤:

S130:根据多个人体关键点的坐标之间关系,计算得到人体关键点的关键点特征向量,其中,关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量。

利用训练好的轻量级人体姿态估计模型LightweightOpenPose对游泳者进行人体姿态估计,得到的18个关键点坐标如图8所示,构造关键点坐标集合如下:P={(x

具体地,作为一种优选的实施例,如图4所示,上述防溺水预警方法中,步骤S130:根据多个人体关键点的坐标之间关系,计算得到人体关键点的关键点特征向量的步骤包括:

S131:从多个人体关键点中选取第一参考关键点。其中,结合人体特征可知,游泳者游泳时脖子处的运动幅度较小,因此能够以脖子关键点为第一参考关键点,利用其他17个关键点与脖子关键点的距离描述游泳者的动作。

S132:根据多个人体关键点中、其他人体关键点的坐标与第一参考关键点的坐标,分别计算所有其他人体关键点与第一参考关键点之间的距离,得到关键点距离向量。具体的,以脖子关键点为第一参考关键点,利用上述其他17个人体关键点与脖子关键点的距离描述游泳者的动作,其他人体关键点与脖子参考点的距离计算公式如下:

(剔除了脖子关键的编号1)

通过上述距离计算公式就能够得到其他17个关键点与脖子关键点的距离向量d=[d

S133:从多个人体关键点中选取多个第二参考关键点。在选取的多个人体关键点中有很多关键点是可以弯曲的,例如左肩、左肘、左臀、左膝盖、右肩、右肘、右臀和右膝盖,这些能够弯曲的关键点选作第二参考关键点,从而使用这些第二参考关键点的夹角,构造关键点夹角向量。

S134:根据多个第二参考关键点的坐标,计算多个第二参考关键点的夹角,得到关键点夹角向量。

具体地,计算左肩、左肘、左臀、左膝盖、右肩、右肘、右臀、右膝盖处的关键点夹角,构造关键点夹角向量θ=[θ

通过上述关键点夹角向量计算公式,能够得到所有第二参考关键的夹角向量,从而为溺水判定提供数据参考。

S135:根据多个人体关键点的坐标,从多帧游泳图像中提取前后两帧游泳图像的关键点距离差。

S136:根据前后两帧游泳图像的关键点距离差以及前后两帧游泳图像的间隔时间,计算得到关键点距离变化速度向量。

本发明实施例提供的技术方案中,游泳者的游泳速度变化是溺水判定的重要依据,因此从上述多帧游泳图像中提取前后两帧游泳图像的关键点距离差,再根据前后两帧游泳图像的间隔时间,就能够计算得到前后两帧游泳图像的关键点距离变化速度。具体地,关键点距离变化速度向量的计算公式如下:

其中,Δs为前后两帧图像中的关键点距离差,t为前后两帧图像的间隔时间。构造关键点距离变化速度向量v=[v

S137:使用关键点距离向量、关键点夹角向量、关键点距离变化速度向量,构造关键点特征向量。

同一张游泳图像均包含上述关键点距离向量、关键点夹角向量、关键点距离变化速度向量,这样将上述向量打包构成同一集合,就能够得到关键点特征向量的集合f

图2所示实施例提供的防溺水预警方法,在计算得到人体关键点的关键点特征向量后,还包括以下步骤:

S140:判断多帧游泳图像分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值;

溺水相似度,即上述每帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量与溺水状态判定集合中关键点距离向量、关键点夹角向量和关键点距离变化速度向量之间的相似度,该相似度越高,说明游泳者的溺水概率越大,当溺水相似度大于或等于各自的预设相似度阈值时,即可断定游泳者处于溺水状态。

具体地,作为一种优选的实施例,如图5所示,该判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤包括:

S141:根据余弦相似度计算公式,

S142:判断关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否均大于或等于各自的预设相似度阈值。

S143:若判定关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值,则确定游泳者溺水。

本发明实施例提供的技术方案,使用余弦相似度作为溺水相似度,该余弦相似度描述的是两个向量在方向上的相似度,与向量自身长度无关,因此,使用余弦相似度能够准确地确定不同人群的溺水行为。当关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值(例如每个向量的相似度取0.6)时,即可确定游泳者溺水,此时发送溺水报警信号,实施救援。

另外在计算上述溺水相似度之前还需要选取多种溺水状态,组成溺水状态判定集合,使用上述轻量级人体姿态估计模型估计每种溺水状态对应的关键点距离向量、关键点夹角向量和关键点距离变化速度向量。

具体地,作为一种优选的实施例,如图6所示,在上述判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤之前,本方法还包括:

S210:选取多种溺水状态数据集,其中,多种溺水状态数据集中的每种溺水状态数据集包含有连续多帧溺水图像。本发明实施例选取13种溺水状态,每种溺水状态数据集均包含20帧溺水图像,方便从该20帧溺水图像中提取溺水状态对应的人体关键点坐标,再通过该人体关键点坐标分析与溺水状态相关的关键点特征向量。

S220:将每种溺水状态数据集包含的连续多帧溺水图像输入至轻量级人体姿态估计模型中,得到每种溺水状态对应的人体关键点坐标。轻量级人体姿态估计模型能够对上述多帧溺水图像进行关键点提取和坐标标记,从而得到上述13种溺水状态中每种溺水状态对应的所有人体关键点的坐标。

S230:根据每种溺水状态对应的人体关键点坐标,分别计算得到每种溺水状态对应的人体关键点的关键点特征向量,其中,关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量。

其中,每种溺水状态对应的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的计算公式,与上述游泳图像对应的人体关键点的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的计算公式相同,在此不再赘述。

S240:使用每种溺水状态对应的人体关键点的关键点特征向量,构造得到多种溺水状态判定集合。

关于关键点距离向量的计算:具体地,因为游泳者运动过程中脖子关键点的变化幅度小,所以针对每种溺水状态,以脖子关键点作为参考点,利用其它17个关键点与脖子参考点的距离来描述游泳者的动作,其它关键点与脖子参考点的距离计算公式如下:

(剔除关键点1)

其它17个关键点与脖子参考点的距离向量d=[d

关于关键点夹角向量的计算:具体地,计算左肩、左肘、左臀、左膝盖、右肩、右肘、右臀和右膝盖处的关键点夹角,构造关键点夹角向量θ=[θ

关于关键点距离变化速度向量的计算:

游泳者的游泳速度变化也是溺水判定的重要依据,因此计算溺水游泳者前后两帧图像的关键点距离变化速度,关键点距离变化速度向量的计算公式如下:

其中,Δs为前后两帧溺水图像的关键点距离差,t为两帧溺水图像的间隔时间。构造关键点距离变化速度向量v=[v

为了描述游泳者溺水过程中的动作变化过程,连续计算出13种溺水状态连续20帧图像(对视频数据每隔10帧截取一张图像)的关键点距离向量、关键点夹角向量和前后两帧关键点距离变化速度向量,构造13个溺水判定集合

F

图2所示实施例提供的防溺水预警方法,在判断溺水相似度算法大于或等于各自的预设相似度阈值后,还包括以下步骤:

S150:若判定关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值,则确定游泳者溺水,发送溺水预警信号。

另外,若关键点距离向量、关键点夹角向量和关键点距离变化速度向量中任一向量的溺水相似度小于预设相似度阈值,则重新计算多帧游泳图像中人体关键点的关键点距离向量、关键点夹角向量和关键点距离变化速度向量。重新执行判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值的步骤,直至确定游泳者溺水或游泳者停止游泳。

综上,本发明实施例提供的基于轻量级人体姿态估计模型的防溺水预警方法,通过获取水下摄像头实时拍摄的游泳者的游泳视频数据,截取该游泳视频数据得到多帧游泳图像,然后将该多帧游泳图像依次输入至轻量级人体姿态估计模型中进行人体关键点标记,能够得到多个人体关键点的坐标。本发明技术方案使用轻量级人体姿态估计模型进行溺水检测,该模型体积小,速度快,同时能够满足精度要求;另外利用该轻量级人体姿态估计模型标记得到多个人体关键点,该人体关键点与游泳状态具有强相关性,能够准确检测溺水行为。使用该多个人体关键点的坐标之间关系计算得到人体关键点的关键点特征向量,该关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量,能够准确检测游泳者的游泳动作,作为溺水判定标准;然后判断所述多帧游泳图像中所述关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值,能够准确检测不同游泳人群的溺水行为。在判定上述各关键点特征向量的溺水相似度大于或等于各自的预设相似度阈值时,能够确定游泳者溺水,从而发出溺水预警信号,使用简单的深度学习模型就能够提高溺水判定的准确性。

另外,参见图7,图7为本发明实施例提供的第二种基于轻量级人体姿态估计模型的防溺水预警方法的流程示意图。结合图1所示的防溺水预警系统的架构图可知,该防溺水预警方法包括:

S310:终端层(水下摄像头)收集游泳者的游泳数据。

S320:边缘计算节点预处理数据,用训练好的Lightweight OpenPose模型对截取的游泳者视频帧进行人体关键点标记,获取18个关键点坐标。

S330:计算游泳者的关键点距离、关键点夹角和关键点距离变化速度。

S340:对截取的游泳者图像与13种溺水状态的图像进行关键点距离向量、关键点夹角向量和关键点距离变化速度向量逐帧比较。

S350:判断是否,连续20帧图像的余弦相似度≥0.6;若是,则执行步骤S360;若否,则返回执行步骤S310。

S360:判定为溺水,实施救援。

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

参见图9,图9为本发明提供的一种基于轻量级人体姿态估计模型的防溺水预警系统的结构示意图。如图9所示,该防溺水预警系统包括:

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

游泳数据截取模块120,用于截取游泳视频数据得到多帧游泳图像;

关键点标记模块130,用于将多帧游泳图像依次输入至轻量级人体姿态估计模型进行人体关键点标记,得到多个人体关键点的坐标;

特征向量计算模块140,用于根据多个人体关键点的坐标之间关系,计算得到人体关键点的关键点特征向量,其中,关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量;

相似度判断模块150,用于判断多帧游泳图像中关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值;

预警信号发送模块160,用于若相似度判断模块判定关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度均大于或等于各自的预设相似度阈值时,确定游泳者溺水,发送溺水预警信号。

综上,本发明实施例提供的基于轻量级人体姿态估计模型的防溺水预警系统,通过游泳数据获取模块110获取水下摄像头实时拍摄的游泳者的游泳视频数据,游泳数据截取模块120截取该游泳视频数据得到多帧游泳图像,关键点标记模块130将该多帧游泳图像依次输入至轻量级人体姿态估计模型中进行人体关键点标记,能够得到多个人体关键点的坐标。本发明技术方案使用轻量级人体姿态估计模型进行溺水检测,该模型体积小,速度快,同时能够满足精度要求;另外利用该轻量级人体姿态估计模型标记得到多个人体关键点,该人体关键点与游泳状态具有强相关性,能够准确检测溺水行为。特征向量计算模块140使用该多个人体关键点的坐标之间关系计算得到人体关键点的关键点特征向量,该关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量,能够准确检测游泳者的游泳动作,作为溺水判定标准;相似度判断模块150判断所述多帧游泳图像中所述关键点距离向量、关键点夹角向量和关键点距离变化速度向量、分别与多种溺水状态判定集合中任一溺水状态判定集合的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否大于或等于各自的预设相似度阈值,能够准确检测不同游泳人群的溺水行为。预警信号发送模块160在判定上述各关键点特征向量的溺水相似度大于或等于各自的预设相似度阈值时,能够确定游泳者溺水,从而发出溺水预警信号,使用简单的深度学习模型就能够提高溺水判定的准确性。

具体地,作为一种优选的实施例,如图10所示,上述防溺水预警系统中,关键点标记模块120包括:

数据集划分子模块121,用于按照预定数量比例划分轻量级人体姿态估计模型的训练集、验证集和测试集;

网络训练测试子模块122,用于按照预定数量比例,将训练集、验证集和测试集分别输入至轻量级人体姿态估计模型进行训练、验证和测试,得到测试通过的轻量级人体姿态估计模型;

模型卷积子模块123,用于将游泳图像输入至轻量级人体姿态估计模型的MobileNet模型中进行卷积,得到包含多个人体关键点的游泳特征图;

神经网络卷积子模块124,用于将游泳特征图输入至轻量级人体姿态估计模型的单分支卷积神经网络进行卷积;

关键点预测子模块125,用于使用单分支卷积神经网络预测多个人体关键点中每个人体关键点的位置置信度图和亲和力域;

关键点匹配子模块126,用于对每个人体关键点的位置置信度图和亲和力域分别进行匹配,得到多个人体关键点的坐标。

具体地,作为一种优选的实施例,如图11所示,上述防溺水预警系统中,特征向量计算模块140包括:

第一关键点选取子模块141,用于从多个人体关键点中选取第一参考关键点;

关键点距离计算子模块142,用于根据多个人体关键点中、其他人体关键点的坐标与第一参考关键点的坐标,分别计算所有其他人体关键点与第一参考关键点之间的距离,得到关键点距离向量;

第二关键点选取子模块143,用于从多个人体关键点中选取多个第二参考关键点;

关键点夹角计算子模块144,用于根据多个第二参考关键点的坐标,计算多个第二参考关键点的夹角,得到关键点夹角向量;

关键点距离差提取子模块145,用于根据多个人体关键点的坐标,从多帧游泳图像中提取前后两帧游泳图像的关键点距离差;

距离变化速度向量计算子模块146,用于根据前后两帧游泳图像的关键点距离差以及前后两帧游泳图像的间隔时间,计算得到关键点距离变化速度向量;

关键点特征向量构造子模块147,用于使用关键点距离向量、关键点夹角向量、关键点距离变化速度向量,构造关键点特征向量。

具体地,作为一种优选的实施例,如图12所示,上述防溺水预警系统中,相似度判断模块150包括:

溺水相似度计算子模块151,用于根据余弦相似度计算公式:

溺水相似度判断子模块152,用于判断关键点距离向量、关键点夹角向量和关键点距离变化速度向量的溺水相似度是否均大于或等于各自的预设相似度阈值。

另外,作为一种优选的实施例,上述防溺水预警系统中,相似度判断模块150还用于:选取多种溺水状态数据集,其中,所述多种溺水状态数据集中的每种溺水状态数据集包含有连续多帧溺水图像;将每种溺水状态数据集包含的连续多帧溺水图像输入至所述轻量级人体姿态估计模型中,得到每种溺水状态对应的人体关键点坐标;根据所述每种溺水状态对应的人体关键点坐标,分别计算得到所述每种溺水状态对应的人体关键点的关键点特征向量,其中,所述关键点特征向量包括关键点距离向量、关键点夹角向量和关键点距离变化速度向量;使用所述每种溺水状态对应的人体关键点的关键点特征向量,构造得到所述多种溺水状态判定集合。

综上,与现有技术相比,本发明上述实施例提供的基于轻量级人体姿态估计模型的防溺水预警方案,具有如下优点:

(1)相比于其它溺水检测模型,本发明实施例选用的轻量级人体姿态估计模型利用游泳者的头部、人体与水面的位置关系进行溺水判定,本发明利用游泳者的关键点距离、关键点夹角和关键点距离变化速度,能够更准确地检测出溺水行为。

(2)本发明上述实施例利用游泳者的多帧游泳图像和溺水图像,以及多种溺水状态,具体如20帧游泳图像与13种溺水状态中每种溺水状态对应的20帧溺水图像的关键点距离向量、关键点夹角向量和关键点距离变化速度向量的余弦相似度作为溺水判定标准,可以有效判定不同人群的溺水行为。

(3)相比于其它繁重的泳池溺水检测深度学习模型,本发明利用轻量级人体姿态估计模型Lightweight OpenPose模型进行溺水检测,该模型体积小,速度快,同时满足精度要求。另外,本发明利用云边协同技术部署Lightweight OpenPose模型,将繁重的深度学习模型训练过程放在云端,只在边缘层进行泳池溺水检测,进一步提高了溺水检测模型的实时性。

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

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

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

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

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

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

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

技术分类

06120116546074