首页> 中国专利> 并行化实时无标记人体运动跟踪方法

并行化实时无标记人体运动跟踪方法

摘要

本发明涉及一种并行化实时无标记人体运动跟踪方法,包括以下步骤:S1:在主处理器上根据初始人体姿态产生初始粒子并读取已经得到的边缘和前景数据;S2:将N

著录项

  • 公开/公告号CN102663674A

    专利类型发明专利

  • 公开/公告日2012-09-12

    原文格式PDF

  • 申请/专利权人 上海交通大学;

    申请/专利号CN201210129429.1

  • 发明设计人 卞亚涛;赵旭;宋健;刘允才;

    申请日2012-04-27

  • 分类号G06T3/20;

  • 代理机构上海科盛知识产权代理有限公司;

  • 代理人赵志远

  • 地址 200240 上海市闵行区东川路800号

  • 入库时间 2023-12-18 06:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-18

    未缴年费专利权终止 IPC(主分类):G06T3/20 授权公告日:20140625 终止日期:20170427 申请日:20120427

    专利权的终止

  • 2014-06-25

    授权

    授权

  • 2012-11-07

    实质审查的生效 IPC(主分类):G06T3/20 申请日:20120427

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

技术领域

本发明涉及一种视觉和图像处理相关技术,尤其是涉及一种并行化实时无标 记人体运动跟踪方法。

背景技术

基于视觉信息的三维人体运动跟踪,是计算机视觉领域的重要且富有挑战性 的研究方向,相关技术具有广阔的应用前景,主要应用包括:虚拟现实,电影动画, 智能监控,高级人机交互,视频传输和压缩以及用于体育和医学方面的运动分析。 传统的基于粒子滤波(particle filter)的方法能够跟踪高维人体铰接三维模型的运 动,但是由于对粒子似然函数的计算密集而且耗时,时间开销一直很大,因此无法 用于实际应用。随着计算机硬件系统的不断升级和计算机视觉理论的继续完善,目 前,建立应用级的人体运动跟踪系统已经成为极具商业前景的研究重点,而异构计 算(heterogeneous computing)在计算机视觉中的普及应用为实时、快速人体运动 跟踪系统的建立提供了契机。

人体运动跟踪的主要目标是从图像和视频信息中恢复和估计以参数表示的人 体姿态,求解真实人体在三维世界坐标系中的位置和姿态参数。M.Isard等人在 Visual tracking by stochastic propagation of conditional density(通过条件密度随机扩 散的视觉跟踪)中提出了粒子滤波(particle filter)的方法,提供了用于人体运动 跟踪的鲁棒贝叶斯框架。J.Deutscher等人在Articulated Body Motion Capture by  Annealed Particle Filtering(通过退火粒子滤波的铰接人体运动跟踪)中提出了退火 粒子滤波算法,它将模拟退火的过程纳入粒子滤波的框架,能够跟踪高维人体三维 铰接模型的运动。但是,作为一种粒子滤波算法的变体,它不可避免地每一步都要 对每个粒子计算似然函数,这也导致它的计算开销很大(Matlab实现45秒钟每帧)。

由于人体三维运动重建问题的复杂性,使得相关算法的计算复杂度较高,在 CPU上运算会遇到较大的瓶颈,而异构计算是很好的选择。异构框架包括主处理 器(比如传统的CPU)和附属处理器(attached processor),附属处理器是包含成千 上万的轻量级核心的专属流加速器,比如图形处理单元(Graphic Processing Units) 和可编程门阵列(Field Programmable Gate Arrays)。异构计算的主要目的是结合主 处理器的通用计算能力和附属处理器的高度密集计算能力对具体应用进行加速。开 放计算语言(Open Computing Language)是可以在不同类型的硬件上执行的异构 编程框架。当前,异构计算在计算机视觉学术界使用日益广泛。最近的一个是 Jan-Michael Frahm教授等人在Building Rome on a Cloudless Day(万里无云的一天 重建罗马城)中的工作,他们利用网上得到的大量图片(百万级),通过GPU加速 技术,一天之内在一台工作站上实现了对罗马城的三维数字重建。值得注意的是, 之前SameerAgarwal等人在Building Rome in a day(一天重建罗马城)上发表的罗 马城重建的成果则是利用了云计算技术,其使用了62台用于云计算的计算机,而 处理的图片数目仅仅是150000,比上述的图片处理量小了一个数量级。由此可以 明显的看到异构计算对计算机视觉技术的巨大推动作用。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种能够利用普 通民用计算机上的异构计算资源、实时准确的进行三维人体运动跟踪、而且当粒子 数目或视角数目增多时计算时间基本保持恒定、具有很好的扩展性的并行化实时无 标记人体运动跟踪方法。

本发明的目的可以通过以下技术方案来实现:

一种并行化实时无标记人体运动跟踪方法,其特征在于,包括以下步骤:

步骤S1:在主处理器上根据初始人体姿态产生初始粒子并读取已经得到的边 缘和前景数据;

步骤S2:将Nview个边缘和前景数据传输到附属处理器上;

步骤S3:将Np个粒子数据传输到附属处理器上;

步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数;

步骤S5:在主处理器上计算粒子权重;

步骤S6:在主处理器上进行粒子扩散;

步骤S7:在附属处理器上并行快速地进行粒子选择;

步骤S8:判断粒子数目是否达到设定值,若为是,执行步骤S9,否则,返回 步骤S6;

步骤S9:判断退火层数是否大于0,若为是,返回步骤S3,否则,由结果粒 子计算跟踪结果。

所述的步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函 数具体如下:

步骤S4.1:在附属处理器上由每个粒子的配置参数并行计算Ntc个圆台的三维 变换矩阵,对于每个粒子独立进行,其并行度是粒子数目Np

步骤S4.2:在附属处理器上将每个圆台投影到每个二维相机平面,该过程以 高度并行执行,并行度是Np*Ntc*Nview

步骤S4.3:在附属处理器上并行计算前景似然函数;

对于第m个退火层的某个粒子(i=1,...,NP)通过以下公式计算前景似然函数:

-logps(yt|xt,mi)Σj=1NviewΣk=1Ntc|{ξjk}|-1Σξjk(1-Mj(ξjk))2

其中Mj是视角j的前景图,ξjk是从圆台k投影到Mj上的点集,yt是观测信息, 由于前景似然函数要对每个粒子进行计算而且它们互相独立,所以其并行度为 Np*Ntc*Nview

步骤S4.4:在附属处理器上并行计算边缘似然函数;此过程与S4.3基本相同, 唯一区别为ξjk是从圆台k边缘投影到Mj上的点集而且在一个圆台两个长边上的计 算是相同的,所以并行度是Np*Ntc*Nview*2;

步骤S4.5:将边缘和前景的似然度数据传输回主处理器。

所述的每个粒子均通过一个工作组来计算,每个工作组采用二维索引空间表 示,两个坐标分别为圆台数目和视角数目。

所述的步骤S5:在主处理器上计算粒子权重具体如下

对于第m个退火层的某个粒子(i=1,...,Np),其权重由下式计算:

wm(yt,xt,mi)=(pe(yt|xt,mi)+ps(yt|xi,mi))βm

其中和分别为边缘和前景似然函数,βm是对应于每一个退 火层的退火率参数。

所述的步骤S6:在主处理器上进行粒子扩散具体如下

对于第m个退火层的某个粒子(i=1,...,Np),相应的第m-1层的粒子为:

xt,m-1i=xt,mi+Bm

其中Bm是一个高斯随机变量。

所述的步骤S7:在附属处理器上并行快速地进行粒子选择具体为:

步骤S7.1:将扩散后的粒子数据传输到附属处理器上;

步骤S7.2:在附属处理器上进行粒子选择并将粒子选择结果传输回主处理器。

所述的粒子选择标准为:通过去除坏的粒子来减少搜索空间,其中坏的粒子为 对应了不可能的人体姿态的粒子。

与现有技术相比,本发明具有以下优点:

1)采用异构平台并行化传统的退火粒子滤波算法,将退火粒子滤波算法分解 成适当粒度的子任务,接着把非常耗时的粒子似然函数计算部分移植到附属处理器 上进行计算,通用计算比重比较大的子任务仍然保留在主处理器上计算。结合主处 理器(CPU)的通用逻辑计算能力和附属处理器的高度密集计算能力,实现了快速 实时的三维人体运动跟踪,属于模式识别中的人体运动分析领域。

2)实现了快速实时的高维人体运动跟踪,可将本技术应用到虚拟现实、电影 动画、智能监控、高级人机交互、视频传输和压缩以及用于体育和医学方面的运动 分析等实际应用中,具有实时处理,精确度高,鲁棒性强等优点;

3)并行化实时无标记人体跟踪方法对粒子及视角数目具有很好的扩展性,由 于通过异构平台进行并行计算,当粒子数目及视角数目增加而导致计算量增加时, 附属处理器会相应增加并行处理资源,以此保证计算时间基本不变,目前一般的民 用GPU有成千上万的轻量级“线程”,可以保证一般应用的粒子数目及视角数目需 求,由于粒子数目及视角数目均直接决定跟踪精度,因此本发明克服了以往人体运 动跟踪应用中处理速度过慢的缺点,兼顾了跟踪速度与精度,为三维无标记人体运 动跟踪的实际应用提供了可靠的方法。

附图说明

图1为采用本发明的人体模型、观测信息及结果示意图;

图2为计算前景似然函数时候使用的工作组索引空间示意图;

图3为采用本发明所解决问题中的一些典型实施例示意图;

图4为本发明的流程图;

图5为本发明的跟踪误差对比图;

图6为本发明的对于不同粒子数目及不同视角数目的每帧耗时对比图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

实施例

本发明用三维铰接刚体模型表示人体的先验知识(图1.a所示)。此模型包括 10个圆台(分表表示四肢,躯干和头部)和15个关节点。它有包括躯干的位置和 朝向以及四肢间相对角度的31个自由度,这构成了粒子滤波中的31维粒子向量。 本发明使用边缘距离图(图1.b)和前景图(图1.c)作为粒子似然函数的观测信息。

如图3所示,是采用本发明方法所解决问题中的一些典型实施例,具体是用于 四个视角的无标记人体运动跟踪结果图片。

如图4所示流程图,本发明所提供的并行化实时无标记人体运动跟踪方法包括 图中步骤,优选地在本发明的实现过程中可以使用C++语言进行编程。

为了比较本发明的有效性,我们还实现了另外两种C++版本的人体运动跟踪 算法,一种是运行于单核CPU的串行程序(S-APF),另外一种是使用多线程并 行化运行于多核CPU的并行程序(T-APF)。本方法的有效性已经经过了不同人 体运动数据库的测试,为了测试其跟踪准确度及运行速度,我们使用了两类公开的 人体运动数据库(如表1所示)。

表1

  数据库   视角数目   分辨率   帧率   使用的动作   Brown   4   644*484   60Hz   走路   Pear   16   704*576   25Hz   走路,跳跃,慢跑

本实施例仅介绍在Brown人体运动数据库上的实施情况。

步骤S1:在标准处理器上根据初始人体姿态产生初始粒子并读取已经得到的 边缘和前景(silhouette)信息;

本实施例中使用比较常见的设置,粒子数目Np设置为200,退火层数设置为10。

步骤S2:将Nview个边缘和前景数据传输到附属处理器上;

本实施例中视角的数目为Nview为4。

步骤S3:将Np个粒子数据传输到附属处理器上;

步骤S4:在附属处理器上快速并行计算每个粒子的边缘和前景似然函数;

优选地,步骤S4包括如下步骤:

步骤S4.1:在附属处理器上由每个粒子的配置参数并行计算Ntc=10个圆台的 三维变换矩阵,此过程可以对于每个粒子独立进行,其并行度(degree of parallelism) 是粒子数目Np=200;由图1中我们使用的人体骨架模型可以看出圆台的个数 Ntc=10。

步骤S4.2:在附属处理器上将每个圆台投影到每个二维相机平面,此过程对 于每个粒子是不相关的,可以高度并行执行,并行度是Np*Ntc*Nview=8000;

步骤S4.3:在附属处理器上并行计算前景似然函数;

对于某个粒子(i=1,...,Np)使用下面的公式计算前景似然函数:

-logps(yt|xt,mi)Σj=1NviewΣk=1Ntc|{ξjk}|-1Σξjk(1-Mj(ξjk))2

步骤S4.4:在附属处理器上并行计算边缘似然函数;

此过程与S4.3类似,不同的是ξjk是从圆台k边缘投影到Mj上的点集而且在一 个圆台两个长边上的计算是相同的,所以并行度是Np*Ntc*Nview*2=16000。

步骤S4.5:将边缘和前景的似然度数据传输回标准处理器;

步骤S5:在标准处理器上计算粒子权重;

步骤S6:在标准处理器上计算退火参数并进行粒子扩散;

步骤S7:在附属处理器上并行快速地进行粒子选择;

优选地,步骤S7包括如下步骤:

步骤S7.1:将扩散后的粒子数据传输到附属处理器上;

步骤S7.2:在附属处理器上进行粒子选择并将粒子选择结果传输回标准处理 器;

粒子选择是为了通过去除坏的粒子来减少搜索空间,这些粒子对应了不可能的 人体姿态。对于每个粒子我们检查三对关节,所以其并行度是Np*3=600。

步骤S8:若粒子数目足够,转S9,否则,转S6;

步骤S9:若退火层数大于0,转S3,否则,由结果粒子计算跟踪结果。

得到的三维人体运动跟踪结果如图3所示,图中每一行代表一个视角的结果图 片,10列分表代表第0帧到第90帧每隔10帧的结果。从图中我们可以看出跟踪 结果准确无误。我们统计了本发明(H-APF)与另外两种C++实现(S-APF,T-APF) 运行500帧的跟踪误差(如图5所示)。可以看出具有相同的跟踪误差。

我们同时比较了每帧耗时与粒子数目以及视角数目的关系,分别如图6(a),(b) 所示。由图所示,对于不同粒子数目,本发明的H-APF相对于S-APF有平均105 的速度提升。当粒子数目或是视角数目增加时,另外两种算法的耗时急剧增加,本 发明的耗时却几乎不变,这正是异构平台下并行程序对于任务规模可扩展性的体 现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号