一种基于字典学习的人体动作序列降噪方法与流程

文档序号:12273003阅读:908来源:国知局
一种基于字典学习的人体动作序列降噪方法与流程

本发明涉及一种运动数据的降噪方法,具体的涉及一种基于字典学习的人体动作序列降噪方法,属于动作捕捉数据处理领域。



背景技术:

近年来,随着动捕技术的快速发展,动捕数据已被广泛应用在电脑游戏、电影制作以及动画产业。然而,对于大多数昂贵的商业动捕系统,仍旧存在各种动捕数据丢失和噪声。大多数商业动捕系统都会提供动捕数据后处理软件,用于修复丢失的数据以及去除噪声,但是需要专业的操作人员花费大量的时间进行精细的修复。与此同时,随着Microsoft Kinect的出现,低成本深度传感器越来越流行,该类型的传感器能够实时获取人体运动数据,但是数据不如商业动捕系统精确,尤其是遇到遮挡时会出现比较严重的数据缺失,这使得动捕数据的降噪工作更加重要。

在基于信号滤波方法的动捕数据的降噪方面,标准高斯低通滤波器,离散余弦变换(DCT)和傅里叶变换进行被作为常用的降噪方法。动捕设备采集的原始运动数据为各个关节的旋转数据,不具备线性插值特性,Jehee和Shin将旋转数据变换至向量空间,通过滤波对其进行降噪,最后将其变换回原空间得到降噪后的运动数据。Bruderlin和Williams认为从图像或信号处理领域的工具可以被用在设计、修改和改变运动数据。

在降维方法的动捕数据的降噪方面,通常通过降维消除信号中 接近无用的成分,可以通过主成分分析(PCA)等降维方法完成。然而,PCA计算后的低维数据只考虑了方差最大的几个正交方向,然而有时我们对能够表示运动数据的潜在关系的独立子集更加感兴趣,因此,独立成分分析(ICA)是另一个不错的选择。Tao等给予流形学习在机器学习和计算机视觉方面获得了许多优秀的成果,此外,该方法被当做一种特殊的降维方法应用在人体运动数据降噪的研究中。

在基于低秩矩阵的动捕数据的降噪方面,Lai和Yuen注意到运动数据矩阵具有近似低秩的特性,将运动数据的降噪问题转化为一般的低秩矩阵恢复问题。他们提出的目标函数可以通过奇异值阈值(SVT)算法求解。该方法不需要任何的训练数据,但是需要用户有噪声数据的标准差,在实际应用中具有一定的局限性。此外,仅仅利用人体运动数据低秩特性并不能保证恢复的人体运动数据足够平滑。实际上,低秩矩阵恢复理论在处理人体运动数据中某些帧丢失的情况不太理想。

针对运动数据降噪的问题,已经有许多研究人员进行了一系列研究,提出了一系列人体动作数据降噪的方法,然而在实际应用当中,这些方法都有各自的缺点。目前成果主要包括基于信号滤波、降维以及低秩矩阵的方法,能够对运动数据实现一定程度的降噪,但是容易忽略人体关节之间的结构特性。另一方面,现有方法仅针对待降噪动捕数据直接进行降噪,而对于已有的动捕数据的时空特征未能充分利用,从而对动捕数据的降噪带来了一定程度的影响。

为此,如何提供一种基于字典学习的方法提取并分析已有的大量动捕数据中的运动数据的时空特征,并将其用于新的动捕数据的降噪问题,是本发明研究的目的。



技术实现要素:

为克服现有技术不足,本发明提供一种基于字典学习的人体动作序列降噪方法,采用基追踪算法解决l1最优化问题,提取已有动作捕捉数据的时序特征训练动作字典,再基于该字典对新的动作捕捉数据进行压缩和重构,进而实现动作捕捉数据的降噪。

为解决现有技术问题,本发明所采用的技术方案是:

一种基于字典学习的人体动作序列降噪方法,其特征在于:包括以下步骤:第一步,取一段T帧的动作捕捉数据,记为P=[p1,p2,…,pl,…,pL],其中pl=[xl,1,yl,1,zl,1,…,xl,t,yl,t,zl,t,…,xl,T,yl,T,zl,T]代表第l个关节的动作捕捉数据,共有T帧;每个关节的动作捕捉数据进行并行处理,最后生成每个关节的字典;

第二步,含噪的某关节的动作捕捉数据pl可以表示为:xn=x+n,其中xn,x,n分别是含噪运动数据、无噪运动数据和噪声数据,首先将字典Φ初始化为随机矩阵,然后对每帧的运动数据通过压缩采样得到M维的观测向量:

yn=Φxn=Φ(xi+n)=Φxi+z0

其中,||z0||≤ε0,z0是由运动数据的噪声引入的,而无噪的运动数据xi=Ψα,对应的观测向量:

yni=ΦΨα+z0

通过压缩感知对运动数据进行二次采样,得到观测向量集{yni|i=1,2,…,T'};无噪运动数据在DCT域近似稀疏,从DCT系数α中选择M项最大的稀疏得到αM,观测向量可以表示为:

yni=ΦΨαM+z0+z1=ΦΨαM+z

其中,二次采样测量噪声z1=ΦΨ(α-αM),||z1||2≤ε1,总噪声z=z0+z1, ||z||2=||z0+z1||2≤||z0||2+||z1||2≤ε01。令ε=ε01,则||z||2≤ε;采用基追踪算法对二次采样的信号进行重构,其定义优化问题如下:

其中,ε≥||z||2是允许的最大误差,并得到动作数据的稀疏表示;

第三步,针对第二步得到的动作数据的稀疏表示结果,采用K-SVD方法逐列更新字典,目标函数可重写为

上式中,Φ·Ψ·α被分解为K个秩为1的矩阵的和,假设其中K-1项都是固定的,剩下的一列就是要更新的第k个,矩阵Ek表示去掉原子dk的成分在所有样本中造成的误差;只保留系数中的非零值,再进行SVD分解即可。

进一步的,在第一步中,每个所述的关节的动作捕捉数据是独立的数据。

本发明的有益效果是:通过已有的运动数据训练字典,得到运动数据的时序特征,并得到的字典用于对新采集的动作捕捉数据进行降噪,获得了较好的降噪效果;构建了一套动作字典,该字典由训练动作得到稀疏基,实现动作数据的最优化表示,有效的利用了动作的时序特征;构建了一套训练动作字典并行计算的框架,实现不同关节的动作数据同时进行计算,有效的缩短了动作字典的训练时间,提高了训练阶段的效率。

附图说明

图1为本发明总体步骤图。

图2为人体骨架关节结构图。

具体实施方式

为了使本领域技术人员更能理解本发明技术方案,下面结合附图1-2对本发明做进一步分析。

如图1所示,一种基于字典学习的人体动作序列降噪方法,包括:第一步,取一段T帧的动作捕捉数据,记为P=[p1,p2,…,pl,…,pL],其中pl=[xl,1,yl,1,zl,1,…,xl,t,yl,t,zl,t,…,xl,T,yl,T,zl,T]代表第l个关节的动作捕捉数据,共有T帧。在后续的步骤中,由于每个关节的动作捕捉数据是独立的数据,因此本发明对每个关节的动作捕捉数据进行并行处理,即图2中每个虚线框的流程可以同时进行处理,最后生成每个关节的字典。如图2所示,人体运动可以采用每个关节的运动来描述,关节之间存在父子关系,关节的方向由它在父关节坐标空间中的相对方向进行描述,根骨(图2中标号为1的关节点)采用模型坐标空间中的位置和方向进行描述。采用图1人体骨架模型描述动作数据,取ID为0的关节的位置以及所有关节(包括ID为0的关节)的方向表示人体运动。

第二步,含噪的某个关节的动作捕捉数据pl可以表示为:xn=x+n,其中xn,x,n分别是含噪运动数据、无噪运动数据和噪声数据。首先将字典Φ初始化为随机矩阵,然后对每帧的运动数据通过压缩采样得到M维的观测向量:

yn=Φxn=Φ(xi+n)=Φxi+z0

其中,||z0||≤ε0,z0是由运动数据的噪声引入的,而无噪的运动数据xi=Ψα,对应的观测向量:

yni=ΦΨα+z0

通过压缩感知对运动数据进行二次采样,得到观测向量集{yni|i=1,2,…,T'}。无噪运动数据在DCT域近似稀疏,从DCT系数α中选择M项最大的稀疏得到αM,观测向量可以表示为:

yni=ΦΨαM+z0+z1=ΦΨαM+z

其中,二次采样测量噪声z1=ΦΨ(α-αM),||z1||2≤ε1,总噪声z=z0+z1,||z||2=||z0+z1||2≤||z0||2+||z1||2≤ε01。令ε=ε01,则||z||2≤ε。采用基追踪算法对二次采样的信号进行重构,其定义优化问题如下:

其中,ε≥||z||2是允许的最大误差。该步骤能够得到动作数据的稀疏表示。

第三步,针对上一步得到的动作数据的稀疏表示结果,采用K-SVD方法逐列更新字典,目标函数可以重写为

上式中,Φ·Ψ·α被分解为K个秩为1的矩阵的和,假设其中K-1项都是固定的,剩下的一列就是要更新的第k个,矩阵Ek表示去掉原子dk的成分在所有样本中造成的误差。为了保证更新字典后仍然保留动作数据的稀疏性,只保留系数中的非零值,再进行SVD分解即可。

实施例:采用卡内基梅隆大学的人体运动数据库进行降噪性能测试,采用该库对字典进行训练,并以该库中“basketball_06_11”动作为例进行降噪(“basketball_06_11”动作不包含在训练集中)。

(1)对于某个动作捕捉数据,取将该动作以多个关节序列的方式进行表示

P=[p1,p2,…,pl,…,pL]

(2)对于每个关节序列pl采用基追踪算法,求解l1最优化问题

得到动作数据的稀疏表示

(3)采用K-SVD方法逐列更新字典,若采用该字典在第(2)步得到的动作使得||yn-ΦΨα||2≤ε成立,更新后的Φ为该关节的字典,否则重复步骤(2);

(4)对于P=[p1,p2,…,pl,…,pL]中的L个关节重复步骤(2)~(3);

(5)对于卡内基梅隆大学人体运动数据库中的每个动作数据,重复步骤(2)~(4),得到最终的字典Φ;

(6)取该库中“basketball_06_11”动作,将其以多个关节序列的方式进行表示

P=[p1,p2,…,pl,…,pL]

(7)对于每个关节序列pl利用步骤(5)得到的字典Φ通过压缩采样得到M维的观测向量:

yl,n=Φpl=Φ(pl,i+n)=Φpl,i+z0

(8)采用基追踪算法从yl,n重构pl',pl'为第l个关节降噪后的数 据;

(9)对P=[p1,p2,…,pl,…,pL]中每个关节的数据重复步骤(7)~(8),得到降噪后的动作数据P'=[p1',p2',…,pl',…,pL']

本发明所述方法针对动捕设备采集的运动数据具有噪声且人工降噪工作量大的问题,提出通过字典学习的方法对运动数据进行降噪。本发明通过已有的运动数据训练字典,得到运动数据的时序特征,并得到的字典用于对新采集的动作捕捉数据进行降噪,获得了较好的降噪效果。

以上对本申请所提供的技术方案进行了详细介绍,本文中应用了实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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