本发明属于计算机图形学和人机交互技术领域,尤其涉及一种基于人体运动序列关键帧的多特征融合行为识别方法。
背景技术:
视觉是人类活动中信息传递的最重要的媒介,研究发现约80%的信息人类是通过视觉获取得到。近年来,随着计算机技术的发展,特别是互联网的迅速普及,计算机视觉学科已经成为计算机领域最为活跃和热门的学科之一。计算机视觉(computervision)是指用摄像机和电脑模拟人类视觉对目标进行识别、跟踪、测量等的机器视觉,并通过识别和分析做进一步的图形处理。人类行为识别作为计算机视觉的一个新兴研究领域得到了研究者广泛的研究。人类行为识别主要研究包含人体运动的视频序列,采用计算机,图形图像学方法对视频中的特征进行提取,最终正确分析出视频中的人类活动的动作类型或者行为模式。
其中基于视频的人体行为识别在各个方面有着广泛的应用,如视频监控,视频分析,人机交互等方面都有着很好的应用前景。而基于视频的行为识别中输入冗余问题和准确率问题一直是制约行为识别向前发展的重要因素。
人体行为识别的数据主要来自于rgb图像,深度图像和人体的骨架信息,因此,人体行为识别根据这三种不同的数据来源可以分为三种:基于图像rgb信息的行为识别、基于rgb-d信息的行为识别、基于骨架节点信息的行为识别。他们分别利用视频的不同特征对视频进行分析,从而得到视频中的行为。但是随着视频复杂度地不断提升,单一的视频特征已经不能准确地表达出需要地视频信息。并且,随着视频数据量和信息量的不断增加,导致我们在进行行为识别的过程中,由于冗余数据的存在而错过了重要的目标信息,而对庞大的数据量进行逐一检测有悖于视频分析的原则且难以实现。
技术实现要素:
为了克服上述现有技术的不足,本发明的目的是提供一种基于关键帧的多特征融合行为识别方法,提出了基于关键帧的多特征融合行为识别系统。在卡耐基梅隆大学提供的openpose人体姿态库的基础上实现了视频关键帧的提取算法,进而构建多特征融合的行为识别模型。该方法相比基于原始视频的单一特征行为识别方法而言,使用关键帧提取出视频的关键帧一方面能够减少识别时间,另一方面能够提取出视频中的重要信息,使准确率得到提升,并在此基础上融合视频的rgb信息,光流信息,骨架信息,使得对视频的表达更加充分。
为了实现上述目的,本发明采用的技术方案是:
一种基于关键帧的多特征融合行为识别方法,包括以下步骤:
步骤1、提取视频的rgb图像信息,光流信息和骨架关节点信息;
1)通过opencv工具将视频进行分帧处理,得到视频的图像帧;
2)通过denseflow提取到视频的光流的灰度图像;
3)通过openpose姿态提取库提取到视频中人物的关节点信息,得到包含18个关节点的坐标位置序列;
步骤2、利用视频的人体骨架关节点信息对视频进行关键帧的提取;
1)假如视频序列为s={x(1),x(2),...,x(n)},n为视频序列总帧数,i为视频中的第i帧,x(i)为序列中的第i帧的18个关节点二维坐标位置向量,x(i)为36维向量,对视频序列s进行k簇聚类,步骤如下:
step1:求出视频序列相邻关键帧的帧间距d={d1,d2,...,dn-1},对帧间距从大到小进行排序,并且根据排序后的帧间距将视频序列分割成k个初始簇类c={ci|i=1,2,...,k},从每簇中选择一帧作为聚类初始聚类中心c={ci|i=1,2,...,k};
step2:针对s中的每一个特征向量x(i),计算他到每个聚类中心的距离并将其分到距离最近的聚类中心所对应的类中;
step3:针对每个类别ci,重新计算他的聚类中心
step4:重复step2和step3,使用k-means算法逐步优化聚类中心;直到聚类中心函数收敛,最终得到聚类中心c′={ci′|i=1,2,...,k};
2)提取每个聚类中心距离最近的帧作为视频关键帧,并得到关键帧序列f={fi|i=1,2,...,k};
步骤3、利用双流卷积网络模型对视频关键帧的rgb图像信息和光流信息特征提取;
步骤4、提取关键帧的骨架关节点信息输入到时空图卷积网络中进行行为识别,利用时空图卷积网络模型构建视频关键帧的骨架时空图,并生成时空图的高级特征图,步骤如下:
1)对关键帧的关节点坐标进行归一化;
2)根据节点矩阵v和关节点e构建关键帧的时空图g=(v,e),v={vki|k=1,2,...,k,i=1,2,...,t},其中k为关键帧数量,t为关节点数;关节点链接e主要包括帧内不同关节点链接es={vkivkj}和帧间相同关节点链接ef={vkiv(k+1)i},其中i和j是链接的两个关节点序号,k和k+1是相邻的两个关键帧;
3)将时空图进行多层时空图卷积操作,构建出时空图的空间时间邻域信息:
b(vti)={vqj|d(vtj,vti)≤k,|q-t|≤[γ/2]}
其中b(vti)表示时空图的时空邻域集合,应满足在空间上vtj到vti的的距离小于子集的个数k,在时间上第q帧到第t帧的距离应小于时间内核的大小γ;
4)通过空间构型划分来获得子集的标签,该构型针对帧体关节点和动作的特性,将节点的1邻域划分为三个子集,第一个为节点本身,第二个子集是空间位置上比本节点更靠近重心的节点集合,第三个子集为比本节点更远离重心节点的节点集合,如下;
其中lti(vtj)表示vti的邻域节点vtj的标签;
5)通过多层卷积操作得到骨架时空图的高级表达;
步骤5、提取关键帧的rgb图像信息,并使用数据增强操作后,输入到在imagenet上预训练之后的空间卷积网络模型中,以提取出视频帧的rgb图像特征;
步骤6、为了使网络能够接受2l个通道数的堆叠光流,对时间卷积神经网络的第一个卷积层的权值进行通道扩展,使得输入支持更多的通道数,具体步骤如下:
1)将原始模型在第一个卷积层上的卷积核参数沿着通道进行求和操作;
2)得到的参数和除以新的通道数,得到每个通道的平权参数值;
3)沿着光流端输入的通道复制得到的平均参数值,得到光流网络模型中第一个卷积层的权重参数;
步骤7、提取出关键帧附近的l帧光流信息,输入到通道扩展之后的时间卷积网络模型中,以提取出视频的光流特征;
步骤8、将步骤4、步骤5、步骤7中时空图卷积网络模型的softmax输出和双流网络模型的softmax输出使用加权融合方式进行融合得到最终的行为识别结果,融合策略为:
r=αr1+βr2+δr3
其中,r1,r2,r3分别是空间流网络,时间流网络和骨架流网络的softmax层的输出结构,α+β+δ=1。
本发明的有益效果是:
本发明中关键帧提取阶段所用到的聚类方法为k-means聚类算法,行为识别阶段使用到的网络模型是基于人体关节点的时空图卷积网络模型和基于视频rgb信息和图像信息的双流卷积网络识别模型。
本发明主要关注于人体运动的视频,一方面根据人体的关节点进行关键帧提取,该方法能够更加细化人体动作间的细微差异;另一方面通过多特征融合的方式进行行为识别,更高更好地应用视频中的特征信息。该方法能够更加地利用视频中的关键信息进行行为识别,对识别的准确率的提升十分有效。
附图说明
图1为本发明实施例提供的基于关键帧的多特征融合行为识别方法的流程示意图;
图2为本发明实施例提供的人体骨架及索引示意图;
图3为本发明实施提供的双流卷积网络模型结构的示意图;
图4为本发明实施提供的时空图卷积网络模型的结构示意图。
具体实施方式
以下结合实施例和说明书附图对本发明的技术方案做详细的说明,但不限于此。
本发明在ubuntu16.04系统上开发完成,系统中搭载了geforce显存,并配置了实验
过程中所需要的opencv3.1.0,python等工具,在本地搭建了openpose姿态提取库。
本发明的一种基于关键帧的多特征行为识别方法,如图1所示,包括如下步骤:
步骤1、将视频输入到openpose姿态提取库中提取视频中人体的关节点信息,每个人体包含18个关节点的二维坐标信息,人体骨架表示及索引如图2所示,并将每一帧的关节点坐标和位置序列定义为特征向量x(i),表示为:
j={(xi,yi)|i=0,1,...,17}
其中xi,yi表示关节点i处的横纵坐标。
假如视频序列为s={x(1),x(2),...,x(n)},n为视频序列总帧数,i为视频中的第i帧,x(i)为序列中的第i帧的18个关节点二维坐标位置向量,x(i)为36维向量。
步骤2、基于帧间距离,将视频序列按帧间距由大到小的顺序划分为k簇,记为c={ci|i=1,2,...,k},并从每一簇中选择出一帧作为初始聚类中心c={ci|i=1,2,...,k}。
步骤3、在此基础上,基于帧间式距离,使用k-means算法逐步优化聚类中心;直到函数收敛。最终得到聚类中心c′={ci′|i=1,2,...,k}。
步骤4、得到视频的关键帧信息后,提取关键帧的rgb图像信息,光流信息和骨架信息。
步骤5、对关键帧的关节点坐标进行归一化;
步骤6、根据节点矩阵v和关节点链接e构建关键帧的时空图g=(v,e),v={vki|k=1,2,...,k,i=1,2,...,t},其中k为关键帧数量,t为关节点数;关节点链接e主要包括帧内不同关节点链接es={vkivkj}和帧间相同关节点链接ef={vkiv(k+1)i},其中i和j是链接的两个关节点序号,k和k+1是相邻的两个关键帧。
步骤7、将时空图进行多层时空图卷积操作,逐步生成更高级的特征图,并利用标准的softmax分类器进行行为分类,其网络结构如图3所示。
步骤9、分别使用在imagenet数据集上进行预训练之后的resnet152网络模型,对视频关键帧的rgb图像信息和光流信息进行训练。其网络结构如图4所示
步骤9、将三个网络的softmax层的输出进行融合,得到最终的行为分类。