本申请涉及图像处理技术领域中的人体识别技术,尤其涉及一种基于视频的人体行为识别方法、装置、设备及存储介质。
背景技术:
随着视频和图像技术的发展,可以对视频中的人体对象进行检测,进而确定出人体对象的行为类型,从而确定是否正在进行不安全的行为。
现有技术中,在采用视频技术分析人体对象的行为类型的时候,可以基于人体对象在某一帧上的特征,确定出人体对象在视频中的行为。
然而现有技术中,只是依据一帧上的人体对象的特征,确认出人体对象在视频中的行为,进而得到人体对象在视频中的行为类型;由于,在不同的场景下相同的动作表征的语义是不同的,现有的方法并不准确,不能准确的识别出一个视频中的人体的行为类型。
技术实现要素:
本申请提供一种基于视频的人体行为识别方法、装置、设备及存储介质,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率。
第一方面,本申请实施例提供一种基于视频的人体行为识别方法,包括:
获取待识别视频,其中,所述待识别视频中包括多个视频帧;
获取所述待识别视频的每一个视频帧的人体框,其中,每一个所述人体框中包括多个人体关键点,每一个所述人体关键点具有关键点特征;
根据各所述视频帧的人体框构建特征矩阵,所述特征矩阵中包括每一个人体关键点的关键点特征、所述待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数;
在所述视频帧个数的维度上,对所述特征矩阵进行卷积,得到第一卷积结果,并在所述关键点个数的维度上,对所述特征矩阵进行卷积,得到第二卷积结果;
将所述第一卷积结果和所述第二卷积结果输入到预设分类模型中,得到所述待识别视频的人体行为类别。
本实施例中,基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率;并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,从而基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别。
在一种可能的设计中,所述获取待识别视频,包括:
获取待处理视频,并对所述待处理视频进行抽帧处理,得到所述多个视频帧,以得到所述待识别视频。
对待处理视频进行抽帧处理,可以减少视频中的帧数,减少计算量、加快识别出视频的人体行为的速度。
在一种可能的设计中,获取所述待识别视频的每一个视频帧的人体框,包括:
将所述待识别视频输入至单阶段多尺度目标检测网络模型中,得到每一个所述视频帧中的各人体框;
将每一个所述视频帧中的各人体框,输入至预设识别模型中,得到每一个所述人体框中的各人体关键点,其中,每一个所述人体框中的人体关键点的关键点个数为v,v=21。
每一个人体框中的人体关键点的关键点个数为21,比现有的18个人体关键点的个数多;增加人体关键点的个数,进而增加人体行为的识别准确性。
在一种可能的设计中,所述方法,还包括:
在确定所述人体框中的人体对象被遮挡时,或者,在确定所述人体框中的人体关键点的关键点个数不是v时,根据所述人体框中的各人体关键点,预测出所述人体框的全部的人体关键点。
在由于人体对象被遮挡或者识别精度,导致不能得到全部的人体关键点的时候,预测出人体框的全部的人体关键点;保证后续卷积处理和识别人体行为的准确性。
在一种可能的设计中,根据所述人体框中的各人体关键点,预测出所述人体框的全部的人体关键点,包括:
根据所述人体框中的各人体关键点,确定所述人体框中的人体对象的人体骨架结构;根据所述人体骨架结构,确定所述人体框的全部的人体关键点。
在由于人体对象被遮挡或者识别精度,导致不能得到全部的人体关键点的时候,根据已知的人体关键点,确定出人体骨架结构;进而根据人体骨架结构和已知的人体关键点,确定出人体框的全部的人体关键点;保证后续卷积处理和识别人体行为的准确性。
在一种可能的设计中,每一个视频帧中的人体框个数是m,m为正整数;m个人体框,是每一个视频帧中的人体框置信度最高的前m个人体框;所述方法,还包括:
获取每一个视频帧中的每一个人体框中的人体关键点的关键点置信度;
对每一个人体框中的人体关键点的关键点置信度进行加权求和,得到每一个人体框的人体框置信度。
针对同一个待识别视频,调整每一个视频帧中的人体框个数是一致的,保证后续卷积处理和识别处理的正确和准确性;并且,将人体框置信度较高的人体框保留,进而保证人体框是真实人体的人体框,保证了人体行为使不得准确性。
在一种可能的设计中,在待识别视频的视频个数为n时,n为正整数,所述特征矩阵中还包括所述视频个数。从而,在对多个待识别视频进行识别的时候,特征矩阵具有多个待识别视频的特征,进而,可以同时对多个待识别视频进行识别。
在一种可能的设计中,在得到所述待识别视频的人体行为类别之后,还包括:
在确定所述人体行为类别为预设类别时,发出警示信息,其中,所述警示信息包括以下的一种或多种:语音信息、文字信息、灯光信息、框选信息;
和/或,
在确定所述人体行为类别为预设类别时,对所述待识别视频进行预设处理,其中,所述预设处理包括以下一种或多种:重复播放处理、删除处理、遮挡处理。
从而,可以预设一些危险、有益、警示的行为类别,可以输出警示信息等,进而便于工作人员和其他用户躲避危险行为、或者观看警示行为。
第二方面,本申请实施例提供一种基于视频的人体行为识别装置,包括:
第一获取单元,用于获取待识别视频,其中,所述待识别视频中包括多个视频帧;
第二获取单元,用于获取所述待识别视频的每一个视频帧的人体框,其中,每一个所述人体框中包括多个人体关键点,每一个所述人体关键点具有关键点特征;
构建单元,用于根据各所述视频帧的人体框构建特征矩阵,所述特征矩阵中包括每一个人体关键点的关键点特征、所述待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数;
卷积单元,用于在所述视频帧个数的维度上,对所述特征矩阵进行卷积,得到第一卷积结果,并在所述关键点个数的维度上,对所述特征矩阵进行卷积,得到第二卷积结果;
识别单元,用于将所述第一卷积结果和所述第二卷积结果输入到预设分类模型中,得到所述待识别视频的人体行为类别。
本实施例中,基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率;并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,从而基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别。
在一种可能的设计中,所述第一获取单元,具体用于:
获取待处理视频,并对所述待处理视频进行抽帧处理,得到所述多个视频帧,以得到所述待识别视频。
对待处理视频进行抽帧处理,可以减少视频中的帧数,减少计算量、加快识别出视频的人体行为的速度。
在一种可能的设计中,所述第二获取单元,包括:
第一识别模块,将所述待识别视频输入至单阶段多尺度目标检测网络模型中,得到每一个所述视频帧中的各人体框;
第二识别模块,将每一个所述视频帧中的各人体框,输入至预设识别模型中,得到每一个所述人体框中的各人体关键点,其中,每一个所述人体框中的人体关键点的关键点个数为v,v=21。
每一个人体框中的人体关键点的关键点个数为21,比现有的18个人体关键点的个数多;增加人体关键点的个数,进而增加人体行为的识别准确性。
在一种可能的设计中,所述装置,还包括:
预测单元,用于在确定所述人体框中的人体对象被遮挡时,或者,在确定所述人体框中的人体关键点的关键点个数不是v时,根据所述人体框中的各人体关键点,预测出所述人体框的全部的人体关键点。
在由于人体对象被遮挡或者识别精度,导致不能得到全部的人体关键点的时候,预测出人体框的全部的人体关键点;保证后续卷积处理和识别人体行为的准确性。
在一种可能的设计中,所述预测单元,具体用于:
根据所述人体框中的各人体关键点,确定所述人体框中的人体对象的人体骨架结构;根据所述人体骨架结构,确定所述人体框的全部的人体关键点。
在由于人体对象被遮挡或者识别精度,导致不能得到全部的人体关键点的时候,根据已知的人体关键点,确定出人体骨架结构;进而根据人体骨架结构和已知的人体关键点,确定出人体框的全部的人体关键点;保证后续卷积处理和识别人体行为的准确性。
在一种可能的设计中,每一个视频帧中的人体框个数是m,m为正整数;m个人体框,是每一个视频帧中的人体框置信度最高的前m个人体框;所述装置,还包括:
第三获取单元,用于获取每一个视频帧中的每一个人体框中的人体关键点的关键点置信度;对每一个人体框中的人体关键点的关键点置信度进行加权求和,得到每一个人体框的人体框置信度。
针对同一个待识别视频,调整每一个视频帧中的人体框个数是一致的,保证后续卷积处理和识别处理的正确和准确性;并且,将人体框置信度较高的人体框保留,进而保证人体框是真实人体的人体框,保证了人体行为使不得准确性。
在一种可能的设计中,在待识别视频的视频个数为n时,n为正整数,所述特征矩阵中还包括所述视频个数。从而,在对多个待识别视频进行识别的时候,特征矩阵具有多个待识别视频的特征,进而,可以同时对多个待识别视频进行识别。
在一种可能的设计中,所述装置,还包括:
警示单元,用于在所述识别单元得到所述待识别视频的人体行为类别之后,在确定所述人体行为类别为预设类别时,发出警示信息,其中,所述警示信息包括以下的一种或多种:语音信息、文字信息、灯光信息、框选信息;
和/或,
处理单元,用于在所述识别单元得到所述待识别视频的人体行为类别之后,在确定所述人体行为类别为预设类别时,对所述待识别视频进行预设处理,其中,所述预设处理包括以下一种或多种:重复播放处理、删除处理、遮挡处理。
从而,可以预设一些危险、有益、警示的行为类别,可以输出警示信息等,进而便于工作人员和其他用户躲避危险行为、或者观看警示行为。
第三方面,本申请提供一种基于视频的人体行为识别方法,包括:
获取待识别视频,其中,所述待识别视频中包括多个视频帧;
获取所述待识别视频的每一个视频帧的人体特征;
根据各个相邻的视频帧的人体特征,确定所述待识别视频的人体行为类别。
本实施例中,考虑了视频帧之间的时间维度,考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率。并且,还在空间维度上得到卷积结果,基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别。
第四方面,本申请提供一种电子设备,包括:处理器和存储器;存储器中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行如第一方面中任一项所述的基于视频的人体行为识别方法,或者执行如第三方面所述的基于视频的人体行为识别方法。
第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述的基于视频的人体行为识别方法,或者执行如第三方面所述的基于视频的人体行为识别方法。
第六方面,本申请实施例提供一种程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得服务器执行第一方面中任一所述的基于视频的人体行为识别方法,或者执行如第三方面所述的基于视频的人体行为识别方法。
上述申请中的一个实施例具有如下优点或有益效果:可以基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率;并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是可以实现本申请实施例的应用场景图;
图2是根据本申请第一实施例的示意图;
图3是根据本申请第二实施例的示意图;
图4是可以实现申请实施例的ssd网络模型的示意图;
图5是可以实现申请实施例的人体框的示意图一;
图6是可以实现申请实施例的人体框的示意图二;
图7是可以实现申请实施例的人体框的示意图三;
图8是可以实现申请实施例的人体关键点的示意图;
图9是根据本申请第三实施例的示意图;
图10是根据本申请第三实施例的示意图;
图11是根据本申请第四实施例的示意图;
图12是根据本申请第五实施例的示意图;
图13是用来实现本申请实施例的基于视频的人体行为识别方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着视频和图像技术的发展,可以对视频中的人体对象进行检测,进而确定出人体对象的行为类型,从而确定是否正在进行不安全的行为。在各类公共场合,例如学校、监狱、火车站、地铁等场合中,为了社会稳定性、人员安全性,可以对人体的行为进行检测和识别,进而可以检测出打架、斗殴、偷摸抢砸、持刀、自燃等不安全的行为。
一个示例中,可以基于摄像头获取视频,然后针对这些视频,通过这些视频,获取出人体的表情、手势、体态和关键点等信息,这些信息构成了人体分析技术的重要元素;然后对这些信息进行分析,进而得到人体的行为类型。
一个示例中,根据查询视频中的某一帧图片的特征,进行视频级别的名称输出,进而,将该帧图片的特征,作为视频的特征,以得到视频中的人体的行为类型。这是一种基于图片级的分类模型,对视频的人体行为进行识别的方法。但是在监控场景下,通过摄像机采集视频信息,由于摄像机的视角、摄像机与人体对象之间举例距离、遮挡和光照等多种因素带来的干扰和不确定性,导致采用图片级的分类模型的识别效果很差。此外,图片级的分类模型的鲁班性也较差;并且,图片级的分类模型中没有考虑上下帧之间关系,即,没有引入时间维度的信息,从而会造成视频内容理解上出现偏差,导致识别的准确率较低以及召回率降低。
一个示例中,可以从视频内容的特征进行分类,得到视频的人体行为。但是该方法没有将人体属性纳入考虑,对于区分人数的场景有很大弊端;从而在人数较多的场景中,无法准确的对视频的人体行为进行识别。
一个示例中,可以查询视频的标题或者视频某些属性,然后得到视频名的结果;将所得到视频名的结果,作为视频中的人体的行为类型
一个示例中,在采用视频技术分析人体对象的行为类型的时候,可以利用热力图和人体姿态估计方式,提取每一帧上的人体对象的骨骼点,进而根据骨骼点的坐标,识别出人体对象的动作;然后,确定出人体对象在当前帧上的行为类型。然后,对于一段视频,采用投票得的方式,将人体对象的行为类型的投票最高的行为类型,作为该视频的行为类型。但是该方式,只是依据每一帧上的人体对象的骨骼点,确定出人体对象在当前帧上的行为类型,然后将人体对象在一帧上的行为类型,作为人体对象在视频中的行为类型。然而在不同的场景下相同的动作表征的语义是不同的;仅仅依据一帧上的骨骼点的坐标,确定出人体对象的行为类型,然后将人体对象的行为类型的投票最高的行为类型作为该视频的行为类型,这样的方式并不准确,不能准确的识别出一个视频中的人体的行为类型。
可知,上述各方式中,只是依据一帧上的人体对象的特征,确认出人体对象在视频中的行为,进而得到人体对象在视频中的行为类型;由于,在不同的场景下相同的动作表征的语义是不同的,现有的方法并不准确,不能准确的识别出一个视频中的人体的行为类型。
并且,在现实场景下需要处理的人体对象和任务可能会非常多,进而会产生极大的计算资源消耗,从而进一步的加重了人体行为识别的不准确性。
本申请提供一种基于视频的人体行为识别方法、装置、设备及存储介质,以解决上述问题。
图1是可以实现本申请实施例的应用场景图,如图1所示,采用本申请实施例提供的方案,可以对视频中的人体的行为进行识别,并且识别出视频的人体行为类型。
图2是根据本申请第一实施例的示意图,如图2所示,该方法,包括:
s101、获取待识别视频,其中,待识别视频中包括多个视频帧。
示例性地,本实施例以执行主体可以是控制设备、或者终端设备、或者远程服务器、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为控制设备进行说明。
在识别人体行为的环境中布置摄像机,摄像机可以是高清摄像机;摄像机与控制设备连接,摄像机可以采集视频,控制设备可以获取摄像机采集的视频,然后,控制设备对视频进行分析,即,控制设备采用本实施例提供的方法对视频进行分析,以得到视频的行为类型。
控制设备获取摄像机采集的待识别视频,其中,待识别视频由多帧视频帧所构成。
s102、获取待识别视频的每一个视频帧的人体框,其中,每一个人体框中包括多个人体关键点,每一个人体关键点具有关键点特征。
示例性地,控制设备可以将待识别视频输入到预设的网络模型中,得到待识别视频的每一个视频帧中的人体框。每一个视频帧中具有一个或多个人体框,个别的视频帧中可以没有人体框。
在人体框中,可以将视频帧中的人体标记出来,并且,为了便于后续的识别,网络模型会将每一个人体框中的人体关键点标记出来;例如,采用openpose算法可以得到每一个人体框中的各个人体关键点。
并且,每一个人体关键点具有关键点特征。例如,人体关键点为鼻子,该人体关键点具有鼻子在视频帧中的坐标信息,即,关键点特征为鼻子在视频帧中的坐标信息。
一个示例中,控制设备获取摄像机采集的视频;控制设备采用预设的网络模型对视频中的每一个视频帧进行分析,得到每一个视频帧中的人体框,每一个人体框标记出了视频帧中的每一个人体对象;控制设备再采用预设的网络模型对每一个视频帧中的每一个人体框进行关键点的识别,例如采用openpose算法识别出每一个人体框中的各个人体关键点,每一个人体关键点具有在视频帧中的坐标信息。
举例来说,控制设备可以得到视频帧1中的人体框a和人体框b,人体框a中具有多个人体关键点,人体框b中具有多个人体关键点;并且,控制是河北可以得到视频帧1之后的视频帧2中的人体框a、人体框b和人体框c,人体框a中具有多个人体关键点,人体框b中具有多个人体关键点,人体框c中具有多个人体关键点。
s103、根据各视频帧的人体框构建特征矩阵,特征矩阵中包括每一个人体关键点的关键点特征、待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数。
示例性地,控制设备根据待识别视频中的每一个视频帧中的每一个人体框的各关键点的关键点特征、待识别视频中的视频帧个数、每一个人体框的关键点个数、以及每一个视频帧的人体框个数,构建出一个特征矩阵;从而,该特征矩阵中包括上述信息。
一个示例中,在对多个待识别视频进行集体的识别的时候,还可以将待识别视频的视频个数,加入到特征矩阵中。
举例来说,针对每一个待识别视频,得到每一个待识别视频的特征矩阵(c,t,v,m);其中,c是一个三维矩阵,三维矩阵c中的每一个元素代表一个人体关键点的关键点特征;t是待识别视频中的视频帧个数,例如,t=300;v是每一个人体框中的关键点个数,例如v=18或21;m是每一个视频帧中的人体框个数,例如m=3。此时,特征矩阵(c,t,v,m)是一个四维矩阵。
再举例来说,针对n个待识别视频,可以得到特征矩阵(n,c,t,v,m);其中,n是待识别视频的视频个数,例如,n=180;c是一个三维矩阵,三维矩阵c中的每一个元素代表一个人体关键点的关键点特征;t是待识别视频中的视频帧个数,例如,t=300;v是每一个人体框中的关键点个数,例如v=18或21;m是每一个视频帧中的人体框个数,例如m=3。此时,特征矩阵(n,c,t,v,m)是一个五维矩阵。针对于每一个待识别视频来说,待识别视频中的视频帧个数t的取值是相同的;针对于每一个人体框来说,人体框的关键点个数v的取值是相同的;针对于每一个视频帧来说,视频帧的人体框个数m的取值是相同的。
s104、在视频帧个数的维度上,对特征矩阵进行卷积,得到第一卷积结果,并在关键点个数的维度上,对特征矩阵进行卷积,得到第二卷积结果。
示例性地,针对每一个待识别视频,可以得到上述特征矩阵(c,t,v,m)。为了在时间维度上对视频中的各人体对象进行分析,可以利用网络模型,在视频帧个数的维度上,对步骤s103所得到的特征矩阵进行卷积,进而得到第一卷积结果,该第一卷积结果表征出了在时间维度上待识别视频中的各人体对象的特征。并且,为了得到每一个人体对象的人体框之间的关系、以及每一个人体对象中的各人体关键点之间的位置关系,可以利用网络模型,在关键点个数的维度上,对步骤s103所得到的特征矩阵进行卷积,进而得到第二卷积结果,该第二卷积结果表征出了每一个人体对象的人体框之间的关系、以及每一个人体对象中的各人体关键点之间的位置关系。
其中,网络模型可以是神经网络模型中的任意一种。
针对于n个每一个待识别视频,可以得到上述特征矩阵(n,c,t,v,m)。同样,可以利用网络模型,对特征矩阵(n,c,t,v,m)进行卷积;在卷积的过程中,可以分别针对每一个待识别视频进行上述两个维度的卷积处理,得到每一个待识别视频的第一卷积结果和第二卷积结果。
s105、将第一卷积结果和第二卷积结果输入到预设分类模型中,得到待识别视频的人体行为类别。
示例性地,针对每一个待识别视频,控制设备将每一个待识别视频的第一卷积结果和第二卷积结果,输入到预设分类模型中;通过分类模型对上述两个维度的卷积结果进行特征分析,进而输出每一个待识别视频的人体行为类别。分类模型可以是神经网络模型中的任意一种。
例如,人体行为类别为静坐类型、持刀类型、偷摸类型、抢砸类型、群殴类型、斗殴类型、等等。
本实施例,通过获取待识别视频,待识别视频中包括多个视频帧;获取待识别视频的每一个视频帧的人体框,每一个人体框中包括多个人体关键点,每一个人体关键点具有关键点特征;根据各视频帧的人体框构建特征矩阵,特征矩阵中包括每一个人体关键点的关键点特征、待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数;在视频帧个数的维度上,对特征矩阵进行卷积,得到第一卷积结果,并在关键点个数的维度上,对特征矩阵进行卷积,得到第二卷积结果;将第一卷积结果和第二卷积结果输入到预设分类模型中,得到待识别视频的人体行为类别。针对每一个待识别视频,可以得到每一个待识别视频中的各视频帧中的人体框,人体框为人体对象的人体框;并且,可以得到每一个人体框中的人体对象的人体关键点;进而对关键点特征、人体框所构成的特征矩阵,分别在时间维度(待识别视频的视频帧个数的维度)、空间维度(人体框的关键点个数的维度)上进行卷积处理,得到第一卷积结果和第二卷积结果,第一卷积结果表征出了在时间维度上待识别视频中的各人体对象的特征,第二卷积结果表征出了每一个人体对象的人体框之间的关系、以及每一个人体对象中的各人体关键点之间的位置关系;进而基于上述卷积结果进行人体行为的识别,得到待识别视频的人体行为类别。由于可以得到视频中的各视频帧的人体对象的人体框和人体关键点,可以基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率。并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,该卷积结果表征出了每一个人体对象的人体框之间的关系、以及每一个人体对象中的各人体关键点之间的位置关系,从而基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别。
图3是根据本申请第二实施例的示意图,如图3所示,该方法,包括:
s201、获取待处理视频,并对待处理视频进行抽帧处理,得到多个视频帧,以得到待识别视频。
示例性地,本实施例以执行主体可以是控制设备、或者终端设备、或者远程服务器、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为控制设备进行说明。
在识别人体行为的环境中布置摄像机,摄像机可以是高清摄像机;摄像机与控制设备连接,摄像机可以采集视频,控制设备可以获取摄像机采集的视频,然后,控制设备对视频进行分析,即,控制设备采用本实施例提供的方法对视频进行分析,以得到视频的行为类型。
控制设备获取摄像机采集的视频,此时的视频中包括了多帧图像,且视频是未经过处理的视频。为了减少计算量、加快控制设备识别出视频的人体行为的速度,可以对摄像机采集的视频进行采样,减少视频中的帧数;控制设备可以对摄像机采集的视频进行抽帧处理,进而从视频中抽取出多个视频帧,将多个视频帧构成待识别视频。
一个示例中,控制设备对摄像机所及的视频中的图像进行均匀采样,得到多个视频帧。一个示例中,控制设备可以采用使用开源工具ffmpeg,对视频进行抽帧处理。
s202、将待识别视频输入至单阶段多尺度目标检测网络模型中,得到每一个视频帧中的各人体框。
示例性地,控制设备可以将待识别视频输入到单阶段多尺度目标检测(singleshotmultiboxdetector,简称ssd)网络模型中;ssd网络模型已经经过了标记出人体框的图像的训练,进而ssd网络模型可以对视频中的视频帧的人体对象进行识别,进而标记出视频帧中人体对象,即,为人体对象标记人体框。图4是可以实现申请实施例的ssd网络模型的示意图,如图4所示,ssd网络模型具有多层结构;并且,可以使用开源工具飞桨paddlepaddle对ssd网络模型进行训练。
从而,图5是可以实现申请实施例的人体框的示意图一,如图5所示,控制设备可以得到每一个视频帧中的每一个人体对象的人体框。可知,为每一个人体对象标记一个人体框。每一个人体框具有四个角点。
并且,ssd网络模型在输出每一个视频帧的人体对象的人体框的时候,会为每一个人体框赋予一个置信度,即,这里的置信度,是ssd网络模型为人体框赋予的置信度;置信度的取值大于预设阈值,例如,大于0.4。
s203、将每一个视频帧中的各人体框,输入至预设识别模型中,得到每一个人体框中的各人体关键点,其中,每一个人体框中的人体关键点的关键点个数为v,v=21。
示例性地,控制设备在得到每一个视频帧中的人体对象的人体框之后,需要确定出每一个人体框中的人体对象的人体关键点。
控制设备将每一个视频帧中的各人体框,输入至预设识别模型中。识别模型可以是神经网络模型;识别模型已经采用了标记出人体关键点的图像和视频进行了训练。从而,识别模型可以识别出每一个人体框中的人体对象的人体关键点。并且,识别模型可以输出每一个人体关键点的关键点置信度,关键点置信度表征了人体关键点确定为真实人体关键点的概率。
本实施例中,为了增加人体行为的识别准确性,可以增加人体关键点的个数;在采用openpose算法识别人体关键点的时候,针对每一个人体对象,可以得到18个关键点;但是在本实施例中,针对每一个人体对象,可以得到21个关键点。图6是可以实现申请实施例的人体框的示意图二,图7是可以实现申请实施例的人体框的示意图三,如图6-图7所示,控制设备可以得到每一个视频帧中的每一个人体对象的人体框,并且,得到每一个人体对象的人体关键点;针对每一个人体对象,可以将该人体对象的人体关键点进行连接。
图8是可以实现申请实施例的人体关键点的示意图,如图8所示,针对每一个人体对象可以得到21个人体关键点。每一个人体框中的21个人体关键点,分别为鼻子{0,"nose"},左眼{1,"left_eye"},右眼{2,"right_eye"},左耳朵{3,"left_ear"},右耳朵{4,"right_ear"},左肩膀{5,"left_shoulder"},右肩膀{6,"right_shoulder"},左肘部{7,"left_elbow"},右肘部{8,"right_elbow"},左手腕{9,"left_wrist"},右手腕{10,"right_wrist"},左臀部{11,"left_hip"},右臀部{12,"right_hip"},左膝盖{13,"left_knee"},右膝盖{14,"right_knee"},左踝关节{15,"left_ankle"},右踝关节{16,"right_ankle"},头顶{17,"top_head"},颈部{18,"neck"},左嘴角{19,"left_mouth_corner"},右嘴角{20,"right_mouth_corner"}。
s204、在确定人体框中的人体对象被遮挡时,或者,在确定人体框中的人体关键点的关键点个数不是v时,根据人体框中的各人体关键点,预测出人体框的全部的人体关键点。
一个示例中,步骤s204,具体包括:根据人体框中的各人体关键点,确定人体框中的人体对象的人体骨架结构;根据人体骨架结构,确定人体框的全部的人体关键点。
示例性地,控制设备在得到每一个人体对象的人体关键点之后,可能会存在个别的人体对象无法得到全部的21个人体关键点。
一个示例中,步骤s203的预设识别模型在识别每一个人体框中的人体对象的人体关键点的时候,预设识别模型可以识别出哪些人体对象被遮挡了,这些被遮挡的人体对象是无法识别出全部的21个人体关键点的。一个示例中,步骤s203的预设识别模型在识别每一个人体框中的人体对象的人体关键点的时候,由于人体对象被遮挡或者识别精度的问题,可能无法得到全部的21个人体关键点。
所以,在步骤s203之后,控制设备针对没有得到v=21个人体关键的人体对象,即,不是21个人体关键点的人体框,控制设备需要预测出该人体框的全部的人体关键点。
一个示例中,控制设备针对没有得到v=21个人体关键的人体对象,即,不是21个人体关键点的人体框,该人体框已经具有了多个人体关键点,并且控制设备可以或者该人体框的已知的人体关键点的位置和类别。例如,为某一个视频帧中的一个人体对象,标记出了人体框;该人体框具有18个人体关键点,18个人体关键点分别为鼻子、左眼、左耳朵、左肩膀、左肘部、右肘部、左手腕、右手腕、左臀部、右臀部、左膝盖、右膝盖、左踝关节、右踝关节、头顶、颈部、左嘴角、右嘴角;上述每一个类别的人体关键点都标记出了位置。
然后,控制设备可以根据已知的人体关键点的位置和类别,勾勒出该人体框中的人体对象的人体骨架结构;此时的人体骨架结构由于缺少人体关键点,从而该人体骨架结构是残缺不全的;由于已经获知了已知的人体关键点的位置和类别,可以根据该人体骨架结构,在人体骨架结构上补足其他的人体关键点。例如,根据人体骨架结构的对称关系,预测出其余的人体关键点。
举例来说,为某一个视频帧中的一个人体对象,标记出了人体框;该人体框具有18个人体关键点,18个人体关键点分别为鼻子、左眼、左耳朵、左肩膀、左肘部、右肘部、左手腕、右手腕、左臀部、右臀部、左膝盖、右膝盖、左踝关节、右踝关节、头顶、颈部、左嘴角、右嘴角。控制设备可以根据这18个人体关键点的位置和类别,勾勒出该人体框中的人体对象的人体骨架结构;然后,控制设备确定缺少的人体关键点,分别为右眼、右耳、右肩膀;控制设备根据已知的人体关键点“左眼”和该人体骨架结构的结构关系,可以根据对称原则,确定出人体关键点“右眼”;同样,控制设备根据已知的人体关键点“左耳”和该人体骨架结构的结构关系,可以根据对称原则,确定出人体关键点“右耳”;控制设备根据已知的人体关键点“左肩膀”和该人体骨架结构的结构关系,可以根据对称原则,确定出人体关键点“右肩膀”。
s205、根据各视频帧的人体框构建特征矩阵,特征矩阵中包括每一个人体关键点的关键点特征、待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数。
一个示例中,在待识别视频的视频个数为n时,n为正整数,特征矩阵中还包括视频个数。
一个示例中,每一个视频帧中的人体框个数是m,m为正整数;m个人体框,是每一个视频帧中的人体框置信度最高的前m个人体框。本实施例提供的方法,还可以执行以下步骤:获取每一个视频帧中的每一个人体框中的人体关键点的关键点置信度;对每一个人体框中的人体关键点的关键点置信度进行加权求和,得到每一个人体框的人体框置信度。
示例性地,待识别视频中的视频帧个数为t,例如t=300。在需要对多个待识别视频进行识别的时候,由于在步骤s201中对每一个待识别视频进行了抽帧处理,进而每一个待识别视频的视频帧的个数是相同的。例如,对n个待识别视频进行识别,n=180。
在上述步骤中,针对每一个待识别视频中的每一个视频帧,识别出了每一个视频帧的人体框、每一个人体框的人体关键点;并且针对不足v个人体关键点的人体框,预测并补足了全部的v个人体关键点,例如,v=21。进而,每一个人体框的关键点个数是相同的。
并且,每一个人体关键点具有关键点特征,例如,关键点特征为(x,y,score),x为人体关键点在视频帧中的x轴上的坐标,y为人体关键点在视频帧中的y轴上的坐标,score为人体关键点的关键点置信度,关键点置信度是步骤s203中的识别模型所输出的人体关键点的置信度。
但是,在上述步骤中,在输出每一个视频帧中的人体框的时候,每一个视频帧中的人体框的个数有可能是不同的;为了便于后续的卷积处理,针对同一个待识别视频,需要调整该待识别视频中的每一个视频帧的人体框个数是一致的。本步骤中,针对同一个待识别视频,由于步骤s203中的识别模型输出了人体关键点的关键点置信度,从而控制设备可以获取到每一个视频帧中的每一个人体框中的人体关键点的关键点置信度;然后,针对该待识别视频的每一个人体框,控制设备根据预设的权重值,对每一个人体框中的人体关键点的关键点置信度进行加权求和,进而得到每一个人体框的人体框置信度;然后,针对该待识别视频的每一个人体框,控制设备选取人体框置信度最高的前几个人体框,即,排名前m的人体框,例如m=1,或者m=3。从而,控制设备将同一个待识别视频中的每一个视频帧的人体框个数,调整为m个;进而,保证后续卷积处理和识别处理的正确和准确性。并且,将人体框置信度较高的人体框保留,进而保证人体框是真实人体的人体框,保证了人体行为使不得准确性。
从而,针对每一个待识别视频,控制设备根据以上特征,得到每一个待识别视频的特征矩阵(c,t,v,m);c是一个三维矩阵,三维矩阵c中的每一个元素代表一个人体关键点的关键点特征;t是待识别视频中的视频帧个数,例如,t=300;v是每一个人体框中的关键点个数,例如v=18或21;m是每一个视频帧中的人体框个数,例如m=1或者m=3。
针对n个待识别视频,可以得到特征矩阵(n,c,t,v,m),特征矩阵(n,c,t,v,m)是一个五维矩阵。
s206、在视频帧个数的维度上,对特征矩阵进行卷积,得到第一卷积结果,并在关键点个数的维度上,对特征矩阵进行卷积,得到第二卷积结果。
示例性地,本步骤可以参见图2所示的步骤s104,不再赘述。本步骤中,可以采用彩色图像(例如,rgb图像)作为空间卷积网络,采用光流场作为时间流卷积网络,即,采用空间卷积网络,在视频帧个数的维度上对特征矩阵进行卷积,得到第一卷积结果;采用时间流卷积网络,在关键点个数的维度上对特征矩阵进行卷积,得到第二卷积结果。
s207、将第一卷积结果和第二卷积结果输入到预设分类模型中,得到待识别视频的人体行为类别。
示例性地,本步骤可以参见图2所示的步骤s105,不再赘述。
在步骤s207之后,还可以执行步骤s208和/或步骤s209。
s208、在确定人体行为类别为预设类别时,发出警示信息,其中,警示信息包括以下的一种或多种:语音信息、文字信息、灯光信息、框选信息。
示例性地,针对每一个待识别视频,可以实时的对待识别视频进行上述步骤的处理过程,进而得到待识别视频的人体行为类别;控制设备可以预先设定一些危险的行为类别,例如,静坐类型、持刀类型、偷摸类型、抢砸类型、群殴类型、斗殴类型、等等,然后,控制设备在确定待识别视频的人体行为类别为这些预设类别的时候,控制设备可以发出警示信息。
例如,控制设备直接发出语音和/或文字,进而通知工作人员对危险的人体行为进行处理,对其他人员进行保护。例如,控制设备可以发出灯光,进而通知所有人员对危险的人体行为进行躲避。例如,控制设备可以显示待识别视频,进而在待识别视频上框选出具有危险行为类别的用户,进而使得工作人员对该用户进行处理,或者便于后续对待识别视频和待识别视频的具有危险行为的动作,进行分析。
s209、在确定人体行为类别为预设类别时,对待识别视频进行预设处理,其中,预设处理包括以下一种或多种:重复播放处理、删除处理、遮挡处理。
示例性地,在对视频进行实时的播放,使得更多的用户进行观看的时候,控制设备可以采用上述步骤完成视频的人体行为类别的识别;为了避免一些行为会对大众造成不良的影响,控制设备在检测出人体行为类别之后,可以对待识别视频进行处理。这里,控制设备可以预先设定一些不利于大众观看的不良行为类别,例如,裸露类型、持刀类型、血腥类型等等;控制设备在确定待识别视频的人体行为类别为这些预设类别的时候,控制设备可以直接对视频进行处理,例如,删除具有不良行为类别的视频帧或者视频,或者,对具有不良行为类别的视频帧进行遮挡处理。
或者,在对视频进行实时的播放,或者再次播放的时候,视频中会具有一些有趣或者警示的内容,为了便于用户可以更多的观看这些内容;控制设备在检测出人体行为类别之后,可以对待识别视频进行处理。这里,控制设备可以预先设定一些需要用户可以重复观看的有益行为类别或者警示行为类别,例如,偷盗类型、玩笑类型等等;控制设备在确定待识别视频的人体行为类别为这些预设类别的时候,控制设备可以直接对视频进行处理,例如,重复播放具有有益行为类别或者警示行为类别的视频帧或者视频。
本实施例,在上述实施例的基础上,可以基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率;并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别;进而得到视频的行为动作和动作标签,利于优化卷积模型和识别模型,并利用用户和其他智能设备理解视频内容。并且,基于空间卷积网络和时间流卷积网络,度特征矩阵进行卷积,根据卷积结果进行人体行为的识别;从而,可以减少视频理解上的偏差,提升识别结果的准确率和召回率。并且,本实施例中可以预设一些危险、有益、警示的行为类别,可以输出警示信息等,进而便于工作人员和其他用户躲避危险行为、或者观看警示行为。并且,本实施例所采用的各个模型,可以采用预设的行为类别和识别进行训练和模拟,可以提升识别和分类能力,不需要直接的人体检测和动作检测,减少计算消耗,节约了成本;由于本实施例提供的方案的识别准确率较高,从而可以降低来也降低由于摄像机视角、距离、光线等因素带来的干扰,有效提高视频中的人体框、关键点等特征的提取准确度。
图9是根据本申请第三实施例的示意图,如图9所示,本实施例提供的基于视频的人体行为识别方法,可以包括:
s301、获取待识别视频,其中,待识别视频中包括多个视频帧。
示例性地,本步骤可以参见图2所示步骤s101,不再赘述。
s302、获取待识别视频的每一个视频帧的人体特征。
示例性地,针对每一个待识别视频,可以采用上述实施例的方法,得到每一个视频帧的人体特征,每一个视频帧的人体特征包括了每一个视频帧的每一个人体框、每一个视频帧的每一个人体框中的各人体关键点、各人体关键点的关键点特征。并且,每一个待识别视频中包括多个视频帧。
s303、根据各个相邻的视频帧的人体特征,确定待识别视频的人体行为类别。
示例性地,针对每一个待识别视频,根据各个相邻的视频帧的人体特征,在时间维度上进行卷积,得到第一卷积结果;在空间维度上进行卷积,得到第二卷积结果。一个示例中,为了在时间维度上对视频中的各人体对象进行分析,可以利用网络模型,在视频帧个数的维度上,对人体特征进行卷积,进而得到第一卷积结果,该第一卷积结果表征出了在时间维度上待识别视频中的各人体对象的特征。为了得到每一个人体对象的人体框之间的关系、以及每一个人体对象中的各人体关键点之间的位置关系,可以利用网络模型,在关键点个数的维度上,对人体特征进行卷积,进而得到第二卷积结果,该第二卷积结果表征出了每一个人体对象的人体框之间的关系、以及每一个人体对象中的各人体关键点之间的位置关系。
然后,针对每一个待识别视频,控制设备将每一个待识别视频的第一卷积结果和第二卷积结果,输入到预设分类模型中;通过分类模型对上述两个维度的卷积结果进行特征分析,进而输出每一个待识别视频的人体行为类别。分类模型可以是神经网络模型中的任意一种。
本实施例,通过根据各个相邻的视频帧的人体特征,确定待识别视频的人体行为类别;从而,在分别在时间维度(待识别视频的视频帧个数的维度)、空间维度(人体框的关键点个数的维度)上进行卷积处理;考虑了视频帧之间的时间维度,考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率。并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别。
图10是根据本申请第三实施例的示意图,如图10所示,本实施例提供的基于视频的人体行为识别装置,可以包括:
第一获取单元31,用于获取待识别视频,其中,待识别视频中包括多个视频帧。
第二获取单元32,用于获取待识别视频的每一个视频帧的人体框,其中,每一个人体框中包括多个人体关键点,每一个人体关键点具有关键点特征。
构建单元33,用于根据各视频帧的人体框构建特征矩阵,特征矩阵中包括每一个人体关键点的关键点特征、待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数。
卷积单元34,用于在视频帧个数的维度上,对特征矩阵进行卷积,得到第一卷积结果,并在关键点个数的维度上,对特征矩阵进行卷积,得到第二卷积结果。
识别单元35,用于将第一卷积结果和第二卷积结果输入到预设分类模型中,得到待识别视频的人体行为类别。
本实施例的基于视频的人体行为识别装置,可以执行图2-图3,图9所示方法中的技术方案,其具体实现过程和技术原理参见图2-图3,图9所示方法中的相关描述,此处不再赘述。
图11是根据本申请第四实施例的示意图,在图10所示实施例的基础上,如图11所示,本实施例提供的基于视频的人体行为识别装置中,第一获取单元31,具体用于:
获取待处理视频,并对待处理视频进行抽帧处理,得到多个视频帧,以得到待识别视频。
一个示例中,第二获取单元32,包括:
第一识别模块321,将待识别视频输入至单阶段多尺度目标检测网络模型中,得到每一个视频帧中的各人体框。
第二识别模块322,将每一个视频帧中的各人体框,输入至预设识别模型中,得到每一个人体框中的各人体关键点,其中,每一个人体框中的人体关键点的关键点个数为v,v=21。
一个示例中,本实施例提供的装置,还包括:
预测单元41,用于在确定人体框中的人体对象被遮挡时,或者,在确定人体框中的人体关键点的关键点个数不是v时,根据人体框中的各人体关键点,预测出人体框的全部的人体关键点。
一个示例中,预测单元41,具体用于:
根据人体框中的各人体关键点,确定人体框中的人体对象的人体骨架结构;根据人体骨架结构,确定人体框的全部的人体关键点。
一个示例中,每一个视频帧中的人体框个数是m,m为正整数;m个人体框,是每一个视频帧中的人体框置信度最高的前m个人体框;本实施例提供的装置,还包括:
第三获取单元42,用于获取每一个视频帧中的每一个人体框中的人体关键点的关键点置信度;对每一个人体框中的人体关键点的关键点置信度进行加权求和,得到每一个人体框的人体框置信度。
一个示例中,在待识别视频的视频个数为n时,n为正整数,特征矩阵中还包括视频个数。
一个示例中,本实施例提供的装置,还包括:
警示单元43,用于在识别单元35得到待识别视频的人体行为类别之后,在确定人体行为类别为预设类别时,发出警示信息,其中,警示信息包括以下的一种或多种:语音信息、文字信息、灯光信息、框选信息。
和/或,
处理单元44,用于在识别单元35得到待识别视频的人体行为类别之后,在确定人体行为类别为预设类别时,对待识别视频进行预设处理,其中,预设处理包括以下一种或多种:重复播放处理、删除处理、遮挡处理。
本实施例的基于视频的人体行为识别装置,可以执行图2-图3所示方法中的技术方案,其具体实现过程和技术原理参见图2-图3所示方法中的相关描述,此处不再赘述。
图12是根据本申请第五实施例的示意图;如图12所示,本实施例中的电子设备50可以包括:处理器51和存储器52。
存储器52,用于存储程序;存储器52,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram),如静态随机存取存储器(英文:staticrandom-accessmemory,缩写:sram),双倍数据率同步动态随机存取存储器(英文:doubledataratesynchronousdynamicrandomaccessmemory,缩写:ddrsdram)等;存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory)。存储器52用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器52中。并且上述的计算机程序、计算机指令、数据等可以被处理器51调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器52中。并且上述的计算机程序、计算机指据等可以被处理器51调用。
处理器51,用于执行存储器52存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
具体可以参见前面方法实施例中的相关描述。
处理器51和存储器52可以是独立结构,也可以是集成在一起的集成结构。当处理器51和存储器52是独立结构时,存储器52、处理器51可以通过总线53耦合连接。
本实施例的电子设备可以执行图2-图3,图9所示方法中的技术方案,其具体实现过程和技术原理参见图2-图3,图9所示方法中的相关描述,此处不再赘述。
本实施例,通过基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率;并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别;进而得到视频的行为动作和动作标签,利于优化卷积模型和识别模型,并利用用户和其他智能设备理解视频内容。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图13是用来实现本申请实施例的基于视频的人体行为识别方法的电子设备的框图,如图13所示,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图13所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图13中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的基于视频的人体行为识别方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于视频的人体行为识别方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的基于视频的人体行为识别方法对应的程序指令/模块(例如,附图10所示的第一获取单元31、第二获取单元32、构建单元33、卷积单元34和识别单元35)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于视频的人体行为识别方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于视频的人体行为识别方法的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至基于视频的人体行为识别方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于视频的人体行为识别方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图13中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与基于视频的人体行为识别方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
基于视频的人体行为识别方法的电子设备还可以包括:摄像机605;摄像机605通过总线与处理器601、存储器602连接。摄像机605所采集的图像和视频,可以输送给处理器601、存储器602。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,基于前后相邻的视频帧的人体对象的人体框和人体关键点,进行人体对象的分析,即,在时间维度上进行分析,从而考虑了前后帧的视频帧的关系,可以减少视频理解上的偏差,提升视频的人体行为类别的准确率和召回率;并且,还在空间维度(人体框的关键点个数的维度)上得到卷积结果,基于两种卷积结果可以进一步的加强人体对象之间的关系,加强基于时间上的人体对象的行为变化的分析,更加准确的得到视频的人体行为类别;进而得到视频的行为动作和动作标签,利于优化卷积模型和识别模型,并利用用户和其他智能设备理解视频内容。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
1.一种基于视频的人体行为识别方法,其特征在于,包括:
获取待识别视频,其中,所述待识别视频中包括多个视频帧;
获取所述待识别视频的每一个视频帧的人体框,其中,每一个所述人体框中包括多个人体关键点,每一个所述人体关键点具有关键点特征;
根据各所述视频帧的人体框构建特征矩阵,所述特征矩阵中包括每一个人体关键点的关键点特征、所述待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数;
在所述视频帧个数的维度上,对所述特征矩阵进行卷积,得到第一卷积结果,并在所述关键点个数的维度上,对所述特征矩阵进行卷积,得到第二卷积结果;
将所述第一卷积结果和所述第二卷积结果输入到预设分类模型中,得到所述待识别视频的人体行为类别。
2.根据权利要求1所述的方法,其特征在于,所述获取待识别视频,包括:
获取待处理视频,并对所述待处理视频进行抽帧处理,得到所述多个视频帧,以得到所述待识别视频。
3.根据权利要求1所述的方法,其特征在于,获取所述待识别视频的每一个视频帧的人体框,包括:
将所述待识别视频输入至单阶段多尺度目标检测网络模型中,得到每一个所述视频帧中的各人体框;
将每一个所述视频帧中的各人体框,输入至预设识别模型中,得到每一个所述人体框中的各人体关键点,其中,每一个所述人体框中的人体关键点的关键点个数为v,v=21。
4.根据权利要求3所述的方法,其特征在于,所述方法,还包括:
在确定所述人体框中的人体对象被遮挡时,或者,在确定所述人体框中的人体关键点的关键点个数不是v时,根据所述人体框中的各人体关键点,预测出所述人体框的全部的人体关键点。
5.根据权利要求4所述的方法,其特征在于,根据所述人体框中的各人体关键点,预测出所述人体框的全部的人体关键点,包括:
根据所述人体框中的各人体关键点,确定所述人体框中的人体对象的人体骨架结构;
根据所述人体骨架结构,确定所述人体框的全部的人体关键点。
6.根据权利要求1-5任一项所述的方法,其特征在于,每一个视频帧中的人体框个数是m,m为正整数;m个人体框,是每一个视频帧中的人体框置信度最高的前m个人体框;
所述方法,还包括:
获取每一个视频帧中的每一个人体框中的人体关键点的关键点置信度;
对每一个人体框中的人体关键点的关键点置信度进行加权求和,得到每一个人体框的人体框置信度。
7.根据权利要求1-5任一项所述的方法,其特征在于,在待识别视频的视频个数为n时,n为正整数,所述特征矩阵中还包括所述视频个数。
8.根据权利要求1-5任一项所述的方法,其特征在于,在得到所述待识别视频的人体行为类别之后,还包括:
在确定所述人体行为类别为预设类别时,发出警示信息,其中,所述警示信息包括以下的一种或多种:语音信息、文字信息、灯光信息、框选信息;
和/或,
在确定所述人体行为类别为预设类别时,对所述待识别视频进行预设处理,其中,所述预设处理包括以下一种或多种:重复播放处理、删除处理、遮挡处理。
9.一种基于视频的人体行为识别装置,其特征在于,包括:
第一获取单元,用于获取待识别视频,其中,所述待识别视频中包括多个视频帧;
第二获取单元,用于获取所述待识别视频的每一个视频帧的人体框,其中,每一个所述人体框中包括多个人体关键点,每一个所述人体关键点具有关键点特征;
构建单元,用于根据各所述视频帧的人体框构建特征矩阵,所述特征矩阵中包括每一个人体关键点的关键点特征、所述待识别视频中的视频帧的视频帧个数、每一个人体框的人体关键点的关键点个数、每一个视频帧中的人体框的人体框个数;
卷积单元,用于在所述视频帧个数的维度上,对所述特征矩阵进行卷积,得到第一卷积结果,并在所述关键点个数的维度上,对所述特征矩阵进行卷积,得到第二卷积结果;
识别单元,用于将所述第一卷积结果和所述第二卷积结果输入到预设分类模型中,得到所述待识别视频的人体行为类别。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
12.一种基于视频的人体行为识别方法,其特征在于,包括:
获取待识别视频,其中,所述待识别视频中包括多个视频帧;
获取所述待识别视频的每一个视频帧的人体特征;
根据各个相邻的视频帧的人体特征,确定所述待识别视频的人体行为类别。
技术总结