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

行为识别方法及装置、设备和存储介质

文献发布时间:2023-06-19 11:49:09


行为识别方法及装置、设备和存储介质

技术领域

本申请涉及计算机视觉领域,涉及但不限定于行为识别方法及装置、设备和存储介质。

背景技术

相关技术中的行为识别方法首先对输入的视频序列进行全图的数据增强或其他预处理,然后直接送入到分类模型中进行预测。也就是说,输入整个视频序列到网络模型,让网络模型去感知行为发生的执行主体的发生位置。这种方式依赖于执行主体占比画面很大的前提假设,只适用于以执行主体为中心的视频行为识别,该类数据常见于公开的视频学术数据集中。

然而在大规模视频数据下,行为发生的执行主体的数量不可预知,且视频中的每一帧图像往往包含更多的信息,覆盖的视野也更大,造成识别效果较低、计算量大。

发明内容

本申请实施例提供一种行为识别方法及装置、设备和存储介质。

本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种行为识别方法,所述方法包括:获取待识别视频序列中每一帧图像中每一对象的检测结果;根据每一所述对象的检测结果,生成至少一个第一序列;其中,每一所述第一序列为包括同一对象的轨迹序列;对每一所述第一序列进行行为识别,得到每一所述对象的行为识别结果。

这样,首先获取每一帧图像中每一对象的检测结果,以确定单个对象在待识别视频序列中准确的轨迹序列即第一序列,然后对至少一个第一序列进行行为识别。通过利用视频分类算法与检测算法的结合,将单帧行为识别算法拓展为一个具有时序关系的行为识别算法。将视频分类问题转换成轨迹序列的识别问题,能够减小模型的识别难度,并提升有效信息的获取。同时拓展了视频理解模型的边界,发挥了视频理解模型的潜力,也是对现有视频理解模型落地应用的体现。

在一些可能的实施方式中,所述待识别视频序列是通过以下过程得到的:按照特定时间间隔,从视频源中选取至少两帧图像;将所述至少两帧图像存入帧序列缓冲区;其中,所述帧序列缓冲区的长度固定;获取所述帧序列缓冲区中的帧图像作为所述待识别视频序列。

这样,通过间隔特定时间间隔采样视频源中的多帧图像,构造滑窗式帧序列缓冲区,一方面是能高效处理离线长视频和在线视频流,并行处理每个窗口内的视频帧序列;另一方面,以固定大小的窗口作为基本处理单元可以保证采样的合理性,捕捉动作执行的全局过程。

在一些可能的实施方式中,所述对象的检测结果至少包括所述对象的检测框和与所述检测框关联的对象标识;所述根据每一所述对象的检测结果,生成至少一个第一序列,包括:从每一所述对象的检测框中,选择在空间位置上独立的检测框作为候选检测框;根据所述候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列。

这样,从每一帧图像包含的所有对象的检测框中,筛选出每一单个对象的候选检测框,再根据候选检测框生成至少一个第一序列。从而只对容易发生行为的独立单个对象进行识别,能够减小行为识别模型的识别难度,减少模型计算量。

在一些可能的实施方式中,所述每一帧图像中包括一个检测框,所述从每一所述对象的检测框中,选择在空间位置上独立的检测框作为候选检测框,包括:将所述每一帧图像中的一个检测框作为所述候选检测框。

这样,对于每一帧图像中包括一个检测框即该待识别视频序列中只有一个对象的情况,直接将该对象的检测框作为候选检测框,以方便后续生成轨迹序列,能够简化操作,有效提取有用信息。

在一些可能的实施方式中,所述每一帧图像中包括至少两个检测框,所述从每一所述对象的检测框中,选择在空间位置上独立的检测框作为候选检测框,包括:确定所述每一帧图像中的至少两个检测框之间的交并比;根据所述交并比,生成所述每一帧图像对应的邻接矩阵;将所述邻接矩阵中匹配次数为零的检测框作为所述候选检测框。

这样,对于每一帧图像中包括多个检测框即该待识别视频序列中包含多个对象的情况,通过计算任意两个检测框之间的交并比,并统计每一检测框的匹配次数,从而能够准确筛选出与其他检测框没有重叠的候选检测框,以方便后续生成轨迹序列,有效提取有用信息。

在一些可能的实施方式中,获取待识别视频序列中每一帧图像中每一对象的检测结果之后,还包括:对每一所述对象的检测框,向外扩展特定比例,得到扩展后的检测框;从所述扩展后的检测框中筛选至少两个第一检测框;其中,所述第一检测框的面积大于所述扩展后的检测框中其他检测框;确定所述至少两个第一检测框之间的交并比。

这样,通过对获取的每一对象的检测框进行向外扩展,并按面积选取至少两个第一检测框进行交并比的计算,能够增大图像的分辨率,以方便计算检测框之间的交并比,并快速找到可能发生单个对象行为的候选检测框,提升检测效果。

在一些可能的实施方式中,所述根据所述候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列,包括:对与每一所述对象标识关联的候选检测框在空间位置上取并集,得到与每一所述对象标识对应的最小包围框;根据所述最小包围框,截取所述每一帧图像中与所述最小包围框对应的区域图像;按照所述每一帧图像的时间戳,依次连接所述区域图像,得到与每一所述对象标识对应的第一序列。

这样,通过计算每一对象标识即每个单个对象的最小包围框,以最小包围框截取每一帧图像中的区域图像,能够避免行为主体(即行为发生的执行主体)的相对位置丢失,对于空间相似但运动节奏不同的行为识别有较好的性能提升。

在一些可能的实施方式中,所述候选检测框为从所述至少两个第一检测框中选择的,所述根据所述候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列,包括:对所述候选检测框,按照所述特定比例进行内缩,得到原始尺寸的候选检测框;根据所述原始尺寸的候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列。

这样,对于从所述至少两个第一检测框中选择的候选检测框,在生成每一第一序列之前需要按照原比例内缩,确保最终进入行为识别阶段的轨迹序列为单个对象原始的运动轨迹,避免产生额外的计算量。

在一些可能的实施方式中,还包括:确定所述区域图像中除去所述候选检测框之外的噪声区域;利用纯色背景填充所述噪声区域,得到目标区域图像;按照所述每一帧图像的时间戳,依次连接所述目标区域图像,得到与每一所述对象标识对应的第一序列。

这样,对于最小包围框截取的区域图像中除候选检测框以外的噪声区域,进行纯色背景填充处理,再根据处理后的目标区域图像生成轨迹序列,能够解决因为检测框裁剪丢失相对运动信息的问题,同时利用纯色背景填充能够有效减少行为识别模型的计算量,对于空间相似但运动节奏不同的行为识别有较好的性能提升。

在一些可能的实施方式中,所述对每一所述第一序列进行行为识别,得到每一所述对象的行为识别结果,包括:将每一所述第一序列送入到行为识别模型中,得到每一所述第一序列的判别分数;根据每一所述第一序列的判别分数,确定每一所述对象的行为识别结果。

这样,分别对每一第一序列进行识别得到各自的判别分数,然后得到相应第一序列对应的单个对象的行为识别结果,能够将视频分类问题转换成轨迹序列的识别问题,在减小行为识别模型的识别难度的同时提升有效信息的获取。

在一些可能的实施方式中,还包括:在所述第一序列的判别分数大于行为阈值的情况下,确定相应第一序列对应的单个对象行为发生的空间位置和行为类别;根据所述空间位置和行为类别,确定告警内容;根据所述告警内容向所述空间位置对应的终端设备发送告警通知,以使持有所述终端设备的管理人员处理所述单个对象行为。

这样,在所述第一序列的判别分数大于行为阈值即检测到相应单个对象行为的情况下,系统就会自动识别出行为主体并告警,给相关需求的人员提供了一个高效而便捷的检测能力。

第二方面,本申请实施例提供一种行为识别装置,包括获取模块、第一确定模块和识别模块,其中:所述获取模块,用于获取待识别视频序列中每一帧图像中每一对象的检测结果;所述第一确定模块,用于根据每一所述对象的检测结果,确定所述待识别视频序列中每一第一序列;所述识别模块,用于对每一所述第一序列进行行为识别,得到每一所述对象的行为识别结果。

第三方面,本申请实施例提供一种行为识别设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述行为识别方法中的步骤。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述行为识别方法中的步骤。

附图说明

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

图1A为本申请实施例提供的行为识别的一种网络架构示意图;

图1B为本申请实施例提供的一种行为识别方法的流程示意图;

图2为本申请实施例提供的确定待识别视频序列的流程示意图;

图3为本申请实施例提供的又一种行为识别方法的流程示意图;

图4为本申请实施例提供的生成至少一个第一序列的流程示意图;

图5为本申请实施例提供的再一种行为识别方法的流程示意图;

图6A为本申请实施例提供的单人行为识别算法的系统框图;

图6B为本申请实施例提供的单人行为识别算法的逻辑流程图;

图6C为本申请实施例提供的预处理后的输入轨迹序列样例示意图;

图6D为本申请实施例提供的空间运动掩膜裁剪的效果示意图;

图7为本申请实施例提供的一种行为识别装置的组成结构示意图;

图8为本申请实施例提供的一种行为识别设备的硬件实体示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。以下实施例用于说明本申请,但不用来限制本申请的范围。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请实施例所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

视频中的行为识别是计算机视觉领域的一个重要应用,在智慧城市领域有着广泛的应用。随着现代通信能力的增强,在智慧城市的建设进程中,视频源越来越丰富。但是对这些视频源的利用仅仅停留在看或查的能力上,大部分决策能力还是需要大量的人力完成。随着云计算带来的算力提升,深度学习带来的智力的提升,可以充分利用深度学习的优势使得采集视频源的设备有一定的自动化决策能力。本申请实施例可应用于危险地带及时检测不安全事故如是否有人摔倒或者有小动物落水等行为,以便及时采取保护措施。

图1A为本申请实施例提供的行为识别的一种网络架构示意图,如图1A所示,该网络架构中包括:摄像头101、对象检测模块102、预处理模块103和视频识别模块104:其中,对象检测模块102、预处理模块103和视频识别模块104可以设置于服务器100中,为实现支撑一个示例性应用,摄像头101通过网络和服务器100建立通信连接。通过摄像头101采集特定场景下的视频,然后采样得到待识别视频序列11即包含目标对象的多帧图像,将待识别视频序列11输入到对象检测模块102中;对象检测模块102可以充分利用相关检测算法如帧间差分法、背景减除法、光流法等等实现对待识别视频序列11中目标对象的定位和分析,得到带检测结果(标注目标对象的检测框和对象标识)的多帧图像12;然后通过预处理模块103对带检测结果的多帧图像12进行处理,基于每一帧图像中每一对象的检测框和对象标识,生成至少一个第一序列13,该第一序列为的单个对象的轨迹序列;将至少一个第一序列13输入到视频识别模块104中;视频识别模块104可以充分利用相关视频理解模型对每一第一序列进行行为识别,最后输出视频层面的识别结果。基于该网络架构,可以设计一种包括对象定位和行为识别两个阶段的行为识别方法框架。其中对象定位阶段可以灵活的使用现有所有对象检测算法,行为识别阶段充分利用现有视频理解模型,拓展了视频理解模型的边界,发挥了视频理解模型的潜力,也是对现有视频理解模型落地应用的体现。

本申请实施例提供一种行为识别方法,应用于服务器、终端设备或其他设备。其中,所述终端设备包括但不限于手机、笔记本电脑、平板电脑和掌上上网设备、多媒体设备、流媒体设备、移动互联网设备、可穿戴设备或其他类型的设备。

图1B为本申请实施例提供的一种行为识别方法的流程示意图,如图1B所示,所述方法至少包括以下步骤:

步骤S110,获取待识别视频序列中每一帧图像中每一对象的检测结果。

这里,待识别视频序列为对视频源进行采样得到的。视频源中的每一帧图像,往往覆盖的视野比较广阔,包含较多的信息,如行人、车辆、动物、建筑物以及其他复杂的背景信息。

可以理解的,待识别视频序列为由多帧图像构成的帧序列,其中每一帧图像中可以能包含至少一个对象或者未包含对象,不同的帧图像包含的对象也不一定相同。这里的对象可以是行人,也可以是移动车辆、动物等,在实施中根据实际场景确定,本申请实施例对此不作限定。

可以理解的,图像中的每一对象可以是符合一定条件的对象,在实施的过程中,对象满足一定的条件可以是:对象所在的图像区域在图像画面中所占的比例大于一定的比例阈值,或者,对象的类型属于某一预设类型等的,例如对象所在的图像区域在图像画面中所占的比例大于10%,对象的类型属于移动对象,例如动物,可自由移动的机器设备如扫地机等。

图像中的对象可以认为是潜在的行为发生的执行主体,由此,行为识别方法采用分类模型识别时,分类模型将对图像中的每一对象进行预测。

可以通过相关图像或视频处理技术实现对视频图像中对象的检测和定位分析,例如对象检测算法对该待识别视频序列进行预处理,得到多帧带检测框的图像,然后提取每一帧图像中所述对象的检测框。其中,检测算法比如模板匹配,对于视频中运动目标检测,可以通过帧间差分法、背景减除法、光流法等等实现,本申请实施例对此不作限定。

这里,所述对象的检测结果至少包括对象的检测框和与所述检测框关联的对象标识。对于待识别视频序列中出现的不同对象,通过对象检测后会得到每一对象的检测结果和与检测框关联的唯一对象标识。即不同对象的检测框通过相应的对象标识区分,以便后续自动识别发生行为的主体并及时处理。

步骤S120,根据每一所述对象的检测结果,生成至少一个第一序列。

这里,所述第一序列为包括同一对象的轨迹序列,即单个行为主体在待识别视频序列所持续的时间段内的位置序列。

基于所述待识别视频序列中帧图像所包含对象的检测框,筛选出属于每一单个对象的检测框,然后将每一单个对象的检测框按时间顺序拼接即生成一个第一序列。

通过利用相关检测算法进行行为主体的定位,可以获得准确的行为发生区间即检测框所在的位置区间,从而进一步生成每一个第一序列。

步骤S130,对每一所述第一序列进行行为识别,得到每一所述对象的行为识别结果。

这里,将上一步骤得出的一个或多个第一序列一起送入行为识别模型中,获取不同行为的判别分数。也就是说,将待识别视频序列中的多个单个对象的行为轨迹序列进行独立行为识别,确认每一第一序列经过网络模型后的判别分数,如果存在至少一个判别分数高于某个给定的阈值,则输出该第一序列对应的单个对象的行为,例如一个老人跌倒、一个小孩躺卧、一只小狗落水等行为;如果不存在任一个判别分数高于某个给定的阈值,则确定该待识别视频序列中不存在单个对象的行为。

需要说明的是,步骤S110中可以灵活的使用相关检测算法进行行为主体的准确定位和分析,步骤S130中的行为识别过程中可以充分利用现有视频理解模型,结合这两个步骤构建了基于对象定位阶段和行为识别阶段两阶段的行为识别的算法框架,可以适应于更多覆盖视野大、包含更多信息的视频信息,如室外的城市街道场景以及室内的轨道交通等场景下获取的视频源。

在本申请实施例中,首先,获取待识别视频序列中每一帧图像中每一对象的检测结果;然后,根据每一所述对象的检测结果,生成所述待识别视频序列中至少一个第一序列;最后,对每一所述第一序列进行行为识别,得到每一所述对象的行为识别结果;如此,通过获取每一帧图像中每一对象的检测结果,以确定单个对象在待识别视频序列中准确的轨迹序列,然后对每一第一序列进行行为识别,将单帧行为识别算法拓展为一个具有时序关系的行为识别算法。从而将视频分类问题转换成轨迹序列的识别问题,能够减小模型的识别难度,并提升有效信息的获取。同时拓展了视频理解模型的边界,发挥了视频理解模型的潜力,也是对现有视频理解模型落地应用的体现。

图2为本申请实施例提供的确定待识别视频序列的流程示意图,如图2所述,所述流程至少包括以下步骤:

步骤S210,按照特定时间间隔,从视频源中选取至少两帧图像。

这里,所述特定时间间隔为根据线上部署的识别模型所允许的检测周期/频率(例如3秒一次检测频率)和设定的采样帧数对应的采样间隔,例如采样8帧,则特定时间间隔为3/8秒。在实施中可以根据实际情况设定,本申请实施例对此不作限定。

步骤S220,将所述至少两帧图像存入帧序列缓冲区。

这里,所述帧序列缓冲区的长度固定,也就是固定需要检测的视频序列的采样帧数。

步骤S230,获取所述帧序列缓冲区中的帧图像作为所述待识别视频序列。

这里,通过特定时间间隔获取每一帧图像存入固定长度的帧序列缓冲区,并当存入的图像帧数超过帧序列缓冲区的最长长度时,将帧序列缓冲区中时间最早的第一帧图像弹出,从而形成长度固定的滑动窗。

本申请实施例通过间隔特定时间间隔采样视频序列中的多帧图像,构造滑窗式帧序列缓冲区,一方面是能高效处理离线长视频和在线视频流,并行处理每个窗口内的视频帧序列;另一方面,以固定大小的窗口作为基本处理单元可以保证采样的合理性,捕捉动作执行的全局过程。

在一些其他实施例中,所述对象的检测结果至少包括所述对象的检测框和与所述检测框关联的对象标识;图3为本申请实施例提供的又一种行为识别方法的流程示意图,如图3所述,上述步骤S120“根据每一所述对象的检测结果,生成至少一个第一序列”可以通过以下步骤实现:

步骤S310,从每一所述对象的检测框中,选择在空间位置上独立的检测框作为候选检测框。

这里,所述在空间位置上独立的检测框可以为每一帧图像中稀疏区域的检测框,或者与其他检测框之间无重叠部分的检测框。

通常认为独立的对象容易发生单个对象行为,因此从每一帧图像包含的所有对象的检测框中,筛选出每一单个对象的候选检测框。

可以通过以下方式实现“从每一所述对象的检测框中,选择在空间位置上独立的检测框作为候选检测框”的过程:

方式一:在所述每一帧图像中包括一个检测框的情况下,将所述每一帧对象中的一个检测框作为所述候选检测框。

这里,每一帧图像中包括一个检测框说明该检测框对应的对象为单个对象,容易发生单个对象行为。

方式二:在所述每一帧图像中包括至少两个检测框的情况下,确定所述每一帧图像中的至少两个检测框之间的交并比;根据所述交并比,生成所述每一帧图像对应的邻接矩阵;将所述邻接矩阵中匹配次数为零的检测框作为所述候选检测框。

这里,每一帧图像中包括至少两个检测框说明该待识别视频序列中包含多个对象,这多个对象在每一帧图像中的空间位置可以聚集在同一位置附近,也可以相对分散的分布在不同位置,也可以部分聚集部分分散分布。本申请实施例期望找出其中分散的单个对象的检测框进行后续处理。

每两个检测框之间的交并比(Intersection over Union,IoU)是两个区域重叠的部分除以两个区域的集合部分得出的结果。邻接矩阵中(i,j)的值代表帧图像中检测框i和检测框j的交并比。将第i行中数值大于0的个数(除了自身)作为检测框i的匹配次数。

需要说明的是,如果邻接矩阵中不存在与检测框i之间的交并比大于0的其他检测框,那么检测框i的匹配次数为0,说明该检测框i与所在帧图像中其他检测框之间没有重叠区域,可以作为单个对象的候选检测框。

在一些其他的实施例中,在所述每一帧图像中包括至少两个检测框的情况下,首先对每一所述对象的检测框,向外扩展特定比例,得到扩展后的检测框;从所述扩展后的检测框中筛选至少两个第一检测框;其中,所述第一检测框的面积大于所述扩展后的检测框中其他检测框;然后,确定所述至少两个第一检测框之间的交并比。例如,在所述特定比例为1.5倍的情况下,将每一所述对象的检测框的长和宽都扩展1.5倍。这样能够增大图像分辨率,从而能更好地计算相互重叠的检测框之间的交并比。

步骤S320,根据所述候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列。

这里,所述候选检测框可以在待识别视频序列中的每一帧图像中出现,也可以只在一部分帧中出现。将所有待识别视频序列中出现的与每一对象标识关联的候选检测框按照时间顺序连接起来,即可生成每一第一序列。

在一些其他的实施例中,所述候选检测框为从所述至少两个第一检测框中选择的,首先对所述候选检测框,按照所述特定比例进行内缩,得到原始尺寸的候选检测框;然后根据所述原始尺寸的候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列。这样,对于从所述至少两个第一检测框中选择的候选检测框,在生成每一第一序列之前需要按照原比例内缩,确保最终进入行为识别阶段的轨迹序列为单个对象原始的运动轨迹,避免产生额外的计算量。

在实施中,图4为本申请实施例提供的生成至少一个第一序列的流程示意图,如图4所示,可以通过以下步骤确定每一所述第一序列:

步骤S3201,对与每一所述对象标识关联的候选检测框在空间位置上取并集,得到与每一所述对象标识对应的最小包围框。

这里,对于所述候选检测框在不同帧图像上的空间位置可能是移动的,通过取并集合并成一个较大的区域作为最小包围框。例如,将滑窗内的视频帧序列中属于同一个ID(Identity document,身份标识)的行人检测框在空间位置上取并集,得到这个行人在视频帧序列中的最小包围框。

步骤S3202,根据所述最小包围框,截取所述每一帧图像中与所述最小包围框对应的区域图像。

这样,以最小包围框截取每一帧图像中的区域图像,能够避免行为主体的相对位置丢失,对于空间相似但运动节奏不同的行为识别有较好的性能提升。

值得注意的是,在截取区域图像的时候,可能存在某些帧图像中并未出现某个特定对象。这种情况下,可以用视频帧序列中其他帧图像中属于该特定对象的候选检测框进行取并集操作,得到属于该特定对象的最小包围框,并用最小包围框同时截取纯色背景的区域图像。

示例地,采样8帧图像,属于同一个ID的行人可能只出现在8帧中的前7帧,对于不出现该行人的第8帧用-1进行补全。即用该行人在前7帧中计算出的最小包围框对纯色背景进行裁剪,从而根据所有裁剪的区域图像生成该行人最终的轨迹序列,有效解决了基于单人持续检测容易出现目标丢失问题。

步骤S3203,确定所述区域图像中除去所述候选检测框之外的噪声区域。

这里,截取后的区域图像中除去候选检测框之外的区域,对行为识别的识别结果意义不大,可以作为噪声区域。

步骤S3204,利用纯色背景填充所述噪声区域,得到目标区域图像。

这里,由于在检测定位阶段只将单个对象的候选检测框提取出来,丢失了相对运动信息,例如对于跑步、走路这类单人行为动作,由于其动作形式和动作幅度相似,很难见其区分。本申请实施例对提取的检测框保持空间位置的同时,将周围的噪声区域用纯色背景填充,即利用空间运动掩膜(mask)保持行为主体的空间相对位置信息。

步骤S3205,按照所述每一帧图像的时间戳,依次连接所述目标区域图像,得到与每一所述对象标识对应的第一序列。

这里,将属于每一对象标识的目标区域图像按照所述每一帧图像的时间戳连接起来,即得到与每一所述对象标识对应的第一序列。

本申请实施例通过对筛选的单个对象的候选检测框在空间位置上取并集,得到每个单个对象的最小包围框,从而根据最小包围框截取每一帧图像的区域图像,并对区域图像的噪声背景进行填充,最终连接处理后的区域图像得到每一第一序列。借助待识别视频序列的检测结果,将待识别视频序列拆分成若干个对象人的轨迹序列,将视频分类问题转换成轨迹序列的识别问题,能够减小模型的识别难度,并提升有效信息的获取。同时,利用空间运动掩膜解决以往算法丢失相对运动信息问题,特别是对于跑步、走路等空间相似但空间运动节奏不同的动作有较好的性能提升。

图5为本申请实施例提供的再一种行为识别方法的流程示意图,如图5所述,所述方法包括以下步骤:

步骤S510,获取待识别视频序列中每一帧图像中每一对象的检测结果。

这里,对于滑动窗口内的视频帧序列,通过相关检测算法获取每一帧图像中每一对象的检测结果即每一对象的检测框和与检测框关联的对象标识。

步骤S520,根据每一所述对象的检测结果,生成至少一个第一序列。

这里,所述第一序列为包括同一对象的轨迹序列。根据上一步骤获得的每一帧图像中每一对象的检测结果,将属于同一单个对象的检测框(或者基于检测框确定的最小包围区域)分别连接起来,形成每一单个对象的轨迹序列。

步骤S530,将每一所述第一序列送入到行为识别模型中,得到每一所述第一序列的判别分数。

这里,将每一第一序列经过行为识别模型,得到各自的分类结果,即如果判别分数高于某个特定阈值,则输出异常;否则为正常。

步骤S540,根据每一所述第一序列的判别分数,确定每一所述对象的行为识别结果。

这里,在存在任一判别分数大于行为阈值的情况下,确定所述待识别视频序列中存在单个对象行为;或者在不存在任一判别分数大于特定阈值的情况下,确定所述待识别视频序列为不存在单个对象行为。

步骤S550,在所述第一序列的判别分数大于行为阈值的情况下,确定相应第一序列对应的单个对象行为发生的空间位置和行为类别。

这里,通过上一步骤识别出待识别视频序列中的单个对象行为,然后根据该单个对象对应检测框在帧图像中的位置坐标,标记单个对象行为发生的空间位置和行为类别。行为类别为针对单个对象行为,经过训练好的行为识别模型能输出的类别,如跌倒、攀爬、发传单等行为。

步骤S560,根据所述空间位置和行为类别,确定告警内容。

这里,通过对单个对象行为的执行主体进行标记,可以进一步将标记的空间位置和行为类别生成告警内容。

步骤S570,根据告警内容向所述空间位置对应的终端设备发送告警通知。

可以理解的,不同的位置区域有对应的持有终端设备的管理人员,通过终端设备接收告警系统的通知,可以快速定位和处理该位置区域内发生的单个对象行为。

在本申请实施例中,借助待识别视频序列的每一对象的检测结果,将待识别视频序列拆分成若干个对象的轨迹序列,将视频分类问题转换成轨迹序列的识别问题,能够减小模型的识别难度,同时提升有效信息的获取。在室外的城市街道场景以及室内的轨道交通等场景下发生危害生命安全的行为后,系统就会自动识别出行为主体并告警,给相关需求的人员提供了一个高效而便捷的检测能力。

下面结合一个具体实施例对上述行为识别方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。

本申请实施例以对象为行人为例进行说明。对于单人行为识别的主要任务是首先对出现在视频源中的单个行人进行检测,锁定行为主体,然后对该行为主体进行持续检测,识别出具体行为。当行为主体执行危害生命安全的行为时需要对该行人预警。这样的流程使得采集视频源的设备具有自主化和智能化的判别能力,可以给日常城市管理带来极大的效率提升。

传统的行为识别方法通常对输入的视频序列进行全图的数据增强或其他预处理后送入到分类模型中进行预测,然而这种方式只适用于以人为中心的视频行为识别,该类数据常见于公开的视频学术数据集中。对于其他视频源中的图像来说,每帧图像中往往包含更多的信息,覆盖的视野也更大。为此,本申请实施例利用行人检测算法来进行行为主体的定位,并获得准确的行为发生区间,以此构建单人行为识别算法。

基于单人行为识别问题,本申请实施例通过调用上游检测组件获取视频图像中的行人检测框,基于行人检测框来生成多个行人检测框轨迹序列,对每个行人的轨迹序列进行行为识别。图6A为本申请实施例提供的单人行为识别算法的系统框图,如图6A所示,将标有行人检测框的视频序列61经过预处理,得到三个单人各自的轨迹序列即轨迹序列611、轨迹序列612和轨迹序列613,再经过已训练的行为识别网络62分别对每个轨迹序列进行行为识别,得到轨迹序列611对应的判别分数621、轨迹序列612对应的判别分数622和轨迹序列613对应的判别分数623,最后,再将视频序列61中所有的轨迹序列的判别分数进行合并,得到该视频序列61的识别结果63。

图6B为本申请实施例提供的单人行为识别算法的逻辑流程图,如图6B所示,该流程包括以下步骤:

步骤S601,构造滑窗式的视频帧序列缓冲区。

对于获取的一段待识别视频,根据预设的采样间隔获取一帧(frame)图像,并放入视频帧序列缓冲区(frame_buffer)。在实施中,根据线上允许的检测周期/频率(例如3秒一次检测频率),明确固定采样帧数下的采样间隔,例如采样8帧图像的情况下,采样间隔为3/8秒。当该视频帧序列缓冲区中的图像帧数超过最大缓冲区范围(max_buffer_size)时,将该视频帧序列缓冲区中的第一帧图像弹出。

构造滑窗式视频帧序列缓冲区一方面能高效处理离线长视频和在线视频流,并行处理每个窗口内的视频帧序列。另一方面以固定大小的窗口作为基本处理单元可以保证采样的合理性,捕捉动作执行的全局过程。

步骤S602,定义行人轨迹序列的数量。

对于当前视频帧序列缓冲区内的每一帧图像,首先对所有的行人检测框的宽和高均扩展1.5倍。然后根据所有的行人检测框,得到邻接矩阵。例如按面积选取前10个行人检测框,构建10x10的邻接矩阵,其中邻接矩阵中元素(i,j)的值代表检测框i和检测框j之间的交并比。如果不存在行人检测框,则跳过生成邻接矩阵的步骤。

计算检测框i的匹配次数时,可以将第i行中邻接矩阵中(i,j)的值大于0的个数(忽略与自身的交并比)作为匹配次数。根据邻接矩阵,从每一帧图像中筛选出匹配次数为0的行人检测框作为稀疏检测框,从而每一帧图像中稀疏检测框的数量即为行人轨迹序列的数量。通常认为独立的行人容易发生单人行为,因此本申请实施例对与其他行人检测框之间无重叠的行人检测框进行分析处理,能够提高单人行为识别的效率。

步骤S603,确定行人的轨迹序列。

对上一步确定的稀疏检测框进行帧间行人检测框的ID匹配,根据不同的ID,可以得到不同行人的轨迹序列。

首先将确定的稀疏检测框内缩1.5倍来恢复分辨率。然后对于每个ID在当前视频帧序列缓冲区内所有帧图像的稀疏检测框,计算最小包围框,也就是将视频帧序列缓冲区中属于同一个行人的稀疏检测框在空间位置上取并集,得到该行人在当前视频帧序列中的最小包围框。最终将最小包围框裁剪(crop)每一帧图像出来对应的区域图像连接,生成每个行人的轨迹序列。图6C为本申请实施例提供的预处理后的输入轨迹序列样例示意图,如图6C所示,为以小孩为执行主体的轨迹序列,可以看出,该轨迹序列是基于采集的8帧图像,然后利用包含小孩识别结果的最小包围框,分别截取8帧图像得到的区域图像连接起来形成的。

对于该视频帧序列缓冲区中的所有帧图像,可能存在一些帧缺失同一ID的行人的情况,例如采样8帧图像,属于同一个ID的行人可能只出现在8帧中的前7帧,对于不出现该行人的第8帧用-1进行补全。即用该行人在前7帧中计算出的最小包围框对纯色背景进行裁剪,从而根据所有裁剪的区域图像生成该行人最终的轨迹序列。有效解决了基于单人持续检测容易出现目标丢失问题。

步骤S604,将多个行人的轨迹序列送入行为识别模型,确定识别结果。

将上一步确定的多个行人的轨迹序列送入行为识别模型中获取不同行为的判别分数。观察每个行人的轨迹序列经过行为识别模型后的输出分数,如果高于某个给定的阈值,则输出对应的单人行为,否则表示当前视频帧序列不存在单人行为。

本申请实施例提供的单人行为识别算法可以广泛应用于智能视频分析中的行为识别中。例如,在室外的城市街道场景以及室内的轨道交通等场景下发生危害生命安全的行为后,系统就会自动识别出行为主体并报警,给相关需求的人员提供了一个高效而便捷的检测能力。

对于跑步,走路这类单人行为动作。由于其动作形式和动作幅度相似,很难见其区分。在行人检测框提取阶段,由于将行人裁剪出来,丢失了相对运动信息。为了解决这种相对运动信息丢失问题,设计了一种MaskAttention裁剪法来保持行人裁剪同时又不丢失相对运动信息,将裁减的行人区域保持其空间位置同时周围用纯色背景填充。如图6D所示,对于每帧用最小包围框裁剪的区域图像,该区域图像中除行人检测框外的部分都用纯色背景填充。由于最小包围框是根据多帧图像里的行人检测框取并集得到的,因此,最小包围框和行人检测框的相对位置已知,从而保持了行人的相对运动信息。

本申请实施例充分利用现有行人识别算法并设计了一套两阶段的单人行为识别算法框架,行人定位阶段可以灵活的使用现有所有行人识别算法,行为识别阶段充分利用现有视频理解模型,拓展了视频理解模型的边界,发挥了视频理解模型的潜力,也是对现有视频理解模型落地应用的体现。不同于以往的单帧行为识别算法,通过利用视频分类算法与检测算法的结合,将单帧行为识别算法拓展为一个具有时序关系的行为识别算法。

本申请实施例同时使用了空间运动掩膜裁剪法来保持行为主体的空间相对位置信息。由于行人检测导致行为主体的相对位置丢失,利用空间运动掩膜解决以往算法丢失相对运动信息问题。特别是对于跑步、走路等空间相似但空间运动节奏不同的动作有较好的性能提升。

基于前述的实施例,本申请实施例再提供一种行为识别装置,所述识别装置包括所包括的各模块、以及各模块所包括的各单元,可以通过行为识别设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CentralProcessing Unit,CPU)、微处理器(Micro Processing Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable GateArray,FPGA)等。

图7为本申请实施例提供的一种行为识别装置的组成结构示意图,如图7所示,所述识别装置700包括获取模块710、第一确定模块720和识别模块730,其中:

所述获取模块710,用于获取待识别视频序列中每一帧图像中每一对象的检测结果;

所述第一确定模块720,用于根据每一所述对象的检测结果,生成至少一个第一序列;其中,每一所述第一序列为包括同一对象的轨迹序列;

所述识别模块730,用于对每一所述第一序列进行行为识别,得到每一所述对象的行为识别结果。

在一些可能的实施例中,所述识别装置700还包括选取模块、存储模块和第二确定模块,其中:所述选取模块,用于按照特定时间间隔,从视频源中选取至少两帧图像;所述存储模块,用于将所述至少两帧图像存入帧序列缓冲区;其中,所述帧序列缓冲区的长度固定;所述第二确定模块,用于获取所述帧序列缓冲区中的帧图像作为所述待识别视频序列。

在一些可能的实施例中,所述对象的检测结果至少包括所述对象的检测框和与所述检测框关联的对象标识;所述第一确定模块720包括第一确定子模块和第二确定子模块,其中:所述第一确定子模块,用于从每一所述对象的检测框中,选择在空间位置上独立的检测框作为候选检测框;所述第二确定子模块,用于根据所述候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列。

在一些可能的实施例中,所述每一帧图像中包括一个检测框,所述第一确定子模块还用于将所述每一帧图像中的一个检测框作为所述候选检测框。

在一些可能的实施例中,所述每一帧图像中包括至少两个检测框,所述第一确定子模块包括第一确定单元、生成单元和第二确定单元,其中:所述第一确定单元,用于确定所述每一帧图像中的至少两个检测框之间的交并比;所述生成单元,用于根据所述交并比,生成所述每一帧图像对应的邻接矩阵;所述第二确定单元,用于将所述邻接矩阵中匹配次数为零的检测框作为所述候选检测框。

在一些可能的实施例中,所述第一确定子模块还包括扩展单元和选取单元,其中:所述扩展单元,用于对每一所述对象的检测框,向外扩展特定比例,得到扩展后的检测框;所述选取单元,用于从所述扩展后的检测框中筛选至少两个第一检测框;其中,所述第一检测框的面积大于所述扩展后的检测框中其他检测框;相应地,所述第一确定单元,还用于确定所述至少两个第一检测框之间的交并比。

在一些可能的实施例中,所述第二确定子模块包括第三确定单元、截取单元和连接单元,其中:所述第三确定单元,用于对与每一所述对象标识关联的候选检测框在空间位置上取并集,得到与每一所述对象标识对应的最小包围框;所述截取单元,用于根据所述最小包围框,截取所述每一帧图像中与所述最小包围框对应的区域图像;所述连接单元,用于按照所述每一帧图像的时间戳,依次连接所述区域图像,得到与每一所述对象标识对应的第一序列。

在一些可能的实施例中,所述候选检测框为从所述至少两个第一检测框中选择的,所述第二确定子模块还包括内缩单元和确定单元,其中:所述内缩单元,用于对所述候选检测框,按照所述特定比例进行内缩,得到原始尺寸的候选检测框;所述确定单元用于根据所述原始尺寸的候选检测框和与所述候选检测框关联的对象标识,生成所述至少一个第一序列。

在一些可能的实施例中,所述第二确定子模块还包括第四确定单元和填充单元,其中:所述第四确定单元,用于确定所述区域图像中除去所述候选检测框之外的噪声区域;所述填充单元,用于利用纯色背景填充所述噪声区域,得到目标区域图像;相应地,所述连接单元,还用于按照所述每一帧图像的时间戳,依次连接所述目标区域图像,得到与每一所述对象标识对应的第一序列。

在一些可能的实施例中,所述识别模块730包括识别子模块和第三确定子模块,其中:所述识别子模块,用于将每一所述第一序列送入到行为识别模型中,得到每一所述第一序列的判别分数;所述第三确定子模块,用于根据每一所述第一序列的判别分数,确定所述每一所述对象的行为识别结果。

在一些可能的实施例中,所述识别装置700还包括第三确定模块、第四确定模块和发送模块,其中:所述第三确定模块,用于在所述第一序列的判别分数大于行为阈值的情况下,确定相应第一序列对应的单个对象行为发生的空间位置和行为类别;所述第四确定模块,用于根据所述空间位置和行为类别,确定告警内容;所述发送模块,用于根据所述告警内容向所述空间位置对应的终端设备发送告警通知,以使持有所述终端设备的管理人员处理所述单个对象行为。

这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述行为识别方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得行为识别设备(可以是具有摄像头的智能手机、平板电脑等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中任一所述行为识别方法中的步骤。

对应地,本申请实施例中,还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现上述实施例中任一所述行为识别方法中的步骤。

对应地,本申请实施例中,还提供了一种计算机程序产品,当该计算机程序产品被行为识别设备的处理器执行时,其用于实现上述实施例中任一所述行为识别方法中的步骤。

基于同一技术构思,本申请实施例提供一种行为识别设备,用于实施上述方法实施例记载的行为识别方法。图8为本申请实施例提供的一种行为识别设备的硬件实体示意图,如图8所示,所述识别设备800包括存储器810和处理器820,所述存储器810存储有可在处理器820上运行的计算机程序,所述处理器820执行所述程序时实现本申请实施例任一所述行为识别方法中的步骤。

存储器810配置为存储由处理器820可执行的指令和应用,还可以缓存待处理器820以及识别设备800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。

处理器820执行程序时实现上述任一项的行为识别方法的步骤。处理器820通常控制识别设备800的总体操作。

上述处理器可以为特定用途集成电路(Application Specific IntegratedCircuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable LogicDevice,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。

上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种行为识别设备,如移动电话、计算机、平板设备、个人数字助理等。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本申请实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备自动测试线执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 行为识别方法及装置、设备和存储介质
  • 网络攻击行为识别方法、装置、设备及存储介质
技术分类

06120113066066