基于特征融合和多分类器投票的多体感人体行为识别算法的制作方法

文档序号:21835690发布日期:2020-08-14 15:57阅读:298来源:国知局
基于特征融合和多分类器投票的多体感人体行为识别算法的制作方法

本发明涉及人体行为识别估计领域,特别设计基于特征融合和多分类器投票的多体感人体行为识别算法。



背景技术:

随着计算机人机交互领域的不断发展,人体动作识别技术在智能监控、舞蹈教学、医疗康复等方面的应用越来越广泛,为人们的日常生活提供了极大的便利。一般在不同的应用场景中,使用不同的动作捕捉设备,关于人体动作捕捉技术方面,主要有光学式和可穿戴式两种。微软发布的kinect3d体感摄影机,不仅可以采集人体的彩色图像和深度信息,还能够获得人体骨骼数据信息。

人体行为识别是人体运动分析的重要组成部分,它属于高级视觉分析,主要指利用计算机对运动目标做的动作的模式进行一系列的分析,然后识别。正是因为动作是人的一种行为方式,故想要利用计算机分析人体的行为,就必须对人体的行为进行视觉分析。随着视觉分析理论的不断发展,同时也使得对传统的视觉分析提出了更多要求,例如:多传感器融合、高效率、高精度等要求。



技术实现要素:

为了解决上述存在问题。本发明提供基于特征融合和多分类器投票的多体感人体行为识别算法,解决人体行为识别问题。为达此目的:

本发明提供基于特征融合和多分类器投票的多体感人体行为识别算法,具体步骤如下:

步骤1:同时使用三维kinect摄像头采集人体运动数据,获得人体运动的三视图;

步骤2:利用kinectforwindowssdk中的骨骼追踪技术,对图像中的人体骨骼进行位置追踪,可获得人体骨骼20个关节点的数据信息,并通过人体骨骼数据计算各个关节的肢体向量特征和肢体加速度特征;

步骤3:将带有人工标注的图像特征作为训练集,并将n个初始化图像帧,一一对应的训练n个knn分类器,同时分配并更新每个分类器的权重;

步骤4:对于一个未知类别的人体行为多帧图像,按照步骤2提取该多帧图像的肢体向量特征和肢体加速度特征,并将其特征送入到分配过权重的n个knn分类器中,并识别该类人体行为类别。

作为本发明进一步改进,所述步骤2中人体骨骼关节数据信息如下:

使用kinectforwindowssdk中的骨骼追踪技术,对人体运动信息进行采集,最终获得人体20个骨骼关节点三维数据信息,并将每个关节用a-t的编号进行表示,并通过式1计算人体骨骼的关节角:

其中,θ是每帧骨骼数据t时刻关节角的大小,u(t)和v(t)分别是t时刻的两个关节向量,通过式1最终可得17个人体关节角信息。

作为本发明进一步改进,所述步骤2中计算各个关节的肢体向量特征和肢体加速度特征如下:

根据人体结构学,人体可分为五大部分,kinectforwindowssdk中的骨骼追踪技术可获得以上各个关节点数据信息,包括:

1、头部t(t)、颈部c(t)、脊柱d(t)和臀部g(t);

2、左手l(t)、左腕j(t)、左肘h(t)和右肩a(t);

3、右手m(t)、右腕k(t)、右肘i(t)和右肩b(t);

4、左脚r(t)、左踝p(t)、左膝n(t)和左臀e(t);

5、右脚s(t)、右踝q(t)、右膝o(t)和右臀f(t);

可通过下式来求解五大人体的关节向量特征:

由于每个骨骼结点对人体动作表达贡献度的不同,将会从每部分中选取两个主动作关节角,利用式3计算人体肢节的角速度特征:

ω(t)=θ(t+1)-θ(t)(3)

θ(t)是t帧关节角的大小,其中躯干部分的角速度特征计算选取角θ4和θ9,左臂部分选取θ3和θ2,右臂部分选取θ6和θ7,左腿部分选取θ12和θ13,右腿部分选取θ15和θ16;人体各部分的角速度特征代表了人体四肢和躯干整体的运动情况;

人体四肢和躯干的弯曲可通过关节点之间距离的变化来体现,即关节点的加速度特征可刻画人体四肢和躯干的弯曲程度:

v(t)=d(t+1)-d(t)(4)

其中v(t)是t帧的速度特征,d(t)是人体五个部分的首末关节点的欧式距离。

作为本发明进一步改进,所述步骤3中更新每个分类器的权重如下:

当人体在运动过程中,将会发生形变以及姿态上的变化,这种变化会降低分类算法的识别精度,为了优化多分类器对人体行为的识别和充分利用三维kinect传感器信息,本发明对n个图像帧分配n个knn分类器:

首先将带有人工标注的多个多帧图像通过步骤2提取各个关节的肢体向量特征和肢体加速度特征,按照4:1的比例分别作为训练集样本和测试集样本;假设采集人体行为的多帧图像共有n帧,将建立n个knn分类器,并分别通过式5来计算测试样本到训练样本的距离:

其中xi是测试特征样本,x'i是训练集特征样本;并通过欧式距离找出训练样本距离测试样本最近的k个训练样本点,同时将根据分类决策规则决定测试样本在该分类器的类别:

其中,yi∈{c1,c2,…,ck}是训练样本x'i实例的类别,i是指示函数,当yi=ci时,i为1,否则为0;

在第一次得到n个knn分类器之后,给每个分类器分配权重wm={wm1,wm2,…,wmn},m=1,2,...,m,m代表的分类器迭代分配权重次数;

当m=1时,即第一次迭代过程中,给每个knn分类器分配相同的权重:

在测试样本后续迭代的过程中将会不断更新每个knn分类器的权重,权重的更新是自适应的调整每个分类器权重:

p'mn是该分类器对测试样本的分类结果,pn是测试样本实际的人工标注类别,s(p'mn=pn)代表的是当测试样本被正确分类时其值取-1,反之取1;这样可以实现多分类器的优化,从而减小图像中的干扰、提高分类器的鲁棒性。

作为本发明进一步改进,所述步骤4中识别该类人体行为类别如下:

对于一个未知类别的人体行为多帧图像,按照步骤2提取该多帧图像的肢体向量特征和肢体加速度特征,并将其特征送入到分配过权重的n个knn分类器中,并识别该类人体行为类别得到每个分类器的分类结果pij,i=1,2,...,n,j=1,2,...,k,n是分类器的个数,j是人体行为类别的种类,对于未知人体行为类别的判别可通过式12获得:

classi(a)=max(w(m+1)ipij)i=1,2,…,nj=1,2,...,k(12)

w(m+1)i是迭代m次后第i个knn分类器的权重,最后将具有最大权重的分类类别确定为该多帧图像的人体行为类别。

本发明一种基于特征融合和多分类器投票的多体感人体行为识别算法,

有益效果在于:

1.本发明使用三维kinect传感器采集人体运动数据,采集到的数据包含更多的人体运动信息;

2.本发明根据人体结构学提取了各个关节的肢体向量特征和肢体加速度特征,可以更好的对人体骨骼未知进行追踪;

3.本发明设计了可更新权重的knn多分类器结构,提高了模型的鲁棒性和识别率;

4.本发明为人体行为识别提供了一种重要技术手段

附图说明

图1是整体算法原理流程图;

图2是人体骨骼关节点编号图;

图3是17个人体骨骼关节角信息图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细描述:

本发明提供基于特征融合和多分类器投票的多体感人体行为识别算法,本发明的整体算法原理流程如图1所示,步骤如下所示:

步骤1:搭建锂电池实验平台,该平台可以实时测量锂电池工作数据,包括:电池充放电的电压、电流、阻抗和环境温度等实验数据,可对锂电池进行循环充放电实验;

步骤1:同时使用三维kinect摄像头采集人体运动数据,获得人体运动的三视图;

步骤2:利用kinectforwindowssdk中的骨骼追踪技术,对图像中的人体骨骼进行位置追踪,可获得人体骨骼20个关节点的数据信息,并通过人体骨骼数据计算各个关节的肢体向量特征和肢体加速度特征;

步骤2中人体骨骼关节数据信息具体描述如下:

使用kinectforwindowssdk中的骨骼追踪技术,对人体运动信息进行采集,最终获得人体20个骨骼关节点三维数据信息,并将每个关节用a-t的编号进行表示,人体骨骼关节点编号如图2所示,并通过式1计算人体骨骼的关节角:

其中,θ是每帧骨骼数据t时刻关节角的大小,u(t)和v(t)分别是t时刻的两个关节向量,通过式1最终可得17个人体关节角信息,如图3所示。

步骤2中计算各个关节的肢体向量特征和肢体加速度特征具体描述如下:

根据人体结构学,人体可分为五大部分,kinectforwindowssdk中的骨骼追踪技术可获得以上各个关节点数据信息,包括:

头部t(t)、颈部c(t)、脊柱d(t)和臀部g(t);

1、左手l(t)、左腕j(t)、左肘h(t)和右肩a(t);

2、右手m(t)、右腕k(t)、右肘i(t)和右肩b(t);

3、左脚r(t)、左踝p(t)、左膝n(t)和左臀e(t);

4、右脚s(t)、右踝q(t)、右膝o(t)和右臀f(t);

可通过下式来求解五大人体的关节向量特征:

由于每个骨骼结点对人体动作表达贡献度的不同,将会从每部分中选取两个主动作关节角,利用式3计算人体肢节的角速度特征:

ω(t)=θ(t+1)-θ(t)(3)

θ(t)是t帧关节角的大小,其中躯干部分的角速度特征计算选取图3中角θ4和θ9,左臂部分选取θ3和θ2,右臂部分选取θ6和θ7,左腿部分选取θ12和θ13,右腿部分选取θ15和θ16;人体各部分的角速度特征代表了人体四肢和躯干整体的运动情况;

人体四肢和躯干的弯曲可通过关节点之间距离的变化来体现,即关节点的加速度特征可刻画人体四肢和躯干的弯曲程度:

v(t)=d(t+1)-d(t)(4)

其中v(t)是t帧的速度特征,d(t)是人体五个部分的首末关节点的欧式距离。

步骤3:将带有人工标注的图像特征作为训练集,并将n个初始化图像帧,一一对应的训练n个knn分类器,同时分配并更新每个分类器的权重;

步骤3中更新每个分类器的权重具体描述如下:

当人体在运动过程中,将会发生形变以及姿态上的变化,这种变化会降低分类算法的识别精度,为了优化多分类器对人体行为的识别和充分利用三维kinect传感器信息,本发明对n个图像帧分配n个knn分类器:

首先将带有人工标注的多个多帧图像通过步骤2提取各个关节的肢体向量特征和肢体加速度特征,按照4:1的比例分别作为训练集样本和测试集样本;假设采集人体行为的多帧图像共有n帧,将建立n个knn分类器,并分别通过式5来计算测试样本到训练样本的距离:

其中xi是测试特征样本,x'i是训练集特征样本;并通过欧式距离找出训练样本距离测试样本最近的k个训练样本点,同时将根据分类决策规则决定测试样本在该分类器的类别:

其中,yi∈{c1,c2,...,ck}是训练样本x'i实例的类别,i是指示函数,当yi=ci时,i为1,否则为0;

在第一次得到n个knn分类器之后,给每个分类器分配权重wm={wm1,wm2,...,wmn},m=1,2,...,m,m代表的分类器迭代分配权重次数;

当m=1时,即第一次迭代过程中,给每个knn分类器分配相同的权重:

在测试样本后续迭代的过程中将会不断更新每个knn分类器的权重,权重的更新是自适应的调整每个分类器权重:

p'mn是该分类器对测试样本的分类结果,pn是测试样本实际的人工标注类别,s(p'mn=pn)代表的是当测试样本被正确分类时其值取-1,反之取1;这样可以实现多分类器的优化,从而减小图像中的干扰、提高分类器的鲁棒性。

步骤4:对于一个未知类别的人体行为多帧图像,按照步骤2提取该多帧图像的肢体向量特征和肢体加速度特征,并将其特征送入到分配过权重的n个knn分类器中,并识别该类人体行为类别。

步骤4中识别该类人体行为类别具体描述如下:

对于一个未知类别的人体行为多帧图像,按照步骤2提取该多帧图像的肢体向量特征和肢体加速度特征,并将其特征送入到分配过权重的n个knn分类器中,并识别该类人体行为类别得到每个分类器的分类结果pij,i=1,2,...,n,j=1,2,...,k,n是分类器的个数,j是人体行为类别的种类,对于未知人体行为类别的判别可通过式12获得:

classi(a)=max(w(m+1)ipij)i=1,2,…,nj=1,2,...,k(12)

w(m+1)i是迭代m次后第i个knn分类器的权重,最后将具有最大权重的分类类别确定为该多帧图像的人体行为类别。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。

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