无标记人体运动捕捉方法

文档序号:6482742阅读:247来源:国知局
专利名称:无标记人体运动捕捉方法
技术领域
本发明涉及一种无标记人体运动捕捉方法,可用于高级人机交互、运动员辅助 训练、视频监控以及虚拟现实等方面。属于人体运动分析技术领域。
背景技术
人体运动捕捉即从视频中得到人体运动各个参数(比如人体各关节的角度)的 技术。通过多路摄像头进行人体运动捕捉的方法可分为两类有标记人体运动捕捉 和无标记人体运动捕捉。目前在商业上使用比较广泛的是有标记的人体运动捕捉方 法。B.Guerra-Filho于2005年在《Journal of Theoretical and Applied Information (信息 的理论和应用杂志)》发表的论文"Optical Motion Capture: Theory and Implementation (光学运动捕捉理论和实现)"系统地介绍了有标记人体运动捕捉 方法的理论和具体实施过程。但是,有标记人体运动捕捉方法有其明显的不足之处 1、价格非常昂贵;2、被测试人员需要佩戴笨重的标记物;3、标记物容易被遮挡。 而无标记系统可以克服有标记人体运动捕捉上述缺点。对于无标记人体运动捕捉方 法,目前分为两种, 一种需要事先定义的人体骨架模型来估计运动参数;而另一种 则不需要预先定义人体模型,而是从捕捉过程中获得人体模型以及运动参数。
经过对现有通过人体三维体素获取人体运动参数的技术文献的检索发现,Ivana 等人于2003年发表在{International Journal of Computer Vision (国际计算机视觉杂 志)》上的论文"Human body model acquisition and tracking using voxel data (禾U用 体素数据获取人体模型并跟踪)"是基于预先确定的人体骨架模型方法的代表性文 献。作者通过对三维体素的不同部分(包括头,躯干,手臂和腿部)进行分类,进 而使用扩展的卡尔曼滤波器跟踪人体各部位以估计人体的各个关节角度。然而当人 体手臂靠拢躯干,或者双腿合并的情况下,该方法无法可靠地对体素进行正确的分类,从而无法可靠地对各关节角度进行估计。而在不需要预先定义骨架模型的方法 中,Chi-Wei Chu等人于2003年发表在CVPR (计算机视觉和模式识别)会议上的论 文"Markerless Kinematic Model and Motion Capture from Volume Sequences (从空间 体素序列中进行无标记的运动模型获取以及运动捕捉)"不需要事先人为地去初始 化一个人体骨架模型,而是从体素序列中去自动获取人体的骨架模型。但是该种方 法需要很大的计算量,而且并不稳定。

发明内容
本发明的目的在于针对现有技术的不足,提供一种无标记人体运动捕捉方法, 基于人体骨架套筒模型,能在身体各部位相互靠近的情况下提取人体关节坐标,进 而求得人体运动参数。
为实现上述目的,在本发明的技术方案中,首先初始化人体骨架模型,并使其 和第一帧的三维体素数据匹配。对于第二帧开始的体素数据,则根据模型和体素数 据的全局匹配度,应用演化计算的优化算法调整骨架模型的全局坐标和各个关节角 度。最后根据整个匹配搜索过程各个体素和人体模型各部位的匹配直方图来对体素 数据进行分类,以求得关节点的坐标,并根据人体模型计算出关节角度。
本发明的方法通过以下具体步骤实现
1. 采用多路摄像机从不同角度对人体运动进行视频采集获取彩色图像,对各 路彩色图像进行前景分割,提取彩色图像中的人体剪影。对构成人体目标所在三维 空间的每个三维体素在各个彩色图像平面的投影进行考察,对于每个三维体素,只 要其在某个彩色图像平面上的投影落在人体剪影之外,则将其从三维空间中挖除。 留下的三维体素构成重建体素云,然后去除重建体素云的内部体素,得到重建的人 体表面三维体素。
2. 根据第一帧人体表面三维体素初始化人体的骨架模型,骨架模型将人体分 为头部、胸部、腹部、左小臂、左大臂、右小臂、右大臂、左大腿、左小腿、右大 腿以及右小腿共11个部位,调节骨架模型的各个部位的关节角度以及骨骼长度和
4骨骼外套筒的内外半径,使之和第一帧人体表面三维体素匹配。
3. 从第二帧人体表面三维体素开始,利用初始化人体的骨架模型,使用全局 优化的方法对人体表面三维体素进行跟踪;对每帧人体表面三维体素执行若干次演 化搜索,使骨架模型和人体表面三维体素的匹配度不断增加;执行完指定次数的搜 索后,记录每个人体表面三维体素在当前帧搜索过程中被标记为身体各个部位的频 数,得到每个人体表面三维体素关于被标记为身体各个部位的统计分布的直方图。
4. 考察每个人体表面三维体素的直方图中最大频数,如果最大频数与直方图 各项总频数的比值超过某个阈值,则直接将该人体表面三维体素分类为最大频数对 应的身体部位,否则将该体表面三维体素标记为无法分类,即不属于身体任何部位; 由此完成对每个人体表面三维体素的分类。
5. 对标记为同一类的各个体素两两计算距离,找到距离最远的若干对点,以 此得到身体每个部位骨骼的端点坐标,再对相连两个骨骼邻接的两个端点坐标取均 值,以此均值作为两个骨骼间的关节点坐标,得到各关节点三维坐标。
6. 利用人体骨架模型,从各关节点的三维坐标反求各关节的角度。由此获得 人体各关节的运动参数,从而实现人体运动捕捉。
本发明与现有技术相比的显著效果在于采用无标记的方式捕捉人体运动参 数,避免了目前商业上广泛使用的有标记运动捕捉系统的缺点,具有操作简便、成 本相对低廉、鲁棒性强、使用范围广等优点,同时又解决了现有无标记运动捕捉系 统中无法很好处理身体各部位相互接触较严重的情况下的运动捕捉问题,具有很广 的适用性。


图l本发明方法流程图。
图2本发明实施例人体骨架套筒模型。
图3本发明实施例骨架模型和体素进行匹配示意图。
图4本发明实施例体素被分类后的示意图。
5图5本发明实施例得到的关节点示意图。 图6旋转轴和旋转角度计算示意图。
具体实施例方式
以下结合附图和实施例对本发明的技术方案作进一步详细说明。以下实施例在 以本发明技术方案为前提下进行实施,给出了详细的实施方式和过程,但本发明的 保护范围不限于下述的实施例。
本发明无标记人体运动捕捉方法的流程如图l所示,首先获取取人体表面三维 体素,初始化人体骨架模型并和第一帧体素数据匹配,然后从第二帧开始,使用全 局优化算法进行人体运动的跟踪,利用跟踪过程的每个体素总体分类分布直方图对 体素属于身体哪部分进行分类标记,从分好类的体素中提取三维关节点,求得身体 各骨骼的关节角度,即人体运动参数。
为更好的理解本发明的方法,本实施例选取一帧人体表面三维体素并对其提取 人体各关节角度,并在室内背景简单的条件下进行,具体实施步骤如下(使用 VC++2005开发平台)
1. 采用"shape from silhouette (从剪影获得形状)"的方法,从多路视频中重 建人体表面三维体素。本实施例采用16路摄像机从不同角度对人体运动进行视频 采集得到16路的彩色图像。首先对彩色图像进行前景分割,提取各路彩色图像中 的人体剪影。然后,将人体目标所在的三维空间区域切分为lcm*lcm*lcm大小的 三维体素,考察每个体素在各个彩色图像平面的投影。对于每个三维体素来说,只 要其在某一个平面上的投影落在人体剪影之外,则将其从三维空间中挖除,最后留 下的体素满足其在所有图像上的投影均落于人体剪影之内的条件,留下的三维体素 构成重建体素云。最后去除重建体素云的内部体素,即得到重建的人体表面三维体 素。
2. 初始化人体骨架模型。如图2所示,骨架模型将人体分为头部、胸部、腹部、 左小臂、左大臂、右小臂、右大臂、左大腿、左小腿、右大腿以及右小腿共11个部位。并调节骨架模型的各个部位的关节的角度以及骨骼的长度和套筒的内外半 径,使之和第一帧的人体表面三维体素匹配。
3.定义跟踪匹配度函数,使用演化计算的全局优化算法。如图3所示,对每帧 执行若干次演化搜索,使骨架模型和体素数据的匹配度不断增加。为了保证跟踪性 能,每帧的搜索次数不少于500次。本实施例定义匹配度函数如下
y^"e^ = Z ,=1 — Z =1 "eg(7,) (i)
—/T/、J1如果菊个体素落在某个套筒内外表面之间 ,、
o否则 (2)
m"CT7、i1如果第i个体素落入套筒内表面以内
Weg") = {0否则 (3)
上式中N代表所有体素的数目。执行完指定次数的搜索后(在本实施例中搜索次数 为500次,以确保跟踪精度),记录每个体素在当前帧搜索过程中被标记为身体各
个部位的频数,得到每个体素关于被标记为身体各个部位的类别分布统计直方图。
4. 考察每个体素直方图中最大频数,如果占直方图各项总频数的百分之五十
以上,则直接将体素分类为最大频数对应的身体部位,否则将该体素标记为无法分 类,即不属于身体任何部位,完成体素数据的分类,图4为将人体三维体素分类为 身体各部位后的结果,不同颜色的体素分别代表属于身体不同部位。
5. 根据己经被分类为的身体各部位的体素,身体各部位的关节点可以在相应 的体素数据中去提取,从而实现无标记人体运动捕捉系统的功能。各部位的关节点 提取方法如下首先对各个部位的各个体素两两计算距离,找到距离最远的5对点, 以此得到身体每个部位骨骼的端点坐标的估计,再对相连两个骨骼邻接的两个端点 取均值,以此均值作为关节点坐标更精确的估计,即得到各关节点坐标,如图5所 示的16个点即为从体素中提取的关节点。
6. 利用预先定义的人体骨架模型反算出个关节点角度,对人体的上臂,按下述公式(4)、 (5)、 (6)依次计算肘关节角度ddta、肩部关节转轴n和旋转角度6 (见图6),用同样的方法可计算出所有的关节角度,即人体运动参数。
cos(delta) = 、 ,、 ,
〔P2'—户1')*(尸3'—户2')
—[(g - A') - 。2 - A )] X [(K - A) - (A - A )] - A) - (A _ A J X [(K _ A) - ("3 - A )|
IA x (A - A)] [ A x d
(4)
(5)
(6)
8
权利要求
1、一种无标记人体运动捕捉方法,其特征在于包括以下步骤1)采用多路摄像机从不同角度对人体运动进行视频采集获取彩色图像,对各路彩色图像进行前景分割,提取彩色图像中的人体剪影;对构成人体目标所在三维空间的每个三维体素在各个彩色图像平面的投影进行考察,对于每个三维体素来说,只要其在某个彩色图像平面上的投影落在人体剪影之外,则将其从三维空间中挖除;留下的三维体素构成重建体素云;然后去除重建体素云的内部体素,得到重建的人体表面三维体素;2)根据第一帧人体表面三维体素初始化人体的骨架模型,骨架模型将人体分为头部、胸部、腹部、左小臂、左大臂、右小臂、右大臂、左大腿、左小腿、右大腿以及右小腿共11个部位,调节骨架模型的各个部位的关节角度以及骨骼长度和骨骼外套筒的内外半径,使之和第一帧人体表面三维体素匹配;3)从第二帧人体表面三维体素开始,利用初始化人体的骨架模型,使用全局优化的方法对人体表面三维体素进行跟踪;对每帧人体表面三维体素执行若干次演化搜索,使骨架模型和人体表面三维体素的匹配度不断增加;执行完指定次数的搜索后,记录每个人体表面三维体素在当前帧搜索过程中被标记为身体各个部位的频数,得到每个人体表面三维体素关于被标记为身体各个部位的统计分布的直方图;4)考察每个人体表面三维体素的直方图中最大频数,如果最大频数与直方图各项总频数的比值超过某个阈值,则直接将该人体表面三维体素分类为最大频数对应的身体部位,否则将该人体表面三维体素标记为无法分类,即不属于身体任何部位;由此完成对每个人体表面三维体素的分类;5)对标记为同一类的各个体素两两计算距离,找到距离最远的若干对点,以此得到身体每个部位骨骼的端点坐标,再对相连两个骨骼邻接的两个端点坐标取均值,以此均值作为两个骨骼间的关节点坐标,得到各关节点的三维坐标;6)利用人体骨架模型,从各关节点的三维坐标反求各关节的角度;由此获得人体各关节的运动参数,从而实现人体运动捕捉。
全文摘要
本发明涉及一种无标记人体运动捕捉方法,使用人体骨架套筒模型跟踪重建的人体表面三维体素,同时鲁棒地实现对体素的正确分类,以此对关节点进行自动提取,进而得到人体运动参数,包括(1)提取人体表面三维体素;(2)初始化人体骨架模型并和第一帧体素数据匹配;(3)使用全局优化算法实现骨架模型跟踪体素数据;(4)利用跟踪过程的每个体素总体分类分布直方图对体素进行分类;(5)从分好类的体素中提取三维关节点;(6)根据关节点的坐标求得关节角度,求得人体运动参数。本发明具有易于实现、成本相对低廉、鲁棒性强、使用范围广等优点。
文档编号G06T7/20GK101604447SQ20091005460
公开日2009年12月16日 申请日期2009年7月9日 优先权日2009年7月9日
发明者严骏驰, 剑 刘, 刘允才 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1