一种异常告警方法、装置及设备与流程

文档序号:26486220发布日期:2021-08-31 17:41阅读:78来源:国知局
一种异常告警方法、装置及设备与流程

本申请涉及安全管理技术领域,尤其涉及一种异常告警方法、装置及设备。



背景技术:

随着经济技术的发展,工作人员的管理手段日益多样化,通常情况下,可以在目标场景部署摄像机(如模拟摄像机、网络摄像机等),并通过摄像机采集目标场景的图像,基于该图像分析目标场景是否存在安全隐患。比如说,基于图像分析目标场景内是否存在人员违规行为,继而获知目标场景是否存在安全隐患,从而辅助工作人员的管理,减少目标场景的人员违规行为。

但是,在上述方式中,需要依赖摄像机采集的图像分析目标场景是否存在安全隐患,若存在图像不清晰或者图像质量较差等情况,则无法基于图像分析目标场景是否存在安全隐患,大大降低了目标场景的安全性,用户体验较差。



技术实现要素:

本申请提供一种异常告警方法,所述方法包括:获取目标场景的多个批次的轨迹数据;针对当前批次的轨迹数据:基于该轨迹数据确定所述目标场景是否存在目标类型异常;若是,则确定所述目标类型异常的异常开始时间点,并基于该轨迹数据的结束时间点确定所述目标类型异常的异常结束时间点;

基于所述异常结束时间点与所述异常开始时间点确定异常持续时长;

若所述异常持续时长大于预设时长阈值,则对目标类型异常进行异常告警。

本申请提供一种异常告警装置,所述装置包括:

获取模块,用于获取目标场景的多个批次的轨迹数据;确定模块,用于针对当前批次的轨迹数据,基于该轨迹数据确定所述目标场景是否存在目标类型异常;若是,则确定所述目标类型异常的异常开始时间点,并基于该轨迹数据的结束时间点确定所述目标类型异常的异常结束时间点;以及,基于所述异常结束时间点与所述异常开始时间点确定异常持续时长;告警模块,用于若所述异常持续时长大于预设时长阈值,则对所述目标类型异常进行异常告警。

本申请提供一种异常告警设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;

所述处理器用于执行机器可执行指令,以实现如下步骤:

获取目标场景的多个批次的轨迹数据;针对当前批次的轨迹数据:

基于该轨迹数据确定所述目标场景是否存在目标类型异常;

若是,则确定所述目标类型异常的异常开始时间点,并基于该轨迹数据的结束时间点确定所述目标类型异常的异常结束时间点;

基于所述异常结束时间点与所述异常开始时间点确定异常持续时长;

若所述异常持续时长大于预设时长阈值,则对目标类型异常进行异常告警。

由以上技术方案可见,本申请实施例中,在安全性要求比较高的目标场景,可以基于目标场景的轨迹数据确定目标场景是否存在目标类型异常,若是,则基于目标类型异常的异常开始时间点和异常结束时间点确定异常持续时长,并在异常持续时长大于预设时长阈值时,对目标类型异常进行异常告警,从而获知目标场景是否存在安全隐患,辅助工作人员的管理,减少目标场景的人员违规行为。上述方式不依赖摄像机采集的图像,即使存在图像不清晰或者图像质量较差等情况,也可以基于目标场景的轨迹数据分析目标场景是否存在安全隐患,大大提高了目标场景的安全性,用户体验较好。能够提高人员行为的规范性,对人员轨迹进行识别和约束,及时发现违规行为,规避潜在的安全风险,避免意外事件的发生,并对异常行为进行轨迹记录,方便后续问题的排查。

附图说明

图1是本申请一种实施方式中的异常告警方法的流程示意图;

图2是本申请一种实施方式中的异常告警方法的流程示意图;

图3是本申请一种实施方式中的异常告警方法的流程示意图;

图4是本申请一种实施方式中的异常告警方法的流程示意图;

图5是本申请一种实施方式中的异常告警方法的流程示意图;

图6是本申请一种实施方式中的异常告警方法的流程示意图;

图7是本申请一种实施方式中的异常告警装置的结构示意图。

具体实施方式

在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

本申请实施例提出一种异常告警方法,可以应用于异常告警设备,该异常告警设备可以是任意类型的设备,如管理设备、服务器、个人计算机、笔记本电脑、智能终端等,参见图1所示,为该方法的流程示意图,该方法可以包括:

步骤101,获取目标场景的多个批次的轨迹数据,针对每个批次的轨迹数据,可以包括至少一条轨迹,每条轨迹均可以包括全局标识(globalid)和点位信息,该全局标识表示该轨迹对应的对象的唯一标识,该点位信息可以包括时间点与物理坐标的对应关系,表示该对象在该时间点处于该物理坐标。

示例性的,对象可以是人员,也可以是其它类型的对象,对此不做限制。

针对当前批次的轨迹数据,可以执行后续步骤102-105,比如说,可以获取目标场景的批次1的轨迹数据、批次2的轨迹数据、批次3的轨迹数据,以此类推。在得到批次1的轨迹数据时,基于批次1的轨迹数据执行步骤102-105,在得到批次2的轨迹数据时,基于批次2的轨迹数据执行步骤102-105,在得到批次3的轨迹数据时,基于批次3的轨迹数据执行步骤102-105,以此类推。

步骤102,基于该轨迹数据(即当前批次的轨迹数据)确定目标场景是否存在目标类型异常。若是,则可以执行步骤103,若否,则可以等待获取下一个批次的轨迹数据,基于下一个批次的轨迹数据继续执行步骤102。

步骤103,确定该目标类型异常的异常开始时间点,并基于该轨迹数据的结束时间点确定该目标类型异常的异常结束时间点,比如说,可以将该轨迹数据的结束时间点作为该目标类型异常的异常结束时间点。

步骤104,基于该异常结束时间点与该异常开始时间点确定异常持续时长。比如说,可以将该异常结束时间点与该异常开始时间点之间的差值作为异常持续时长,表示目标场景存在目标类型异常的时长为该异常持续时长。

步骤105,若该异常持续时长大于预设时长阈值,则对目标类型异常进行异常告警。若该异常持续时长不大于预设时长阈值,则可以等待获取下一个批次的轨迹数据,基于下一个批次的轨迹数据继续执行步骤102。

在一种可能的实施方式中,目标类型异常可以包括但不限于以下至少一种:目标场景内的单对象异常、目标场景内的认证对象数量异常、目标场景内的对象间距异常。当然,上述只是几个示例,对此目标类型异常不做限制。

情况一、目标类型异常为目标场景内的单对象异常。

在该情况一下,针对当前批次的轨迹数据,可以基于该轨迹数据确定当前批次的轨迹数量。若该轨迹数量为1,则可以确定目标场景存在目标类型异常;或者,若该轨迹数量大于1,则可以确定目标场景不存在目标类型异常。

示例性的,若该轨迹数量为1,则表示当前批次的轨迹数据只包括一条轨迹,且轨迹数据可以包括该轨迹的全局标识,该全局标识表示该轨迹对应的对象的唯一标识。在此基础上,可以采用如下方式确定目标类型异常的异常开始时间点:从目标场景的多个批次的轨迹数据中查询具有该全局标识的所有候选轨迹数据(为区分方便,将具有该全局标识的轨迹数据称为候选轨迹数据),并按照时间先后的顺序对所有候选轨迹数据进行排序。若所有候选轨迹数据中的轨迹数量均为1,则可以基于第一个候选轨迹数据的开始时间点,确定目标类型异常的异常开始时间点,比如说,将第一个候选轨迹数据的开始时间点作为目标类型异常的异常开始时间点。若所有候选轨迹数据中的轨迹数量不均为1,则可以基于最后一个存在至少两条轨迹的候选轨迹数据中除该全局标识对应的轨迹之外的最后一条轨迹的结束时间点,确定目标类型异常的异常开始时间点,比如说,将该最后一条轨迹的结束时间点作为目标类型异常的异常开始时间点。

情况二、目标类型异常为目标场景内的认证对象数量异常。

在该情况二下,针对当前批次的轨迹数据,可以基于该轨迹数据确定当前批次的认证对象的轨迹数量(不是总轨迹数量,总轨迹数量为认证对象的轨迹数量与未认证对象的轨迹数量之和)。若认证对象的轨迹数量大于或等于认证对象数量阈值(可以根据经验配置,如大于2的正整数等),则可以确定目标场景不存在目标类型异常;或者,若认证对象的轨迹数量小于认证对象数量阈值,且当前批次的轨迹数量大于1,则确定目标场景存在目标类型异常。

示例性的,若当前批次的轨迹数量大于1,例如,当前批次的轨迹数量为m(m可以为大于1的正整数),则表示当前批次的轨迹数据包括m条轨迹,且当前批次的轨迹数据可以包括m个全局标识(由于m大于1,则表示该轨迹数据可以包括至少两个全局标识),m个全局标识与m条轨迹一一对应。在此基础上,可以采用如下方式确定目标类型异常的异常开始时间点:

若目标场景内的认证对象的轨迹数量逐渐增加(即基于目标场景的多个批次的轨迹数据,获知认证对象的轨迹数量逐渐增加,且当前批次的认证对象的轨迹数量仍然小于认证对象数量阈值),针对该轨迹数据包括的至少两个全局标识(即m个全局标识)中的每个全局标识,基于目标场景的多个批次的轨迹数据,可以确定该全局标识对应的开始时间点。然后,按照时间先后的顺序对至少两个全局标识(即m个全局标识)对应的开始时间点进行排序,基于排序后的第二个开始时间点确定目标类型异常的异常开始时间点,比如说,可以将排序后的第二个开始时间点作为目标类型异常的异常开始时间点。

需要注意的是,将排序后的第二个开始时间点作为目标类型异常的异常开始时间点,其原因在于:在目标场景内的认证对象的轨迹数量逐渐增加时,目标场景内先出现第一个认证对象,然后出现第两个认证对象,然后出现第三个认证对象,以此类推。在按照时间先后的顺序对m个全局标识对应的开始时间点进行排序后,排序后的第一个开始时间点表示第一个认证对象进入目标场景的时间点,此时目标场景内只存在一个认证对象。排序后的第二个开始时间点表示第二个认证对象进入目标场景的时间点,此时目标场景内存在两个认证对象。排序后的第三个开始时间点表示第三个认证对象进入目标场景的时间点,此时目标场景内存在三个认证对象,以此类推。

在目标场景内只存在一个认证对象时,可以按照“目标场景内的单对象异常”的检测方式进行处理,此时不满足条件“若认证对象的轨迹数量小于认证对象数量阈值,且当前批次的轨迹数量大于1”,即,未存在“目标场景内的认证对象数量异常”,也就不是将排序后的第一个开始时间点作为“目标场景内的认证对象数量异常”的异常开始时间点。

在目标场景内存在两个认证对象时,此时满足条件“若认证对象的轨迹数量小于认证对象数量阈值,且当前批次的轨迹数量大于1”,即,存在“目标场景内的认证对象数量异常”,而目标场景内存在两个认证对象的时间点正是排序后的第二个开始时间点,因此,将排序后的第二个开始时间点作为“目标场景内的认证对象数量异常”的异常开始时间点。

若目标场景内的认证对象的轨迹数量逐渐减少(即基于目标场景的多个批次的轨迹数据,获知认证对象的轨迹数量逐渐减少,且当前批次的认证对象的轨迹数量小于认证对象数量阈值),则从目标场景的多个批次的轨迹数据中选取目标轨迹数据(为区分方便,将选取的轨迹数据记为目标轨迹数据),目标轨迹数据中认证对象的轨迹数量为认证对象数量阈值,目标轨迹数据的前一批次的轨迹数据中认证对象的轨迹数量大于或等于认证对象数量阈值,目标轨迹数据的后一批次的轨迹数据中认证对象的轨迹数量小于认证对象数量阈值。基于该目标轨迹数据的结束时间点,确定目标类型异常的异常开始时间点,比如说,可以将目标轨迹数据的结束时间点作为目标类型异常的异常开始时间点。

情况三、目标类型异常为目标场景内的认证对象数量异常。

在该情况三下,针对当前批次的轨迹数据,可以基于该轨迹数据确定当前批次的认证对象的轨迹数量。若认证对象的轨迹数量大于或等于认证对象数量阈值,则可以确定目标场景不存在目标类型异常;或者,若认证对象的轨迹数量小于认证对象数量阈值,则可以确定目标场景存在目标类型异常。

示例性的,若认证对象的轨迹数量为m(m可以为大于1的正整数),则当前批次的轨迹数据包括m个全局标识,在此基础上,可以采用如下方式确定目标类型异常的异常开始时间点:若目标场景内的认证对象的轨迹数量逐渐增加,针对m个全局标识中的每个全局标识,基于目标场景的多个批次的轨迹数据,确定该全局标识对应的开始时间点,并按照时间先后的顺序对m个全局标识对应的开始时间点进行排序,基于排序后的第一个开始时间点确定目标类型异常的异常开始时间点。或者,若目标场景内的认证对象的轨迹数量逐渐减少,则从目标场景的多个批次的轨迹数据中选取目标轨迹数据,目标轨迹数据中认证对象的轨迹数量为认证对象数量阈值,目标轨迹数据的前一批次的轨迹数据中认证对象的轨迹数量大于或等于认证对象数量阈值,目标轨迹数据的后一批次的轨迹数据中认证对象的轨迹数量小于认证对象数量阈值。基于该目标轨迹数据的结束时间点,确定目标类型异常的异常开始时间点。

需要注意的是,将排序后的第一个开始时间点作为目标类型异常的异常开始时间点,其原因在于:在目标场景内的认证对象的轨迹数量逐渐增加时,目标场景内先出现第一个认证对象,然后出现第两个认证对象,以此类推。排序后的第一个开始时间点表示第一个认证对象进入目标场景的时间点,排序后的第二个开始时间点表示第二个认证对象进入目标场景的时间点,以此类推。

在目标场景内只存在一个认证对象时,此时满足条件“若认证对象的轨迹数量小于认证对象数量阈值”,即,存在“目标场景内的认证对象数量异常”,因此将排序后的第一个开始时间点作为“目标场景内的认证对象数量异常”的异常开始时间点,即从该异常开始时间点开始,就出现认证对象数量异常。

情况四、目标类型异常为目标场景内的对象间距异常。

在该情况四下,针对当前批次的轨迹数据,可以基于该轨迹数据确定当前批次的轨迹数量,若该轨迹数量大于1,即轨迹数据包括至少两条轨迹(如当前批次的轨迹数据包括m条轨迹,m为大于1的正整数),针对该轨迹数据中的任意两条轨迹,确定这两条轨迹在同一目标时刻对应的两个物理坐标的间距,如轨迹1在时刻t1对应的物理坐标与轨迹2在时刻t1对应的物理坐标之间的间距。若该间距大于对象间距阈值,则确定目标场景存在目标类型异常;若该间距小于或等于对象间距阈值,则确定目标场景不存在目标类型异常。

示例性的,可以采用如下方式确定目标类型异常的异常开始时间点:针对该轨迹数据中的任意两条轨迹,在得到这两条轨迹对应的间距之后,若该间距大于对象间距阈值,则确定这两条轨迹的异常开始时间点是否为指定数值(如0),指定数值表示这两条轨迹未被识别为异常轨迹;若是,则将这两条轨迹的异常开始时间点更新为目标时刻(间距是该目标时刻对应的间距);若否,则保持这两条轨迹的异常开始时间点不变。或者,若该间距小于或等于对象间距阈值,则将这两条轨迹的异常开始时间点更新为指定数值。然后,可以按照时间先后的顺序对任意两条轨迹的异常开始时间点进行排序,基于排序后的第一个异常开始时间点确定目标类型异常的异常开始时间点,比如说,将排序后的第一个异常开始时间点作为目标类型异常的异常开始时间点。

在一种可能的实施方式中,获取目标场景的多个批次的轨迹数据之后,针对当前批次的轨迹数据,还可以从该轨迹数据中识别出未认证对象的轨迹和已认证对象的轨迹。针对未认证对象的轨迹,通过该轨迹的点位信息判断该轨迹是否经过门禁设备的认证区域;若是,则基于该轨迹的点位信息判断是否存在与该轨迹匹配的认证信息,该认证信息是基于该认证区域的图像确定。如果存在,则将该未认证对象的轨迹与该认证信息绑定,并将该未认证对象的轨迹更新为已认证对象的轨迹。在此基础上,可以在目标场景的模型地图上显示未认证对象的轨迹和已认证对象的轨迹,未认证对象的轨迹具有未认证标记,已认证对象的轨迹具有已认证标记,已认证对象的轨迹具有已认证对象的认证信息。

示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。

由以上技术方案可见,本申请实施例中,在安全性要求比较高的目标场景,可以基于目标场景的轨迹数据确定目标场景是否存在目标类型异常,若是,则基于目标类型异常的异常开始时间点和异常结束时间点确定异常持续时长,并在异常持续时长大于预设时长阈值时,对目标类型异常进行异常告警,从而获知目标场景是否存在安全隐患,辅助工作人员的管理,减少目标场景的人员违规行为。上述方式不依赖摄像机采集的图像,即使存在图像不清晰或者图像质量较差等情况,也可以基于目标场景的轨迹数据分析目标场景是否存在安全隐患,大大提高了目标场景的安全性,用户体验较好。能够提高人员行为的规范性,对人员轨迹进行识别和约束,及时发现违规行为,规避潜在的安全风险,避免意外事件的发生,并对异常行为进行轨迹记录,方便后续问题的排查。

以下结合具体应用场景,对本申请实施例的技术方案进行说明。

目标场景可以是安全性要求比较高的封闭区域,目标场景内的对象可以为人员,也可以为其它类型的对象,对此目标场景的类型不做限制。

示例性的,目标场景可以部署门禁设备和摄像机等,摄像机可以为模拟摄像机或者ipc(ipcamera,网络摄像机)等,摄像机用于获取目标场景的图像,基于图像分析目标场景内对象的轨迹(即运动轨迹),并将目标场景内对象的轨迹发送给管理设备(即用于实现异常告警的设备,可以部署在目标场景内,也可以部署在目标场景外,对此不做限制)。门禁设备用于采集目标场景内对象的认证信息,并将目标场景内对象的认证信息发送给管理设备。

由于目标场景是安全性要求比较高的封闭区域,为了保证目标场景内部的安全,本实施例提出一种基于目标场景内对象轨迹的异常告警和展示方法,从目标场景的实时轨迹展示、目标场景内的单对象异常告警、目标场景内的认证对象数量异常告警、目标场景内的对象间距异常告警等多个维度,对目标场景内的对象进行管理,对目标场景内对象的轨迹进行校验,对不符合规定的轨迹进行告警,约束对象移动过程的行为规范,避免意外事件发生,降低目标场景内部潜在的安全风险,保证目标场景内部的安全。能够对对象的轨迹进行校验(如是否存在单对象异常情况、是否存在认证对象数量异常情况、是否存在对象间距异常情况等),将校验后结果在3d模型地图上进行实时展示。

本申请实施例中,基于目标场景内对象的轨迹数据,可以对每个批次的轨迹数据进行校验,并判断对象的移动轨迹是否正常,如果移动轨迹不正常则进行异常告警,并通知管理员进行处理。针对对象轨迹数据的校验流程,可以参见图2所示,涉及轨迹与对象的关系绑定、实时轨迹数据的推送与展示、目标场景内的单对象异常的告警、目标场景内的认证对象数量异常的告警、目标场景内的对象间距异常的告警,异常告警的数据推送等过程。

关于实时轨迹数据的推送与展示,可以将目标场景内对象的轨迹数据通过3d模型地图进行实时展示,便于实时查看目标场景内对象的行进路线。

关于目标场景内的单对象异常的告警,适用于对象单独出现在目标场景内的情况,目标场景内只有一个对象时只产生一条轨迹,当一个对象在目标场景内出现的时长超过已配置的时长阈值时,就会产生单对象异常的告警,并将单对象异常的告警推送到客户端,客户端会有单对象异常的告警效果产生,并会播放告警语音,显示目标场景内的实时画面,确保不会出现一个对象长时间在目标场景内的情况,降低目标场景内潜在的安全风险,保证目标场景内的安全。

关于目标场景内的认证对象数量异常的告警,适用于多个对象出现在目标场景内部的情况,目标场景内有多个对象出现时会产生多条轨迹,当认证对象的数量小于已配置的认证对象数量阈值、且持续时长超过已配置的时长阈值时,就会产生认证对象数量异常的告警,并将认证对象数量异常的告警推送到客户端,客户端会有认证对象数量异常的告警效果产生,并会播放告警语音,显示目标场景内的实时画面,确保目标场景内有多个认证对象存在,不出现认证对象数量不足的情况,降低目标场景内潜在的安全风险,保证目标场景内的安全。

关于目标场景内的对象间距异常的告警,适用于多个对象出现在目标场景内部的情况,目标场景内有多个对象出现时会产生多条轨迹,当两条轨迹之间的间距大于已配置的对象间距阈值、且持续时长超过已配置的时长阈值时,就会产生对象间距异常的告警,并将对象间距异常的告警推送到客户端,客户端会有对象间距异常的告警效果产生,并会播放告警语音,显示目标场景内的实时画面,确保任意两个对象之间的距离不大于对象间距阈值,即所有对象都在彼此视线范围内,降低目标场景内潜在的安全风险,保证目标场景内的安全。

关于本申请实施例的异常告警方法,该异常告警方法可以涉及如下概念:

对象轨迹:对象在目标场景内行走时生成的一系列轨迹点位坐标的集合,由摄像机采集的图像分析对象的坐标数据,通过坐标数据合成对象轨迹。

轨迹批次:一条完整的对象轨迹可以分为多个批次,每个批次的轨迹时长是固定的,如5秒钟。每一条轨迹都有一个全局标识(globalid,即全局唯一编号),一条轨迹在不同批次之间通过全局标识进行关联,且一条轨迹对应一个对象。同时,一个批次内可以包括多条轨迹,即多个对象的轨迹。

认证区域:轨迹与对象的关系绑定通过门禁设备进行,门禁设备安装在目标场景内部的入口处,在门禁设备前方划定一个区域(如矩形区域)作为认证区域,对象站立在认证区域进行刷脸认证,即对象认证时需要在该认证区域内,如果在该认证区域之外进行认证,即使刷脸认证通过也无法进行轨迹与对象的绑定。该认证区域内同一时间只有一个对象进入,当认证区域内已有对象出现时禁止其它对象进入,否则可能造成轨迹与对象的关系绑定错误。

认证对象:进入目标场景内的每个对象会生成各自的轨迹数据,如果对象在门禁设备的认证区域内刷脸认证通过,就可以将该对象与轨迹进行绑定,此时该对象为认证对象。由于目标场景内的工作人员和作业人员可以刷脸认证通过,则工作人员和作业人员可以绑定为认证对象,而访客无法绑定为认证对象。

访客:进入目标场景内的每个对象会生成各自的轨迹数据,如果对象没有进行刷脸认证操作或者在门禁设备的认证区域之外进行刷脸认证操作,超出认证有效时间后,将不会对该对象与轨迹进行绑定操作,此时该对象为访客。

关于轨迹与对象的关系绑定,轨迹数据按照批次顺序进行处理,前一批次的轨迹数据处理完成后再处理后一批次的轨迹数据。轨迹在3d模型地图中显示为三种状态:待认证状态、访客状态、认证状态,初始显示状态为待认证状态。

由于轨迹点位信息只包含时间点和坐标点位等信息,不包含认证信息,通过轨迹点位信息不能确定当前轨迹属于哪个认证对象,因此,需要通过轨迹与对象的关系绑定,将轨迹与对象进行绑定。在有效认证时长内,如果轨迹与对象绑定成功,则轨迹在3d模型地图中显示为认证状态,且该对象为认证对象,即该轨迹是认证对象的轨迹。如果超过有效认证时长仍未完成轨迹与对象的绑定,则轨迹在3d模型地图中显示为访客,即该轨迹是访客的轨迹。对于已显示为访客的轨迹,如果后续完成轨迹与对象的绑定,仍可以显示为认证状态。

在一种可能的实施方式中,可以获取目标场景的多个批次的轨迹数据,针对当前批次的轨迹数据,可以从该轨迹数据中识别出未认证对象的轨迹和已认证对象的轨迹。针对未认证对象的轨迹,可以通过该轨迹的点位信息判断该轨迹是否经过门禁设备的认证区域;若是,则可以基于该轨迹的点位信息判断是否存在与该轨迹匹配的认证信息。如果存在,则可以将该未认证对象与该认证信息绑定,并将该未认证对象的轨迹更新为已认证对象的轨迹。

关于轨迹与对象关系的绑定流程,可以参见图3所示,可以包括:

步骤301,获取到当前批次的轨迹数据后,从当前批次的轨迹数据中过滤出未认证对象(如待认证对象或访客)的轨迹,遍历所有未认证对象的轨迹中的每条轨迹,针对当前遍历的轨迹(即未认证对象的轨迹),执行后续步骤。

示例性的,在获取到当前批次的轨迹数据后,该轨迹数据包括当前批次的至少一条轨迹,针对当前批次的每条轨迹,该轨迹具有全局标识。判断之前批次的轨迹数据中是否存在具有该全局标识的轨迹,若否,则当前批次的该轨迹是未认证对象的轨迹,从当前批次的轨迹数据中过滤出该轨迹。若是,则判断之前批次的具有该全局标识的轨迹是否为已认证对象的轨迹,如果是已认证对象的轨迹(将未认证对象的轨迹更新为已认证对象的轨迹,参见后续实施例),则当前批次的该轨迹是已认证对象的轨迹,如果不是已认证对象的轨迹,则当前批次的该轨迹是未认证对象的轨迹,从当前批次的轨迹数据中过滤出该轨迹。

步骤302,通过该轨迹的点位信息判断该轨迹是否经过门禁设备的认证区域。

如果是,则可以执行步骤303,如果否,则可以执行步骤306。

示例性的,轨迹的点位信息可以包括时间点与物理坐标(即对象在真实世界的物理位置点)的对应关系,表示对象在该时间点处于该物理坐标,且轨迹的点位信息可以包括多个物理坐标,以及每个物理坐标对应的时间点。

步骤302中,判断该点位信息的多个物理坐标中是否存在处于门禁设备的认证区域的物理坐标,若是,则该轨迹经过门禁设备的认证区域,若否,则该轨迹未经过门禁设备的认证区域。例如,预先配置门禁设备的认证区域的坐标范围(即认证区域的所有物理坐标的集合),若多个物理坐标中存在位于该坐标范围的物理坐标,确定该轨迹经过门禁设备的认证区域,若多个物理坐标中不存在位于该坐标范围的物理坐标,确定该轨迹未经过门禁设备的认证区域。

步骤303,基于轨迹进入认证区域的时间点(或轨迹开始时间点)和轨迹离开认证区域的时间点(或轨迹结束时间点),确定是否存在与该轨迹匹配的认证信息,如果是,则可以执行步骤304,如果否,则可以执行步骤305。

示例性的,关于轨迹进入认证区域的时间点和轨迹离开认证区域的时间点,可以从该轨迹的点位信息包括的所有物理坐标中,查询处于门禁设备的认证区域的物理坐标,并将这些物理坐标对应时间点中的最早时间点作为轨迹进入认证区域的时间点,将这些物理坐标对应时间点中的最晚时间点作为轨迹离开认证区域的时间点。关于轨迹开始时间点和轨迹结束时间点,基于该轨迹的点位信息包括的所有时间点,可以将所有时间点中的最早时间点作为轨迹开始时间点,并将所有时间点中的最晚时间点作为轨迹结束时间点。

在步骤303中,可以基于轨迹进入认证区域的时间点和轨迹离开认证区域的时间点确定是否存在与该轨迹匹配的认证信息。或者,可以基于轨迹进入认证区域的时间点和轨迹结束时间点确定是否存在与该轨迹匹配的认证信息。或者,可以基于轨迹开始时间点和轨迹离开认证区域的时间点确定是否存在与该轨迹匹配的认证信息。或者,可以基于轨迹开始时间点和轨迹结束时间点确定是否存在与该轨迹匹配的认证信息。为了方便描述,后续以基于轨迹开始时间点和轨迹结束时间点确定是否存在与该轨迹匹配的认证信息为例进行说明。

比如说,在门禁设备前方划定一个矩形区域作为认证区域,对象站立在认证区域进行刷脸认证,门禁设备可以采集对象的图像,基于图像特征(如人脸特征等)确定对象的认证信息(即身份信息),并将采集时间点(即门禁设备采集对象的图像的时间点)与认证信息的映射关系发送给管理设备,由管理设备维护采集时间点与认证信息的映射关系。显然,针对在认证区域进行刷脸认证的每个对象,均可以维护采集时间点与认证信息的映射关系。针对已经维护有采集时间点与认证信息的映射关系的对象来说,就是已认证对象。

在获知轨迹对应的轨迹开始时间点和轨迹结束时间点之后,管理设备判断所有采集时间点中是否存在位于该轨迹开始时间点与该轨迹结束时间点之间的采集时间点,将其记为目标采集时间点。如果不存在,则确定不存在与该轨迹匹配的认证信息,也就是说,该轨迹只是经过认证区域,但该轨迹对应的对象未进行刷脸认证操作。如果存在,则确定存在与该轨迹匹配的认证信息,即,与该目标采集时间点对应的认证信息就是与该轨迹匹配的认证信息,也就是说,该轨迹对应的对象进行了刷脸认证操作,可以将轨迹与认证信息进行绑定。

步骤304,若存在与该轨迹匹配的认证信息,则将该未认证对象的轨迹与该认证信息绑定,并将该未认证对象的轨迹更新为已认证对象的轨迹,也就是说,该未认证对象被更新为已认证对象,且该未认证对象具有该认证信息。

步骤305,若不存在与该轨迹匹配的认证信息,则确定该轨迹经过认证区域,但该轨迹对应的对象未进行刷脸认证操作,保持该未认证对象的轨迹为未认证对象的轨迹,即不是具有认证信息的已认证对象,执行步骤307。

步骤306,若该轨迹不经过门禁设备的认证区域,则确定该轨迹未经过认证区域,不查询该轨迹对应的对象是否进行刷脸认证操作,保持该未认证对象的轨迹为未认证对象的轨迹,即不是具有认证信息的已认证对象,执行步骤307。

步骤307,判断未认证对象的轨迹的存在时长是否超过有效认证时长(根据经验配置)。如果是,则可以执行步骤308,如果否,则可以执行步骤309。

其中,未认证对象的轨迹的存在时长是指,基于该轨迹的全局标识,从所有批次的轨迹数据中查询具有该全局标识的所有轨迹,确定这些轨迹的最早时间点,而当前时间点与该最早时间点的差值,就是该轨迹的存在时长。

步骤308,将未认证对象的轨迹标记为访客的轨迹,即未认证对象为访客。

步骤309,将未认证对象的轨迹标记为待认证对象的轨迹,即未认证对象为待认证对象,仍然需要识别待认证对象是已认证对象还是访客。

示例性的,对于访客的轨迹和待认证对象的轨迹,在下一个批次的轨迹数据中,仍然可以进行轨迹与认证信息的绑定,绑定方式参见上述实施例。

关于实时轨迹数据的推送与展示,当一个批次的轨迹数据经过轨迹与人员的关系绑定后,可以将该批次的轨迹数据推送到客户端的模型地图(如3d模型地图)上进行轨迹的效果展示。比如说,可以在客户端构建目标场景的模型地图,可以将轨迹数据推送到客户端,从而在客户端的模型地图上显示未认证对象的轨迹和已认证对象的轨迹,未认证对象的轨迹具有未认证标记,已认证对象的轨迹具有已认证标记,且已认证对象的轨迹具有已认证对象的认证信息。

比如说,可以将访客的轨迹发送给客户端,从而在客户端的模型地图上显示访客的轨迹,并为访客的轨迹设置访客标记。可以将待认证对象的轨迹发送给客户端,从而在客户端的模型地图上显示待认证对象的轨迹,并为待认证对象的轨迹设置待认证对象标记。可以将已认证对象的轨迹和已认证对象的认证信息发送给客户端,从而在客户端的模型地图上显示已认证对象的轨迹,并为已认证对象的轨迹设置已认证对象标记,并显示已认证对象的认证信息。

示例性的,为了保证轨迹平滑,每条轨迹在每一秒可以只有一个轨迹点位坐标,当然,也可以在每一秒有多个轨迹点位坐标,对此不做限制。3d模型地图按照一定比例模拟出目标场景的空间区域,然后根据接收到的轨迹点位坐标模拟出对象在各个时间点的位置,每条轨迹在一秒之内只移动一个点位的距离。通过实时轨迹展示,无需进入目标区域内部即可实时了解每个对象从进入目标场景到离开目标场景的所有行进路线,在很大程度上提高了管理的便利性。

关于目标场景内的单对象异常的告警,由于目标场景内部可以禁止单对象进入,为了防止单对象进入目标场景情况的发生,提出单对象异常的告警校验机制,在单对象异常的告警校验机制中,可以预先配置一个指标参数,即预设时长阈值1,该预设时长阈值1可以为单对象在目标场景内的最大时长。当目标场景内只有一个对象(如已认证对象、访客、或待认证对象)时,如果该对象在目标场景内的时长达到预设时长阈值1,就可以触发单对象异常的告警。

示例性的,目标场景内的单对象异常的告警流程,可以参见图4所示:

步骤401,获取目标场景的当前批次的轨迹数据,并基于该轨迹数据确定当前批次的轨迹数量。示例性的,该轨迹数据可以包括至少一条轨迹,每条轨迹均可以包括全局标识和点位信息,该全局标识表示该轨迹对应的对象的唯一标识。显然,若该轨迹数据只包括一条轨迹,则当前批次的轨迹数量为1,若该轨迹数据只包括两条轨迹,则当前批次的轨迹数量为2,以此类推。

步骤402,判断当前批次的轨迹数量是否为1。如果是,则进行目标场景内的单对象异常的告警检测,执行步骤403,如果否,则不进行目标场景内的单对象异常的告警检测,结束当前批次的处理流程,等待下一个批次的轨迹数据。

示例性的,如果轨迹数量大于1,则确定不存在目标场景内的单对象异常,不进行目标场景内的单对象异常的告警检测,如果轨迹数量等于1,则确定存在目标场景内的单对象异常,需要进行目标场景内的单对象异常的告警检测。

步骤403,当前批次的轨迹数据中只存在一条轨迹,基于该轨迹的全局标识,可以从目标场景的所有批次的轨迹数据中查询具有该全局标识的所有候选轨迹数据(为了区分方便,可以将具有该全局标识的轨迹数据称为候选轨迹数据),并按照时间先后的顺序对所有候选轨迹数据进行排序。

比如说,已获取目标场景的批次1的轨迹数据-批次7的轨迹数据,且批次4的轨迹数据-批次7的轨迹数据均具有该全局标识,即均包括该全局标识对应的轨迹,因此,将批次4的轨迹数据-批次7的轨迹数据作为候选轨迹数据,并按照时间先后的顺序对所有候选轨迹数据进行排序,如排序结果为:批次4的轨迹数据、批次5的轨迹数据、批次6的轨迹数据、批次7的轨迹数据。

步骤404,判断所有候选轨迹数据中的轨迹数量是否均为1。

如果是,则可以执行步骤405,如果否,则可以执行步骤406。

步骤405,若所有候选轨迹数据中的轨迹数量均为1,则基于第一个候选轨迹数据的开始时间点,确定异常开始时间点,比如说,将第一个候选轨迹数据的开始时间点作为异常开始时间点。在步骤405之后,执行步骤407。

比如说,批次4的轨迹数据、批次5的轨迹数据、批次6的轨迹数据、批次7(即当前批次)的轨迹数据中的轨迹数量均为1,即均只有一条轨迹,则将批次4的轨迹数据的开始时间点作为异常开始时间点,批次4的轨迹数据的开始时间点是指,批次4的轨迹数据包括的所有时间点中的最早时间点。

步骤406,若所有候选轨迹数据中的轨迹数量不均为1,则基于最后一个存在至少两条轨迹的候选轨迹数据中除该全局标识对应的轨迹之外的最后一条轨迹的结束时间点,确定异常开始时间点,比如说,将该最后一条轨迹的结束时间点作为异常开始时间点。在步骤406之后,执行步骤407。

比如说,批次4的轨迹数据包括轨迹a1、轨迹a2和轨迹a3,批次5的轨迹数据包括轨迹a1和轨迹a2,批次6的轨迹数据包括轨迹a1,批次7(即当前批次)的轨迹数据包括轨迹a1,当前批次的轨迹数据包括的是轨迹a1的全局标识。

由于批次4的轨迹数据和批次5的轨迹数据均存在至少两条轨迹,而批次5的轨迹数据会晚于批次4的轨迹数据,因此,批次5的轨迹数据是最后一个存在至少两条轨迹的候选轨迹数据,该候选轨迹数据包括轨迹a1和轨迹a2。

由于轨迹a1的全局标识与当前批次的轨迹数据包括的全局标识相同,因此,轨迹a2是候选轨迹数据中除该全局标识对应的轨迹a1之外的最后一条轨迹,也就是说,可以基于批次5中的轨迹a2的结束时间点确定异常开始时间点。

批次5中的轨迹a2的结束时间点是指,在批次5中,轨迹a2可以包括多个时间点,这些时间点中的最晚时间点也就是轨迹a2的结束时间点。

在实际应用中,假设批次5的轨迹数据中除了轨迹a1,还存在至少两条轨迹,如轨迹a2和轨迹a3,那么:若轨迹a2的结束时间点晚于轨迹a3的结束时间点,则轨迹a2是最后一条轨迹,基于轨迹a2的结束时间点确定异常开始时间点。或者,若轨迹a3的结束时间点晚于轨迹a2的结束时间点,则轨迹a3是最后一条轨迹,基于轨迹a3的结束时间点确定异常开始时间点。

综上所述,基于步骤405或者步骤406,均可以确定异常开始时间点。

步骤407,基于当前批次的轨迹数据的结束时间点确定异常结束时间点,比如说,可以将当前批次的该轨迹数据的结束时间点作为异常结束时间点。或者,在实际应用中,也可以将当前时间点作为异常结束时间点,对此不做限制。

示例性的,当前批次的轨迹数据的结束时间点是指:当前批次的轨迹数据包括大量时间点,将这些时间点中的最晚时间点作为该轨迹数据的结束时间点。

步骤408,基于异常结束时间点与异常开始时间点确定异常持续时长,比如说,将异常结束时间点与异常开始时间点之间的差值作为异常持续时长,即从异常开始时间点到异常结束时间点的这段时间内,目标场景内只存在一个对象。

比如说,将异常开始时间点记为tstart,将异常结束时间点记为tend,则异常结束时间点tend与异常开始时间点tstart的差值的绝对值δt就是异常持续时长。

步骤409,判断该异常持续时长是否大于预设时长阈值1,若是,则执行步骤410,若否,则结束当前批次的处理流程,等待下一个批次的轨迹数据。

步骤410,若该异常持续时长大于预设时长阈值1,则进行单对象异常的告警,即目标场景内存在单对象异常。比如说,管理设备可以产生单对象异常的告警,并将单对象异常的告警推送到客户端,客户端会有单对象异常的告警效果产生,并会播放告警语音,并实时显示目标场景内的实时画面。

在一种可能的实施方式中,可以将告警划分为多个级别的告警,以划分为两个级别的告警为例,第一级别的告警称为预告警,第二级别的告警称为真告警,不同级别的告警有不同的告警效果,且播放不同的告警语音。显然,第二级别的告警产生的告警效果更强,第二级别的告警产生的告警语音更加明显。

比如说,若该异常持续时长大于第一预设时长阈值1(可以为预设时长阈值1的80%,或预设时长阈值1的85%等,对此不做限制),则进行单对象异常的预告警(第一级别的告警),客户端会有预告警级别的告警效果和告警语音。

若该异常持续时长大于第二预设时长阈值1(可以为预设时长阈值1,或略大于预设时长阈值1,或略小于预设时长阈值1),则进行单对象异常的真告警(第二级别的告警),客户端会有真告警级别的告警效果和告警语音。

关于目标场景内的认证对象数量异常的告警,由于目标场景作为对安全性要求比较高的封闭区域,进入目标场景时需要至少两个认证对象(即已认证对象,不包括访客和待认证对象)同时进入,当认证对象不足时禁止进入目标场景内。为了防止认证对象不足这种情况发生,提出认证对象数量异常的告警校验机制,在认证对象数量异常的告警校验机制中,可以预先配置两个指标参数,即认证对象数量阈值(即最少认证数量)和预设时长阈值2,该预设时长阈值2可以为认证对象数量异常超时阈值。当认证对象的数量小于认证对象数量阈值且该状态的持续时长达到预设时长阈值2,就可以触发认证对象数量异常的告警。

示例性的,目标场景内的认证对象数量异常的告警,可以参见图5所示:

步骤501,获取目标场景的当前批次的轨迹数据,基于该轨迹数据确定当前批次的轨迹数量。示例性的,该轨迹数据可以包括至少一条轨迹,每条轨迹均可以包括全局标识和点位信息,该全局标识表示该轨迹对应的对象的唯一标识。

步骤502,判断当前批次的轨迹数量是否为1。如果是,则更新认证对象数量异常的异常标记为第一取值(如-1),异常标记为第一取值表示对象数量等于1,结束认证对象数量异常的告警,在此情况下,还可以进行目标场景内的单对象异常的告警检测,具体过程参见图4所示流程。如果否,则执行步骤503。

步骤503,基于当前批次的轨迹数据确定当前批次的认证对象的轨迹数量。

示例性的,当前批次的轨迹数据可以包括至少一条轨迹,针对每条轨迹来说,若该轨迹已经与认证信息绑定,则该轨迹是认证对象的轨迹,若该轨迹未与认证信息绑定,则该轨迹是未认证对象的轨迹。基于此,可以基于当前批次的轨迹数据确定认证对象的轨迹,并统计认证对象的轨迹数量。

步骤504,判断当前批次的认证对象的轨迹数量是否大于或等于认证对象数量阈值。如果是,则更新认证对象数量异常的异常标记为第二取值(如1,与第一取值不同即可),异常标记为第二取值表示认证对象的数量大于或等于认证对象数量阈值,结束认证对象数量异常的告警。如果否,则执行步骤505。

示例性的,若认证对象的轨迹数量大于或等于认证对象数量阈值,则确定目标场景不存在认证对象数量异常,结束认证对象数量异常的告警。若认证对象的轨迹数量小于认证对象数量阈值,且当前批次的轨迹数量大于1,则确定目标场景存在认证对象数量异常,执行步骤505,进行认证对象数量异常的检测。

步骤505,确定认证对象数量异常的异常标记。若该异常标记为第一取值,则表示目标场景内的认证对象的轨迹数量逐渐增加,即基于目标场景的所有批次的轨迹数据,获知认证对象的轨迹数量逐渐增加,且当前批次的认证对象的轨迹数量仍然小于认证对象数量阈值,在该情况下,执行步骤506。

若该异常标记为第二取值,则表示目标场景内的认证对象的轨迹数量逐渐减少,即基于目标场景的所有批次的轨迹数据,获知认证对象的轨迹数量逐渐减少,且当前批次的认证对象的轨迹数量小于认证对象数量阈值,在该情况下,执行步骤507。比如说,第一个批次的认证对象的轨迹数量大于或等于认证对象数量阈值,第二个批次的认证对象的轨迹数量大于或等于认证对象数量阈值,但当前批次(如第三个批次)的认证对象的轨迹数量小于认证对象数量阈值。

步骤506,针对当前批次的轨迹数据包括的每个全局标识,基于目标场景的所有批次的轨迹数据确定该全局标识对应的开始时间点。按照时间先后的顺序对所有全局标识对应的开始时间点进行排序,基于排序后的第二个开始时间点确定异常开始时间点,如将排序后的第二个开始时间点作为异常开始时间点。

示例性的,若目标场景内的认证对象的轨迹数量逐渐增加,即在轨迹数量逐渐增加时出现认证对象数量不足,则更新异常开始时间点为当前批次中第二条轨迹的开始时间点。比如说,假设当前批次的轨迹数据包括轨迹a1、轨迹a2和轨迹a3,基于轨迹a1的全局标识,从所有批次的轨迹数据中查询具有该全局标识的所有轨迹,确定这些轨迹包括的所有时间点中的最早时间点,而该最早时间点就是轨迹a1的全局标识对应的开始时间点,同理,可以得到轨迹a2的全局标识对应的开始时间点、轨迹a3的全局标识对应的开始时间点。

然后,按照时间先后的顺序对轨迹a1的全局标识对应的开始时间点、轨迹a2的全局标识对应的开始时间点和轨迹a3的全局标识对应的开始时间点进行排序,假设排序后的第二个开始时间点是轨迹a3的全局标识对应的开始时间点,则可以将轨迹a3的全局标识对应的开始时间点作为异常开始时间点。

示例性的,步骤506中得到异常开始时间点之后,可以执行步骤508。

步骤507,从目标场景的所有批次的轨迹数据中选取目标轨迹数据,在选取目标轨迹数据时,该目标轨迹数据中认证对象的轨迹数量为认证对象数量阈值,该目标轨迹数据的前一批次的轨迹数据中认证对象的轨迹数量大于或等于认证对象数量阈值,该目标轨迹数据的后一批次的轨迹数据中认证对象的轨迹数量小于认证对象数量阈值。基于该目标轨迹数据的结束时间点确定异常开始时间点,比如说,将目标轨迹数据的结束时间点作为异常开始时间点。

比如说,假设已获取目标场景的批次1的轨迹数据-批次5的轨迹数据,认证对象数量阈值为3,批次1的轨迹数据中认证对象的轨迹数量为5,批次2的轨迹数据中认证对象的轨迹数量为4,批次3的轨迹数据中认证对象的轨迹数量为3,批次4的轨迹数据中认证对象的轨迹数量为3,批次5(即当前批次)的轨迹数据中认证对象的轨迹数量为2,则目标轨迹数据为批次4的轨迹数据。

显然,由于批次3的轨迹数据的后一批次的轨迹数据中认证对象的轨迹数量等于认证对象数量阈值,因此,批次3的轨迹数据不是目标轨迹数据。

由于批次4的轨迹数据的后一批次的轨迹数据中认证对象的轨迹数量小于认证对象数量阈值,因此,批次4的轨迹数据可以是目标轨迹数据。

示例性的,若目标场景内的认证对象的轨迹数量逐渐减少,即在轨迹数量逐渐减少时出现认证对象数量不足,则更新异常开始时间点为认证对象数量阈值对应轨迹的结束时间点,即上述目标轨迹数据的结束时间点。

示例性的,目标轨迹数据的结束时间点是目标轨迹数据包括的所有时间点中的最晚时间点,即将目标轨迹数据的最晚时间点作为异常开始时间点。

示例性的,步骤507中得到异常开始时间点之后,可以执行步骤508。

综上所述,基于步骤506或者步骤507,均可以确定异常开始时间点。

步骤508,基于当前批次的轨迹数据的结束时间点确定异常结束时间点,比如说,可以将当前批次的该轨迹数据的结束时间点作为异常结束时间点。或者,在实际应用中,也可以将当前时间点作为异常结束时间点,对此不做限制。

步骤509,基于异常结束时间点与异常开始时间点确定异常持续时长,比如说,将异常结束时间点与异常开始时间点之间的差值作为异常持续时长。

显然,在从异常开始时间点到异常结束时间点的这段时间内,目标场景内的认证对象的数量始终小于认证对象数量阈值,即存在认证对象数量异常。

步骤510,判断该异常持续时长是否大于预设时长阈值2,若是,则执行步骤511,若否,则结束当前批次的处理流程,等待下一个批次的轨迹数据。

步骤511,若该异常持续时长大于预设时长阈值2,则进行认证对象数量异常的告警,即目标场景内存在认证对象数量异常。比如说,可以产生认证对象数量异常的告警,将认证对象数量异常的告警推送到客户端,客户端会有认证对象数量异常的告警效果产生,会播放告警语音,显示目标场景内的实时画面。

在一种可能的实施方式中,可以将告警划分为多个级别的告警,以划分为两个级别的告警为例,第一级别的告警称为预告警,第二级别的告警称为真告警,不同级别的告警有不同的告警效果,且播放不同的告警语音。比如说,若该异常持续时长大于第一预设时长阈值2(可以为预设时长阈值2的80%),则进行认证对象数量异常的预告警。若该异常持续时长大于第二预设时长阈值2(可以为预设时长阈值2),则进行认证对象数量异常的真告警。

关于目标场景内的对象间距异常的告警,由于目标场景作为对安全性要求比较高的封闭区域,当多个对象进入目标场景时每两个对象之间的间距需要保持在一定范围内,即两个对象始终在彼此视线范围之内。为防止间距过大这一情况的发生,提出对象间距异常的告警校验机制,在对象间距异常的告警校验机制中,可以预先配置两个指标参数,对象间距阈值(即对象最大间距)和预设时长阈值3,预设时长阈值3可以为间距异常超时阈值。当两个对象的间距大于对象间距阈值且持续时长达到预设时长阈值3,就可以触发对象间距异常的告警。示例性的,目标场景内的对象间距异常的告警,可以参见图6所示:

步骤601,获取目标场景的当前批次的轨迹数据,基于该轨迹数据确定当前批次的轨迹数量。示例性的,该轨迹数据可以包括至少一条轨迹,每条轨迹均可以包括全局标识和点位信息,该全局标识表示该轨迹对应的对象的唯一标识。

步骤602,判断当前批次的轨迹数量是否为1。如果是,则结束对象间距异常的告警,在此情况下,还可以进行目标场景内的单对象异常的告警检测,具体过程可以参见图4所示流程。如果否,则可以执行步骤603。

步骤603,若当前批次的轨迹数量大于1,针对该轨迹数据中的任意两条轨迹,确定这两条轨迹在同一目标时刻对应的两个物理坐标的间距。

比如说,假设当前批次的轨迹数据包括轨迹a1、轨迹a2和轨迹a3,针对轨迹a1和轨迹a2,确定同一目标时刻(轨迹a1的任意时刻或轨迹a2的任意时刻)对应的两个物理坐标的间距,即轨迹a1中与目标时刻对应的物理坐标与轨迹a2中与目标时刻对应的物理坐标的间距,该间距作为轨迹a1与轨迹a2之间的间距。同理,得到轨迹a1与轨迹a3之间的间距、轨迹a2与轨迹a3之间的间距。

步骤604,针对该轨迹数据中的任意两条轨迹,判断这两条轨迹之间的间距是否大于对象间距阈值。如果否,则执行步骤605,如果是,则执行步骤606。

若两条轨迹之间的间距大于对象间距阈值,则这两条轨迹存在对象间距异常,针对这两条轨迹执行步骤606。若两条轨迹之间的间距小于或等于对象间距阈值,则这两条轨迹不存在对象间距异常,针对这两条轨迹执行步骤605。

步骤605,将这两条轨迹的异常开始时间点更新为指定数值,该指定数值可以根据经验配置,如指定数值可以为0,该指定数值表示这两条轨迹之间的间距为正常,不存在对象间距异常,也就是说,该指定数值用于表示这两条轨迹未被识别为异常轨迹。在步骤605之后,还可以执行步骤607。

步骤606,若两条轨迹之间的间距大于对象间距阈值,则确定这两条轨迹的异常开始时间点是否为指定数值(如0)。若是,则将这两条轨迹的异常开始时间点更新为目标时刻,也就是说,目标时刻对应的两个物理坐标的间距大于对象间距阈值时,可以将异常开始时间点更新为该目标时刻。若否,则可以保持这两条轨迹的异常开始时间点不变。在步骤606之后,还可以执行步骤607。

比如说,针对轨迹a1与轨迹a2这两条轨迹来说,若时刻t1对应的两个物理坐标的间距大于对象间距阈值,则判断轨迹a1与轨迹a2的异常开始时间点是否为0。如果为0,则表示轨迹a1与轨迹a2之间的间距在时刻t1之前是正常,在时刻t1出现对象间距异常情况,因此,将轨迹a1与轨迹a2的异常开始时间点更新为时刻t1。如果轨迹a1与轨迹a2的异常开始时间点为时刻t2(即不为0),则表示轨迹a1与轨迹a2之间的间距在时刻t1之前已经出现对象间距异常情况(即最早在时刻t2出现对象间距异常情况),在时刻t1仍然存在对象间距异常情况,因此,保持轨迹a1与轨迹a2的异常开始时间点为时刻t2。

步骤607,按照时间先后的顺序对任意两条轨迹的异常开始时间点进行排序,基于排序后的第一个异常开始时间点确定对象间距异常的异常开始时间点,比如说,将排序后的第一个异常开始时间点作为对象间距异常的异常开始时间点。

比如说,假设当前批次的轨迹数据包括轨迹a1、轨迹a2和轨迹a3,基于步骤605和步骤606,可以得到轨迹a1与轨迹a2的异常开始时间点k1,轨迹a1与轨迹a3的异常开始时间点k2,轨迹a2与轨迹a3的异常开始时间点k3。

然后,按照时间先后的顺序对异常开始时间点k1、异常开始时间点k2和异常开始时间点k3进行排序,在对各异常开始时间点进行排序时,若某个异常开始时间点为指定数值(如0),则该异常开始时间点位于其它异常开始时间点的后面。假设排序结果为异常开始时间点k2、异常开始时间点k3、异常开始时间点k1,则将异常开始时间点k2作为对象间距异常的异常开始时间点。

步骤608,基于当前批次的轨迹数据的结束时间点确定异常结束时间点,比如说,可以将当前批次的该轨迹数据的结束时间点作为异常结束时间点。或者,在实际应用中,也可以将当前时间点作为异常结束时间点,对此不做限制。

步骤609,基于异常结束时间点(即对象间距异常的异常结束时间点)与异常开始时间点(即对象间距异常的异常开始时间点)确定异常持续时长,比如说,将异常结束时间点与异常开始时间点之间的差值作为异常持续时长。

步骤610,判断该异常持续时长是否大于预设时长阈值3,若是,则执行步骤611,若否,则结束当前批次的处理流程,等待下一个批次的轨迹数据。

步骤611,若该异常持续时长大于预设时长阈值3,则进行对象间距异常的告警,即目标场景内存在对象间距异常。比如说,可以产生对象间距异常的告警,并将对象间距异常的告警推送到客户端,客户端会有对象间距异常的告警效果产生,并会播放告警语音,并显示目标场景内的实时画面。

在一种可能的实施方式中,可以将告警划分为多个级别的告警,以划分为两个级别的告警为例,第一级别的告警称为预告警,第二级别的告警称为真告警,不同级别的告警有不同的告警效果,且播放不同的告警语音。比如说,若该异常持续时长大于第一预设时长阈值3(可以为预设时长阈值3的80%),则可以进行对象间距异常的预告警。若该异常持续时长大于第二预设时长阈值3(可以为预设时长阈值3),则可以进行对象间距异常的真告警。

关于异常告警的数据推送,当轨迹数据经过上述校验机制(参见图4、图5和图6所示)之后,产生单对象异常的告警、认证对象数量异常的告警、对象间距异常的告警中的至少一种时,可以将告警(如预告警或者真告警)推送到客户端,在3d模型地图上展示不同的动态告警效果及语音播报,提醒管理员及时对告警进行处理,通过这种方式极大的提高了目标场景内的对象操作的规范性,同时也能够对不确定因素进行记录,方便后续问题的排查。

基于与上述方法同样的申请构思,本申请实施例中提出一种异常告警装置,参见图7所示,为所述异常告警装置的结构示意图,所述装置可以包括:

获取模块71,用于获取目标场景的多个批次的轨迹数据;确定模块72,用于针对当前批次的轨迹数据,基于该轨迹数据确定所述目标场景是否存在目标类型异常;若是,则确定所述目标类型异常的异常开始时间点,并基于该轨迹数据的结束时间点确定所述目标类型异常的异常结束时间点;以及,基于所述异常结束时间点与所述异常开始时间点确定异常持续时长;告警模块73,用于若所述异常持续时长大于预设时长阈值,则对所述目标类型异常进行异常告警。

示例性的,所述目标类型异常包括所述目标场景内的单对象异常;所述确定模块72基于该轨迹数据确定所述目标场景是否存在目标类型异常时具体用于:基于该轨迹数据确定当前批次的轨迹数量;若所述轨迹数量为1,则确定所述目标场景存在所述目标类型异常;或者,若所述轨迹数量大于1,则确定所述目标场景不存在所述目标类型异常。该轨迹数据包括全局标识,所述确定模块72确定所述目标类型异常的异常开始时间点时具体用于:从所述目标场景的多个批次的轨迹数据中查询具有所述全局标识的所有候选轨迹数据,并按照时间先后的顺序对所有候选轨迹数据进行排序;若所有候选轨迹数据中的轨迹数量均为1,则基于第一个候选轨迹数据的开始时间点,确定所述目标类型异常的异常开始时间点;若所有候选轨迹数据中的轨迹数量不均为1,则基于最后一个存在至少两条轨迹的候选轨迹数据中除所述全局标识对应的轨迹之外的最后一条轨迹的结束时间点,确定所述目标类型异常的异常开始时间点。

示例性的,所述目标类型异常包括所述目标场景内的认证对象数量异常;所述确定模块72基于该轨迹数据确定所述目标场景是否存在目标类型异常时具体用于:基于该轨迹数据确定当前批次的认证对象的轨迹数量;若所述认证对象的轨迹数量大于或等于认证对象数量阈值,则确定所述目标场景不存在所述目标类型异常;或者,若所述认证对象的轨迹数量小于认证对象数量阈值,且当前批次的轨迹数量大于1,则确定所述目标场景存在所述目标类型异常。所述确定模块72确定所述目标类型异常的异常开始时间点时具体用于:若所述目标场景内的认证对象的轨迹数量逐渐增加,针对该轨迹数据包括的至少两个全局标识中的每个全局标识,基于所述目标场景的多个批次的轨迹数据,确定该全局标识对应的开始时间点;按照时间先后的顺序对所述至少两个全局标识对应的开始时间点进行排序,基于排序后的第二个开始时间点确定所述目标类型异常的异常开始时间点;或者,若所述目标场景内的认证对象的轨迹数量逐渐减少,则从所述目标场景的多个批次的轨迹数据中选取目标轨迹数据;目标轨迹数据中认证对象的轨迹数量为认证对象数量阈值,目标轨迹数据的前一批次的轨迹数据中认证对象的轨迹数量大于或等于认证对象数量阈值,目标轨迹数据的后一批次的轨迹数据中认证对象的轨迹数量小于认证对象数量阈值;基于所述目标轨迹数据的结束时间点,确定所述目标类型异常的异常开始时间点。

示例性的,所述目标类型异常包括所述目标场景内的对象间距异常;所述确定模块72基于该轨迹数据确定所述目标场景是否存在目标类型异常时具体用于:基于该轨迹数据确定当前批次的轨迹数量;若所述轨迹数量大于1,针对该轨迹数据中的任意两条轨迹,确定所述两条轨迹在同一目标时刻对应的两个物理坐标的间距;若所述间距大于对象间距阈值,则确定所述目标场景存在所述目标类型异常;或者,若所述间距小于或等于对象间距阈值,则确定所述目标场景不存在所述目标类型异常。所述确定模块72确定所述目标类型异常的异常开始时间点时具体用于:若所述间距大于对象间距阈值,则确定所述两条轨迹的异常开始时间点是否为指定数值,所述指定数值表示所述两条轨迹未被识别为异常轨迹;若是,则将所述两条轨迹的异常开始时间点更新为所述目标时刻;若否,则保持所述两条轨迹的异常开始时间点不变;或者,若所述间距小于或等于对象间距阈值,则将所述两条轨迹的异常开始时间点更新为所述指定数值;按照时间先后的顺序对任意两条轨迹的异常开始时间点进行排序,基于排序后的第一个异常开始时间点确定所述目标类型异常的异常开始时间点。

基于与上述方法同样的申请构思,本申请实施例中提出一种异常告警设备,所述异常告警设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现如下步骤:获取目标场景的多个批次的轨迹数据;针对当前批次的轨迹数据:基于该轨迹数据确定所述目标场景是否存在目标类型异常;

若是,则确定所述目标类型异常的异常开始时间点,并基于该轨迹数据的结束时间点确定所述目标类型异常的异常结束时间点;

基于所述异常结束时间点与所述异常开始时间点确定异常持续时长;

若所述异常持续时长大于预设时长阈值,则对目标类型异常进行异常告警。

基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的异常告警方法。

其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

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

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

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1