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

基于巡逻机器人的摔倒行为检测方法、装置、介质及设备

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


基于巡逻机器人的摔倒行为检测方法、装置、介质及设备

技术领域

本发明涉及数据处理技术领域,尤其涉及基于巡逻机器人的摔倒行为检测方法、装置、介质及设备。

背景技术

老人由于身体机能衰退,在公园或者养老院行走的时候,如果不小心摔倒,很难自行站立起来。因此,公园、养老院等公共场所的管理方出于维护老人安全的考虑,均希望及时发现老人摔倒的行为,以便进行救治。

针对公园、养老院等公共场所及时发现老人摔倒行为的需求,现有技术主要采用以下三种方式进行摔倒行为检测。第一种是使用基于深度学习的人体目标检测以及关键点检测摔倒行为,此方式检测的人体状态过多,存在严重的漏检和误检。第二种是使用基于深度学习的行人重识别、人体关键点检测、动作捕获技术检测摔倒行为,存在部署复杂、成本高的缺点。第三种是采用基于深度学习、激光雷达的三维点云人体检测技术检测摔倒行为,此方式成像传感器的成本高昂,且会遗漏大量摔倒状态的人体。

发明内容

本发明实施例提供了一种基于巡逻机器人的摔倒行为检测方法、装置、介质及设备,以解决现有技术在检测摔倒行为时存在的漏检和误检、部署复杂以及检测成本高的问题。

一种基于巡逻机器人的摔倒行为检测方法,所述方法包括:

控制巡逻机器人在预设场所移动,并采集所述预设场所的图像信号;

对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息;

对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度;

按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人。

可选地,所述对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息包括:

对所述图像信息进行下采样,将下采样后的图像信息中的每个像素进行预处理,得到待检测图像;

将所述待检测图像输入至预设的深度学习目标检测网络中进行检测,获取疑似摔倒状态的人体及其目标框;

根据所述人体及其目标框从所述图像信息中截取对应的图像区域,作为疑似摔倒状态的人体信息。

可选地,所述对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度包括:

对所述疑似摔倒状态的人体信息进行预处理;

将预处理后的所述人体信息输入预设的关键点检测框架Alphapose进行关键点检测,获取人体关键点信息及其置信度。

可选地,所述关键点检测框架Alphapose的骨干网络采用Resnet18网络,在训练时采用PixelShuffle算子,在推理时采用反卷积算子;

其中,在训练阶段,所述人体关键点信息划分为第一类人体关键点信息和第二类人体关键点信息,所述第一类人体关键点信息通过标注得到,所述第二类人体关键点信息根据第一类人体关键点信息中的指定关键点的位置计算中值得到。

可选地,所述按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人包括:

从所述人体关键点信息及其置信度中获取目标关键点及其置信度,所述目标关键点包括头部关键点、右踝关键点、左踝关键点、两肩中间点、两髋中间点;

将所述目标关键点的置信度与预设置信度阈值进行比较;

若至少一个目标关键点的置信度大于或等于预设置信度阈值,则将头部关键点和两肩中间点的置信度分别与预设置信度阈值进行比较;

若头部关键点和两肩中间点中的任一个置信度大于或等于预设置信度阈值,比较两髋中间点的置信度和预设置信度阈值;

当两髋中间点的置信度大于等于预设置信度阈值时,根据两肩中间点、两髋中间点和头部关键点计算上半身余弦值,根据左踝关键点与预设置信度阈值的比较结果计算左腿余弦值,根据右踝关键点与预设置信度阈值的比较结果计算右腿余弦值,根据上半身余弦值、右腿余弦值、左腿余弦值进行筛选以获取摔倒行为人;

当两髋中间点的置信度小于预设置信度阈值时,根据两肩中间点、头部关键点、右踝关键点、左踝关键点计算全身右侧余弦值和全身左侧余弦值,根据全身左侧余弦值、全身右侧余弦值进行筛选以获取摔倒行为人。

可选地,所述根据两肩中间点、两髋中间点和头部关键点计算上半身余弦值,根据左踝关键点与预设置信度阈值的比较结果计算左腿余弦值,根据右踝关键点与预设置信度阈值的比较结果计算右腿余弦值,根据上半身余弦值、右腿余弦值、左腿余弦值进行筛选以获取摔倒行为人包括:

若两肩中间点的置信度大于或等于预设置信度阈值,则计算两髋中间点和两肩中间点连线与水平线夹角的余弦值作为上半身余弦值;

若两肩中间点的置信度小于预设置信度阈值,则检测头部关键点,当头部关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和头部关键点连线与水平线夹角的余弦值作为上半身余弦值,当头部关键点的置信度小于预设置信度,则获取指定值作为上半身余弦值;

当左踝关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和左踝关键点连线与水平线夹角的余弦值作为左腿余弦值,否则获取指定值作为左腿余弦值;

当右踝关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和右踝关键点连线与水平线夹角的余弦值作为右腿余弦值,否则获取指定值作为右腿余弦值;

将所述上半身余弦值和第一余弦值比较,将所述左腿余弦值和第二余弦值比较,将所述右腿余弦值和第二余弦值比较;和/或,将所述上半身余弦值和第一余弦值比较,将所述左腿余弦值和第三余弦值比较,将所述右腿余弦值和第三余弦值比较;

当所述上半身余弦值小于或等于第一余弦值、所述左腿余弦值大于或等于第二余弦值、所述右腿余弦值大于或等于第二余弦值,或者,当所述上半身余弦值小于或等于第一余弦值、所述左腿余弦值小于或等于第三余弦值、所述右腿余弦值小于或等于第三余弦值时,所述人体信息为非摔倒行为人,否则,所述人体信息为摔倒行为人。

可选地,所述根据两肩中间点、头部关键点、右踝关键点、左踝关键点计算全身右侧余弦值和全身左侧余弦值,根据全身左侧余弦值、全身右侧余弦值进行筛选以获取摔倒行为人包括:

若两肩中间点的置信度大于或等于预设置信度阈值,当左踝关键点的置信度大于预设置信度阈值时,计算两肩中间点和左踝关键点连线与水平线夹角的余弦值作为全身左侧余弦值,否则获取指定值作为全身左侧余弦值;当右踝关键点的置信度大于预设置信度阈值时,计算两肩中间点和右踝关键点连线与水平线夹角的余弦值作为全身右侧余弦值,否则获取指定值作为全身右侧余弦值;

若两肩中间点的置信度小于预设置信度阈值,则检测头部关键点,当头部关键点的置信度大于或等于预设置信度阈值时,若左踝关键点的置信度大于预设置信度阈值时,计算头部关键点和左踝关键点连线与水平线夹角的余弦值作为全身左侧余弦值,否则获取指定值作为全身左侧余弦值;当右踝关键点的置信度大于预设置信度阈值时,计算头部关键点和右踝关键点连线与水平线夹角的余弦值作为全身右侧余弦值,否则获取指定值作为全身右侧余弦值;

将所述全身右侧余弦值与第四余弦值比较,将所述全身左侧余弦值与第四余弦值比较;

当所述全身右侧余弦值小于第四余弦值、所述全身左侧余弦值小于第四余弦值时,所述人体信息为非摔倒行为人,否则,所述人体信息为摔倒行为人。

一种基于巡逻机器人的摔倒行为检测方法,所述装置包括:

采集模块,用于控制巡逻机器人在预设场所移动,并采集所述预设场所的图像信号;

摔倒检测模块,用于对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息;

关键点检测模块,用于对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度;

筛选过滤模块,用于按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人。。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于巡逻机器人的摔倒行为检测方法。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于巡逻机器人的摔倒行为检测方法。

本发明实施例通过控制巡逻机器人在预设场所移动,并采集所述预设场所的图像信号;对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息,只关注疑似摔倒状态的人体,然后结合关键点过滤掉误检的状态目标,对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度,按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选得到摔倒行为人,从而有效地降低误检和漏检,能够避开被遮挡的正常行走的人体,以及检测到摔倒但被遮挡的上半身人体,且设备成本低,部署简单。

附图说明

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

图1是本发明一实施例提供的基于巡逻机器人的摔倒行为检测方法的流程图;

图2是本发明一实施例提供的人体关键点的布局示意图;

图3是本发明一实施例提供的疑似摔倒状态的人体信息的关键点检测结果示意图;

图4是本发明一实施例提供的基于巡逻机器人的摔倒行为检测装置的结构示意图;

图5是本发明一实施例中计算机设备的一示意图。

具体实施方式

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

本发明实施例提供的基于巡逻机器人的摔倒行为检测方法,把摔倒行为检测分为两步。在第一步,只关注疑似摔倒状态的人体,而不检测所有状态的人体。在训练深度学习网络时,把人体摔倒状态看做目标进行训练,仅检测摔倒状态的人体信息,以降低误检和漏检。在第二步,基于疑似摔倒状态的人体信息,结合人体关键点进行逻辑过滤,以过滤掉第一步中误检的状态目标,从而有利于提高摔倒检测的准确性。试验表明,本实施例由于在训练的时候刻意标注了摔倒状态的人体,不但可以避开被遮挡的正常行走的人体,还能检测到被遮挡的摔倒状态的上半身人体。此外叠加逻辑判断过滤,有效地解决了现有技术在检测摔倒行为时存在的漏检和误检、部署复杂以及检测成本高的问题。

以下对本实施例提供的基于巡逻机器人的摔倒行为检测方法进行详细的描述。如图1所示,所述基于巡逻机器人的摔倒行为检测方法包括:

步骤S101,控制巡逻机器人在预设场所移动,并采集所述预设场所的图像信号;

步骤S102,对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息;

步骤S103,对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度;

步骤S104,按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人。

其中,所述巡逻机器人上设置有摄像头,比如在头顶部。所述预设场所主要指需要进行摔倒行为检测的公共场所,包括但不限于医院、公园、养老院等。

作为一示例,在步骤S101中,巡逻机器人启动,在所述预设场所按照固定路线巡逻,同时打开摄像头,实时地采集图像信号,并存储在自身的存储设备上。

其中,所述摔倒行为检测是指识别所述图像信号中是否存在摔倒行为。经过检测得到的摔倒行为记为疑似摔倒行为。

作为一示例,在步骤S102中,本实施例预先训练仅检测摔倒状态的人体信息的深度学习网络。通过将人体摔倒状态作为训练目标,对数据样本进行标注时只关注摔倒状态的人体,然后采用刻意标注摔倒状态的数据样本训练预设的深度学习网络,从而得到专用于检测摔倒行为的深度学习目标检测网络。通过只检测摔倒状态的人体信息,而不是检测所有状态,比如站着的、坐着的状态,有利于后续进行精准判断。

其中,所述关键点检测是指识别所述疑似摔倒状态的人体信息中的指定关键点。

作为一示例,在步骤S103中,若通过步骤S102输出疑似摔倒状态的人体信息后,本实施例采用指定的关键点检测框架对所述疑似摔倒状态的人体信息进检测关键点。可选地,所述关键点检测框架优选为人体姿态识别Alphapose。

其中,所述过滤逻辑是指筛选出疑似摔倒行为的人体信息中的误检目标并得到摔倒行为人的判断逻辑。

作为一示例,在步骤S104中,本实施例根据所述疑似摔倒行为的人体信息对应的关键点及其置信度,判断其是否满足预设逻辑,若满足,则认为所述疑似摔倒行为是误检的状态目标,若不满足,则认为所述疑似摔倒行为是真正的摔倒行为,并生成摔倒行为人。

可见,本发明提供的基于巡逻机器人的摔倒行为检测方法,基于巡检机器人可移动及采集图像信息,有效的扩大了检测范围,且部署方便简单。相比于检测所有状态人体,比如站着的、坐着的、摔倒的等,本发明的过滤逻辑简单,易于实现。相比于现有技术基于行人重识别、关键点检测、动作捕获检测进行摔倒检测,本发明的复杂度适中、部署更加简单、部署成本也更低。本实施例仅需使用单个摄像头,不但成像传感器成本低,而且检测精度得到大大提高。

在一实施例中,步骤S102,即对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息,包括:

步骤S1021,对所述图像信息进行下采样,将下采样后的图像信息中的每个像素进行预处理,得到待检测图像;

步骤S1022,将所述待检测图像输入至预设的深度学习目标检测网络中进行检测,获取疑似摔倒状态的人体及其目标框;

步骤S1023,根据所述人体及其目标框从所述图像信息中截取对应的图像区域,作为疑似摔倒状态的人体信息。

其中,所述待检测图像为所述深度学习目标检测网络的输入参数,通过对所述图像信息进行下采样、预处理得到。

作为一示例,步骤S1021中,由于巡逻机器人上的摄像头采集到的原始的图像信息大小为1920*1080,本实施例先进行下采样,将1920*1080的图像信息下采样到目标尺寸768*448,然后将每个像素的像素值均除以255,得到的图像即为待检测图像。

其中,所述深度学习目标检测网络用于检测摔倒行为。本实施例采用单分类的YOLOV8目标检测网络检测摔倒状态的人体。为了提高推理速度,所述YOLOv8目标检测网络改进如下:

采用ReLU激活函数,替换原始YOLOV8中的SiLU激活函数;

采用反卷积算子、Batch Normalization归一化算子、ReLU激活算子的算子组合,替换原始YOLOV8中的Upsample上采样算子。

本实施例在训练所述深度学习目标检测网络时所采用的样本数据为自收集、自标注的数据样本。

作为一示例,步骤S1022中,将所述待检测图像输入至预设的深度学习目标检测网络中进行摔倒状态检测,以完成对摔倒状态的初步检测。

作为一示例,步骤S1023中,如果检测到摔倒状态的人体信息,则从原始的图像信息上截取目标框大小的感兴趣区域(region of interesting,简称ROI)图像,记为疑似摔倒状态的人体信息。如果没有检测到摔倒状态的人体信息,则结束本次检测。

可选地,该深度学习目标检测网络最终输出摔倒状态的人体信息包括人体ROI图像数据和摔倒状态人体目标框。其中,ROI图像数据格式是[N,3,h,w],其中N是ROI的数量,3是ROI图像通道数,h是ROI图像的高,w是ROI图像的宽。摔倒状态人体目标框的格式是[x1,y1,x2,y2,id],其中x1、y1表示框的左上角坐标,x2、y2表示框的右下角坐标,id表示框中目标的类别,id为0表示“摔倒状态人体”。

本实施例只检测摔倒状态的人体信息,并且专门标注摔倒状态的人体进行模型训练,不但可以避开被遮挡的正常行走的人体,还能检测到被遮挡的摔倒状态的上半身;相比于现有技术检测所有状态人体,比如站着的、坐着的、摔倒的等,本实施例有效地降低了误检和漏检,且部署更加简单,更加易于实现。

在一实施例中,步骤S103,即对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度,包括:

步骤S1031,对所述疑似摔倒状态的人体信息进行预处理;

步骤S1032,将预处理后的所述人体信息输入预设的关键点检测框架Alphapose进行关键点检测,获取人体关键点信息及其置信度。

其中,所述预处理是指将所述疑似摔倒状态的人体信息转换为适配所述关键点检测框架Alphapose的输入参数。

作为一示例,在步骤S1031中,对所述疑似摔倒状态的人体ROI图像数据进行预处理,包括缩放到预设尺寸,按通道减去预设的通道均值,最后将每个像素值乘以预设比例。可选地,所述预设尺寸比如256*192,将所述人体的ROI图像数据从[N,3,h,w]变换为[N,3,256,192]。所述预设的通道均值为[103.53,116.535,122.40],所述预设比例为0.0039215686。如此,把所述疑似摔倒状态的人体ROI图像归一化到均值0、方差1的高斯分布,以加速训练收敛。

在本实施例中,所述人体关键点信息总共包括15个,其布局如图2所示,分别为:标号1表示头部关键点,标号2表示左肩关键点,标号3表示右肩关键点,标号4表示左肘关键点,标号5表示右肘关键点,标号6表示左手腕关键点,标号7表示右手腕关键点,标号8表示左髋关键点,标号9表示右髋关键点,标号10表示左膝关键点,标号11表示右膝关键点,标号12表示左踝关键点,标号13表示右踝关键点,标号14表示两肩中间点,标号15表示两髋中间点。

其中,所述关键点检测框架Alphapose的骨干网络采用Resnet18网络,在训练时采用PixelShuffle算子,在推理时采用反卷积算子。在这里,为了提高人体关键点检测的速度和精度,本实施例对关键点检测框架Alphapose做了适配,Backbone骨干网络使用残差网络Resnet18,Alphapose中的PixelShuffle算子在训练的时候保持不变,在推理的时候换成等价的Deconvolution反卷积算子。

为了保证推理阶段的鲁棒性,在训练阶段,本实施例将所述人体关键点信息划分类别,即所述人体关键点信息划分为第一类人体关键点信息和第二类人体关键点信息,所述第一类人体关键点信息通过标注得到,所述第二类人体关键点信息根据第一类人体关键点信息中的指定关键点的位置计算中值得到。可选地,对于上述标号1-15的关键点,可以设置标号1-13的关键点由标注得到,记为第一类人体关键点信息。标号14和15的关键点通过计算得到,记为第二类人体关键点信息。具体地,标号14表示两肩中间点,根据标号3表示的右肩关键点的位置信息和标号2表示的左肩关键点的位置信息计算中值得到;标号15表示两髋中间点,根据标号9表示的右髋关键点的位置信息和标号8表示的左髋关键点的位置信息计算中值得到。

所述置信度为摔倒状态的判断标准,置信度越大则摔倒状态的概率越大,否则置信度越小则摔倒状态的概率越小。

作为一示例,在步骤S1032中,本实施例将预处理后的所述人体信息输入预设的关键点检测框架Alphapose进行关键点检测,所述关键点检测框架Alphapose最终输出所述疑似摔倒状态的人体信息的关键点,15个人体关键点的数据格式为[15,x,y,conf],其中15表示关键点数量,x、y表示人体关键点在图像上坐标位置,conf表示人体关键点的置信度。本实施例选择置信度conf大于0.5的关键点做逻辑过滤。为了便于理解,图3为本实施例提供的疑似摔倒状态的人体信息的关键点检测结果。

本实施例针对巡逻机器人部署平台专门优化Alphapose框架,且选择了适当位置的关键点,重新在多个数据集合并而成的数据集上训练了Alphapose,不但提高了关键点检测速度,而且提高了检测精度,有效支撑了后续的逻辑过滤。

在一实施例中,步骤S104,即所述按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人,包括:

步骤S1041,从所述人体关键点信息及其置信度中获取目标关键点及其置信度,所述目标关键点包括头部关键点1、右踝关键点13、左踝关键点12、两肩中间点14、两髋中间点15;

步骤S1042,将所述目标关键点的置信度与预设置信度阈值进行比较;

步骤S1043,若至少一个目标关键点的置信度大于或等于预设置信度阈值,则将头部关键点和两肩中间点的置信度分别与预设置信度阈值进行比较;

步骤S1044,若头部关键点和两肩中间点中的任一个置信度大于或等于预设置信度阈值,比较两髋中间点的置信度和预设置信度阈值;

步骤S1045,当两髋中间点的置信度大于等于预设置信度阈值时,根据两肩中间点、两髋中间点和头部关键点计算上半身余弦值,根据左踝关键点与预设置信度阈值的比较结果计算左腿余弦值,根据右踝关键点与预设置信度阈值的比较结果计算右腿余弦值,根据上半身余弦值、右腿余弦值、左腿余弦值进行筛选以获取摔倒行为人;

步骤S1046,当两髋中间点的置信度小于预设置信度阈值时,根据两肩中间点、头部关键点、右踝关键点、左踝关键点计算全身右侧余弦值和全身左侧余弦值,根据全身左侧余弦值、全身右侧余弦值进行筛选以获取摔倒行为人。

其中,所述目标关键点从所获取的15个人体关键点信息获取,优选为头部关键点1、右踝关键点13、左踝关键点12、两肩中间点14、两髋中间点15。通过训练模型检测多个人体关键点,相比于只训练模型检测目标关键点,有利于提高模型检测关键点的精度,能够更准确地预测关键点。

其中,所述置信度阈值作为对应关键点是否为有效关键点的判断标准。所述置信度阈值优选为0.5,即当一个目标关键点的置信度大于或等于0.5时,所述目标关键点有效,能够表示人体处于摔倒状态,否则,所述目标关键点无效,不能表示人体处于摔倒状态。

作为一示例,在步骤S1042中,本实施例遍历每一所述目标关键点的置信度,将头部关键点1、右踝关键点13、左踝关键点12、两肩中间点14、两髋中间点15分别与预设置信度阈值进行比较。当所述头部关键点1、右踝关键点13、左踝关键点12、两肩中间点14、两髋中间点15的置信度均小于所述置信度阈值时,表明所述疑似摔倒的人体信息非真正的摔倒行为,抛弃该人体信息,转入下一个疑似摔倒的人体信息。

如果有至少一个目标关键点的置信度大于或等于预设置信度阈值,则检查头部关键点1和两肩中间点14的置信度,分别与预设置信度阈值进行比较。如果头部关键点1和两肩中间点14的置信度均小于预设置信度阈值,则抛弃该人体信息,转入下一个疑似摔倒的人体信息。若头部关键点1和两肩中间点14中至少一个置信度大于或等于预设置信度阈值,比较两髋中间点15的置信度和预设置信度阈值。

本实施例根据两髋中间点15的置信度和预设置信度阈值的比较结果,采用不同的过滤逻辑。当两髋中间点15的置信度大于或等于预设置信度阈值时,为有效关键点,表明人体的髋部已经倒地,则根据摔倒状态下人体两腿的状态进一步筛选出真正的摔倒行为。根据两肩中间点14、两髋中间点15和头部关键点1计算上半身余弦值,根据左踝关键点12与预设置信度阈值的比较结果计算左腿余弦值,根据右踝关键点13与预设置信度阈值的比较结果计算右腿余弦值;最后根据上半身余弦值、右腿余弦值、左腿余弦值进行筛选,排除两腿伸直坐在地上和坐在椅子或蹲下的人体状态,最终获得摔倒行为人。

当两髋中间点15的置信度小于预设置信度阈值时,为无效关键点,表明人体的髋部并未倒地,则根据人体左侧和右侧的倾斜情况进一步筛选出真正的摔倒行为。根据两肩中间点14、头部关键点1、右踝关键点13、左踝关键点12计算全身右侧余弦值和全身左侧余弦值,然后基于全身左侧余弦值、全身右侧余弦值进行筛选,排除弯腰的人体状态或者手拉着物体做倾斜状态的人体,比如手拉着树叶倾斜,最终获得摔倒行为人。

在一实施例中,步骤S1045,即所述根据两肩中间点、两髋中间点和头部关键点计算上半身余弦值,根据左踝关键点与预设置信度阈值的比较结果计算左腿余弦值,根据右踝关键点与预设置信度阈值的比较结果计算右腿余弦值,根据上半身余弦值、右腿余弦值、左腿余弦值进行筛选以获取摔倒行为人,包括:

步骤S451,若两肩中间点的置信度大于或等于预设置信度阈值,则计算两髋中间点和两肩中间点连线与水平线夹角的余弦值作为上半身余弦值;

步骤S452,若两肩中间点的置信度小于预设置信度阈值,则检测头部关键点,当头部关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和头部关键点连线与水平线夹角的余弦值作为上半身余弦值,当头部关键点的置信度小于预设置信度,则获取指定值作为上半身余弦值;

步骤S453,当左踝关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和左踝关键点连线与水平线夹角的余弦值作为左腿余弦值,否则获取指定值作为左腿余弦值;

步骤S454,当右踝关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和右踝关键点连线与水平线夹角的余弦值作为右腿余弦值,否则获取指定值作为右腿余弦值;

步骤S455,将所述上半身余弦值和第一余弦值比较,将所述左腿余弦值和第二余弦值比较,将所述右腿余弦值和第二余弦值比较;和/或,将所述上半身余弦值和第一余弦值比较,将所述左腿余弦值和第三余弦值比较,将所述右腿余弦值和第三余弦值比较;

步骤S456,当所述上半身余弦值小于或等于第一余弦值、所述左腿余弦值大于或等于第二余弦值、所述右腿余弦值大于或等于第二余弦值,或者,当所述上半身余弦值小于或等于第一余弦值、所述左腿余弦值小于或等于第三余弦值、所述右腿余弦值小于或等于第三余弦值时,所述人体信息为非摔倒行为人,否则,所述人体信息为摔倒行为人。

其中,所述上半身余弦值body_cos表示人体上半身的躯干相对于水平线的倾斜程度。由于头部和两肩均在上部,在计算上半身余弦值时,本实施例根据头部关键点1和两肩中间点14对应的置信度选择计算对象。

作为一示例,在步骤S451和步骤S452中,检查两肩中间点14的middle_shoulder的置信度conf,如果大于0.5,表明所述两肩中间点14有效,则计算两髋中间点middle_hip、两肩中间点middle_shoulder连线和水平线的余弦值,并赋值给变量上半身余弦值body_cos;如果小于0.5,则检查头部关键点middle_head的置信度conf,如果置信度conf大于0.5,则计算两髋中间点middle_hip、头部关键点middle_head连线和水平线的余弦值,并赋值给变量上半身余弦值body_cos;如果头部关键点middle_head的置信度conf小于0.5,获取指定值-100赋值给变量上半身余弦值body_cos。

其中,左腿余弦值表示人体下半身中左腿相对于水平线的倾斜程度。右腿余弦值表示人体下半身中右腿相对于水平线的倾斜程度。

作为一示例,在步骤S453中,检查左踝关键点left_ankle的置信度conf,如果大于0.5,表示左踝关键点有效,则计算两髋中间点middle_hip、左踝关键点left_ankle连线和水平线的余弦值,并赋值给变量左腿余弦值leg_left_cos;如果小于0.5,获取指定值-100赋值给变量左腿余弦值leg_left_cos。

作为一示例,在步骤S454中,检查右踝关键点right_ankle的置信度conf,如果大于0.5,表示右踝关键点有效,则计算两髋中间点middle_hip、右踝关键点right_ankle连线和水平线的余弦值,并赋值给变量右腿余弦值leg_right_cos;如果小于0.5,把指定值-100赋值给变量右腿余弦值leg_right_cos。

其中,所述第一余弦值作为人体上半身立起髋部着地的判断标准,优选为0.1。所述第二余弦值作为人体左腿或右腿向左侧伸直的判断标准,优选为0.9。所述第三余弦值作为人体左腿或右腿向右侧伸直的判断标准,优选为0.2。

作为一示例,在步骤S455和步骤S456中,本实施例判断所述上半身余弦值body_cos、左腿余弦值leg_left_cos、右腿余弦值leg_right_cos是否满足以下条件:(body_cos!=-100&&body_cos<=0.1)且(leg_left_cos>=0.9||leg_right_cos>=0.9);

若满足,则表示所述疑似摔倒状态的人体为两腿向左伸直坐在地上,非摔倒状态,抛弃该人体信息,并转入下个疑似摔倒状态的人体。以及,判断所述上半身余弦值body_cos、左腿余弦值leg_left_cos、右腿余弦值leg_right_cos是否满足以下条件:(body_cos!=100&&body_cos<=0.1)且(leg_left_cos>=0.9||leg_right_cos>=0.9);

若满足,则表示所述疑似摔倒状态的人体为两腿向右伸直坐在地上,非摔倒状态,抛弃该人体信息,并转入下个疑似摔倒状态的人体。

在一实施例中,步骤S1046,即所述根据两肩中间点、头部关键点、右踝关键点、左踝关键点计算全身右侧余弦值和全身左侧余弦值,根据全身左侧余弦值、全身右侧余弦值进行筛选以获取摔倒行为人,包括:

步骤S461,若两肩中间点的置信度大于或等于预设置信度阈值,当左踝关键点的置信度大于预设置信度阈值时,计算两肩中间点和左踝关键点连线与水平线夹角的余弦值作为全身左侧余弦值,否则获取指定值作为全身左侧余弦值;当右踝关键点的置信度大于预设置信度阈值时,计算两肩中间点和右踝关键点连线与水平线夹角的余弦值作为全身右侧余弦值,否则获取指定值作为全身右侧余弦值;

步骤S462,若两肩中间点的置信度小于预设置信度阈值,则检测头部关键点,当头部关键点的置信度大于或等于预设置信度阈值时,若左踝关键点的置信度大于预设置信度阈值时,计算头部关键点和左踝关键点连线与水平线夹角的余弦值作为全身左侧余弦值,否则获取指定值作为全身左侧余弦值;当右踝关键点的置信度大于预设置信度阈值时,计算头部关键点和右踝关键点连线与水平线夹角的余弦值作为全身右侧余弦值,否则获取指定值作为全身右侧余弦值;

步骤S463,将所述全身右侧余弦值与第四余弦值比较,将所述全身左侧余弦值与第四余弦值比较;

步骤S464,当所述全身右侧余弦值小于第四余弦值、所述全身左侧余弦值小于第四余弦值时,所述人体信息为非摔倒行为人,否则,所述人体信息为摔倒行为人。

其中,所述全身左侧余弦值body_leg_left_cos表示人体全身左侧相对于水平线的倾斜程度。所述全身右侧余弦值body_leg_right_cos表示人体全身右侧相对于水平线的倾斜程度。由于头部和两肩均在上部,在计算全身左侧余弦值和全身右侧余弦值时,本实施例根据头部关键点1和两肩中间点14对应的置信度选择计算对象。

作为一示例,在步骤S461中,检查两肩中间点middle_shoulder的置信度conf,如果大于0.5,表示两肩中间点middle_shoulder有效;继续检查左踝关键点left_ankle关键点的置信度conf,如果大于0.5,表示左踝关键点有效,则计算两肩中间点middle_shoulder、左踝关键点left_ankle连线和水平线的余弦值,并赋值给变量全身左侧余弦值body_leg_left_cos,如果小于0.5,将指定值-100赋值给变量全身左侧余弦值body_leg_left_cos。检查右踝关键点right_ankle的置信度conf,如果大于0.5,表示右踝关键点有效,则计算两肩中间点middle_shoulder、右踝关键点right_ankle连线和水平线的余弦值,并赋值给变量全身右侧余弦值body_leg_right_cos,如果小于0.5,将指定值-100赋值给变量全身右侧余弦值body_leg_right_cos。

作为一示例,在步骤S462中,如果两肩中间点middle_shoulder的置信度conf小于0.5,表示两肩中间点middle_shoulder无效;继续检查头部关键点middle_head的置信度conf,如果大于0.5,表示头部关键点middle_head有效,则检查左踝关键点left_ankle的置信度conf,如果大于0.5,则计算头部关键点middle_head、左踝关键点left_ankle连线和水平线的余弦值,并赋值给变量全身左侧余弦值body_leg_left_cos,如果小于0.5,将指定值-100赋值给变量全身左侧余弦值。检查右踝关键点right_ankle的置信度conf,如果大于0.5,则计算头部关键点middle_head、右踝关键点right_ankle连线和水平线的余弦值,并赋值给变量全身右侧余弦值body_leg_right_cos,如果小于0.5,将指定值-100赋值给变量全身右侧余弦值body_leg_right_cos。

其中,所述第四余弦值作为人体倾斜或者弯腰的判断标准,优选为0.7。

作为一示例,在步骤S463中,本实施例根据步骤S461或S462得到的所述全身左侧余弦值body_leg_left_cos、全身右侧余弦值body_leg_right_cos,判断是否满足以下条件:(body_leg_left_cos<0.7&&body_leg_left_cos!=-100)||

(body_leg_right_cos<0.7&&body_leg_right_cos!=-100),若满足,则表示所述疑似摔倒状态的人体为弯腰状态或者倾斜状态,非摔倒状态,抛弃该人体信息,并转入下个疑似摔倒状态的人体。

通过上述步骤S1045和步骤S1046后最终获得并输出摔倒状态的人体信息,包括目标框,其格式是[x1,y1,x2,y2,id],其中x1、y1表示框的左上角坐标,x2、y2表示框的右下角坐标,id表示框中目标的类别,id为0表示“摔倒行为人”。

综上所述,本实施例通过过滤逻辑来对疑似摔倒状态的人体信息进行过滤,相比于现有技术检测所有状态人体,包括但不限于站着的、坐着的、摔倒的,具有过滤规则简单、更加易于实现的优点。相比现有技术进行行人重识别、关键点检测、动作捕获检测,本实施例复杂度适中、部署更加简单、部署成本也更低。仅仅使用了单个摄像头,不但成像传感器成本低,而且检测精度高。

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

在一实施例中,本发明还提供一种基于巡逻机器人的摔倒行为检测装置,该基于巡逻机器人的摔倒行为检测装置与上述实施例中基于巡逻机器人的摔倒行为检测方法一一对应。如图4所示,该基于巡逻机器人的摔倒行为检测装置包括采集模块41、摔倒检测模块42、关键点检测模块43、筛选过滤模块44。各功能模块详细说明如下:

采集模块41,用于控制巡逻机器人在预设场所移动,并采集所述预设场所的图像信号;

摔倒检测模块42,用于对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息;

关键点检测模块43,用于对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度;

筛选过滤模块44,用于按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人。

可选地,所述摔倒检测模块42包括:

预处理单元,用于对所述图像信息进行下采样,将下采样后的图像信息中的每个像素进行预处理,得到待检测图像;

摔倒检测单元,用于将所述待检测图像输入至预设的深度学习目标检测网络中进行检测,获取疑似摔倒状态的人体及其目标框;

截取单元,用于根据所述人体及其目标框从所述图像信息中截取对应的图像区域,作为疑似摔倒状态的人体信息。

可选地,所述关键点检测模块43包括:

预处理单元,用于对所述疑似摔倒状态的人体信息进行预处理;

关键点检测单元,用于将预处理后的所述人体信息输入预设的关键点检测框架Alphapose进行关键点检测,获取人体关键点信息及其置信度。

可选地,所述关键点检测框架Alphapose的骨干网络采用Resnet18网络,在训练时采用PixelShuffle算子,在推理时采用反卷积算子;

其中,在训练阶段,所述人体关键点信息划分为第一类人体关键点信息和第二类人体关键点信息,所述第一类人体关键点信息通过标注得到,所述第二类人体关键点信息根据第一类人体关键点信息中的指定关键点的位置计算中值得到。

可选地,所述筛选过滤模块44包括:

获取单元,用于从所述人体关键点信息及其置信度中获取目标关键点及其置信度,所述目标关键点包括头部关键点、右踝关键点、左踝关键点、两肩中间点、两髋中间点;

第一比较单元,用于将所述目标关键点的置信度与预设置信度阈值进行比较;

第二比较单元,用于若至少一个目标关键点的置信度大于或等于预设置信度阈值,则将头部关键点和两肩中间点的置信度分别与预设置信度阈值进行比较;

第三比较单元,用于若头部关键点和两肩中间点中的任一个置信度大于或等于预设置信度阈值,比较两髋中间点的置信度和预设置信度阈值;

第一筛选单元,用于当两髋中间点的置信度大于等于预设置信度阈值时,根据两肩中间点、两髋中间点和头部关键点计算上半身余弦值,根据左踝关键点与预设置信度阈值的比较结果计算左腿余弦值,根据右踝关键点与预设置信度阈值的比较结果计算右腿余弦值,根据上半身余弦值、右腿余弦值、左腿余弦值进行筛选以获取摔倒行为人;

第二筛选单元,用于当两髋中间点的置信度小于预设置信度阈值时,根据两肩中间点、头部关键点、右踝关键点、左踝关键点计算全身右侧余弦值和全身左侧余弦值,根据全身左侧余弦值、全身右侧余弦值进行筛选以获取摔倒行为人。

可选地,所述第一筛选单元包括:

上半身余弦值计算子单元,用于若两肩中间点的置信度大于或等于预设置信度阈值,则计算两髋中间点和两肩中间点连线与水平线夹角的余弦值作为上半身余弦值;若两肩中间点的置信度小于预设置信度阈值,则检测头部关键点,当头部关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和头部关键点连线与水平线夹角的余弦值作为上半身余弦值,当头部关键点的置信度小于预设置信度,则获取指定值作为上半身余弦值;

左腿余弦值计算子单元,用于当左踝关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和左踝关键点连线与水平线夹角的余弦值作为左腿余弦值,否则获取指定值作为左腿余弦值;

右腿余弦值计算子单元,用于当右踝关键点的置信度大于或等于预设置信度阈值时,计算两髋中间点和右踝关键点连线与水平线夹角的余弦值作为右腿余弦值,否则获取指定值作为右腿余弦值;

比较子单元,用于将所述上半身余弦值和第一余弦值比较,将所述左腿余弦值和第二余弦值比较,将所述右腿余弦值和第二余弦值比较;和/或,将所述上半身余弦值和第一余弦值比较,将所述左腿余弦值和第三余弦值比较,将所述右腿余弦值和第三余弦值比较;

筛选子单元,用于当所述上半身余弦值小于或等于第一余弦值、所述左腿余弦值大于或等于第二余弦值、所述右腿余弦值大于或等于第二余弦值,或者,当所述上半身余弦值小于或等于第一余弦值、所述左腿余弦值小于或等于第三余弦值、所述右腿余弦值小于或等于第三余弦值时,所述人体信息为非摔倒行为人,否则,所述人体信息为摔倒行为人。

可选地,所述第二筛选单元包括:

第一全身余弦值计算子单元,用于若两肩中间点的置信度大于或等于预设置信度阈值,当左踝关键点的置信度大于预设置信度阈值时,计算两肩中间点和左踝关键点连线与水平线夹角的余弦值作为全身左侧余弦值,否则获取指定值作为全身左侧余弦值;当右踝关键点的置信度大于预设置信度阈值时,计算两肩中间点和右踝关键点连线与水平线夹角的余弦值作为全身右侧余弦值,否则获取指定值作为全身右侧余弦值;

第二全身余弦值计算子单元,用于若两肩中间点的置信度小于预设置信度阈值,则检测头部关键点,当头部关键点的置信度大于或等于预设置信度阈值时,若左踝关键点的置信度大于预设置信度阈值时,计算头部关键点和左踝关键点连线与水平线夹角的余弦值作为全身左侧余弦值,否则获取指定值作为全身左侧余弦值;当右踝关键点的置信度大于预设置信度阈值时,计算头部关键点和右踝关键点连线与水平线夹角的余弦值作为全身右侧余弦值,否则获取指定值作为全身右侧余弦值;

比较子单元,用于将所述全身右侧余弦值与第四余弦值比较,将所述全身左侧余弦值与第四余弦值比较;

筛选子单元,用于当所述全身右侧余弦值小于第四余弦值、所述全身左侧余弦值小于第四余弦值时,所述人体信息为非摔倒行为人,否则,所述人体信息为摔倒行为人。

关于基于巡逻机器人的摔倒行为检测装置的具体限定可以参见上文中对于基于巡逻机器人的摔倒行为检测方法的限定,在此不再赘述。上述基于巡逻机器人的摔倒行为检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于巡逻机器人的摔倒行为检测方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

控制巡逻机器人在预设场所移动,并采集所述预设场所的图像信号;

对所述图像信息进行摔倒行为检测,获取疑似摔倒状态的人体信息;

对所述疑似摔倒状态的人体信息进行关键点检测,获取人体关键点信息及其置信度;

按照预设的过滤逻辑对所述人体关键点信息及其置信度进行筛选,得到摔倒行为人。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 基于机器人的随机仓储方法、装置及电子设备与存储介质
  • 机器人运行方法、装置、机器人、电子设备及可读介质
  • 行为数据的处理方法、行为预测方法、装置、设备及介质
  • 基于区块链的销售行为评价方法及装置、介质和电子设备
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 基于巡逻机器人的打架行为检测方法、装置、介质及设备
  • 基于巡逻机器人的翻墙行为检测方法、装置、介质及设备
技术分类

06120116497049