CN101482928B - 一种行为描述的方法和装置 - Google Patents

一种行为描述的方法和装置 Download PDF

Info

Publication number
CN101482928B
CN101482928B CN2009100782953A CN200910078295A CN101482928B CN 101482928 B CN101482928 B CN 101482928B CN 2009100782953 A CN2009100782953 A CN 2009100782953A CN 200910078295 A CN200910078295 A CN 200910078295A CN 101482928 B CN101482928 B CN 101482928B
Authority
CN
China
Prior art keywords
dimensional
frame
actor
dimensional actor
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100782953A
Other languages
English (en)
Other versions
CN101482928A (zh
Inventor
丁晓青
谷军霞
吴佑寿
王生进
方驰
刘长松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN2009100782953A priority Critical patent/CN101482928B/zh
Publication of CN101482928A publication Critical patent/CN101482928A/zh
Application granted granted Critical
Publication of CN101482928B publication Critical patent/CN101482928B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种行为描述的方法和装置,属于行为识别技术领域。所述方法包括:获取三维行为者序列,三维行为者序列总共为K帧;根据三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算第一姿势参数和第一三维人体关节点坐标;依次对第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到第二帧三维行为者至第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标;将所有三维人体关节点坐标合并为三维人体关节点坐标序列,将所有朝向参数合并为朝向参数序列,将所有空间位置参数合并为空间位置参数序列;用三维人体关节点坐标序列、朝向参数序列和空间位置参数序列描述三维行为者序列。

Description

一种行为描述的方法和装置
技术领域
本发明涉及行为识别技术领域,特别涉及一种行为描述的方法和装置。
背景技术
近年来人的行为识别已成为多个领域的研究热点,它在智能视频监控、人机交互、虚拟现实等方面有着广泛的应用前景。行为描述是行为识别一个最基本的问题,也是一个极具挑战性的问题。
目前常用的一种行为描述的方法是基于人体模型的行为描述方法,利用该方法描述行为时,常采用基于三维人体模型自动提取关节点的方法获取三维人体关节点序列,然后再用三维人体关节点序列描述三维行为者序列。其中,现有技术中基于三维人体模型自动提取关节点的方法,获取三维人体关节点序列的过程如下:1)三维人体模型及姿势参数的初始化;2)三维行为者的肢体部件分割,即将原始的三维行为者划分为若干个肢体部件;3)三维行为者的肢体部件跟踪,并获得各个肢体部件上关节点的位置。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
1)现有技术中基于三维人体模型自动提取关节点的方法,获取三维人体关节点序列时运算量非常大,提取关节点的速度非常慢;
2)现有技术只用三维人体关节点序列描述三维行为者的行为,对三维行为者行为的描述单一,包含的三维行为者的信息不丰富。
发明内容
为了减少获取三维人体关节点序列过程的运算量,提高获取三维人体关节点序列速度,并丰富对三维行为者的行为描述,本发明实施例提供了一种行为描述的方法和装置。所述技术方案如下:
一方面,本发明实施例提供了一种行为描述的方法,所述方法包括:
获取三维行为者序列,所述三维行为者序列总共为K帧;
根据所述三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算所述第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中所述第一姿势参数中包含第一朝向参数和第一空间位置参数;
采用自上而下和自下而上相结合的分割方法,以及利用自适应粒子个数粒子滤波算法依次对所述三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,所述每帧三维行为者的姿势参数中包括每帧三维行为者的朝向参数和空间位置参数;
将所述三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将所述三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将所述三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序列;
用所述三维人体关节点坐标序列、所述朝向参数序列和所述空间位置参数序列描述所述三维行为者序列。
另一方面,本发明实施例提供了一种行为描述的装置,所述装置包括:
获取模块,用于获取三维行为者序列,所述三维行为者序列总共为K帧;
初始化模块,用于根据所述三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算所述第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中所述第一姿势参数中包含第一朝向参数和第一空间位置参数;
处理模块,用于采用自上而下和自下而上相结合的分割方法,以及利用自适应粒子个数粒子滤波算法依次对所述三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,所述每帧三维行为者的姿势参数中包括每帧三维行为者的朝向参数和空间位置参数;
合并模块,用于将所述三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将所述三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将所述三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序列;
描述模块,用于用所述三维人体关节点坐标序列、所述朝向参数序列和所述空间位置参数序列描述所述三维行为者序列。
本发明实施例提供的技术方案的有益效果是:
通过采用自上而下和自下而上相结合的分割方法和自适应粒子个数粒子滤波跟踪算法,可以快速精确地自动提取出三维行为者的三维人体关节点坐标;并且,既可以有效地获得粘连肢体部件的三维人体关节点坐标,也可以有效地获得运动非常快的肢体部件的三维人体关节点坐标;另外,自适应粒子个数粒子滤波跟踪算法可以根据三维行为者的运动状态自适应地分配粒子数目,提高了算法的性能;并且用三维人体关节点坐标序列、空间位置参数序列和朝向序列参数综合描述行为,包含了三维行为者的轨迹信息、朝向信息和三维行为者的各个肢体部件关节点的运动信息,是对行为最为丰富和有效的描述。
附图说明
图1是本发明实施例1提供的一种行为描述的方法流程图;
图2是本发明实施例2提供的一种行为描述的方法流程图;
图3是本发明实施例2提供的一种三维人体模型的结构示意图;
图4是本发明实施例2提供的肢体部件分层控制的结构示意图;
图5是本发明实施例2提供的三个特征向量与人体的三个主轴之间的对应关系示意图;
图6是本发明实施例2提供的点到线段的距离示意图;
图7是本发明实施例2提供的用同中心的两个圆柱体C1、C2(C1 C2)来近似表示躯干所在的区域的示意图;
图8本发明实施例3提供的一种行为描述的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种行为描述的方法,参见图1,具体包括:
101:获取三维行为者序列,该三维行为者序列总共为K帧;
102:根据三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中第一姿势参数中包含第一朝向参数和第一空间位置参数;
103:依次对三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到第二帧三维行为者至第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,每帧三维行为者的姿势参数中包括每帧三维行为者的朝向参数和空间位置参数;
104:将三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序列;
105:用三维人体关节点坐标序列、朝向参数序列和空间位置参数序列描述三维行为者序列。
本实施例所述的方法,通过采用自上而下和自下而上相结合的分割方法和自适应粒子个数粒子滤波跟踪算法,可以快速精确地自动提取出三维行为者的三维人体关节点坐标;并且,既可以有效地获得粘连肢体部件的三维人体关节点坐标,也可以有效地获得运动非常快的肢体部件的三维人体关节点坐标;另外,自适应粒子个数粒子滤波跟踪算法可以根据三维行为者的运动状态自适应地分配粒子数目,提高了算法的性能。
实施例2
本发明实施例提供了一种行为描述的方法,参见图2,具体包括:
201:进行多视角视频采集得到多视角视频序列。
其中,进行多视角视频采集得到多视角视频序列的具体过程与现有技术相同,此处不再赘述。
202:对多视角视频序列进行三维重构得到三维行为者序列。
其中,对多视角视频序列进行三维重构得到三维行为者序列的具体过程与现有技术相同,此处不再赘述。并且,三维空间被划分为离散的网格点,三维行为者用三维占据网格的顶点点集表示,设
Figure GSB00000223404500041
表示三维行为者序列中第k帧三维行为者的点集,其中
Figure GSB00000223404500042
表示第n个网格顶点的三维坐标,Nk表示第k帧行为者点集的个数。另外,假设本实施例中得到的三维行为者序列总共为K帧,并设初始的帧序号为k=1,为了便于描述将三维行为者序列按照顺序依次称为第一帧三维行为者、第二帧三维行为者…第k帧三维行为者…第K帧三维行为者。并且本实施例中三维行为者的行为从三维行为者的站立姿势开始,即三维行为者序列中的第一帧三维行为者为站立姿势。
203:获取帧序号k=1对应的三维行为者,即三维行为者序列中的第一帧三维行为者,根据第一帧三维行为者,对选取的三维人体模型进行初始化,并计算第一帧三维行为者的姿势参数和三维人体关节点坐标。
本实施例中描述的行为是指人体的四肢和躯干运动而形成的行为,不包含手、脚、头等小部件的动作,所以本实施例选取的是包含11个肢体部件、14个关节点的三维人体模型,参见图3为本实施例选取的一种三维人体模型的结构示意图。并且三维人体模型也是由三维占据网格的顶点点集表示的,设
Figure GSB00000223404500051
表示人体模型的三维网格顶点集合,其中h(m)为第m个网格顶点的三维坐标。11个肢体部件依次为:头、躯干、腰、左上臂、左前臂、右上臂、右前臂、左大腿、左小腿、右大腿和右小腿;设L(m)(1≤m≤11)表示三维人体模型11个肢体部件的三维网格顶点子集,则
Figure GSB00000223404500052
14个关节点依次为:颈关节1、腰关节2、左肩关节3、左肘关节4、右肩关节5、右肘关节6、左胯关节7、左膝关节8、右胯关节9、右膝关节10、左腕关节11、右腕关节12、左踝关节13和右踝关节14;设
Figure GSB00000223404500053
表示三维人体模型14个关节点的三维人体关节点坐标。需要说明的是,在选取三维人体模型时
Figure GSB00000223404500054
L(m)(1≤m≤11)和
Figure GSB00000223404500055
在三维人体模型初始姿势下的初始值是作为已知量给出的
本实施例中对于整个人体,共设计了23个自由度,其中包括1个朝向自由度(即整个人体绕竖直轴旋转的角度)、3个空间位置自由度、3个腰关节旋转自由度、2个左肩关节旋转自由度、2个左肘关节旋转自由度、2个右肩关节旋转自由度、2个右肘关节旋转自由度、2个左胯关节旋转自由度、2个左膝关节旋转自由度、2个右胯关节旋转自由度和2个右膝关节旋转自由度。每个自由度对应一个姿势参数和一个姿势变换矩阵,设
Figure GSB00000223404500056
表示23维的姿势参数,整个人体的姿势空间由23维姿势参数构成,其中朝向和空间位置这4个姿势参数可以控制人体整体的变化,其余19个姿势参数分别控制某些肢体部件的变化。参见表1为人体关节点对应的姿势参数及姿势变换矩阵,并且表1中还列出了各个姿势参数
Figure GSB00000223404500057
(1≤n≤23)的物理意义。
表1
Figure GSB00000223404500058
其中,表1中各个姿势变换矩阵的具体表达式如下:
(1)朝向的姿势变换矩阵:令
Figure GSB00000223404500062
B γ = cos γ sin γ 0 0 - sin γ cos γ 0 0 0 0 1 0 0 0 0 1 ;
(2)空间位置的三个姿势变换矩阵:令
Figure GSB00000223404500064
Figure GSB00000223404500065
Figure GSB00000223404500066
B x = 1 0 0 x 0 1 0 0 0 0 1 0 0 0 0 1 ; B y = 1 0 0 0 0 1 0 y 0 0 1 0 0 0 0 1 ; B z = 1 0 0 0 0 1 0 0 0 0 1 z 0 0 0 1 ;
(3)腰关节的三个姿势变换矩阵:令
Figure GSB000002234045000610
Figure GSB000002234045000611
Figure GSB000002234045000612
Tα:旋转轴为X轴
T α = 1 0 0 0 0 cos α sin α 0 0 - sin α cos α 0 0 0 0 1 ;
Tβ:旋转轴为
Figure GSB000002234045000614
Figure GSB00000223404500071
设:
Figure GSB00000223404500072
则Tβ=e=I+Asin(β)+A2[1-cos(β)];
Tγ:旋转轴为
Figure GSB00000223404500074
设:则Tγ=e=I+Asin(γ)+A2[1-cos(γ)];
(4)左肩关节点的两个姿势变换矩阵:令
Figure GSB00000223404500076
Figure GSB00000223404500077
Figure GSB00000223404500078
旋转轴为Y轴
U β l = cos β 0 - sin β 0 0 1 0 0 sin β 0 cos β 0 0 0 0 1 ;
Figure GSB000002234045000710
旋转轴为
Figure GSB000002234045000711
Figure GSB000002234045000712
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , U γ l = e Aγ = I + A sin ( γ ) + A 2 [ 1 - cos ( γ ) ] ;
(5)左肘关节点的两个姿势变换矩阵:令
Figure GSB000002234045000715
Figure GSB000002234045000716
Figure GSB000002234045000717
旋转轴为Y轴
F β l = cos β 0 - sin β 0 0 1 0 0 sin β 0 cos β 0 0 0 0 1 ;
Figure GSB00000223404500082
旋转轴为
Figure GSB00000223404500084
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , F γ l = e Aγ = I + A sin ( γ ) + A 2 [ 1 - cos ( γ ) ] ;
(6)右肩关节点的两个姿势变换矩阵:令
Figure GSB00000223404500087
Figure GSB00000223404500088
Figure GSB00000223404500089
旋转轴为Y轴
U β r = cos β 0 - sin β 0 0 1 0 0 sin β 0 cos β 0 0 0 0 1 ;
Figure GSB000002234045000811
旋转轴为
Figure GSB000002234045000812
Figure GSB000002234045000813
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , U γ r = e Aγ = I + A sin ( γ ) + A 2 [ 1 - cos ( γ ) ] ;
(7)右肘关节点的两个姿势变换矩阵:令
Figure GSB000002234045000816
Figure GSB000002234045000817
Figure GSB000002234045000818
旋转轴为Y轴
F β r = cos β 0 - sin β 0 0 1 0 0 sin β 0 cos β 0 0 0 0 1 ;
Figure GSB000002234045000820
旋转轴为
Figure GSB000002234045000821
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , F γ r = e Aγ = I + A sin ( γ ) + A 2 [ 1 - cos ( γ ) ] ;
(8)左胯关节点的两个姿势变换矩阵:令
Figure GSB00000223404500094
Figure GSB00000223404500095
Figure GSB00000223404500096
旋转轴为X轴
T α l = 1 0 0 0 0 cos α sin α 0 0 - sin α cos α 0 0 0 0 1 ;
旋转轴为
Figure GSB00000223404500099
Figure GSB000002234045000910
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , T β l = e A β 17 = I + A sin ( β ) + A 2 [ 1 - cos ( β ) ] ;
(9)左膝关节点的两个姿势变换矩阵:令
Figure GSB000002234045000913
Figure GSB000002234045000914
Figure GSB000002234045000915
旋转轴为X轴
S α l = 1 0 0 0 0 cos α sin α 0 0 - sin α cos α 0 0 0 0 1 ;
Figure GSB000002234045000917
旋转轴为
Figure GSB000002234045000918
Figure GSB000002234045000919
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , S β l = e A β = I + A sin ( β ) + A 2 [ 1 - cos ( β ) ] ;
(10)右胯关节点的两个姿势变换矩阵:令
Figure GSB00000223404500103
Figure GSB00000223404500104
Figure GSB00000223404500105
旋转轴为X轴
T α l = 1 0 0 0 0 cos α sin α 0 0 - sin α cos α 0 0 0 0 1 ;
Figure GSB00000223404500107
旋转轴为
Figure GSB00000223404500109
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , T β r = e A β = I + A sin ( β ) + A 2 [ 1 - cos ( β ) ] ;
(11)右膝关节点的两个姿势变换矩阵:令
Figure GSB000002234045001012
Figure GSB000002234045001013
Figure GSB000002234045001014
旋转轴为X轴
S α r = 1 0 0 0 0 cos α sin α 0 0 - sin α cos α 0 0 0 0 1 ;
Figure GSB000002234045001016
旋转轴为
Figure GSB000002234045001018
设: A = 0 - a z a y 0 a z 0 - a x 0 - a y a x 0 0 0 0 0 1 , S β r = e A β = I + A sin ( β ) + A 2 [ 1 - cos ( β ) ] .
通过姿势变换矩阵,人体的23个姿势参数可以控制11个肢体部件进行姿势变化。并且这11个肢体部件之间的姿势变换不是独立的,而是分层控制的,参见图4为肢体部件分层控制的结构示意图,其中,朝向和空间位置的姿势参数可以控制所有肢体部件的姿势变化,腰关节的姿势参数可以控制整个上半身(包括躯干、头、腰、左上臂、右上臂、左前臂和右前臂)的姿势变化,右肘关节控制右前臂的姿势变化,其它控制关系类似不再一一赘述,并且也可以通过表1中的对姿势参数的物理意义的描述看出肢体部件分层控制的具体关系。
根据图4中肢体部件分层控制的关系,例如:躯干受到朝向参数、空间位置参数和腰关节姿势参数的控制,可知躯干的姿势变换由姿势变换矩阵Bγ、Bx、By、Bz、Tα、Tβ、Tγ共同决定,所以根据肢体部件分层控制的关系,可以得到11个肢体部件在23个姿势参数控制下的姿势变换公式,如表2所示为各个肢体部件的姿势变换公式,其中,
Figure GSB00000223404500111
表示三维人体模型在姿势参数Ψ下进行姿势变换后的点集,
Figure GSB00000223404500112
表示姿势变换后的各个肢体部件点集,
Figure GSB00000223404500113
表示姿势变换后的14个三维人体关节点坐标,
Figure GSB00000223404500114
表示三维人体模型在图3所示的初始姿势下各个肢体部件的点集,
Figure GSB00000223404500115
表示三维人体模型在图3所示的初始姿势下的三维人体关节点坐标。并且需要说明的是,人体的关节点处在不同肢体部件的连接部分,所以可以通过姿势变换公式来计算三维人体关节点坐标,具体是,计算该关节点的三维点坐标公式与该关节点所连接的肢体对应的姿势变换公式一样,参见图3,例如:颈关节1j(1)、腰关节2j(2)、左肩关节3j(3)、右肩关节5j(5)都和躯干相连接,则这些关节的三维点坐标公式与躯干的姿势变换公式一样为:
Figure GSB00000223404500116
其中n=1、2、3或者5;并且如果关节点所连接的肢体部件为多个,则计算该关节点的三维点坐标公式可以为多个个肢体部件对应的姿势变换公式中的任意一个,例如:腰关节2j(2)分别与躯干和腰相连接,则计算腰关节2的三维点坐标公式为
Figure GSB00000223404500117
Figure GSB00000223404500118
表2
Figure GSB00000223404500119
Figure GSB00000223404500121
其中,本实施例中根据三维行为者序列中的第一帧三维行为者,对三维人体模型进行初始化包括三维人体模型尺寸的初始化和23个姿势参数的初始化,具体如下:
(1)三维人体模型尺寸的初始化
由于不同三维行为者的体形各不相同,所以需要将三维人体模型缩放至与三维行为者相同的水平。三维行为者和三维人体模型都是用三维占据网格点集表示的,因此将三维行为者(站立姿势)和三维人体模型(初始状态)各自点集的Z轴的最大值和最小值相减就可以分别获取三维行为者和三维人体模型的身高;例如:表示三维行为者序列中第一帧三维行为者的点集,其中
Figure GSB00000223404500123
表示第n个网格顶点的三维坐标,
Figure GSB00000223404500124
表示选取的三维人体模型的初始点集,其中h(m)=[x(m),y(m),z(m)]′表示第m个网格顶点的三维坐标,则三维行为者的身高为
Figure GSB00000223404500125
三维人体模型的身高为
Figure GSB00000223404500126
然后根据三维行为者的身高和三维人体模型的身高,得到三维人体模型与三维行为者的身高比例;最后将三维人体模型按照身高比例缩放至与三维行为者相同的水平。
(2)三维人体模型23个姿势参数的初始化
设姿势参数的初始值为由于第一帧三维行为者为站立姿势的三维行为者,对于站立姿势的三维行为者,除了朝向参数和空间位置参数
Figure GSB00000223404500129
这4个参数之外,其它19个姿势参数的都是已知的,依次为:
Figure GSB000002234045001210
Figure GSB000002234045001211
参数表示三维行为者初始的空间位置,这三个参数可以通过三维行为者的点集的中心直接获取,其中,
Figure GSB000002234045001213
参数
Figure GSB000002234045001216
是指三维行为者沿竖直轴(Z轴)旋转的角度,可以通过对三维行为者的点集进行KL(Karhunen-Loeve Transform)变换获得参数
Figure GSB00000223404500131
具体为:对三维行为者的点集进行KL变换,得到三个特征值和与三个特征值对应的三个特征向量,按照特征值从大到小的顺序,为了便于描述,将三个特征值按照从大到小的顺序依次称为第一特征值、第二特征值和第三特征值,并且将与第一特征值、第二特征值和第三特征值对应的特征向量分别称为第一特征向量、第二特征向量和第三特征向量,该三个特征向量分别对应人体的三个主轴。参见图5为三个特征向量与人体的三个主轴之间的对应关系示意图,其中,第一特征向量10对应于人体40的竖轴,第二特征向量20对应于人体40的横轴,第三特征向量30对应于人体40的纵轴。计算第二特征向量(即人体横轴)与x轴的夹角,由于绕Z轴旋转度数相差180度的两个三维行为者得到的三个主轴是一样的,所以三维行为者绕Z轴旋转的角度为人体横轴正向与x轴正向的夹角,或三维行为者绕Z轴旋转的角度为人体横轴正向与x轴正向的夹角再加180度,可见由人体横轴正向与x轴正向的夹角得到的三维行为者沿竖直轴旋转的角度并不唯一。为了确定三维行为者沿竖直轴旋转的角度的具体值,我们将三维人体模型与三维行为者在相差180度的两个角度分别进行匹配,其中,三维人体模型和三维行为者更匹配的角度就是三维行为者的朝向角
Figure GSB00000223404500132
具体如下:设人体横轴与x轴正向的夹角为θ,
Figure GSB00000223404500133
Figure GSB00000223404500134
根据姿势变换公式得到
Figure GSB00000223404500135
Figure GSB00000223404500136
然后分别计算A1A1
Figure GSB00000223404500138
之间的CM(Chamfer Matching)距离,这两个距离分别记为
Figure GSB000002234045001310
如果
Figure GSB000002234045001311
否则
Figure GSB000002234045001313
其中A1和H之间的CM距离定义如下:
CM ( A 1 , H ) = 1 N 1 Σ n = 1 N 1 min m = 1 M | a 1 ( n ) - h ( m ) | + 1 M Σ m = 1 M min n = 1 N 1 | h ( m ) - a 1 ( n ) | .
从而可以得到23个姿势参数的初始值的具体值。
根据23个姿势参数的初始值
Figure GSB000002234045001316
可以得到与各个姿势参数对应的姿势变换矩阵,然后根据表2的各个肢体部件的姿势变换公式就可以得到
Figure GSB000002234045001317
从而可以获得在初始姿势参数Ψ0下进行姿势变换的三维人体模型点集例如:根据已知的
Figure GSB000002234045001319
Figure GSB000002234045001320
及表1中姿势变换矩阵的具体表达式,计算得到Bγ、、Bx、By、Bz、Tα、Tβ和Tγ;然后根据表2中的姿势变换公式
Figure GSB000002234045001321
计算得到
Figure GSB000002234045001322
类似地还可以得到
Figure GSB000002234045001323
从而得到
Figure GSB000002234045001324
其中,计算第一帧三维行为者的姿势参数和三维人体关节点坐标,具体为:
通过上述对三维人体模型的23个姿势参数的初始化可以看出,三维人体模型的23个姿势参数的初始值即为第一帧三维行为者的姿势参数,从而第一帧三维行为者的姿势参数Ψ1为:
Figure GSB00000223404500141
并且根据步骤203中的描述,可知由姿势参数计算三维人体关节点坐标的公式与关节点所在的肢体部件的姿势变换公式是一样的,所以可以通过姿势变换公式来得到相应的关节点的三维坐标,例如:颈关节1的三维人体关节点坐标j(1)可根据头的姿势变换公式
Figure GSB00000223404500142
计算得到;腰关节2的三维人体关节点坐标j(2)可根据腰的姿势变换公式
Figure GSB00000223404500143
或躯干的姿势变换公式计算得到。类似地可以计算出其它三维人体关节点坐标,从而得到第一帧三维行为者的三维人体关节点坐标
Figure GSB00000223404500145
204:将帧序号k加1,即k=k+1,判断此时的帧序号k是否大于K,如果大于K,则执行207;否则,执行205。
205:对第k帧三维行为者进行肢体部件分割,获得第k帧三维行为者的各个肢体部件。
需要说明的是,对三维行为者进行肢体部件分割和肢体部件跟踪是为了获取三维行为者的三维人体关节点坐标和姿势参数,而第一帧三维行为者的三维人体关节点坐标和姿势参数可以通过计算直接获取,所以不需要对第一帧三维行为者进行肢体部件分割和肢体部件跟踪,所以第k帧三维行为者具体为第二帧三维行为者、第三帧三维行为者…第K-1帧三维行为者和第K帧三维行为者其中之一。
肢体部件分割就是将三维行为者的点集划分为11个肢体部件子集。本实施例中肢体部件分割结合了“自上而下”和“自下而上”这两种策略,本实施例中肢体部件分割方法可称为自上而下和自下而上相结合的分割方法,该方法由3个步骤组成:
(1)采用自上而下的方法分割肢体部件:首先计算第k帧三维行为者的朝向参数和空间位置参数,得到
Figure GSB00000223404500146
并假设其它姿势参数保持不变,即
Figure GSB00000223404500147
由此得到姿势变换后的三维人体模型点集
Figure GSB00000223404500148
并根据对第k帧三维行为者进行初步分割,得到初步分割结果;(2)采用自下而上的方法分割肢体部件:基于初步分割结果,根据人体各个肢体部件之间存在的约束关系,重新确定第k帧三维行为者中的每个点与各个肢体部件的关系,得到修正分割结果,即半监督聚类的初值;(3)采用半监督聚类算法对修正分割结果进行迭代求解,得到半监督聚类分割结果。
其中,采用自上而下的方法分割肢体部件的过程具体如下:
(1)计算第k帧三维行为者的空间位置参数和朝向参数
其中,空间位置参数
Figure GSB000002234045001410
可通过第k帧三维行为者的点集的中心获取,具体过程与步骤203中获取
Figure GSB000002234045001411
的过程类似,此处不再赘述。当三维行为者处于站立姿势时,可以通过KL变换获取三维行为者的朝向参数具体过程与步骤203中获取
Figure GSB00000223404500152
的过程类似,此处不再赘述;当三维行为者不处于站立姿势时,通过在一定的范围内全搜索的方法获取朝向参数
Figure GSB00000223404500153
即:
Figure GSB00000223404500154
(2)获取姿势变换后的三维人体模型的点集
Figure GSB00000223404500155
上述得到了第k帧三维行为者的空间位置参数
Figure GSB00000223404500156
和朝向参数
Figure GSB00000223404500157
然后假设第k帧三维行为者的其它姿势参数保持不变,即
Figure GSB00000223404500158
将Ψ(k-)作为第k帧三维行为者的预测姿势参数,根据Ψ(k-)就可以得到三维人体模型
Figure GSB00000223404500159
其中,根据Ψ(k-)得到三维人体模型
Figure GSB000002234045001510
的具体过程与步骤203中根据Ψ0得到
Figure GSB000002234045001511
的过程类似,此处不再赘述。
(3)初步分割肢体部件
基于三维人体模型
Figure GSB000002234045001512
对第k帧三维行为者进行初步的分割,即将第k帧三维行为者上的点
Figure GSB000002234045001513
分割到三维人体模型上距离点
Figure GSB000002234045001515
最近的肢体部件,得到初步分割结果。
其中,三维人体模型的头部可以用一个球体近似表示,其它肢体部件可以用圆柱体近似表示,令
Figure GSB000002234045001516
表示三维人体模型11个肢体部件的中心。对于用球体表示的头部,其中心就是球心;对于用圆柱体表示的其他肢体部件,其中心则是圆柱体的中心轴线段。
表示三维行为者的点
Figure GSB000002234045001518
与三维人体模型的第m个肢体部件中心u(m)之间的距离。若u(m)为头部的中心,则
Figure GSB000002234045001520
到u(m)的欧氏距离,即:
Figure GSB000002234045001521
若u(m)为其他肢体部件的中心,则
Figure GSB000002234045001522
定义为点
Figure GSB000002234045001523
到线段的距离,参见图6为点到线段的距离示意图,首先判断点处于线段区域I0还是线段外区域I1或者I2,具体方法如下:设o1、o2为线段u(m)的两个端点,计算矢量和矢量
Figure GSB000002234045001526
的夹角,记为θ1,并计算矢量
Figure GSB000002234045001527
和矢量的夹角,记为θ2,如果θ1和θ2都不是钝角,则
Figure GSB000002234045001529
处于线段区域I0,如果θ1是钝角,则
Figure GSB000002234045001530
处于线段外区域I1,如果θ2是钝角,则
Figure GSB000002234045001531
处于线段外区域;当
Figure GSB000002234045001532
处于区域I0时,
Figure GSB000002234045001533
为点
Figure GSB000002234045001534
到线段的距离;当
Figure GSB000002234045001535
处于区域I1时,其中为点
Figure GSB000002234045001538
到线段端点o1的距离,c为大于1的惩罚因子常数。当
Figure GSB000002234045001539
处于区域I2时,
Figure GSB000002234045001540
其中
Figure GSB000002234045001541
为点到线段端点o2的距离。需要说明的是,当
Figure GSB000002234045001543
处于区域I1或者I2时,
Figure GSB000002234045001544
为点an到线段端点o1或者线段端点o2的距离,所以将
Figure GSB000002234045001545
乘以c来近似表示
Figure GSB000002234045001546
并且本实施例中c的取值为1.5。由于不同肢体部件的半径并不相同,所以将
Figure GSB000002234045001547
归一化,令
Figure GSB000002234045001548
表示点
Figure GSB000002234045001549
到u(m)的归一化距离,则:
d ‾ ( a k ( n ) , u ( m ) ) = d ( a k ( n ) , u ( m ) ) / r m
其中,rm表示第m个肢体部件的半径。
Figure GSB00000223404500161
表示三维行为者的点集
Figure GSB00000223404500162
与11个肢体部件L(m)(1≤m≤11)之间的关系矩阵,如果
Figure GSB00000223404500163
则设定rn,m=1,rn,m′=0(1≤m′≤11,m′≠m);对于三维行为者的点
Figure GSB00000223404500164
Figure GSB00000223404500165
Figure GSB00000223404500166
即将点初步分割到第m*个肢体部件,由此可以确定关系矩阵R元素的初始值
Figure GSB00000223404500168
rn,m=0(1≤m≤11,m≠m*),即获得初步分割结果。
其中,采用自下而上的方法分割肢体部件的过程具体如下:
自下而上的分割肢体部件就是根据人体各个肢体部件之间存在的约束关系对初步分割结果进行修正,重新确定三维行为者的点
Figure GSB00000223404500169
与肢体部件的关系,这种关系分为以下3种情况:
(1)确定属于某一肢体部件;(2)
Figure GSB000002234045001611
可能属于某一肢体部件,即
Figure GSB000002234045001612
不确定是否属于某一肢体部件;(3)
Figure GSB000002234045001613
确定不属于某一肢体部件。通过这个修正的过程可以将上一步得到的关系矩阵R进行如下的修正:
Figure GSB000002234045001614
其中,0<α<1,并且
Figure GSB000002234045001615
修正后的关系矩阵R包含了上述3种关系。
基于初步分割结果,根据人体各个肢体部件之间存在的约束关系,就可以对关系矩阵R进行修正。下面以躯干为例来说明如何根据人体各个肢体部件之间存在的约束关系,对关系矩阵R进行修正。
(1)如图7所示,用同中心的两个圆柱体C1、C2(C1 C2)来近似表示躯干所在的区域。
从图7可以看出,在C1内的点一定属于躯干;不在C1内,在C2内的点可能属于躯干,也可能属于躯干周围的其他肢体部件;在C2之外的点一定不属于躯干。并且需要说明的是,实际应用中还可以通过其他方法来近似表示躯干所在的区域,如用两个长方体、两个球体等等。
(2)判断初步分割为躯干的点与C1、C2的关系,对关系矩阵R中与躯干对应的元素进行修正。
具体为:①在C1内的点一定属于躯干,则该点对应的rn,m=1;②不在C1内,在C2内的点可能属于躯干,也可能属于躯干周围的其他肢体部件,则该点对应的rn,m=α;③在C2之外的点一定不属于躯干,则该点对应的rn,m=0。
采用与修正关系矩阵R中与躯干对应的元素类似的方法,可以对关系矩阵R中与其它肢体部件对应的元素进行修正,从而得到修正后的关系矩阵R,即获得修正分割结果。需要说明的是对于点如果存在rn,m=1(1≤m≤11),则可以确定点
Figure GSB000002234045001618
属于第m个肢体部件,称该点为确定点;对于点
Figure GSB000002234045001619
如果存在rn,m=α(1≤m≤11),则点
Figure GSB000002234045001620
可能属于第m个肢体部件,称该点为不确定点;这些不确定点将会通过下一步半监督聚类算法划分到各个肢体部件,
其中,采用半监督聚类算法对修正分割结果进行迭代求解,得到半监督聚类分割结果具体如下:
根据人体各个肢体部件之间存在的约束关系对初始分割结果进行修正,使得每一个肢体部件由以下两部份组成:确定属于该肢体部件的点及可能属于该肢体部件的点。将这些不确定的点分类到各个肢体部件的问题就变成一个半监督聚类问题。令Pn,m=p(rn,m=1|Ak)表示三维行为者上的点
Figure GSB00000223404500171
属于第m个肢体部件的条件概率。具体步骤如下:
(1)设定初始值
设迭代次数的初始值为i=0;关系矩阵R的初始值为R0,R0是上一步分割得到的修正后的关系矩阵;
Figure GSB00000223404500172
表示迭代初始时确定属于第m个肢体部件的点集;11个肢体部件聚类中心的初始值为其中头部的聚类中心的初始值
Figure GSB00000223404500174
为所有属于头部的点的中心,即
Figure GSB00000223404500175
其它肢体部件的聚类中心的初始值为属于该肢体部件的点集
Figure GSB00000223404500176
的主轴线段,由KL变化获得,即
Figure GSB00000223404500177
(2)更新条件概率
Figure GSB00000223404500178
Figure GSB00000223404500179
表示点
Figure GSB000002234045001710
到第m个肢体部件的聚类中心
Figure GSB000002234045001711
的归一化距离,由
Figure GSB000002234045001712
可以近似计算条件概率:
p n , m ( i ) = 1 r n , m ( i ) = 1 0 r n , m ( i ) = 0 &Sigma; j = 1,0 < r n , j ( i ) < 1 11 1 / d &OverBar; ( a k ( n ) , v i ( m ) ) 1 / d &OverBar; ( a k ( n ) , v i ( j ) ) 0 < r n , m ( i ) < 1
其中,
Figure GSB000002234045001714
的具体定义与
Figure GSB000002234045001715
类似,此处不再赘述。
(3)更新关系矩阵R(i+1)
Figure GSB000002234045001716
大于某一阈值T1(0<T1<1)时,
Figure GSB000002234045001717
Figure GSB000002234045001718
当点
Figure GSB000002234045001719
属于某一类的条件概率
Figure GSB000002234045001720
小于某一阈值T2(0<T2<T1)时,
Figure GSB000002234045001721
本实施例中的两个阈值根据经验选择为T1=0.8、T2=0.1。
(4)更新类别中心Vi+1
头部类别的中心
Figure GSB000002234045001722
为:
v i + 1 ( 1 ) = &Sigma; n = 1 N k p n , 1 ( i ) a k ( n ) / &Sigma; n = 1 N k p n , 1 ( i )
其它肢体部件的类别中心为:
D i + 1 ( m ) = { a k ( n ) | r n , m ( i + 1 ) = 1,1 &le; n &le; N k }
v i + 1 ( m ) = KL ( D i + 1 ( m ) )
(5)迭代中止条件的判断
当相邻两次迭代各个肢体部件的聚类中心Vi、Vi+1之间的距离小于某一阈值或者达到最大迭代次数时迭代中止,否则i=i+1,转向(2)。
其中,聚类中心Vi、Vi+1之间的的距离具体定义如下:头部的聚类中心是三维点,则相邻两次迭代的聚类中心
Figure GSB00000223404500181
Figure GSB00000223404500182
的距离为其它肢体部件的聚类中心为线段,设
Figure GSB00000223404500184
Figure GSB00000223404500185
表示
Figure GSB00000223404500186
的两个端点,则相邻两次迭代的聚类中心
Figure GSB00000223404500187
的距离由矢量
Figure GSB00000223404500189
和矢量
Figure GSB000002234045001810
的夹角和端点距离
Figure GSB000002234045001811
定义,即此时需要满足矢量
Figure GSB000002234045001812
和矢量
Figure GSB000002234045001813
的夹角、端点距离
Figure GSB000002234045001814
都小于某一阈值时迭代才中止。
经过半监督聚类迭代求解后,得到第k帧三维行为者的半监督聚类迭代分割结果 D ( m ) = { a k ( n ) | r n , m = 1,1 &le; n &le; N k } .
206:对第k帧三维行为者的各个肢体部件进行跟踪,获得第k帧三维行为者的姿势参数和三维人体关节点坐标,然后执行204。
肢体部件跟踪是指根据姿势参数的变化跟踪人体各个肢体部件的位置并获得各三维人体关节点坐标。肢体分割获得了三维行为者的各个肢体部件以及姿势参数
Figure GSB000002234045001816
之后就可以对各个肢体部件进行跟踪,获得姿势参数
Figure GSB000002234045001817
和三维人体关节点坐标。
需要说明的是,通过步骤205将三维行为者分割为11个肢体部件,为了进一步降低跟踪过程中的运算量,可以将11个肢体部件合并为5个肢体部件,然后对该5个肢体部件进行跟踪,下面以将11个肢体部件合并为5个肢体部件后的跟踪为例,说明如何实现对第k帧三维行为者的各个肢体部件进行跟踪的。
(1)根据各个肢体部件之间的关节点控制关系,将11个肢体部件进行合并,得到5个合并肢体部件;
由于某些肢体部件之间例如:右上臂和右前臂、左上臂和左前臂、右大腿和右小腿、左大腿和左小腿关节点的控制关系非常密切,并且由于相互连接,边界点往往分割不准确,所以将这些肢体部件合并后再跟踪,即在肢体部件跟踪过程中,需要跟踪5个合并后的肢体部件:躯干(躯干、头、腰)、左臂(左上臂、左前臂)、右臂(右上臂、右前臂)、左腿(左大腿、左小腿)、右腿(右大腿、右小腿),其中,躯干(躯干、头、腰)对应的是腰关节,即跟踪躯干可以得到腰关节的3个姿势参数;左臂(左上臂、左前臂)对应的是左肩关节和左肘关节,即跟踪左臂可以得到左肩关节的2个姿势参数和左肘关节的2个姿势参数,其它类似不再一一赘述。这样在每个肢体部件的跟踪中只有3~4个自由度,与同时跟踪19个自由度的参数集相比可以大大降低运算量。并且在跟踪上层肢体部件的姿势参数时我们假设它的子节点的参数保持上一帧的参数不变。并且需要说明的是,人体整个自由度的搜索空间用一个分层的树表示,如图4所示,设各层的节点之间是相互独立的。根据这个分层的树,按照自上而下的顺序依次跟踪各个肢体部件,获取其姿势参数,具体顺序如下:首先同时分别跟踪躯干、左腿、右腿,然后再同时分别跟踪左臂、右臂。需要说明的是,当对11个肢体部件进行跟踪时,也
(2)设置跟踪框架
本实施例采用贝叶斯跟踪框架,它包括两个模型:系统动态模型和观测模型。设X为状态,它表示所跟踪的肢体部件对应的关节点的姿势参数s和姿势参数的速度v,即
Figure GSB00000223404500191
Figure GSB00000223404500192
表示对X的一个采样;Zk为时刻k的观测,表示被跟踪的第k帧三维行为者的肢体部件的点集,
Figure GSB00000223404500193
为粒子集,其中ω表示采样的样本,即粒子
Figure GSB00000223404500194
的权重,对应于粒子的概率。
系统动态模型如下:在预测阶段,粒子
Figure GSB00000223404500195
用一阶动态模型获得:
x k ( i ) = Fx k - 1 ( i ) + v k - 1
其中,为变化矩阵,vk~N(0,σk)为0均值的高斯随机变量。
观测模型如下:观测Zk表示被跟踪的第k帧三维行为者的肢体部件的点集,令
Figure GSB00000223404500198
表示三维人体模型上相应的肢体部件在姿势状态为
Figure GSB00000223404500199
时的点集,
Figure GSB000002234045001910
表示Zk
Figure GSB000002234045001911
之间的距离。根据sigmoid函数近似获得观测概率:
p ( Z k | x k ( i ) ) = 1 / [ 1 + exp ( D ( Z k , L x k ( i ) ) ) ]
(3)利用自适应粒子个数粒子滤波跟踪算法跟踪合并肢体部件,得到所述第k帧三维行为者的三维人体关节点坐标。
粒子滤波算法是跟踪非线性非高斯系统的一种有效的算法,非常适用于非线性运动的肢体部件跟踪。然而在不同的行为中,各个肢体部件的运动状态差别非常大,例如在“挥手”这种行为中,右臂或左臂的运动复杂,而其它肢体部件基本保持不动;甚至同一种行为的不同时刻,同一个肢体部件的运动状态差别也很大。因此在各个肢体部件的跟踪过程中需要逐帧自适应的分配粒子数。而自适应粒子个数粒子滤波算法可以根据三维行为者的运动状态自适应地分配粒子数,因此本实施例将自适应粒子个数粒子滤波算法用于跟踪肢体部件,为了便于说明,将本实例的跟踪算法称为自适应粒子个数粒子滤波跟踪算法,下面以将自适应粒子个数粒子滤波算法嵌入到SIR(Sampling Importance Re-sampling filter,重要性重采样滤波器)得到的一种自适应粒子个数粒子滤波跟踪算法为例进行说明,将自适应粒子个数粒子滤波算法嵌入到SIR中得到的自适应粒子个数粒子滤波跟踪算法具体如下所示:
(1)重要性采样
for i=1:N
x k ( i ) ~ p ( x k | x k - 1 ( i ) ) ; &omega; k ( i ) = p ( Z k | x k ( i ) ) ;
End
(2)归一化权重
t = SUM [ { &omega; k ( i ) } i = 1 N ] ; &omega; k ( i ) = &omega; k ( i ) / t , ( 1 &le; i &le; N ) ;
(3)估计状态参数
&omega; k * = max 1 &le; i &le; N ( &omega; k ( i ) ) ; x k * = 0 ; ω=0;
for i=1:N
if &omega; k ( i ) &GreaterEqual; &omega; k * &times; 0.8
x k * = x k * + x k ( i ) &times; &omega; k ( i ) ; &omega; = &omega; + &omega; k ( i ) ;
end
end
x k * = x k * / &omega; ;
(4)估计过程噪声方差
&sigma; 2 = E [ ( x k - x &OverBar; k ) 2 ] = &Sigma; i = 1 N &omega; k i ( x k i - x &OverBar; k i ) 2 ;
if&sigma; < &alpha; &times; abs ( x &OverBar; k - x &OverBar; k - 1 )
&sigma; = &alpha; &times; abs ( x &OverBar; k - x &OverBar; k - 1 ) ;
end
(5)更新粒子个数
Nk+1∝σkDim  (0<τ<1,Dim为自由度的维数);
(6)重采样
[ { x k i , &omega; k i , - } i = 1 N k + 1 ] = Resample [ { x k i , &omega; k i } i = 1 N k ] .
通过上述过程可以得到
Figure GSB000002234045002013
所以通过对各个合并肢体部件进行跟踪就可以得到姿势参数
Figure GSB000002234045002014
Figure GSB000002234045002015
与步骤205中得到的
Figure GSB000002234045002016
合并,就可以获得姿势参数
Figure GSB000002234045002017
然后根据Ψk和表2所示姿势变化公式就可以得到三维人体关节点坐标Jk;其中,得到三维人体关节点坐标Jk的具体过程与得到三维人体关节点坐标J1
207:将获取的三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将述三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序,用三维人体关节点坐标序列、朝向参数序列和空间位置参数序列描述该三维行为者序列。
通过步骤203至步骤206可以获取三维行为者序列中的所有三维行为者各自对应的姿势参数Ψ1、Ψ2…ΨK和各自对应的三维人体关节点坐标J1、J2…JK,其中K为三维行为者序列的帧数。将三维行为者序列中的所有三维行为者的三维人体关节点坐标合并,得到三维人体关节点坐标序列为:
Figure GSB00000223404500211
将三维行为者序列中的所有三维行为者的姿势参数中的空间位置参数合并,得到空间位置参数序列为:
Figure GSB00000223404500212
将三维行为者序列中的所有三维行为者的姿势参数中的朝向参数合并,得到朝向参数序列为:
Figure GSB00000223404500213
将三维行为者序列用如下几类特征联合描述:1)三维人体关节点坐标序列
Figure GSB00000223404500214
空间位置参数序列
Figure GSB00000223404500215
朝向参数序列
Figure GSB00000223404500216
其中,三维人体关节点坐标序列表现了行为过程中三维行为者各个肢体部件的相对运动,空间位置参数序列表现了三维行为者的位置信息,朝向参数序列表现了三维行为者朝向角度的变化。
对本实施例所述的方法,进行了相应的实验,具体实验结果如下:
(1)参见表3,为自适应粒子个数粒子滤波算法、粒子滤波算法和Kalman(卡尔曼)滤波算法应用到本实施例中进行跟踪时得到的关节点误差比较表,其中误差的单位为体素。
表3
  站立   转圈   行走   挥手   看手表   指   踢腿
  自适应粒子个数粒子滤波算法   0.63   0.62   0.70   0.67   0.71   0.81   1.38
  粒子滤波算法   0.63   0.62   0.76   0.76   0.79   0.85   1.87
  Kalman滤波算法   0.87   1.00   2.21   1.36   1.15   2.09   4.05
在粒子滤波算法中粒子个数固定为300个,在自适应粒子个数粒子滤波算法中粒子个数可以在200~400之间自适应的变化。由表3可见,当肢体部件运动幅度较小如:站立、转圈、行走时,或者发生姿势变换的肢体部件个数较少如:挥手、看手表、指中只有一个手臂有较大幅度动作时,粒子滤波算法和自适应粒子个数粒子滤波算法的性能相差不大;而在踢腿中,自适应粒子个数粒子滤波算法要优于粒子滤波算法。Kalman滤波算法主要应用于线性高斯系统下的跟踪,而行为中的各个肢体部件并不是线性运动的,Kalman滤波算法在各种行为序列中的性能都比其它两种算法差。并且自适应粒子个数粒子滤波算法、粒子滤波算法和Kalman滤波算法得到的平均关节点误差分别为0.83体素、0.90体素和1.83体素,而相应的运算时间分别为0.53s/frame、0.72s/frame和0.27s/frame。综上所述Kalman滤波算法的速度最快,但跟踪性能最差;并且可以看出自适应粒子个数粒子滤波算法的运算速度和跟踪性能都要优于粒子滤波算法。
(2)参见表4,为12个三维行为者在7种行为中各个肢体部件分配到的平均粒子数图。
从表4可以看出在站立序列中各个肢体部件的运动幅度不是很大,所以粒子个数基本保持在最小值,而在其它行为序列中,运动比较激烈的肢体部件分配了较多粒子,而运动相对缓慢的肢体部件的粒子数保持在最小粒子数附近。
表4
  站立   转圈   行走   挥手   看手表   指   踢腿
  躯干   200.00   200.00   200.15   200.00   200.00   200.07   200.01
  左臂   200.73   202.52   203.78   203.43   208.24   206.17   218.46
  右臂   200.67   201.11   206.94   210.02   201.20   208.76   217.25
  左腿   200.33   200.11   202.35   200.15   200.37   201.26   205.55
  右腿   200.14   200.10   201.75   200.16   200.21   200.80   228.84
本实施例所述的方法,通过采用自上而下和自下而上相结合的分割方法和自适应粒子个数粒子滤波跟踪算法,可以快速精确地自动提取出三维行为者的三维人体关节点坐标;并且,既可以有效地获得粘连肢体部件的三维人体关节点坐标,也可以有效地获得运动非常快的肢体部件的三维人体关节点坐标;另外,可以根据三维行为者的运动状态自适应地分配粒子数目,提高了算法的性能;并且用三维人体关节点坐标序列、空间位置参数序列和朝向参数序列综合描述行为,包含了三维行为者的轨迹信息、朝向信息和三维行为者的各个肢体部件关节点的运动信息,是对行为最为丰富和有效的描述。
实施例3
参见图11,本发明实施例提供了一种行为描述的装置,包括:
获取模块301,用于获取三维行为者序列,三维行为者序列总共为K帧;
初始化模块302,用于根据三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中第一姿势参数中包含第一朝向参数和第一空间位置参数;
处理模块303,用于依次对三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,每帧三维行为者的姿势参数中包括每帧三维行为者的朝向参数和空间位置参数;
合并模块304,用于将三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序列;
描述模块305,用于用三维人体关节点坐标序列、朝向参数序列和空间位置参数序列描述所述三维行为者序列。
其中,初始化模块302包括:
初始化单元,用于根据三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;
计算单元,用于计算第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中第一姿势参数中包含第一朝向参数和第一空间位置参数。
其中,处理模块303包括:
处理单元,用于依次将第二帧三维行为者至第K帧三维行为者中的每帧三维行为者分别作为当前帧三维行为者,并设当前帧三维行为者为第k帧三维行为者;
肢体部件分割单元,用于采用自上而下和自下而上相结合的分割方法,对第k帧三维行为者进行肢体部件分割,得到第k帧三维行为者的N个肢体部件;
肢体部件跟踪单元,用于跟踪第k帧三维行为者的N个肢体部件,得到第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标。
其中,肢体部件分割单元包括:
第一分割子单元,用于采用自上而下的方法对第k帧三维行为者进行肢体部件分割,得到初步分割结果;
第二分割子单元,用于采用自下而上的方法对初步分割结果进行修正,得到修正分割结果;
第三分割子单元,用于采用半监督聚类算法对修正分割结果进行迭代求解,得到半监督聚类分割结果,半监督聚类分割结果中包括第k帧三维行为者的N个肢体部件。
进一步地,
第一分割单元,具体用于根据第k-1帧三维行为者的第k-1姿势参数和第k帧三维行为者的第k朝向参数和第k空间位置参数,得到第k帧三维行为者的第k预测姿势参数;根据第k预测姿势参数,对三维人体模型进行姿势变换,得到姿势变换后的三维人体模型;将第k帧三维行为者中的每个点分别分割到姿势变换后的三维人体模型上距离该点最近的肢体部件,得到初步分割结果。
进一步地,
第二分割单元,具体用于根据第k帧三维行为者的各个肢体部件之间存在的约束关系,重新确定第k帧三维行为者中的每个点与各个肢体部件的关系,得到修正分割结果。
其中,肢体部件跟踪单元包括:
肢体部件合并子单元,用于根据N个肢体部件之间的关节点控制关系,将N个肢体部件进行合并,得到M个合并肢体部件;
设置子单元,用于设置跟踪框架;
跟踪子单元,用于利用自适应粒子个数粒子滤波算法跟踪所述M个合并肢体部件,得到所述第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标。
本实施例所述的装置,通过采用自上而下和自下而上相结合的分割方法和自适应粒子个数粒子滤波跟踪算法,可以快速精确地自动提取出三维行为者的三维人体关节点坐标;并且,既可以有效地获得粘连肢体部件的三维人体关节点坐标,也可以有效地获得运动非常快的肢体部件的三维人体关节点坐标;另外,可以根据三维行为者的运动状态自适应地分配粒子数目,提高了算法的性能;并且用三维人体关节点坐标序列、空间位置参数序列和朝向参数序列综合描述行为,包含了三维行为者的轨迹信息、朝向信息和三维行为者的各个肢体部件关节点的运动信息,是对行为最为丰富和有效的描述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种行为描述的方法,其特征在于,所述方法包括:
获取三维行为者序列,所述三维行为者序列总共为K帧;
根据所述三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算所述第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中所述第一姿势参数中包含第一朝向参数和第一空间位置参数;
采用自上而下和自下而上相结合的分割方法,以及利用自适应粒子个数粒子滤波算法依次对所述三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,所述每帧三维行为者的姿势参数中包括每帧三维行为者的朝向参数和空间位置参数;
将所述三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将所述三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将所述三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序列;
用所述三维人体关节点坐标序列、所述朝向参数序列和所述空间位置参数序列描述所述三维行为者序列。
2.根据权利要求1所述的行为描述的方法,其特征在于,所述根据所述三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化,包括:
计算所述第一帧三维行为者和所述三维人体模型之间的身高比例,按照所述身高比例将所述三维人体模型缩放至与所述第一帧三维行为者相同的水平;
根据所述第一帧三维行为者,计算得到所述三维人体模型的初始姿势参数。
3.根据权利要求1所述的行为描述的方法,其特征在于,所述采用自上而下和自下而上相结合的分割方法,以及利用自适应粒子个数粒子滤波算法依次对所述三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,包括:
依次将所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者分别作为当前帧三维行为者,并设所述当前帧三维行为者为第k帧三维行为者;
采用自上而下和自下而上相结合的分割方法,对所述第k帧三维行为者进行肢体部件分割,得到所述第k帧三维行为者的N个肢体部件;
利用自适应粒子个数粒子滤波算法跟踪所述第k帧三维行为者的N个肢体部件,得到所述第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标。
4.根据权利要求3所述的行为描述的方法,其特征在于,所述采用自上而下和自下而上相结合的分割方法,对所述第k帧三维行为者进行肢体部件分割,得到所述第k帧三维行为者的N个肢体部件,包括:
采用自上而下的方法对所述第k帧三维行为者进行肢体部件分割,得到初步分割结果;采用自下而上的方法对所述初步分割结果进行修正,得到修正分割结果;
采用半监督聚类算法对所述修正分割结果进行迭代求解,得到半监督聚类分割结果,所述半监督聚类分割结果中包括所述第k帧三维行为者的N个肢体部件。
5.根据权利要求4所述的行为描述的方法,其特征在于,所述采用自上而下的方法对所述第k三维行为者进行肢体部件分割,得到初步分割结果,包括:
根据第k-1帧三维行为者的第k-1姿势参数和所述第k帧三维行为者的第k朝向参数和第k空间位置参数,得到所述第k帧三维行为者的第k预测姿势参数;
根据所述第k预测姿势参数,对所述三维人体模型进行姿势变换,得到姿势变换后的三维人体模型;
将所述第k帧三维行为者中的每个点分别分割到所述姿势变换后的三维人体模型上距离该点最近的肢体部件,得到初步分割结果。
6.根据权利要求4所述的行为描述的方法,其特征在于,所述采用自下而上的方法对所述初步分割结果进行修正,得到修正分割结果,具体为:
根据所述第k帧三维行为者的各个肢体部件之间存在的约束关系,重新确定所述第k帧三维行为者中的每个点与各个肢体部件的关系,得到修正分割结果。
7.根据权利要求3所述的行为描述的方法,其特征在于,所述利用自适应粒子个数粒子滤波算法跟踪所述第k帧三维行为者的N个肢体部件,得到所述第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标,包括:
根据所述N个肢体部件之间的关节点控制关系,将所述N个肢体部件进行合并,得到M个合并肢体部件;
设置跟踪框架;
利用自适应粒子个数粒子滤波算法,跟踪所述M个合并肢体部件,得到所述第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标。
8.一种行为描述的装置,其特征在于,所述装置包括:
获取模块,用于获取三维行为者序列,所述三维行为者序列总共为K帧;
初始化模块,用于根据所述三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;并计算所述第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中所述第一姿势参数中包含第一朝向参数和第一空间位置参数;
处理模块,用于采用自上而下和自下而上相结合的分割方法,以及利用自适应粒子个数粒子滤波算法依次对所述三维行为者序列中的第二帧三维行为者至第K帧三维行为者进行肢体部件分割和跟踪,得到所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者的姿势参数和三维人体关节点坐标,所述每帧三维行为者的姿势参数中包括每帧三维行为者的朝向参数和空间位置参数;
合并模块,用于将所述三维行为者序列中的所有三维行为者的三维人体关节点坐标合并为三维人体关节点坐标序列,将所述三维行为者序列中的所有三维行为者的朝向参数合并为朝向参数序列,将所述三维行为者序列中的所有三维行为者的空间位置参数合并为空间位置参数序列;
描述模块,用于用所述三维人体关节点坐标序列、所述朝向参数序列和所述空间位置参数序列描述所述三维行为者序列。
9.根据权利要求8所述的行为描述的装置,其特征在于,所述初始化模块包括:
初始化单元,用于根据所述三维行为者序列中的第一帧三维行为者,对选取的三维人体模型进行初始化;
计算单元,用于计算所述第一帧三维行为者的第一姿势参数和第一三维人体关节点坐标,其中所述第一姿势参数中包含第一朝向参数和第一空间位置参数。
10.根据权利要求8所述的行为描述的装置,其特征在于,所述处理模块包括:
处理单元,用于依次将所述第二帧三维行为者至所述第K帧三维行为者中的每帧三维行为者分别作为当前帧三维行为者,并设所述当前帧三维行为者为第k帧三维行为者;
肢体部件分割单元,用于采用自上而下和自下而上相结合的分割方法,对所述第k帧三维行为者进行肢体部件分割,得到所述第k帧三维行为者的N个肢体部件;
肢体部件跟踪单元,用于利用自适应粒子个数粒子滤波算法跟踪所述第k帧三维行为者的N个肢体部件,得到所述第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标。
11.根据权利要求10所述的行为描述的装置,其特征在于,所述肢体部件分割单元包括:
第一分割子单元,用于采用自上而下的方法对所述第k帧三维行为者进行肢体部件分割,得到初步分割结果;
第二分割子单元,用于采用自下而上的方法对所述初步分割结果进行修正,得到修正分割结果;
第三分割子单元,用于采用半监督聚类算法对所述修正分割结果进行迭代求解,得到半监督聚类分割结果,所述半监督聚类分割结果中包括所述第k帧三维行为者的N个肢体部件。
12.根据权利要求11所述的行为描述的装置,其特征在于,
所述第一分割单元,具体用于根据第k-1帧三维行为者的第k-1姿势参数和所述第k帧三维行为者的第k朝向参数和第k空间位置参数,得到所述第k帧三维行为者的第k预测姿势参数;根据所述第k预测姿势参数,对所述三维人体模型进行姿势变换,得到姿势变换后的三维人体模型;将所述第k帧三维行为者中的每个点分别分割到所述姿势变换后的三维人体模型上距离该点最近的肢体部件,得到初步分割结果。
13.根据权利要求11所述的行为描述的装置,其特征在于,
所述第二分割单元,具体用于根据所述第k帧三维行为者的各个肢体部件之间存在的约束关系,重新确定所述第k帧三维行为者中的每个点与各个肢体部件的关系,得到修正分割结果。
14.根据权利要求10所述的行为描述的装置,其特征在于,所述肢体部件跟踪单元包括:
肢体部件合并子单元,用于根据所述N个肢体部件之间的关节点控制关系,将所述N个肢体部件进行合并,得到M个合并肢体部件;
设置子单元,用于设置跟踪框架;
跟踪子单元,用于利用自适应粒子个数粒子滤波算法跟踪所述M个合并肢体部件,得到所述第k帧三维行为者的第k姿势参数和第k三维人体关节点坐标。
CN2009100782953A 2009-02-24 2009-02-24 一种行为描述的方法和装置 Expired - Fee Related CN101482928B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100782953A CN101482928B (zh) 2009-02-24 2009-02-24 一种行为描述的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100782953A CN101482928B (zh) 2009-02-24 2009-02-24 一种行为描述的方法和装置

Publications (2)

Publication Number Publication Date
CN101482928A CN101482928A (zh) 2009-07-15
CN101482928B true CN101482928B (zh) 2011-01-05

Family

ID=40880028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100782953A Expired - Fee Related CN101482928B (zh) 2009-02-24 2009-02-24 一种行为描述的方法和装置

Country Status (1)

Country Link
CN (1) CN101482928B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692284B (zh) * 2009-07-24 2012-01-04 西安电子科技大学 基于量子免疫克隆算法的三维人体运动跟踪方法
CN102074034B (zh) * 2011-01-06 2013-11-06 西安电子科技大学 多模型人体运动跟踪方法
JP5877053B2 (ja) * 2011-12-14 2016-03-02 パナソニック株式会社 姿勢推定装置および姿勢推定方法
CN103750927B (zh) * 2014-01-07 2016-01-20 杭州电子科技大学 下肢假肢膝关节自适应迭代学习控制方法
CN104680174B (zh) * 2015-02-04 2018-02-09 浙江工商大学 面向网格动画渐进传输的帧聚类方法
CN107274467A (zh) * 2017-06-29 2017-10-20 厦门游亨世纪科技有限公司 一种基于Unity3D的模型动画联动方法
WO2019213220A1 (en) * 2018-05-03 2019-11-07 Magic Leap, Inc. Using 3d scans of a physical subject to determine positions and orientations of joints for a virtual character
CN109919141A (zh) * 2019-04-09 2019-06-21 广东省智能制造研究所 一种基于骨架姿态的行人再识别方法
CN111199576B (zh) * 2019-12-25 2023-08-18 中国人民解放军军事科学院国防科技创新研究院 一种基于移动平台的室外大范围人体姿态重建方法
CN112308616A (zh) * 2020-11-02 2021-02-02 沈阳民航东北凯亚有限公司 一种航司旅客的群体划分方法及装置

Also Published As

Publication number Publication date
CN101482928A (zh) 2009-07-15

Similar Documents

Publication Publication Date Title
CN101482928B (zh) 一种行为描述的方法和装置
Aristidou et al. Inverse kinematics techniques in computer graphics: A survey
Eisenberger et al. Smooth shells: Multi-scale shape registration with functional maps
CN102074034B (zh) 多模型人体运动跟踪方法
CN101894278B (zh) 基于变结构多模型的人体运动跟踪方法
Zhang et al. Representation and matching of articulated shapes
Wang et al. 3D human motion editing and synthesis: A survey
CN102682452A (zh) 基于产生式和判别式结合的人体运动跟踪方法
CN106548194B (zh) 二维图像人体关节点定位模型的构建方法及定位方法
CN103942829A (zh) 单幅图像的人体三维姿态重构方法
CN102663779A (zh) 基于随机高斯隐变量的人体运动跟踪方法
Hauberg et al. Predicting articulated human motion from spatial processes
CN111862167A (zh) 一种基于稀疏紧凑相关滤波器的快速鲁棒目标跟踪方法
CN112684709B (zh) 一种集群跟踪运动学建模方法、设备及存储介质
Kang et al. Humanoid motion optimization via nonlinear dimension reduction
WO2021155653A1 (zh) 基于协作差分进化滤波的人手-物体交互过程跟踪方法
Bae et al. Neural marionette: Unsupervised learning of motion skeleton and latent dynamics from volumetric video
Wu Investigation of different observation and action spaces for reinforcement learning on reaching tasks
Kraetzschmar et al. Application of neurosymbolic integration for environment modelling in mobile robots
Chu et al. Towards model-free markerless motion capture
Li et al. Improved SLAM and Motor Imagery Based Navigation Control of a Mobile Robot
John et al. Articulated human motion tracking with HPSO
Liang et al. A discriminative dual-stream model with a novel sustained attention mechanism for skeleton-based human action recognition
Stewart Automatic rigging of animation skeletons with stacked hourglass networks and curve skeleton extraction
Gonczarek et al. Manifold regularized particle filter for articulated human motion tracking

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110105