兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统转让专利

申请号 : CN202310580387.1

文献号 : CN116311542B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 区英杰梁红波董万里谭焯康

申请人 : 广州英码信息科技有限公司

摘要 :

本发明公开了兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统,所述方法包含以下顺序的步骤:对于采集的图像,先通过行人检测模型获取行人包络框坐标信息、行人摔倒类别信息和对应的行人关键点二维坐标信息;检测结果保存入库;摔倒告警判断:对于每个保存到网格中的行人包络框,如果得到的行人摔倒类别信息为摔倒,则在拥挤场景或非拥挤场景下,判断是否进行摔倒告警。本发明可以兼容拥挤和非拥挤场景,将多个独立的模型集成到一个小模型中来可以降低多人场景下的计算量,并且无需额外标注关键点这类标注成本较高的对象;模型无需额外的计算资源消耗,即可有效提升对小目标,密度高的目标等检测效果。

权利要求 :

1.兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,包含以下顺序的步骤:S1、采集图像数据;

S2、目标检测:对于采集的图像数据,先通过行人检测模型获取行人包络框坐标信息、行人摔倒类别信息和对应的行人关键点二维坐标信息;

S3、检测结果保存入库:将单帧图片信息划分为若干个网格,每个网格用于存放预设时间段内的行人包络框信息:针对每个行人包络框,计算行人包络框中心点和所有网格中心点之间的欧式距离,并将行人包络框信息存储在距离最近的网格中,完成检测结果保存入库;所述行人包络框信息包括时间戳,以及步骤S2得到的行人摔倒类别信息、行人包络框坐标信息、行人关键点二维坐标信息;

S4、摔倒告警判断:对于每个保存到网格中的行人包络框,如果得到的行人摔倒类别信息为摔倒,判断是否进行摔倒告警;

取当前网格附近的N2个网格在前帧所有保存的行人包络框信息,如果有两个或两个以上的行人包络框的时间戳相同,即判定为拥挤场景,否则为非拥挤场景;

(1)对于拥挤场景,累加所有时间间隔在前T1帧内,空间间隔在当前网格附近的N1个网格范围内,且和当前行人包络框的交并比与骨架相似度大于阈值的摔倒次数,如果摔倒次数大于设定值,则告警;其中N1<N2;

(2)对于非拥挤场景,通过sort跟踪算法进行反向跟踪,得到T3帧连续的行人包络框序列;将T3帧连续的行人包络框序列的前K1帧信息输入到时序姿态分类模型中,若判断为摔倒且摔倒次数大于设定值,则告警;其中T3≤T1;

S5、采集下一帧图像,并计算下一帧图像的裁剪区域ROI,重复步骤S2至步骤S4,直至完成所有图像的摔倒检测与告警;

所述行人检测模型 使用yolov5,添加用于检测输出人体关键点的检测头,检测目标有两个类别:正常和摔倒;行人检测模型输出每个行人的行人摔倒类别信息 、行人包络框置信度 、行人包络框坐标信息 和对应的人体关键点的行人关键点二维坐标信息 ;训练数据采用公共摔倒数据 和公共关键点检测数据,其中 为室外单帧摔倒数据, 为室内视频摔倒数据集;公共摔倒

数据 和公共关键点检测数据 拥有不同的标签,训练时,公共

摔倒数据 和公共关键点检测数据 以一定比例混合一起训练,

对于公共摔倒数据 ,只反向传播行人摔倒类别信息、 行人包络框置信度和行人包络框坐标信息的训练损失;对于公共关键点检测数据 ,只反向传播 行人包络框置信度、行人包络框坐标信息和行人关键点二维坐标信息的损失;最终的行人检测模型 如下:;

其中 为测试的输入的单帧图片, 表示图片宽为w,高为h的3通

道RGB图像, 中下标D表示该类别信息为行人检测模型 的输出。

2.根据权利要求1所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,所述时序姿态分类模型 使用时序卷积网络,输入若干帧帧时序姿态信息,输出表示正常或摔倒的类别信息,训练数据使用行人检测模型 对室内视频摔倒数据集 进行检测,将得到的关键点信息和数据集自带的类别信息组成新的标签,对时序姿态分类模型进行训练;为了使时序姿态分类模型具有实时性,输入的9帧时序姿态信息对应的类别标签为最后一帧的类别;最终的时序姿态分类模型 定义如下:;

其中 表示行人检测模型 输出的第 帧的关键点信息,T表示当前帧,

为时序姿态分类模型输出的类别信息。

3.根据权利要求1所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,步骤S3中,在检测结果保存入库前,对检测结果为摔倒的行人摔倒类别信息,进行辅助判断:如果行人包络框的高度 和宽度 之比 大于阈值 ,则将行人摔倒类别信息由摔倒修改为正常,其中行人包络框坐标信息包括行人包络框的高度 和宽度;否则将行人关键点二维坐标信息输入单帧姿态分类模型 中,单帧姿态分类模型输出正常类别的置信度和摔倒类别的置信度,如果正常类别的置信度大于设定值K2且摔倒类别的置信度小于设定值K3,则将行人摔倒类别信息由摔倒修改为正常。

4.根据权利要求3所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,所述单帧姿态分类模型 使用时序卷积网络,输出摔倒类别信息有两类:正常、 摔倒;单帧姿态分类模型的训练数据使用目标检测器 对室内视频摔倒数据集 进行标注,将得到的关键点信息和数据集自带的摔倒类别信息组成新的标签,对单帧姿态分类模型进行训练;其中室内视频摔倒数据集 每张图片中只包含一个人,原数据集自带的图片级的摔倒类别信息即为图片中检测到的行人包络框的类别信息;最终的单帧姿态分类模型定义如下:;

其中 为单帧姿态分类模型输出的行人摔倒类别信息。

5.根据权利要求1所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,步骤S3中,在检测结果保存入库前,对检测结果为摔倒的行人摔倒类别信息,进行先验修正:在当前网格附近的 个网格内,前 帧内,判断所有摔倒行人和当前行人包络框的交并比IOU与骨架相似度OKS是否大于设定值K4,若大于,则将摔倒行人的信息从原先的网格中移除并保存到当前网格中,并累加类别 为摔倒的包络框数量 ,所述摔倒行人的信息包括时间戳、行人摔倒类别信息、行人包络框坐标信息、行人关键点二维坐标信息;最后将时间戳 、修改后的行人摔倒类别信息 、行人包络框坐标信息 、行人关键点二维坐标信息 保存到网格中;

其中 、OKS分别为:

式中, 表示其他摔倒行人的第 个关键点与当前行人的第 个关键点之间的欧式距离; 表示第 个关键点的归一化因子,是常数,反应了该关键点标注的困难程度;所述个网格以当前网格为中心,网格采样范围为正方形; 、 分别为行人包络框的高度、宽度;h为单帧图片的高度,每隔s个像素划分为一个网格。

6.根据权利要求1所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,步骤S4中,所述 的计算公式为:;

其中,h为单帧图片的高度,每隔s个像素划分为一个网格。

7.根据权利要求1所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,所述计算下一帧图像的裁剪区域ROI,具体为:将每个检测到的行人包络框放大1倍,计算当前图像中所有行人包络框的最小外接框即为下一帧图像的裁剪区域,其中第一帧由于没有前一帧的信息,将裁剪区域ROI设置为原图像大小。

8.根据权利要求7所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法,其特征在于,每隔15帧将所述裁剪区域ROI设置为原图像大小。

9.兼容拥挤场景和非拥挤场景的人体摔倒检测系统,其特征在于,用于实现权利要求1至8任一权利要求所述人体摔倒检测方法;包括数据模块、检测模块、入库模块、告警模块和区域裁剪模块;其中数据模块用于采集数据图像,并传输至检测模块;检测模块对采集的图像数据中的单帧图片,先通过行人检测模型获取行人包络框坐标信息、行人摔倒类别信息和对应的行人关键点二维坐标信息;入库模块将检测结果保存入库;告警模块对每个保存到网格中的行人包络框,如果得到的行人摔倒类别信息为摔倒,判断是否进行摔倒告警;区域裁剪模块将每个检测到的行人包络框放大1倍,计算当前图像中所有行人包络框的最小外接框即为下一帧图像的裁剪区域,其中第一帧由于没有前一帧的信息,将裁剪区域ROI设置为原图像大小。

10.一种服务器,其特征在于:所述服务器包括处理器和存储器,所述存储器中存储有至少一段程序,所述程序由所述处理器加载并执行以实现权利要求1至8任一权利要求所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法。

11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述程序由处理器加载并执行以实现权利要求1至8任一权利要求所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法。

说明书 :

兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统

技术领域

[0001] 本发明涉及人体摔倒检测领域,特别涉及兼容拥挤场景和非拥挤场景的人体摔倒检测方法及系统。

背景技术

[0002] 在非拥挤场景下由于老人行动不便或拥挤场景下行人相互拥挤碰撞等原因,容易出现摔倒等现象,影响行人安全,造成不必要的安全事故,往往需要工作人员长时间的巡查和监督来防范,但效率不高而且人力资源消耗大。随着人工智能的发展,自动化的检测设备应运而生,也让行人摔倒状态的自动化检测成为可能。
[0003] 行人摔倒检测作为城市安防管理中的一个典型问题。随着人工智能的发展,智能化的监控设备广泛应用于行人摔倒检测中。目前的智能化的摔倒检测技术,主要通过监控摄像机对行人进行图像抓取,然后在边缘设备或中心服务器中利用计算机视觉技术进行检测和分析,从而得到行人摔倒状态。而目前行人摔倒状态判别算法或者只适用于单人非拥挤场景,或者需要较高的计算资源处理多人场景下的检测,或者对于多人拥挤场景下的小目标检测效果不好,均无法解决多人拥挤场景下的实时鲁棒检测。
[0004] 例如,公开号为CN113378809A、专利名称为“一种基于单目三维人体姿态的摔倒检测方法及系统”的技术方案(以下简称“现有技术一”),通过目标检测模块检测出人体及沙发、床等适合躺的物品在场景图像中的矩形框,将人体图像输入三维人体姿态估计模块获得数字化人体模型的参数,包括人体在相机坐标系下的姿态、各关节相对于其父关节的姿态以及各关节在人体坐标系下的三维坐标。利用人体模型参数通过决策模块判定人员是否摔倒。现有技术一存在的缺点为:(1)人体参数化模型计算量大,对于多人场景下,两阶段的姿态估计比较耗时;(2)检测物体对象主要为床,沙发等室内物体,不适用于室外场景下。
[0005] 公开号为CN112861686A、专利名称为“一种基于SVM的图像目标检测方法”的技术方案(以下简称“现有技术二”),通过深度学习模型YOLOv3结合deepsort算法进行人体运动目标检测和跟踪;对检测到的人体运动目标进行特征提取;把提取到的特征送入支持向量机SVM进行分类判断人体是否摔倒。现有技术二存在的缺点为:(1)对于多人拥挤场景下,由于遮挡,人群密度高等,会漏掉很多行人框,跟踪困难;(2)没有利用时序信息判断,容易误报。
[0006] 公开号为CN111507185A、专利名称为“一种基于堆叠空洞卷积网络的摔倒检测方法”的技术方案(以下简称“现有技术三”),通过对训练集的每个人物个体制作关节点热图,并且根据训练集人工定义的摔倒行为的骨骼点分布;用训练好的堆叠空洞卷积网络检测连续几帧采集到的图像,得到骨骼点的分布结果;将连续几帧的骨骼点分布与人工定义的摔倒行为骨骼点分布进行相似度计算,若小于阈值,则判定为摔倒行为。现有技术三存在的缺点为:(1)针对采集的摔倒数据集需要人为标注关键点,标注成本高;(2)需要较强的先验条件,即每张图片只有一个行人,且视频中所有行人均为同一个人。因此只针对单人场景,不能应用于多人场景,甚至多人拥挤场景。
[0007] 公开号为CN112906535A、专利名称为“一种基于神经网络的适用于多尺度多目标的摔倒检测方法”的技术方案(以下简称“现有技术四”),对公开的摔倒检测数据集进行补充,制作摔倒检测融合数据集;对YOLOv4网络进行改造,搭建针对人体特性的YOLOv4摔倒检测网络;使用K‑means算法针对摔倒检测融合数据集更新锚框值;采用标签平滑对网络标签进行改造。现有技术四存在的缺点为:(1)摔倒判断模式单一,只依靠单一检测器单帧的结果不够鲁棒;(2)没有利用时序信息判断,容易误报。
[0008] 上述方案的缺点总结如下:
[0009] (1)现有技术通用性不强,无法兼容非拥挤场景与拥挤场景;
[0010] (2)现有技术模型不够轻量化,多人场景下,多阶段的检测模型计算量比较大;
[0011] (3)现有技术标注成本比较高,需要额外标注一些标注成本较高的对象,如关键点等;
[0012] (4)对远处小目标,拥挤场景下密度高的摔倒对象检测效果不够好。

发明内容

[0013] 本发明的目的在于克服现有技术的缺点与不足,提供兼容拥挤场景和非拥挤场景的人体摔倒检测方法,该方法可以兼容拥挤和非拥挤场景,将多个独立的模型集成到一个小模型中来可以降低多人场景下的计算量,并且无需额外标注关键点这类标注成本较高的对象;模型无需额外的计算资源消耗,即可有效提升对小目标,密度高的目标等检测效果。
[0014] 本发明的另一目的在于提供兼容拥挤场景和非拥挤场景的人体摔倒检测系统。
[0015] 本发明的目的通过以下的技术方案实现:
[0016] 兼容拥挤场景和非拥挤场景的人体摔倒检测方法,包含以下顺序的步骤:
[0017] S1、采集图像数据;
[0018] S2、目标检测:对于采集的图像数据,先通过行人检测模型获取行人包络框坐标信息、行人摔倒类别信息和对应的行人关键点二维坐标信息;
[0019] S3、检测结果保存入库:将单帧图片信息划分为若干个网格,每个网格用于存放预设时间段内的行人包络框信息:针对每个行人包络框,计算行人包络框中心点和所有网格中心点之间的欧式距离,并将行人包络框信息存储在距离最近的网格中,完成检测结果保存入库;所述行人包络框信息包括时间戳,以及步骤S2得到的行人摔倒类别信息、行人包络框坐标信息、行人关键点二维坐标信息;
[0020] S4、摔倒告警判断:对于每个保存到网格中的行人包络框,如果得到的行人摔倒类别信息为摔倒,判断是否进行摔倒告警;
[0021] 取当前网格附近的N2个网格在前帧所有保存的行人包络框信息,如果有两个或两个以上的行人包络框的时间戳相同,即判定为拥挤场景,否则为非拥挤场景;
[0022] (1)对于拥挤场景,累加所有时间间隔在前T1帧内,空间间隔在当前网格附近的N1个网格范围内,且和当前行人包络框的交并比与骨架相似度大于阈值的摔倒次数,如果摔倒次数大于设定值,则告警;其中N1<N2;
[0023] (2)对于非拥挤场景,通过sort跟踪算法进行反向跟踪,得到T3帧连续的行人包络框序列;将T3帧连续的行人包络框序列的前K1帧信息输入到时序姿态分类模型中,若判断为摔倒且摔倒次数大于设定值,则告警;其中T3≤T1;
[0024] S5、采集下一帧图像,并计算下一帧图像的裁剪区域ROI,重复步骤S2至步骤S4,直至完成所有图像的摔倒检测与告警。
[0025] 所述行人检测模型 使用yolov5,添加用于检测输出人体关键点的检测头,检测目标有两个类别:正常和摔倒;行人检测模型输出每个行人的行人摔倒类别信息 、行人包络框置信度 、行人包络框坐标信息 和对应的人体关键点的行人关键点二维坐标信息 ;训练数据采用公共摔倒数据 和公共关键点检测数据 ,其中 为室外单帧摔倒数据, 为室内视频摔倒数据集;公共摔
倒数据 和公共关键点检测数据 拥有不同的标签,训练时,公
共摔倒数据 和公共关键点检测数据 以一定比例混合一起训
练,对于公共摔倒数据 ,只反向传播行人摔倒类别信息、 行人包络框置
信度和行人包络框坐标信息的训练损失;对于公共关键点检测数据 ,只反向传播 行人包络框置信度、行人包络框坐标信息和行人关键点二维坐标信息的损失;最终的行人检测模型 如下:
[0026] ;
[0027] 其中 为测试的输入的单帧图片, 表示图片宽为w,高为h的3通道RGB图像, 中下标D表示该类别信息为行人检测模型 的输出。
[0028] 所述时序姿态分类模型 使用时序卷积网络,输入若干帧帧时序姿态信息,输出两个类别信息(正常, 摔倒),训练数据使用行人检测模型 对室内视频摔倒数据集进行检测,将得到的关键点信息和数据集自带的类别信息组成新的标签,对时序姿态分类模型进行训练。为了使时序姿态分类模型具有实时性,输入的9帧时序姿态信息对应的类别标签为最后一帧的类别。最终的时序姿态分类模型 定义如下:
[0029] ;
[0030] 其中 表示行人检测模型 输出的第 帧的关键点信息,T表示当前帧, 为时序姿态分类模型输出的类别信息。
[0031] 步骤S3中,在检测结果保存入库前,对检测结果为摔倒的行人摔倒类别信息,进行辅助判断:如果行人包络框的高度 和宽度 之比 大于阈值 ,则将行人摔倒类别信息由摔倒修改为正常,其中行人包络框坐标信息包括行人包络框的高度和宽度 ;否则将行人关键点二维坐标信息输入单帧姿态分类模型 中,单帧姿态分类模型输出正常类别的置信度和摔倒类别的置信度,如果正常类别的置信度大于设定值K2且摔倒类别的置信度小于设定值K3,则将行人摔倒类别信息由摔倒修改为正常。
[0032] 所述单帧姿态分类模型 使用时序卷积网络,输出摔倒类别信息有两类:正常、 摔倒;单帧姿态分类模型的训练数据使用目标检测器 对室内视频摔倒数据集 进行标注,将得到的关键点信息和数据集自带的摔倒类别信息组成新的标签,对单帧姿态分类模型进行训练;其中室内视频摔倒数据集 每张图片中只包含一个人,原数据集自带的图片级的摔倒类别信息即为图片中检测到的行人包络框的类别信息;最终的单帧姿态分类模型 定义如下:
[0033]   ;
[0034] 其中 为单帧姿态分类模型输出的行人摔倒类别信息。
[0035] 步骤S3中,在检测结果保存入库前,对检测结果为摔倒的行人摔倒类别信息,进行先验修正:
[0036] 在当前网格附近的 个网格内,前 帧内,判断所有摔倒行人和当前行人包络框的交并比IOU与骨架相似度OKS是否大于设定值K4,若大于,则将摔倒行人的信息从原先的网格中移除并保存到当前网格中,并累加类别 为摔倒的包络框数量 ,所述摔倒行人的信息包括时间戳、行人摔倒类别信息、行人包络框坐标信息、行人关键点二维坐标信息;最后将时间戳 、修改后的行人摔倒类别信息 、行人包络框坐标信息 、行人关键点二维坐标信息 保存到网格中;
[0037] 其中 、OKS分别为:
[0038] ;
[0039] ;
[0040] 式中, 表示其他摔倒行人的第 个关键点与当前行人的第 个关键点之间的欧式距离; 表示第 个关键点的归一化因子,是常数,反应了该关键点标注的困难程度;所述 个网格以当前网格为中心,网格采样范围为正方形。
[0041] 步骤S4中,所述 的计算公式为:
[0042] ;
[0043] 其中,h为单帧图片的高度,每隔s个像素划分为一个网格。
[0044] 所述计算下一帧图像的裁剪区域ROI,具体为:将每个检测到的行人包络框放大1倍,计算当前图像中所有行人包络框的最小外接框即为下一帧图像的裁剪区域,其中第一帧由于没有前一帧的信息,将裁剪区域ROI设置为原图像大小。
[0045] 每隔15帧将所述裁剪区域ROI设置为原图像大小。
[0046] 本发明的另一目的通过以下的技术方案实现:
[0047] 兼容拥挤场景和非拥挤场景的人体摔倒检测系统,包括数据模块、检测模块、入库模块、告警模块和区域裁剪模块;其中数据模块用于采集数据图像,并传输至检测模块;检测模块对采集的图像数据中的单帧图片,先通过行人检测模型获取行人包络框坐标信息、行人摔倒类别信息和对应的行人关键点二维坐标信息;入库模块将检测结果保存入库;告警模块对每个保存到网格中的行人包络框,如果得到的行人摔倒类别信息为摔倒,判断是否进行摔倒告警;区域裁剪模块将每个检测到的行人包络框放大1倍,计算当前图像中所有行人包络框的最小外接框即为下一帧图像的裁剪区域,其中第一帧由于没有前一帧的信息,将裁剪区域ROI设置为原图像大小。
[0048] 同时,本发明提供:
[0049] 一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一段程序,所述程序由所述处理器加载并执行以实现上述兼容拥挤场景和非拥挤场景的人体摔倒检测方法。
[0050] 一种计算机可读存储介质,所述存储介质中存储有至少一段程序,所述程序由处理器加载并执行以实现上述兼容拥挤场景和非拥挤场景的人体摔倒检测方法。
[0051] 本发明与现有技术相比,具有如下优点和有益效果:
[0052] 1、本发明算法对标注要求和计算资源较低。与现有技术需要额外对关键点等信息标注,需要两阶段姿态检测等方法相比,本发明整合现有不同标注的公共数据集联合训练,降低标注成本。同时整合目标检测器和姿态检测器为一个模型(即行人检测模型),降低了计算资源消耗。
[0053] 2、本发明场景适应性强,兼容多人拥挤场景和非拥挤场景。与现有技术对行人进行实时跟踪,采用单一模式进行摔倒判断等相比,本发明基于摔倒的先验,使用网格对包络框进行保存入库,得到对于摔倒任务更加鲁棒的跟踪结果。同时在告警判断阶段,将场景分为拥挤场景和非拥挤场景,并采用不同模式进行判断,使得算法更加鲁棒。
[0054] 3、本发明对远处摔倒行人(小目标)、密度较高的行人检测效果好。与现有技术优化模型结构,增大模型输入相比,本发明利用前一帧信息缩小下一帧检测范围,提升对小目标、高密度目标等检测精度的同时,没有消耗额外的计算资源。

附图说明

[0055] 图1为本发明所述兼容拥挤场景和非拥挤场景的人体摔倒检测方法的流程图;
[0056] 图2为基于网格的入库保存流程示意图;
[0057] 图3为摔倒先验修正流程示意图;
[0058] 图4为网格采样示意图;
[0059] 图5为摔倒告警判断流程示意图;
[0060] 图6为裁剪区域ROI示意图。实施方式
[0061] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0062] 如图1,兼容拥挤场景和非拥挤场景的人体摔倒检测方法,涉及三个深度学习模型:行人检测模型、单帧姿态分类模型和时序姿态分类模型。行人检测模型主要在检测模块用于获取行人框、初始的摔倒类别信息和行人对应的姿态信息,单帧姿态分类模型和时序姿态分类模型则分别在入库模块和告警模块中用于进一步对摔倒类别信息进行判断,提升算法鲁棒性。具体技术方案实施过程如下:
[0063] 1. 准备训练数据
[0064] 训练数据集包含两类数据:摔倒检测公共数据集和二维姿态检测公共数据集。 其中摔倒检测公共数据集包含两类,一类是室外单帧摔倒数据  ,包含标签为:摔倒行人的包络框信息,一类是室内视频摔倒数据集 ,包含标签为图像级别(每张图片只有一人)的摔倒类别信息(摔倒/ 正常),姿态检测数据集 包含标签为:行人包络框和关键点坐标信息。本发明对数据集 使用行人检测模型添加缺失的行人(类别为正常)包络框坐标信息;对视频数据集 降采样,并使用行人检测模型添加包络框坐标信息;最后对数据集 和 中添加的包络框信息进行人为的调整。最终采用的数据集 即为:
[0065] 。
[0066] 2. 定义行人检测模型
[0067] 行人检测模型 使用 yolov5,添加检测输出 15 个关键点的检测头,检测目标有两个类别:正常和摔倒,行人检测模型输出每个行人的类别   , 包络框置信度,包络框坐标 和对应的 15 个关键点的二维坐标信息 。训练数据采用公共摔倒数据 和公共关键点检测数据 。两个数据拥有不同的标签,训练时,两个数据集以一定比例混合一起训练,对于摔倒数据集,只反向传播类别, 包络框置信度和包络框坐标的训练损失;对于关键点数据集只反向传播包络框置信度,包络框坐标和关键点坐标的损失。最终的行人检测模型定义如下:
[0068] ;
[0069] 其中 为测试的输入的单帧图片, 表示图片宽为w,高为h的3通道RGB 图像。为了与其他分类器输出的行人摔倒类别信息区分,  的下标D表示该类别信息为行人检测模型 的输出。
[0070] 3. 定义单帧姿态分类模型
[0071] 单帧姿态分类模型 使用时序卷积网络(TCN),该时序卷积网络由时间维度上的一维卷积模块堆叠组成,通过不同的设计,可以输入单帧姿态信息或时序姿态信息。单帧姿态分类模型输出摔倒类别信息(正常, 摔倒),训练数据使用行人检测模型 对室内视频摔倒数据集 进行标注,将得到的关键点信息和数据集自带的摔倒类别信息组成新的标签,对单帧姿态识别模型进行训练。其中摔倒数据集 每张图片中只包含一个人,原数据集自带的图片级的摔倒类别信息即为图片中检测到的行人包络框的类别信息。最终的单帧姿态分类模型 定义如下:
[0072] ;
[0073] 其中, 为单帧姿态分类模型输出的行人摔倒类别信息。
[0074] 4. 定义时序姿态分类模型
[0075] 时序姿态分类模型 使用时序卷积网络(TCN),输入9帧时序姿态信息,输出两个类别信息(正常, 摔倒),训练数据使用行人检测模型 对室内视频摔倒数据集进行检测,将得到的关键点信息和数据集自带的类别信息组成新的标签,对时序姿态分类模型进行训练。为了使时序姿态分类模型具有实时性,输入的 9 帧时序姿态信息对应的类别标签为最后一帧的类别。最终的时序姿态分类模型 定义如下:
[0076] ;
[0077] 其中, 表示行人检测模型 输出的第t帧的关键点信息,T表示当前帧, 为时序姿态分类模型输出的类别信息。
[0078] 5. 基于网格的保存入库
[0079] 对于拥挤场景,由于行人密度高于检测器的锚框密度,以及拥挤引起的遮挡等因素,导致检测器漏检很多包络框,一些包络框会断断续续被检测出甚至丢失一段时间,在后续对序列进行时序判断时,时序中帧间间隔的不均匀会降低时序姿态分类模型的准确性。同时由于行人密度较高以及检测包络框的波动,相邻行人的包络框的 IOU 值差距较小,匹配难度较大。
[0080] 考虑到摔倒检测任务中,非摔倒状态时的轨迹信息其重要性远不如摔倒后的轨迹信息,本发明选择只对摔倒前后的轨迹进行跟踪。另一方面,基于摔倒后存在这样的一个先验:摔倒后的行人包络框位移和姿态变化差异相对较小,本发明取消了传统跟踪方法中的卡尔曼滤波器,具体来说,由于摔倒后行人包络框只在小范围内波动,取消了卡尔曼滤波器中的通过运动方程对状态进行预测的过程。最后本发明采取基于网格来对包络框保存入库,以方便后续的时序判断。
[0081] 如图2所示,具体方法为行人检测模型 输入单帧图片 ,输出每个行人的类别信息,包络框和关键点信息,将原始图片 划分成  个网格,其中 表示每隔 个像素划分为一个网格。每个网格相当于一个小数据库,其中心点的坐标即为该网格的坐标,用于存放最近一段时间内的包络框信息。针对每个包络框, 计算包络框中心点和所有网格中心点之间的欧式距离,得到距离最近的网格,并将其信息(时间戳 ,类别信息, 包络框坐标, 关键点信息)存储在该网格中。
[0082] 入库前,如果行人检测模型 输出的类别信息为摔倒,为了防止误报,需要利用包络框信息和关键点信息进行辅助判断。首先如果包络框的高度 和宽度 之比大于一个阈值 ,则修改检测类别为正常;其次如果高宽比 低于阈值,将关键点信息输入单帧姿态分类模型 中,单帧姿态分类模型输出两类(正常和摔倒)的置信度,如果正常类别的置信度大于 0.9 且摔倒类别的置信度小于0.2,修改检测类别信息为正常。
[0083] 一般情况下,发生摔倒后,行人框的位置变化较小,但仍然不能不保证行人框完全没有位移,因此需要对这个先验进行修正。如图3所示,具体做法是,每次保存入库时,如果检测类别为摔倒,那么在当前网格的最近 个网格(如图4所示)内,前  = 30 帧内,判断所有摔倒行人和当前行人包络框的交并比(IOU)与骨架相似度(OKS)是否大于阈值,如果大于阈值,则将摔倒行人的信息从原先的网格中移除并保存到当前网格中,并累加类别为摔倒的包络框数量 ,所述摔倒行人的信息包括时间戳、行人摔倒类别信息、行人包络框坐标信息、行人关键点二维坐标信息;这么做一是为了防止行人框波动范围较大,网格之间的距离超过了摔倒累加区域,无法被累加,二是为了防止行人密度较高时,受到相邻行人的干扰。最后将时间戳  ,修改后的类别信息 , 包络框坐标  , 关键点信息保存到网格中。
[0084] 其中 ,OKS 分别为:
[0085] ;
[0086] ;
[0087]  式中, 表示其他摔倒行人的第 个关键点与当前行人的第 个关键点之间的欧式距离, 表示第  个关键点的归一化因子,是常数,反应了该关键点标注的困难程度。所述 个网格以当前网格为中心,网格采样范围为正方形。
[0088] 6. 摔倒告警判断
[0089] 对于每个保存到网格中的包络框,如果包络框的类别 为摔倒,需要判断是否需要进行摔倒告警。本发明将需要告警的场景分为拥挤场景和非拥挤场景,非拥挤场景表示在最近一段时间内当前包络框的局部区域附近没有其他行人,反之则为拥挤场景。具体判断方法为取最近 个网格(如图 4 所示)在前 = 90 帧所有保存的包络框信息,如果有两个或两个以上的包络框的时间戳相同,即为拥挤场景,否则为非拥挤场景。
[0090] 如图5所示,两种不同场景判断是否告警的方法如下:
[0091] (1)对于拥挤场景下,由于行人密度高、遮挡等,包络框容易发生漏检,导[0092] 致时序的帧间间隔大且不均匀,如果直接通过时序姿态分类模型进行分类,[0093] 将大大降低分类结果的准确度。因此本发明累加所有时间间隔在前T1帧内,空间间隔在当前网格附近的N1个网格范围内,且和当前行人包络框的交并比与骨架相似度大于阈值的摔倒次数,如果 大于阈值 ,则告警。由于摔倒后包络框的位移和骨架相似度变化较小,本发明取消了传统跟踪器采取的先预测后匹配的方式,直接在一个局部区域内(最近的  个网格),通过采用对摔倒后更鲁棒的特征(包络框和骨架),分别设置相应的阈值,对指定时间(前   帧)内的满足阈值的摔倒次数进行累加进行时序判断。 取30。
[0094] (2)对于非拥挤场景下,通过 sort 跟踪算法进行反向跟踪(即以当前正要保存入库的包络框为第一帧,第
[0095] 帧的包络框为最后一帧,向前反向跟踪,找到所有与当前包络框匹配到的包络框),得到 帧连续的包络框序列,如果  ≥ 9,将前 9 帧序列信息输入到时序姿态分类模型,若判断为摔倒并且 大于阈值 ,则告警。如果  < 9,则不告警。
[0096] 由于不同尺寸的包络框其活动范围也不相同。尺寸越大,即 和 越大,相同一段时间内,在其他因素(如行人移动速度等)一致时,其活动范围越大,包络框所在中心点对应的网格数也越多,采样时,  和 应该赋予更大的值,以扩大采样范围。不同尺寸的包络框,其对应的 具体为:
[0097] ;
[0098] 其中  和  满足 大于 ,以保证非拥挤场景下,所取 个网格中没有任何两个包络框拥有相同的时间戳。所述 个网格以当前网格为中心,网格采样范围为正方形。
[0099] 7. 计算下一帧图像的裁剪区域 ROI
[0100] 当行人目标比较密集或者目标比较小时,行人检测模型 容易漏检或者输出错误的类别信息,需要一种有效的方法缩小检测范围或者增大检测器输入尺寸。为了提高检测精度的同时,不增添额外的计算量,本发明选择利用前一帧的检测信息,缩小后一帧的检测范围。具体方法为将每个检测到的行人包络框放大 1 倍,计算当前图像中所有包络框的最小外接框即为下一帧图像的裁剪区域(如图6所示),其中第一帧由于没有前一帧的信息,将 ROI 区域设置为原图像大小。为了防止有其他行人进入相机视野,每隔 15 帧将 ROI 区域设置为原图像大小。
[0101] 本发明的关键点有:
[0102] 1.无需额外标注,使用公共数据集训练出检测器,同时输出包络框信息, 摔倒分类信息和关键点信息,无需额外的两阶段姿态检测器。标注方面利用整合现有的不同标注的公共数据集进行训练,降低了标注成本。模型方面整合目标检测和姿态检测器为一个模型,降低了计算资源,特别是多人拥挤场景下,检测对象多,两阶段的姿态检测器需要消耗大量的计算资源。
[0103] 2.基于网格对包络框保存入库,加入摔倒先验,实现对摔倒更鲁棒的跟踪。对于多人拥挤场景下,由于检测对象密度大,拥挤引起的遮挡等因素,检测器容易漏检,造成时序间的时间间隔不均匀,不利于后续的时序分析。在跟踪中加入摔倒的先验,取消了传统跟踪的额外计算。通过计算关键点相似度,区分拥挤场景和非拥挤场景,以及对先验的修正等技术,实现对摔倒更鲁棒的跟踪
[0104] 3.摔倒告警判断。本发明对于每个需要告警的检测对象,将场景分为拥挤场景和非拥挤场景,并针对不同场景采用不同的方法进行告警判断。使得在时序分析时,能够对时间间隔不均匀的时序得到更加鲁棒的分类结果。
[0105] 4.检测时利用前一帧的检测信息缩小下一帧的检测范围。对于多人拥挤场景下,存在距离较远的小目标无法检测到,行人密度较高的区域容易漏检以及被遮挡的行人容易误判断等困难,因此本发明将特定的检测区域裁剪出来有助于缩小检测范围,提升算法在拥挤场景下的鲁棒性。相比于传统的优化模型结构,增大模型输入尺寸等方法,裁剪检测区域无需消耗额外的计算资源,效果更鲁棒。
[0106] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。